Re: [PATCH v2 2/4] ASoC: qcom: common: add Display port Jack function

Johan Hovold
2024-04-29T14:54:09Z

On Tue, Apr 23, 2024 at 04:55:32PM +0100, Srinivas Kandagatla wrote:
> On 23/04/2024 13:02, Johan Hovold wrote:
> > On Mon, Apr 22, 2024 at 02:43:52PM +0100, Srinivas Kandagatla wrote:
> >
> >> static const struct snd_soc_dapm_widget qcom_jack_snd_widgets[] = {
> >> SND_SOC_DAPM_HP("Headphone Jack", NULL),
> >> SND_SOC_DAPM_MIC("Mic Jack", NULL),
> >> + SND_SOC_DAPM_SPK("HDMI/DP0 Jack", NULL),
> >> + SND_SOC_DAPM_SPK("HDMI/DP1 Jack", NULL),
> >> + SND_SOC_DAPM_SPK("HDMI/DP2 Jack", NULL),
> >
> > Shouldn't these be split in dedicated HDMI and DP jacks too? What if you
> > have a machine with HDMI and DP jacks which would otherwise both claim
> > "HDMI/DP0"?
>
> These map to the Jack's added as part of qcom_snd_dp_jack_setup and
> belong to DISPLAY_PORT_RX_0, DISPLAY_PORT_RX_1, DISPLAY_PORT_RX_2.
>
> If its going via USB-C DP controller it will be either DP or an HDMI ?

It will always be DP out of the machine even if an adapter can convert
to HDMI internally.

The DRM ports are called "DP-1" and "DP-2" so it seems we should match
that.

> This is the most common naming for the USB-C DP/HDMI jack events.

It looks like some Intel machines use names like "HDMI/DP, pcm=%d Jack"
(with a pcm device number), but we also have "DP Jack". Not sure which
are are used with USB-C, though. (Or if the former actually support HDMI
altmode.)

> Qualcomm LPASS in some older SoCs had a dedicated HDMI interface which
> is different to this one.
>
> Usual Other ways to connect HDMI is via external HDMI Bridge using I2S
> interface which totally different to this DP interface.

Sure, but if there's ever a design with such a port then it will be
called "HDMI Jack" and then the "HDMI in "HDMI/DP0 Jack" is unnecessary
and confusing when it is always DP out.

Johan