public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Ben Hoff <hoff.benjamin.k@gmail.com>
To: Hans Verkuil <hverkuil+cisco@kernel.org>
Cc: linux-media@vger.kernel.org
Subject: Re: [PATCH v1 0/2] media: pci: AVMatrix HWS capture driver
Date: Tue, 17 Mar 2026 20:23:20 -0400	[thread overview]
Message-ID: <CAMSzxxRSORBb3N53iX6=anaJStu4ypOi6DQmme0xb9d+4HidsQ@mail.gmail.com> (raw)
In-Reply-To: <1860c0a2-e44a-477b-bc73-2bee2071bc73@kernel.org>

 Hi Hans,

 Thanks for the reminder!

 I’ve now posted v2 here:
 https://lore.kernel.org/linux-media/20260318001056.465071-1-hoff.benjamin.k@gmail.com/T/#u

 This addresses the issues you called out from the media CI run.

 Thanks,
 Ben


On Tue, Mar 17, 2026 at 12:01 PM Hans Verkuil <hverkuil+cisco@kernel.org> wrote:
>
> On 09/02/2026 13:53, Hans Verkuil wrote:
> > 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?
>
> Ping?
>
> Regards,
>
>         Hans
>
> >
> > 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
> >>>
> >>
> >>
> >
> >
>

  reply	other threads:[~2026-03-18  0:23 UTC|newest]

Thread overview: 13+ 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
2026-03-17 16:01       ` Hans Verkuil
2026-03-18  0:23         ` Ben Hoff [this message]
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

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='CAMSzxxRSORBb3N53iX6=anaJStu4ypOi6DQmme0xb9d+4HidsQ@mail.gmail.com' \
    --to=hoff.benjamin.k@gmail.com \
    --cc=hverkuil+cisco@kernel.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox