mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

Add basic DisplayPort audio support. Support non-live audio playback from two PCMs (DMA channels), and the volume control in the audio mixer. As older dtb files may not have the audio DMA channels defined, the driver will just mark the audio support as disabled if the audio DMA is missing, and will continue with only display support. Note: Reset doesn't seem to work (ZYNQMP_DISP_AUD_SOFT_RESET). If we do a reset, audio playback won't start again even if, afaics, we do set up all the necessary registers. So, at the moment, resetting the audio block in dp_dai_hw_free() is commented out. Tested-by: Anatoliy Klymenko <anatoliy.klymenko@amd.com> Reviewed-by: Vishal Sagar <vishal.sagar@amd.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Link: https://patchwork.freedesktop.org/patch/msgid/20241023-xilinx-dp-audio-v4-3-5128881457be@ideasonboard.com
32 lines
828 B
C
32 lines
828 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* ZynqMP DisplayPort Driver
|
|
*
|
|
* Copyright (C) 2017 - 2020 Xilinx, Inc.
|
|
*
|
|
* Authors:
|
|
* - Hyun Woo Kwon <hyun.kwon@xilinx.com>
|
|
* - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
*/
|
|
|
|
#ifndef _ZYNQMP_DP_H_
|
|
#define _ZYNQMP_DP_H_
|
|
|
|
struct platform_device;
|
|
struct zynqmp_dp;
|
|
struct zynqmp_dpsub;
|
|
|
|
void zynqmp_dp_enable_vblank(struct zynqmp_dp *dp);
|
|
void zynqmp_dp_disable_vblank(struct zynqmp_dp *dp);
|
|
|
|
int zynqmp_dp_probe(struct zynqmp_dpsub *dpsub);
|
|
void zynqmp_dp_remove(struct zynqmp_dpsub *dpsub);
|
|
|
|
void zynqmp_dp_audio_set_channels(struct zynqmp_dp *dp,
|
|
unsigned int num_channels);
|
|
void zynqmp_dp_audio_enable(struct zynqmp_dp *dp);
|
|
void zynqmp_dp_audio_disable(struct zynqmp_dp *dp);
|
|
|
|
void zynqmp_dp_audio_write_n_m(struct zynqmp_dp *dp);
|
|
|
|
#endif /* _ZYNQMP_DP_H_ */
|