[PATCH v2 1/3] ASoC: hdmi-codec: Add event handler for hdmi TX

Jiaxin Yu (俞家鑫) Jiaxin.Yu at mediatek.com
Sun Dec 1 09:15:45 PST 2024


On Tue, 2022-12-13 at 16:35 +0000, Mark Brown wrote:
> On Tue, Dec 13, 2022 at 02:23:32PM +0000, Jiaxin Yu (俞家鑫) wrote:
> > On Mon, 2022-12-05 at 12:07 +0000, Mark Brown wrote:
> > > On Mon, Dec 05, 2022 at 09:34:17AM +0000, Jiaxin Yu (俞家鑫) wrote:
> > > No, I mean that if you want to control the enable and disable of
> > > the
> > > output path you should implement a DAPM widget.
> > May I ask which driver file to add a new DAPM widget? Is it the
> > bridge
> > ic driver like it6505.c? Or is it linke the "SDB" added in this
> > patch?
> 
> I would expect this to follow a similar pattern to everything else
> with
> hdmi-codec.c and have the actual ASoC stuff in there with a callback
> exposed to the rest of the world.
> 
> > Yes, I should add a new set of events, such as:
> > enum {
> >     HDMI_CODEC_TRIGGER_EVENT_STOP,
> >     HDMI_CODEC_TRIGGER_EVENT_START,
> >     HDMI_CODEC_TRIGGER_EVENT_SUSPEND,
> >     HDMI_CODEC_TRIGGER_EVENT_RESUME,
> > }
> > Then provide handles for these events in the it6505 driver. Am I
> > right?
> 
> I'd expect more like on/off for a DAPM widget (the DAPM callbacks are
> pre/post on/off) but yes.

Dear mark,
I apologize for the delay in responding to this issue, as we have
recently encountered the same problem again. I would like to have your
guidance on this issue once more. Let me describe the problem we
encountered again.


                     ==> "hdmi-audio-codec"(it6505 plug-in)
DL1(FE) ==> I2S1(BE) 
                     ==> "rt1019p"(Speaker Codec)

I want to independently control the switches for the speaker and hdmi,
and realize that when HDMI is plugged in, I can switch to speaker
playback, and I can also switch back to hdmi playback too. Of course,
I2S1 is used for playback at this time. 

So I want to ask if I can do it by just adding
SOC_DAPM_PIN_SWITCH("Speakers") and SOC_DAPM_PIN_SWITCH("HDMI")?
Correspondingly, dapm widget and route path need to be added. That is
"SND_SOC_DAPM_SPK("Speakers", NULL)/ SND_SOC_DAPM_LINE("HDMI1", NULL)"
and "{"Speakers", NULL, "Speaker"}/ {"HDMI1", NULL, "TX"}".

If the above is not enough, what else should I modify? hdmi-codec.c or
it6505.c? Looking forward to getting you reply, Thank you.

Jiaxin.Yu






More information about the Linux-mediatek mailing list