From 2568d28187c37178f790f26eedebc29217f66b44 Mon Sep 17 00:00:00 2001 From: Cai YiWei Date: Wed, 1 Jul 2020 17:56:09 +0800 Subject: [PATCH] media: rockchip: ispp: fix tnr 3to1 first buf to isp twice Fixes: 2fa88ab89a9f ("media: rockchip: ispp: fix tnr 3to1 frame order") Change-Id: Ib7f2b948c4308f53b0eadca032499e98ccb5a6d8 Signed-off-by: Cai YiWei --- drivers/media/platform/rockchip/ispp/stream.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/media/platform/rockchip/ispp/stream.c b/drivers/media/platform/rockchip/ispp/stream.c index 625bbade3d6b..85c1b996c534 100644 --- a/drivers/media/platform/rockchip/ispp/stream.c +++ b/drivers/media/platform/rockchip/ispp/stream.c @@ -2121,6 +2121,7 @@ static void tnr_work_event(struct rkispp_device *dev, /* tnr read buf from isp */ vdev->tnr.cur_rd = vdev->tnr.nxt_rd; vdev->tnr.nxt_rd = buf_rd; + /* first buf for 3to1 using twice */ if (!is_3to1 || (readl(base + RKISPP_TNR_CTRL) & SW_TNR_1ST_FRM)) vdev->tnr.cur_rd = vdev->tnr.nxt_rd; @@ -2181,6 +2182,9 @@ static void tnr_work_event(struct rkispp_device *dev, val = buf->dma[GROUP_BUF_GAIN]; writel(val, base + RKISPP_TNR_GAIN_NXT_Y_BASE); + + if (readl(base + RKISPP_TNR_CTRL) & SW_TNR_1ST_FRM) + vdev->tnr.cur_rd = NULL; } is_start = true; }