From: Hans Verkuil <hverkuil+cisco@kernel.org>
To: Ben Hoff <hoff.benjamin.k@gmail.com>, linux-media@vger.kernel.org
Subject: Re: [PATCH v1 0/2] media: pci: AVMatrix HWS capture driver
Date: Mon, 9 Feb 2026 13:53:18 +0100 [thread overview]
Message-ID: <dcbdb336-3598-42d1-af23-bdfccc3210bf@kernel.org> (raw)
In-Reply-To: <12a06e89-eb67-4be7-8b0a-9ea71ab4cf7c@kernel.org>
Hi Ben,
I ran the patches through our media CI and I got a number of failures:
https://linux-media.pages.freedesktop.org/-/users/hverkuil/-/jobs/92826923/artifacts/report.htm
Looking at it it is mostly missing 'static' for several functions, and
some unused variables.
Can you take a look at these issues and post a v2?
Thank you!
Regards,
Hans
On 09/02/2026 12:47, Hans Verkuil wrote:
> On 08/02/2026 01:35, Ben Hoff wrote:
>> Hi all,
>>
>> Just following up on this new driver patch sent Jan 11.
>>
>> Happy to address review comments or adjust the approach if needed.
>>
>> I’m happy to maintain this driver going forward.
>
> It got lost in the flood of patches. Thank you for reminding me.
>
> I've delegated it to myself in patchwork, so I hope I'll have a review
> for you with two weeks tops. Ping me if you didn't hear from me after
> two weeks.
>
> Regards,
>
> Hans
>
>>
>> Thanks,
>> Ben
>>
>> On Sun, Jan 11, 2026 at 9:24 PM Ben Hoff <hoff.benjamin.k@gmail.com> wrote:
>>>
>>> Hi all,
>>>
>>> This series introduces an in-tree AVMatrix HWS PCIe capture driver.
>>> The driver supports up to four HDMI inputs and exposes the video capture
>>> path through V4L2. Audio support is intentionally omitted in this
>>> revision so the series can focus on the video pipeline and PCIe glue.
>>>
>>> Major pieces include:
>>> - PCI glue with capability discovery, BAR setup, interrupt handling,
>>> and power-management hooks.
>>> - A vb2-dma-contig based capture pipeline with DV timings support,
>>> per-channel controls, two-buffer management, and loss-of-signal
>>> recovery.
>>>
>>> The baseline GPL out-of-tree driver is available at:
>>> https://github.com/benhoff/hws/tree/baseline
>>> A vendor driver bundle is available at:
>>> https://www.acasis.com/pages/acasis-product-drivers
>>> The vendor is not involved in this upstreaming effort.
>>>
>>> Prior RFC posting: https://lore.kernel.org/lkml/20251027195638.481129-1-hoff.benjamin.k@gmail.com/
>>>
>>> Current status / open items:
>>> - `v4l2-compliance` passes for each video node, and I have exercised
>>> basic capture in OBS and run this driver in a steady state mode
>>> daily
>>>
>>> v4l2-compliance (from v4l-utils git, v4l2-compliance 1.32.0):
>>> v4l2-compliance 1.32.0, 64 bits, 64-bit time_t
>>>
>>> Compliance test for HwsCapture device /dev/video1:
>>>
>>> Driver Info:
>>> Driver name : HwsCapture
>>> Card type : AVMatrix HWS Capture 2
>>> Bus info : PCI:0000:17:00.0
>>> Driver version : 6.18.3
>>> Capabilities : 0x84200001
>>> Video Capture
>>> Streaming
>>> Extended Pix Format
>>> Device Capabilities
>>> Device Caps : 0x04200001
>>> Video Capture
>>> Streaming
>>> Extended Pix Format
>>>
>>> Required ioctls:
>>> test VIDIOC_QUERYCAP: OK
>>> test invalid ioctls: OK
>>>
>>> Allow for multiple opens:
>>> test second /dev/video1 open: OK
>>> test VIDIOC_QUERYCAP: OK
>>> test VIDIOC_G/S_PRIORITY: OK
>>> test for unlimited opens: OK
>>>
>>> Debug ioctls:
>>> test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
>>> test VIDIOC_LOG_STATUS: OK
>>>
>>> Input ioctls:
>>> test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
>>> test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
>>> test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
>>> test VIDIOC_ENUMAUDIO: OK (Not Supported)
>>> test VIDIOC_G/S/ENUMINPUT: OK
>>> test VIDIOC_G/S_AUDIO: OK (Not Supported)
>>> Inputs: 1 Audio Inputs: 0 Tuners: 0
>>>
>>> Output ioctls:
>>> test VIDIOC_G/S_MODULATOR: OK (Not Supported)
>>> test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
>>> test VIDIOC_ENUMAUDOUT: OK (Not Supported)
>>> test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
>>> test VIDIOC_G/S_AUDOUT: OK (Not Supported)
>>> Outputs: 0 Audio Outputs: 0 Modulators: 0
>>>
>>> Input/Output configuration ioctls:
>>> test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
>>> test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK
>>> test VIDIOC_DV_TIMINGS_CAP: OK
>>> test VIDIOC_G/S_EDID: OK (Not Supported)
>>>
>>> Control ioctls (Input 0):
>>> info: checking v4l2_query_ext_ctrl of control 'User Controls' (0x00980001)
>>> info: checking v4l2_query_ext_ctrl of control 'Brightness' (0x00980900)
>>> info: checking v4l2_query_ext_ctrl of control 'Contrast' (0x00980901)
>>> info: checking v4l2_query_ext_ctrl of control 'Saturation' (0x00980902)
>>> info: checking v4l2_query_ext_ctrl of control 'Hue' (0x00980903)
>>> info: checking v4l2_query_ext_ctrl of control 'Brightness' (0x00980900)
>>> info: checking v4l2_query_ext_ctrl of control 'Contrast' (0x00980901)
>>> info: checking v4l2_query_ext_ctrl of control 'Saturation' (0x00980902)
>>> info: checking v4l2_query_ext_ctrl of control 'Hue' (0x00980903)
>>> test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
>>> test VIDIOC_QUERYCTRL: OK
>>> info: checking control 'User Controls' (0x00980001)
>>> info: checking control 'Brightness' (0x00980900)
>>> info: checking control 'Contrast' (0x00980901)
>>> info: checking control 'Saturation' (0x00980902)
>>> info: checking control 'Hue' (0x00980903)
>>> test VIDIOC_G/S_CTRL: OK
>>> info: checking extended control 'User Controls' (0x00980001)
>>> info: checking extended control 'Brightness' (0x00980900)
>>> info: checking extended control 'Contrast' (0x00980901)
>>> info: checking extended control 'Saturation' (0x00980902)
>>> info: checking extended control 'Hue' (0x00980903)
>>> test VIDIOC_G/S/TRY_EXT_CTRLS: OK
>>> info: checking control event 'User Controls' (0x00980001)
>>> info: checking control event 'Brightness' (0x00980900)
>>> info: checking control event 'Contrast' (0x00980901)
>>> info: checking control event 'Saturation' (0x00980902)
>>> info: checking control event 'Hue' (0x00980903)
>>> warn: v4l2-test-controls.cpp(1159): V4L2_CID_DV_RX_POWER_PRESENT not found for input 0
>>> test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
>>> test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
>>> Standard Controls: 5 Private Controls: 0
>>>
>>> Format ioctls (Input 0):
>>> info: found 1 formats for buftype 1
>>> test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
>>> warn: v4l2-test-formats.cpp(1485): S_PARM is supported for buftype 1, but not for ENUM_FRAMEINTERVALS
>>> test VIDIOC_G/S_PARM: OK
>>> test VIDIOC_G_FBUF: OK (Not Supported)
>>> test VIDIOC_G_FMT: OK
>>> test VIDIOC_TRY_FMT: OK
>>> test VIDIOC_S_FMT: OK
>>> test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
>>> test Cropping: OK (Not Supported)
>>> test Composing: OK (Not Supported)
>>> test Scaling: OK
>>>
>>> Codec ioctls (Input 0):
>>> test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
>>> test VIDIOC_G_ENC_INDEX: OK (Not Supported)
>>> test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
>>>
>>> Buffer ioctls (Input 0):
>>> info: test buftype Video Capture
>>> test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
>>> test CREATE_BUFS maximum buffers: OK
>>> test VIDIOC_REMOVE_BUFS: OK
>>> test VIDIOC_EXPBUF: OK
>>> test Requests: OK (Not Supported)
>>> test blocking wait: OK
>>>
>>> Test input 0:
>>>
>>> Stream using all formats:
>>> test MMAP for Format YUYV, Frame Size 640x480:
>>> Stride 1280, Field None: OK
>>> Stride 1344, Field None: OK
>>> test MMAP for Format YUYV, Frame Size 1920x1080:
>>> Stride 3840, Field None: OK
>>> Total for HwsCapture device /dev/video1: 51, Succeeded: 51, Failed: 0, Warnings: 2
>>>
>>>
>>> Thanks for taking a look!
>>>
>>> Ben
>>>
>>> Ben Hoff (2):
>>> media: pci: add AVMatrix HWS capture driver
>>> MAINTAINERS: add entry for AVMatrix HWS driver
>>>
>>> MAINTAINERS | 6 +
>>> drivers/media/pci/Kconfig | 1 +
>>> drivers/media/pci/Makefile | 1 +
>>> drivers/media/pci/hws/Kconfig | 12 +
>>> drivers/media/pci/hws/Makefile | 4 +
>>> drivers/media/pci/hws/hws.h | 175 +++
>>> drivers/media/pci/hws/hws_irq.c | 268 ++++
>>> drivers/media/pci/hws/hws_irq.h | 10 +
>>> drivers/media/pci/hws/hws_pci.c | 722 +++++++++++
>>> drivers/media/pci/hws/hws_reg.h | 144 +++
>>> drivers/media/pci/hws/hws_v4l2_ioctl.c | 755 ++++++++++++
>>> drivers/media/pci/hws/hws_v4l2_ioctl.h | 38 +
>>> drivers/media/pci/hws/hws_video.c | 1542 ++++++++++++++++++++++++
>>> drivers/media/pci/hws/hws_video.h | 29 +
>>> 14 files changed, 3707 insertions(+)
>>> create mode 100644 drivers/media/pci/hws/Kconfig
>>> create mode 100644 drivers/media/pci/hws/Makefile
>>> create mode 100644 drivers/media/pci/hws/hws.h
>>> create mode 100644 drivers/media/pci/hws/hws_irq.c
>>> create mode 100644 drivers/media/pci/hws/hws_irq.h
>>> create mode 100644 drivers/media/pci/hws/hws_pci.c
>>> create mode 100644 drivers/media/pci/hws/hws_reg.h
>>> create mode 100644 drivers/media/pci/hws/hws_v4l2_ioctl.c
>>> create mode 100644 drivers/media/pci/hws/hws_v4l2_ioctl.h
>>> create mode 100644 drivers/media/pci/hws/hws_video.c
>>> create mode 100644 drivers/media/pci/hws/hws_video.h
>>>
>>> --
>>> 2.51.0
>>
>
>
next prev parent reply other threads:[~2026-02-09 12:53 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-12 2:24 [PATCH v1 0/2] media: pci: AVMatrix HWS capture driver Ben Hoff
2026-01-12 2:24 ` [PATCH v1 1/2] media: pci: add " Ben Hoff
2026-01-12 2:24 ` [PATCH v1 2/2] MAINTAINERS: add entry for AVMatrix HWS driver Ben Hoff
2026-02-08 0:35 ` [PATCH v1 0/2] media: pci: AVMatrix HWS capture driver Ben Hoff
2026-02-09 11:47 ` Hans Verkuil
2026-02-09 12:53 ` Hans Verkuil [this message]
2026-03-17 16:01 ` Hans Verkuil
2026-03-18 0:23 ` Ben Hoff
2026-03-18 0:10 ` [PATCH v2 0/2] media: pci: add " Ben Hoff
2026-03-18 0:10 ` [PATCH v2 1/2] " Ben Hoff
2026-03-24 9:17 ` Hans Verkuil
2026-03-18 0:10 ` [PATCH v2 2/2] MAINTAINERS: add entry for AVMatrix HWS driver Ben Hoff
2026-03-24 9:19 ` [PATCH v2 0/2] media: pci: add AVMatrix HWS capture driver Hans Verkuil
2026-03-30 19:56 ` [PATCH v3 " hoff.benjamin.k
2026-03-30 19:56 ` [PATCH v3 1/2] " hoff.benjamin.k
2026-03-30 19:56 ` [PATCH v3 2/2] MAINTAINERS: add entry for AVMatrix HWS driver hoff.benjamin.k
2026-03-30 23:36 ` [PATCH v4] media: pci: add AVMatrix HWS capture driver hoff.benjamin.k
2026-04-02 6:25 ` kernel test robot
2026-04-03 13:57 ` [PATCH v5] " hoff.benjamin.k
2026-04-30 13:26 ` Ben Hoff
2026-05-05 10:37 ` Hans Verkuil
2026-05-06 19:43 ` Ben Hoff
2026-05-07 5:10 ` Hans Verkuil
2026-05-11 0:09 ` Ben Hoff
2026-04-07 3:51 ` [PATCH v4] " kernel test robot
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=dcbdb336-3598-42d1-af23-bdfccc3210bf@kernel.org \
--to=hverkuil+cisco@kernel.org \
--cc=hoff.benjamin.k@gmail.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.