Re: [v3 2/3] ASoC: mediatek: mt8186: correct the HDMI widgets

From: Jiaxin Yu (俞家鑫)
Date: Thu Aug 03 2023 - 03:20:33 EST


On Wed, 2023-08-02 at 17:38 +0100, Mark Brown wrote:
> On Wed, Aug 02, 2023 at 02:52:57PM +0000, Jiaxin Yu (俞家鑫) wrote:
> > On Mon, 2023-07-31 at 12:50 +0100, Mark Brown wrote:
> > > On Mon, Jul 31, 2023 at 02:08:02AM +0800, Jiaxin Yu wrote:
> > > > Use SND_SOC_DAPM_LINE instead of SND_SOC_DAPM_OUTPUT to trigger
> > > > DAPM events to hdmi-codec when userspace control the DPAM pin.
> > > Why?
> > I have defined an SOC_DAPM_PIN_SWITCH that named as "HDMI1", if I
> > use
> > SND_SOC_DAPM_OUTPUT, it can't be controlled by HDMI1's PIN_SWITCH.
>
> ...
>
> > 2762 if (w->dapm->card->fully_routed)
> > 2763 return;
> > 2764 ep = SND_SOC_DAPM_EP_SINK;
> > 2765 snd_soc_dapm_widget_for_each_sink_path(w, p) {
> > 2766 if (p->sink->id == snd_soc_dapm_spk ||
> > 2767 p->sink->id == snd_soc_dapm_hp
> > ||
> > 2768 p->sink->id ==
> > snd_soc_dapm_line
> > > >
> >
> > 2769 p->sink->id ==
> > snd_soc_dapm_input)
> > {
> > 2770 ep = 0;
>
> The expectation here is that you'll connect the output to a widget
> that
> corresponds to the physical output on your board and put the pin
> switch
> on that, ideally with a label that corresponds to case markings or
> what
> the physical output is called on the board.

Dear brown,

I agree with you, in fact the speaker is indeed doing this way. But
about the hdmi that on the board, I did not find a defination link
snd_soc_dapm_hdmi, so I use snd_soc_dapm_line to replace. The purpose
is to control it link speaker. Or what do you suggest I should do?

Thank you very much.