Re: [PATCH v2 0/2] media: pci: add AVMatrix HWS capture driver

From: Hans Verkuil

Date: Tue Mar 24 2026 - 05:26:33 EST


Hi Ben,

On 18/03/2026 01:10, Ben Hoff wrote:
> Add an AVMatrix HWS PCIe capture driver and its MAINTAINERS entry.
>
> The driver exposes one V4L2 capture node per input channel, supports
> YUYV capture through vb2-dma-contig, reports DV timings, emits
> SOURCE_CHANGE events, and provides the basic brightness/contrast/
> saturation/hue controls used by the hardware.

I found some issues that need to be addressed, so a v3 is needed.

Please provide the v4l2-compliance output as well when posting v3.

Regards,

Hans

>
> Changes in v2:
> - keep scratch DMA allocation on a single probe-owned path
> - fix hws_video_register()/probe unwind ownership to avoid control-handler
> double-free on late registration failures
> - on live input resolution changes, emit SOURCE_CHANGE, error queued
> buffers, and require userspace to renegotiate buffers and restart
> streaming
> - add enum_frameintervals and report DV_RX_POWER_PRESENT, addressing the
> two v1 v4l2-compliance warnings
>
> Testing for v2:
> - build-tested with W=1:
> make -C /home/hoff/swdev/linux O=/tmp/hws-build \
> M=drivers/media/pci/hws W=1 KBUILD_MODPOST_WARN=1 modules
> - checkpatch.pl --no-tree --strict --file ... is clean for the new files
>
> Context carried forward from v1:
> - audio support remains intentionally omitted from this submission
> - the driver is derived from a GPL out-of-tree driver; the baseline tree 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
>
> 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 | 176 +++
> drivers/media/pci/hws/hws_irq.c | 271 +++++
> drivers/media/pci/hws/hws_irq.h | 10 +
> drivers/media/pci/hws/hws_pci.c | 864 +++++++++++++
> drivers/media/pci/hws/hws_reg.h | 144 +++
> drivers/media/pci/hws/hws_v4l2_ioctl.c | 778 ++++++++++++
> drivers/media/pci/hws/hws_v4l2_ioctl.h | 43 +
> drivers/media/pci/hws/hws_video.c | 1546 ++++++++++++++++++++++++
> drivers/media/pci/hws/hws_video.h | 29 +
> 14 files changed, 3885 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
>
>
> base-commit: f0caa1d49cc07b30a7e2f104d3853ec6dc1c3cad