Message ID | 20231204132323.22811-31-benjamin.gaignard@collabora.com |
---|---|
State | New |
Headers | show |
Series | Clean up min_buffers_needed misusages | expand |
Hi Benjamin, On Mo, 2023-12-04 at 14:23 +0100, Benjamin Gaignard wrote: > 'min_buffers_needed' is suppose to be used to indicate the number > of buffers needed by DMA engine to start streaming. > imx-media-capture driver doesn't use DMA engine and just want to specify > the minimum number of buffers to allocate when calling VIDIOC_REQBUFS. This is used by imx-media-csi and imx-ic-prpencvf. Both expect two buffers to setup the IDMAC DMA engine double buffer (see csi_idmac_setup_vb2_buf()/prp_setup_vb2_buf()). These functions can cope with less than two buffers queued, by using a special "underrun" buffer as a workaround, but the hardware does require two buffer addresses, so I'm not sure whether this really should be called a misuse of min_buffers_needed. regards Philipp
diff --git a/drivers/staging/media/imx/imx-media-capture.c b/drivers/staging/media/imx/imx-media-capture.c index ce02199e7b1b..5bb1ebd35d89 100644 --- a/drivers/staging/media/imx/imx-media-capture.c +++ b/drivers/staging/media/imx/imx-media-capture.c @@ -1022,7 +1022,7 @@ imx_media_capture_device_init(struct device *dev, struct v4l2_subdev *src_sd, vq->mem_ops = &vb2_dma_contig_memops; vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; vq->lock = &priv->mutex; - vq->min_buffers_needed = 2; + vq->min_reqbufs_allocation = 2; vq->dev = priv->dev; ret = vb2_queue_init(vq);
'min_buffers_needed' is suppose to be used to indicate the number of buffers needed by DMA engine to start streaming. imx-media-capture driver doesn't use DMA engine and just want to specify the minimum number of buffers to allocate when calling VIDIOC_REQBUFS. That 'min_reqbufs_allocation' field purpose so use it. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> CC: Steve Longerbeam <slongerbeam@gmail.com> CC: Philipp Zabel <p.zabel@pengutronix.de> CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org> CC: Shawn Guo <shawnguo@kernel.org> CC: Sascha Hauer <s.hauer@pengutronix.de> CC: Pengutronix Kernel Team <kernel@pengutronix.de> CC: Fabio Estevam <festevam@gmail.com> CC: NXP Linux Team <linux-imx@nxp.com> --- drivers/staging/media/imx/imx-media-capture.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)