[PATCH 0/5] media: hws: add HDMI audio capture support

From: hoff . benjamin . k

Date: Fri Jun 26 2026 - 21:41:00 EST


From: Ben Hoff <hoff.benjamin.k@xxxxxxxxx>

This series prepares the AVMatrix HWS PCIe capture driver for HDMI audio
capture by making the video DMA programming use the hardware BAR remap
windows consistently, adding the shared scratch DMA arena required by the
remap model, adding a video bounce path for the shared remap window,
hardening queue ownership, and wiring up ALSA PCM capture support.

This driver is derived from a GPL out-of-tree driver. The baseline used
for comparison is available at:

https://github.com/benhoff/hws/tree/baseline

This series supersedes the earlier standalone submission at:

https://patchwork.linuxtv.org/project/linux-media/patch/20260620173448.36279-1-hoff.benjamin.k@xxxxxxxxx/

Supersedes: <20260620173448.36279-1-hoff.benjamin.k@xxxxxxxxx>
Assisted-by: codex:5.5

Validation:

- Build checks passed with W=1 for the HWS driver as a module
(VIDEO_HWS=m) and through the built-in directory target
(VIDEO_HWS=y, producing drivers/media/pci/hws/built-in.a). C=1
builds completed for both configurations

- v4l2-compliance 1.32.0, 64 bits, 64-bit time_t, passed
Total: 51, Succeeded: 51, Failed: 0, Warnings: 1

- HDMI audio progressive validation passed. Coverage included ALSA
capture-device enumeration, advertised hardware-parameter checks,
48 kHz S16_LE stereo capture from an HDMI playback, WAV
header/size/nonzero-sample checks, captured rate/channel/format
verification, no reported XRUNs, no kernel warnings/errors during
capture, repeated start/stop capture cycles, 100 consecutive short
captures, and 1000 consecutive device open/close cycles.

- ALSA period/buffer matrix validation passed at 48 kHz S16_LE stereo
with HDMI playback tone. Tested period/buffer frame pairs were
256/1024, 256/4096, 1024/4096, and 4096/16384; each case checked
that arecord accepted the requested hw params, capture completed,
the WAV artifact had valid header/size/non-silent content and the
expected rate/channel/format, no XRUN was reported, and no kernel
warning/error appeared during the case.

- Mixed audio/video validation passed. V4L2 MMAP streaming was kept
active on an HWS video node while ALSA captured 48 kHz S16_LE stereo
audio from the matching HWS PCM device. The test checked that audio
capture completed, video streaming stayed active for the full run,
the WAV artifact was present, non-truncated, and non-silent, and the
kernel log delta did not contain warnings, errors, DMA faults, XRUNs,
overrun/underrun reports, or HWS timeout/stall diagnostics.

- video tested with enabled_audio=0

- pm_test=devices passes with and without D3hot.

Full platform S3/deep suspend is not considered validated, my system is
unstable that I can't resume for deep suspend even without the driver

Ben Hoff (5):
media: hws: program video DMA through remap windows
media: hws: add shared scratch DMA arena
media: hws: add video bounce path for shared remap windows
media: hws: harden video DMA queue ownership
media: hws: add HDMI audio capture support

--
2.54.0