mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Benjamin Gaignard <benjamin.gaignard@collabora.com>
To: mchehab@kernel.org, tfiga@chromium.org, m.szyprowski@samsung.com,
	ming.qian@nxp.com, ezequiel@vanguardiasur.com.ar,
	p.zabel@pengutronix.de, gregkh@linuxfoundation.org,
	hverkuil-cisco@xs4all.nl, nicolas.dufresne@collabora.com
Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org,
	linux-arm-msm@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	linux-staging@lists.linux.dev, kernel@collabora.com,
	Benjamin Gaignard <benjamin.gaignard@collabora.com>
Subject: [PATCH v12 07/56] media: videobuf2: Add helper to get queue number of buffers
Date: Tue, 17 Oct 2023 16:47:07 +0200	[thread overview]
Message-ID: <20231017144756.34719-8-benjamin.gaignard@collabora.com> (raw)
In-Reply-To: <20231017144756.34719-1-benjamin.gaignard@collabora.com>

In the future a side effect of introducing DELETE_BUFS ioctl is
the create of 'holes' (i.e. unused buffers) in bufs arrays.
To know which entries of the bufs arrays are used a bitmap will
be added in struct vb2_queue. That will also mean that the number
of buffers will be computed given the number of bit set in this bitmap.
To smoothly allow this evolution all drives must stop using
directly num_buffers field from struct vb2_queue.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
---
 include/media/videobuf2-core.h | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h
index cd3ff1cd759d..8f9d9e4af5b1 100644
--- a/include/media/videobuf2-core.h
+++ b/include/media/videobuf2-core.h
@@ -1139,6 +1139,15 @@ static inline bool vb2_fileio_is_active(struct vb2_queue *q)
 	return q->fileio;
 }
 
+/**
+ * vb2_get_num_buffers() - get the number of buffer in a queue
+ * @q:		pointer to &struct vb2_queue with videobuf2 queue.
+ */
+static inline unsigned int vb2_get_num_buffers(struct vb2_queue *q)
+{
+	return q->num_buffers;
+}
+
 /**
  * vb2_is_busy() - return busy status of the queue.
  * @q:		pointer to &struct vb2_queue with videobuf2 queue.
@@ -1147,7 +1156,7 @@ static inline bool vb2_fileio_is_active(struct vb2_queue *q)
  */
 static inline bool vb2_is_busy(struct vb2_queue *q)
 {
-	return (q->num_buffers > 0);
+	return vb2_get_num_buffers(q) > 0;
 }
 
 /**
-- 
2.39.2


  parent reply	other threads:[~2023-10-17 14:48 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-17 14:47 [PATCH v12 00/56] Add DELETE_BUF ioctl Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 01/56] media: videobuf2: Rename offset parameter Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 02/56] media: videobuf2: Rework offset 'cookie' encoding pattern Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 03/56] media: videobuf2: Stop spamming kernel log with all queue counter Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 04/56] media: videobuf2: Use vb2_buffer instead of index Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 05/56] media: videobuf2: Access vb2_queue bufs array through helper functions Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 06/56] media: videobuf2: Remove duplicated index vs q->num_buffers check Benjamin Gaignard
2023-10-17 14:47 ` Benjamin Gaignard [this message]
2023-10-17 14:47 ` [PATCH v12 08/56] media: videobuf2: Use vb2_get_num_buffers() helper Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 09/56] media: amphion: Use vb2_get_buffer() instead of directly access to buffers array Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 10/56] media: amphion: Stop direct calls to queue num_buffers field Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 11/56] media: mediatek: jpeg: Use vb2_get_buffer() instead of directly access to buffers array Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 12/56] media: mediatek: vdec: Remove useless loop Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 13/56] media: mediatek: vcodec: Stop direct calls to queue num_buffers field Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 14/56] media: sti: hva: Use vb2_get_buffer() instead of directly access to buffers array Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 15/56] media: visl: " Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 16/56] media: atomisp: " Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 17/56] media: atomisp: Stop direct calls to queue num_buffers field Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 18/56] media: dvb-core: Use vb2_get_buffer() instead of directly access to buffers array Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 19/56] media: dvb-core: Do not initialize twice queue num_buffer field Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 20/56] media: dvb-frontends: rtl2832: Stop direct calls to queue num_buffers field Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 21/56] media: pci: dt3155: Remove useless check Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 22/56] media: pci: tw686x: Set min_buffers_needed to 3 Benjamin Gaignard
2023-10-18 10:19   ` Hans Verkuil
2023-10-17 14:47 ` [PATCH v12 23/56] media: pci: cx18: Stop direct calls to queue num_buffers field Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 24/56] media: pci: netup_unidvb: " Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 25/56] media: pci: tw68: " Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 26/56] media: i2c: video-i2c: " Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 27/56] media: coda: " Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 28/56] media: nxp: " Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 29/56] media: verisilicon: " Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 30/56] media: test-drivers: " Benjamin Gaignard
2023-10-18 10:26   ` Hans Verkuil
2023-10-17 14:47 ` [PATCH v12 31/56] media: imx: " Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 32/56] media: meson: vdec: " Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 33/56] touchscreen: sur40: " Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 34/56] sample: v4l: " Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 35/56] media: cedrus: " Benjamin Gaignard
2023-10-18 10:30   ` Hans Verkuil
2023-10-17 14:47 ` [PATCH v12 36/56] media: nuvoton: " Benjamin Gaignard
2023-10-18 10:31   ` Hans Verkuil
2023-10-17 14:47 ` [PATCH v12 37/56] media: renesas: " Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 38/56] media: ti: " Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 39/56] media: usb: " Benjamin Gaignard
2023-10-18 10:32   ` Hans Verkuil
2023-10-17 14:47 ` [PATCH v12 40/56] media: usb: cx231xx: " Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 41/56] media: usb: hackrf: " Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 42/56] media: usb: usbtv: " Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 43/56] media: videobuf2: Be more flexible on the number of queue stored buffers Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 44/56] media: core: Report the maximum possible number of buffers for the queue Benjamin Gaignard
2023-10-18 11:17   ` Hans Verkuil
2023-10-17 14:47 ` [PATCH v12 45/56] media: test-drivers: vivid: Increase max supported buffers for capture queues Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 46/56] media: test-drivers: vicodec: Increase max supported capture queue buffers Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 47/56] media: verisilicon: Refactor postprocessor to store more buffers Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 48/56] media: verisilicon: Store chroma and motion vectors offset Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 49/56] media: verisilicon: g2: Use common helpers to compute chroma and mv offsets Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 50/56] media: verisilicon: vp9: Allow to change resolution while streaming Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 51/56] media: core: Rework how create_buf index returned value is computed Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 52/56] media: core: Add bitmap manage bufs array entries Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 53/56] media: core: Free range of buffers Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 54/56] media: v4l2: Add DELETE_BUFS ioctl Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 55/56] media: v4l2: Add mem2mem helpers for " Benjamin Gaignard
2023-10-17 14:47 ` [PATCH v12 56/56] media: test-drivers: Use helper " Benjamin Gaignard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231017144756.34719-8-benjamin.gaignard@collabora.com \
    --to=benjamin.gaignard@collabora.com \
    --cc=ezequiel@vanguardiasur.com.ar \
    --cc=gregkh@linuxfoundation.org \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=kernel@collabora.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux-staging@lists.linux.dev \
    --cc=m.szyprowski@samsung.com \
    --cc=mchehab@kernel.org \
    --cc=ming.qian@nxp.com \
    --cc=nicolas.dufresne@collabora.com \
    --cc=p.zabel@pengutronix.de \
    --cc=tfiga@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®