ASoC: qcom: sm8250: add DisplayPort Jack support

Add support for DisplayPort Jack events, so that user space can
configure the audio routing correctly.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Link: https://patch.msgid.link/20250507-fp5-dp-sound-v4-3-4098e918a29e@fairphone.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Luca Weiss 2025-05-07 10:01:39 +02:00 committed by Mark Brown
parent c4b79a2fbf
commit ed82808c6a
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0

View File

@ -25,6 +25,7 @@ struct sm8250_snd_data {
struct snd_soc_jack jack;
struct snd_soc_jack usb_offload_jack;
bool usb_offload_jack_setup;
struct snd_soc_jack dp_jack;
bool jack_setup;
};
@ -32,14 +33,16 @@ static int sm8250_snd_init(struct snd_soc_pcm_runtime *rtd)
{
struct sm8250_snd_data *data = snd_soc_card_get_drvdata(rtd->card);
struct snd_soc_dai *cpu_dai = snd_soc_rtd_to_cpu(rtd, 0);
int ret;
if (cpu_dai->id == USB_RX)
ret = qcom_snd_usb_offload_jack_setup(rtd, &data->usb_offload_jack,
&data->usb_offload_jack_setup);
else
ret = qcom_snd_wcd_jack_setup(rtd, &data->jack, &data->jack_setup);
return ret;
switch (cpu_dai->id) {
case DISPLAY_PORT_RX:
return qcom_snd_dp_jack_setup(rtd, &data->dp_jack, 0);
case USB_RX:
return qcom_snd_usb_offload_jack_setup(rtd, &data->usb_offload_jack,
&data->usb_offload_jack_setup);
default:
return qcom_snd_wcd_jack_setup(rtd, &data->jack, &data->jack_setup);
}
}
static void sm8250_snd_exit(struct snd_soc_pcm_runtime *rtd)