Add DisplayPort audio support for Xilinx ZynqMP platforms.
This depends on patch adding cyclic DMA mode for DPDMA driver:
https://lore.kernel.org/all/20240228042124.3074044-3-vishal.sagar@xxxxxxx/
If that patch is missing, starting an audio playback will fail with an
ASoC error.
The current DT is, for some reason, missing the DMA channels for the
audio. This series adds that to the bindings and the dts file, but to
support older dtb files without the audio DMA, the driver will not fail
if the audio DMA is missing, but will just mark the audio support as
disabled.
The series also includes an improvement to the
soc-generic-dmaengine-pcm.c, required to support two dmaengine_pcms.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx>
---
Changes in v2:
- Fix a missing double-quote in the DT binding
- Link to v1: https://lore.kernel.org/r/20240312-xilinx-dp-audio-v1-0-696c79facbb9@xxxxxxxxxxxxxxxx
---
Tomi Valkeinen (4):
ASoC: dmaengine_pcm: Allow passing component name via config
dt-bindings: display/xlnx/zynqmp-dpsub: Add audio DMAs
arm64: dts: zynqmp: Add DMA for DP audio
drm: xlnx: zynqmp_dpsub: Add DP audio support
.../bindings/display/xlnx/xlnx,zynqmp-dpsub.yaml | 10 +-
arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 7 +-
drivers/gpu/drm/xlnx/Kconfig | 9 +
drivers/gpu/drm/xlnx/Makefile | 1 +
drivers/gpu/drm/xlnx/zynqmp_disp.c | 50 ---
drivers/gpu/drm/xlnx/zynqmp_disp_regs.h | 7 +-
drivers/gpu/drm/xlnx/zynqmp_dp.c | 54 ++-
drivers/gpu/drm/xlnx/zynqmp_dp.h | 7 +
drivers/gpu/drm/xlnx/zynqmp_dp_audio.c | 461 +++++++++++++++++++++
drivers/gpu/drm/xlnx/zynqmp_dpsub.c | 39 +-
drivers/gpu/drm/xlnx/zynqmp_dpsub.h | 15 +-
include/sound/dmaengine_pcm.h | 2 +
sound/soc/soc-core.c | 8 +-
sound/soc/soc-generic-dmaengine-pcm.c | 3 +
14 files changed, 563 insertions(+), 110 deletions(-)
---
base-commit: e8f897f4afef0031fe618a8e94127a0934896aba
change-id: 20240312-xilinx-dp-audio-468ad12f9f64
Best regards,
--
Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx>
[Index of Archives]
[Pulseaudio]
[Linux Audio Users]
[ALSA Devel]
[Fedora Desktop]
[Fedora SELinux]
[Big List of Linux Books]
[Yosemite News]
[KDE Users]