From 68115a73bff06ca3788fed486daa894a0cfdbe4e Mon Sep 17 00:00:00 2001 From: "zijie.hong" Date: Thu, 4 Sep 2025 21:42:23 +0800 Subject: [PATCH] vdin: Revert "vdin: t6x/t6d/t6w nv21 set uv swap" [1/1] PD#SWPL-229103 Problem: 1) the writemif tool parses NV12 into NV21, error. 2) red is v:ef u:66 y:3e rather than u:ef v:66 y:3e 3) big endian & swap_cbcr=0, T3X is vuvu (NV21), T6D is uvuv(NV12) Solution: This reverts commit cba4965e0987ae295e80fb19245bbf6a528ebd4a. Verify: T6D Change-Id: Ie5d49c5a42a7412748fa0d944a97b4732c2f7c32 Signed-off-by: zijie.hong --- drivers/media/vin/tvin/vdin/vdin_ctl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/media/vin/tvin/vdin/vdin_ctl.c b/drivers/media/vin/tvin/vdin/vdin_ctl.c index 4a805c1fb..d8f7c84ee 100644 --- a/drivers/media/vin/tvin/vdin/vdin_ctl.c +++ b/drivers/media/vin/tvin/vdin/vdin_ctl.c @@ -2313,14 +2313,14 @@ void vdin_set_wr_ctrl(struct vdin_dev_s *devp, if (write_fmt == MIF_FMT_NV12_21) { if (devp->dtdata->hw_ver == VDIN_HW_T6W) { /* swap_cbcr */ - wr_bits(offset, VDIN0_WRMIF_CTRL1, swap_cbcr, + wr_bits(offset, VDIN0_WRMIF_CTRL1, !swap_cbcr, 24, 1); /* output even lines's cbcr */ wr_bits(offset, VDIN0_WRMIF_CTRL1, 0, 22, VCONV_MODE_WID); } else if (devp->dtdata->hw_ver == VDIN_HW_T6D) { /* swap_cbcr */ - wr_bits(offset, VDIN_WRMIF_CTRL1, swap_cbcr, + wr_bits(offset, VDIN_WRMIF_CTRL1, !swap_cbcr, 24, 1); /* output even lines's cbcr */ wr_bits(offset, VDIN_WRMIF_CTRL1, 0,