From 0ca7fea89e6590bd902afa01e38a5dc66c982b5c Mon Sep 17 00:00:00 2001 From: Cai YiWei Date: Fri, 12 Jun 2020 18:09:51 +0800 Subject: [PATCH] media: rockchip: ispp: fix first frame error for sharp output Change-Id: Ic18c2b9c028ac5e4304da65c1d0dee1fb4c70c0f Signed-off-by: Cai YiWei --- drivers/media/platform/rockchip/ispp/stream.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/rockchip/ispp/stream.c b/drivers/media/platform/rockchip/ispp/stream.c index 744eed5d9fd0..a7d32289ac2e 100644 --- a/drivers/media/platform/rockchip/ispp/stream.c +++ b/drivers/media/platform/rockchip/ispp/stream.c @@ -628,6 +628,9 @@ static int nr_init_buf(struct rkispp_device *dev, u32 size) if (vdev->module_ens & ISPP_MODULE_FEC) cnt = RKISP_ISPP_BUF_MAX; + else if (dev->inp == INP_ISP && + !(dev->isp_mode & ISP_ISPP_QUICK)) + cnt = 0; for (i = 0; i < cnt; i++) { buf = &vdev->nr.buf.wr[i]; buf->size = size; @@ -637,8 +640,10 @@ static int nr_init_buf(struct rkispp_device *dev, u32 size) list_add_tail(&buf->list, &vdev->nr.list_wr); } - if (dev->inp == INP_ISP && dev->isp_mode & ISP_ISPP_QUICK) + if (vdev->module_ens & ISPP_MODULE_FEC) vdev->nr.cur_wr = get_list_buf(&vdev->nr.list_wr, false); + else + get_list_buf(&vdev->nr.list_wr, false); buf = &vdev->nr.buf.tmp_yuv; buf->size = size >> 4;