From: Hans Verkuil <hverkuil-cisco@xs4all.nl>
To: Linux Media Mailing List <linux-media@vger.kernel.org>
Cc: Benjamin Gaignard <benjamin.gaignard@collabora.com>
Subject: [GIT PULL FOR v6.8] Add support for more than 32 buffers
Date: Mon, 13 Nov 2023 16:17:01 +0100 [thread overview]
Message-ID: <b2ce0372-715f-44c0-a833-30643163bba9@xs4all.nl> (raw)
Hi Mauro,
This patch series consists of the first 50 patches of the main patch series adding
support for VIDIOC_DELETE_BUFS:
https://patchwork.linuxtv.org/project/linux-media/list/?series=11627
These first 50 patches add support for more than 32 buffers (if the driver indicates
support for that), and converts drivers that directly access vb2_buffer or vb2_queue
fields (num_buffers, bufs) to use accessor functions.
This prepares the media subsystem for the next future step: deleting buffers.
Several test drivers are adapted to allow more than 32 buffers, and so is the
verisilicon driver.
A v4l-utils patch adding support for testing more than 32 buffers is here:
https://patchwork.linuxtv.org/project/linux-media/patch/20231107104132.445705-3-benjamin.gaignard@collabora.com/
That will be merged in v4l-utils once this PR is merged in staging.
Before the remaining 6 patches can be merged there is some more cleanup that
needs to happen first relating to how drivers (ab)use min_buffers_needed and
how they implement 'I need at least X buffers' in various ways.
Regards,
Hans
The following changes since commit b85ea95d086471afb4ad062012a4d73cd328fa86:
Linux 6.7-rc1 (2023-11-12 16:19:07 -0800)
are available in the Git repository at:
git://linuxtv.org/hverkuil/media_tree.git tags/br-v6.8e
for you to fetch changes up to d56a3f47f38e5aca0f6f1bd933ec4a6ba2339bb5:
media: verisilicon: vp9: Allow to change resolution while streaming (2023-11-13 13:28:56 +0100)
----------------------------------------------------------------
Tag branch
----------------------------------------------------------------
Benjamin Gaignard (50):
media: videobuf2: Rename offset parameter
media: videobuf2: Rework offset 'cookie' encoding pattern
media: videobuf2: Stop spamming kernel log with all queue counter
media: videobuf2: Use vb2_buffer instead of index
media: videobuf2: Access vb2_queue bufs array through helper functions
media: videobuf2: Remove duplicated index vs q->num_buffers check
media: videobuf2: Add helper to get queue number of buffers
media: videobuf2: Use vb2_get_num_buffers() helper
media: amphion: Use vb2_get_buffer() instead of directly access to buffers array
media: amphion: Stop direct calls to queue num_buffers field
media: mediatek: jpeg: Use vb2_get_buffer() instead of directly access to buffers array
media: mediatek: vdec: Remove useless loop
media: mediatek: vcodec: Stop direct calls to queue num_buffers field
media: sti: hva: Remove useless check
media: visl: Use vb2_get_buffer() instead of directly access to buffers array
media: atomisp: Use vb2_get_buffer() instead of directly access to buffers array
media: atomisp: Stop direct calls to queue num_buffers field
media: dvb-core: Use vb2_get_buffer() instead of directly access to buffers array
media: dvb-core: Do not initialize twice queue num_buffer field
media: dvb-frontends: rtl2832: Stop direct calls to queue num_buffers field
media: pci: dt3155: Remove useless check
media: pci: tw686x: Stop direct calls to queue num_buffers field
media: pci: cx18: Stop direct calls to queue num_buffers field
media: pci: netup_unidvb: Stop direct calls to queue num_buffers field
media: pci: tw68: Stop direct calls to queue num_buffers field
media: i2c: video-i2c: Stop direct calls to queue num_buffers field
media: coda: Stop direct calls to queue num_buffers field
media: nxp: Stop direct calls to queue num_buffers field
media: verisilicon: Stop direct calls to queue num_buffers field
media: test-drivers: Stop direct calls to queue num_buffers field
media: imx: Stop direct calls to queue num_buffers field
media: meson: vdec: Stop direct calls to queue num_buffers field
touchscreen: sur40: Stop direct calls to queue num_buffers field
sample: v4l: Stop direct calls to queue num_buffers field
media: cedrus: Stop direct calls to queue num_buffers field
media: nuvoton: Stop direct calls to queue num_buffers field
media: renesas: Stop direct calls to queue num_buffers field
media: ti: Stop direct calls to queue num_buffers field
media: usb: airspy: Stop direct calls to queue num_buffers field
media: usb: cx231xx: Stop direct calls to queue num_buffers field
media: usb: hackrf: Stop direct calls to queue num_buffers field
media: usb: usbtv: Stop direct calls to queue num_buffers field
media videobuf2: Be more flexible on the number of queue stored buffers
media: core: Report the maximum possible number of buffers for the queue
media: test-drivers: vivid: Increase max supported buffers for capture queues
media: test-drivers: vicodec: Increase max supported capture queue buffers
media: verisilicon: Refactor postprocessor to store more buffers
media: verisilicon: Store chroma and motion vectors offset
media: verisilicon: g2: Use common helpers to compute chroma and mv offsets
media: verisilicon: vp9: Allow to change resolution while streaming
Documentation/userspace-api/media/v4l/vidioc-create-bufs.rst | 8 +-
Documentation/userspace-api/media/v4l/vidioc-reqbufs.rst | 1 +
drivers/input/touchscreen/sur40.c | 5 +-
drivers/media/common/videobuf2/videobuf2-core.c | 489 ++++++++++++++++++++++---------------
drivers/media/common/videobuf2/videobuf2-v4l2.c | 85 ++++---
drivers/media/dvb-core/dvb_vb2.c | 19 +-
drivers/media/dvb-frontends/rtl2832_sdr.c | 5 +-
drivers/media/i2c/video-i2c.c | 5 +-
drivers/media/pci/cx18/cx18-streams.c | 5 +-
drivers/media/pci/dt3155/dt3155.c | 2 -
drivers/media/pci/netup_unidvb/netup_unidvb_core.c | 5 +-
drivers/media/pci/tw68/tw68-video.c | 5 +-
drivers/media/pci/tw686x/tw686x-video.c | 5 +-
drivers/media/platform/amphion/vpu_dbg.c | 30 ++-
drivers/media/platform/amphion/vpu_v4l2.c | 4 +-
drivers/media/platform/chips-media/coda-common.c | 2 +-
drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c | 7 +-
drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c | 9 +-
drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc.c | 2 +-
drivers/media/platform/nuvoton/npcm-video.c | 2 +-
drivers/media/platform/nxp/imx7-media-csi.c | 7 +-
drivers/media/platform/renesas/rcar_drif.c | 5 +-
drivers/media/platform/st/sti/hva/hva-v4l2.c | 9 +-
drivers/media/platform/ti/am437x/am437x-vpfe.c | 5 +-
drivers/media/platform/ti/cal/cal-video.c | 5 +-
drivers/media/platform/ti/davinci/vpif_capture.c | 5 +-
drivers/media/platform/ti/davinci/vpif_display.c | 5 +-
drivers/media/platform/ti/omap/omap_vout.c | 5 +-
drivers/media/platform/verisilicon/hantro.h | 9 +-
drivers/media/platform/verisilicon/hantro_drv.c | 4 +-
drivers/media/platform/verisilicon/hantro_g2.c | 14 ++
drivers/media/platform/verisilicon/hantro_g2_hevc_dec.c | 18 +-
drivers/media/platform/verisilicon/hantro_g2_vp9_dec.c | 28 +--
drivers/media/platform/verisilicon/hantro_hw.h | 7 +-
drivers/media/platform/verisilicon/hantro_postproc.c | 95 +++++--
drivers/media/platform/verisilicon/hantro_v4l2.c | 26 +-
drivers/media/test-drivers/vicodec/vicodec-core.c | 1 +
drivers/media/test-drivers/visl/visl-dec.c | 32 ++-
drivers/media/test-drivers/vivid/vivid-core.c | 14 ++
drivers/media/test-drivers/vivid/vivid-meta-cap.c | 3 -
drivers/media/test-drivers/vivid/vivid-meta-out.c | 5 +-
drivers/media/test-drivers/vivid/vivid-touch-cap.c | 5 +-
drivers/media/test-drivers/vivid/vivid-vbi-cap.c | 3 -
drivers/media/test-drivers/vivid/vivid-vbi-out.c | 3 -
drivers/media/test-drivers/vivid/vivid-vid-cap.c | 3 -
drivers/media/test-drivers/vivid/vivid-vid-out.c | 5 +-
drivers/media/usb/airspy/airspy.c | 5 +-
drivers/media/usb/cx231xx/cx231xx-417.c | 5 +-
drivers/media/usb/cx231xx/cx231xx-video.c | 5 +-
drivers/media/usb/hackrf/hackrf.c | 5 +-
drivers/media/usb/usbtv/usbtv-video.c | 5 +-
drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 10 +-
drivers/media/v4l2-core/v4l2-ioctl.c | 4 +-
drivers/staging/media/atomisp/pci/atomisp_ioctl.c | 4 +-
drivers/staging/media/imx/imx-media-capture.c | 7 +-
drivers/staging/media/meson/vdec/vdec.c | 13 +-
drivers/staging/media/sunxi/cedrus/cedrus_h264.c | 9 +-
drivers/staging/media/sunxi/cedrus/cedrus_h265.c | 9 +-
include/media/videobuf2-core.h | 39 ++-
include/uapi/linux/videodev2.h | 7 +-
samples/v4l/v4l2-pci-skeleton.c | 5 +-
61 files changed, 698 insertions(+), 450 deletions(-)
next reply other threads:[~2023-11-13 15:17 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-13 15:17 Hans Verkuil [this message]
2023-11-13 18:36 ` [GIT PULL FOR v6.8] Add support for more than 32 buffers (#97003) Jenkins
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=b2ce0372-715f-44c0-a833-30643163bba9@xs4all.nl \
--to=hverkuil-cisco@xs4all.nl \
--cc=benjamin.gaignard@collabora.com \
--cc=linux-media@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.