Message ID | 20231031163104.112469-29-benjamin.gaignard@collabora.com |
---|---|
State | Superseded |
Headers | show |
Series | Add DELETE_BUF ioctl | expand |
W dniu 31.10.2023 o 17:30, Benjamin Gaignard pisze: > Use vb2_get_num_buffers() to avoid using queue num_buffers field directly. > This allows us to change how the number of buffers is computed in the > future. > > Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> Reviewed-by: Andrzej Pietrasiewcz <andrzej.p@collabora.com> > CC: Rui Miguel Silva <rmfrfs@gmail.com> > CC: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > CC: Martin Kepplinger <martink@posteo.de> > --- > drivers/media/platform/nxp/imx7-media-csi.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/media/platform/nxp/imx7-media-csi.c b/drivers/media/platform/nxp/imx7-media-csi.c > index 15049c6aab37..4c467fb82789 100644 > --- a/drivers/media/platform/nxp/imx7-media-csi.c > +++ b/drivers/media/platform/nxp/imx7-media-csi.c > @@ -1245,6 +1245,7 @@ static int imx7_csi_video_queue_setup(struct vb2_queue *vq, > struct device *alloc_devs[]) > { > struct imx7_csi *csi = vb2_get_drv_priv(vq); > + unsigned int q_num_bufs = vb2_get_num_buffers(vq); > struct v4l2_pix_format *pix = &csi->vdev_fmt; > unsigned int count = *nbuffers; > > @@ -1254,14 +1255,14 @@ static int imx7_csi_video_queue_setup(struct vb2_queue *vq, > if (*nplanes) { > if (*nplanes != 1 || sizes[0] < pix->sizeimage) > return -EINVAL; > - count += vq->num_buffers; > + count += q_num_bufs; > } > > count = min_t(__u32, IMX7_CSI_VIDEO_MEM_LIMIT / pix->sizeimage, count); > > if (*nplanes) > - *nbuffers = (count < vq->num_buffers) ? 0 : > - count - vq->num_buffers; > + *nbuffers = (count < q_num_bufs) ? 0 : > + count - q_num_bufs; > else > *nbuffers = count; >
diff --git a/drivers/media/platform/nxp/imx7-media-csi.c b/drivers/media/platform/nxp/imx7-media-csi.c index 15049c6aab37..4c467fb82789 100644 --- a/drivers/media/platform/nxp/imx7-media-csi.c +++ b/drivers/media/platform/nxp/imx7-media-csi.c @@ -1245,6 +1245,7 @@ static int imx7_csi_video_queue_setup(struct vb2_queue *vq, struct device *alloc_devs[]) { struct imx7_csi *csi = vb2_get_drv_priv(vq); + unsigned int q_num_bufs = vb2_get_num_buffers(vq); struct v4l2_pix_format *pix = &csi->vdev_fmt; unsigned int count = *nbuffers; @@ -1254,14 +1255,14 @@ static int imx7_csi_video_queue_setup(struct vb2_queue *vq, if (*nplanes) { if (*nplanes != 1 || sizes[0] < pix->sizeimage) return -EINVAL; - count += vq->num_buffers; + count += q_num_bufs; } count = min_t(__u32, IMX7_CSI_VIDEO_MEM_LIMIT / pix->sizeimage, count); if (*nplanes) - *nbuffers = (count < vq->num_buffers) ? 0 : - count - vq->num_buffers; + *nbuffers = (count < q_num_bufs) ? 0 : + count - q_num_bufs; else *nbuffers = count;
Use vb2_get_num_buffers() to avoid using queue num_buffers field directly. This allows us to change how the number of buffers is computed in the future. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> CC: Rui Miguel Silva <rmfrfs@gmail.com> CC: Laurent Pinchart <laurent.pinchart@ideasonboard.com> CC: Martin Kepplinger <martink@posteo.de> --- drivers/media/platform/nxp/imx7-media-csi.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)