diff options
Diffstat (limited to 'drivers/gpu/drm/msm/dp/dp_audio.h')
| -rw-r--r-- | drivers/gpu/drm/msm/dp/dp_audio.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/dp/dp_audio.h b/drivers/gpu/drm/msm/dp/dp_audio.h new file mode 100644 index 000000000000..ce2342856adb --- /dev/null +++ b/drivers/gpu/drm/msm/dp/dp_audio.h @@ -0,0 +1,57 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. + */ + +#ifndef _DP_AUDIO_H_ +#define _DP_AUDIO_H_ + +#include <linux/platform_device.h> + +#include <sound/hdmi-codec.h> + +struct drm_bridge; + +/** + * struct msm_dp_audio + * @lane_count: number of lanes configured in current session + * @bw_code: link rate's bandwidth code for current session + */ +struct msm_dp_audio { + u32 lane_count; + u32 bw_code; +}; + +/** + * msm_dp_audio_get() + * + * Creates and instance of dp audio. + * + * @pdev: caller's platform device instance. + * @link_base: pointer to the msm_dp_link resource. + * + * Returns the error code in case of failure, otherwize + * an instance of newly created msm_dp_module. + */ +struct msm_dp_audio *msm_dp_audio_get(struct platform_device *pdev, + void __iomem *link_base); + +/** + * msm_dp_audio_put() + * + * Cleans the msm_dp_audio instance. + * + * @msm_dp_audio: an instance of msm_dp_audio. + */ +void msm_dp_audio_put(struct msm_dp_audio *msm_dp_audio); + +int msm_dp_audio_prepare(struct drm_bridge *bridge, + struct drm_connector *connector, + struct hdmi_codec_daifmt *daifmt, + struct hdmi_codec_params *params); +void msm_dp_audio_shutdown(struct drm_bridge *bridge, + struct drm_connector *connector); + +#endif /* _DP_AUDIO_H_ */ + + |
