From 50a172856e52528ebeeab86dc51201fbe98db244 Mon Sep 17 00:00:00 2001 From: Zefa Chen Date: Tue, 30 Aug 2022 15:11:13 +0800 Subject: [PATCH] media: rockchip: vicap allocation buffer determined by Thunderboot's reserved memory Signed-off-by: Zefa Chen Change-Id: I2d91085c4f4984d3c64d2d8f77120fa88b83248f --- drivers/media/platform/rockchip/cif/capture.c | 5 ++++- drivers/media/platform/rockchip/cif/subdev-itf.c | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/media/platform/rockchip/cif/capture.c b/drivers/media/platform/rockchip/cif/capture.c index 5e9f4dba8bc2..59592c0d8d15 100644 --- a/drivers/media/platform/rockchip/cif/capture.c +++ b/drivers/media/platform/rockchip/cif/capture.c @@ -3660,7 +3660,7 @@ int rkcif_init_rx_buf(struct rkcif_stream *stream, int buf_num) else return -EINVAL; } - for (i = 0; i < buf_num; i++) { + while (true) { buf = &stream->rx_buf[i]; memset(buf, 0, sizeof(*buf)); dummy = &buf->dummy; @@ -3697,6 +3697,9 @@ int rkcif_init_rx_buf(struct rkcif_stream *stream, int buf_num) rkcif_s_rx_buffer(dev, &buf->dbufs); stream->buf_num_toisp--; } + i++; + if (!dev->is_thunderboot && i >= buf_num) + break; v4l2_dbg(3, rkcif_debug, &dev->v4l2_dev, "init rx_buf,dma_addr 0x%llx size: 0x%x\n", (u64)dummy->dma_addr, pixm->plane_fmt[0].sizeimage); diff --git a/drivers/media/platform/rockchip/cif/subdev-itf.c b/drivers/media/platform/rockchip/cif/subdev-itf.c index 476ecb62e8a1..7075a19b70d4 100644 --- a/drivers/media/platform/rockchip/cif/subdev-itf.c +++ b/drivers/media/platform/rockchip/cif/subdev-itf.c @@ -29,7 +29,7 @@ static inline struct sditf_priv *to_sditf_priv(struct v4l2_subdev *subdev) return container_of(subdev, struct sditf_priv, sd); } -void sditf_buffree_work(struct work_struct *work) +static void sditf_buffree_work(struct work_struct *work) { struct sditf_work_struct *buffree_work = container_of(work, struct sditf_work_struct,