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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2024-12-02 at 13:16 +0000, Mark Brown wrote:
> On Sun, Dec 01, 2024 at 05:15:45PM +0000, Jiaxin Yu (俞家鑫) wrote:
> 
> > 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"}".
> 
> Yes, that's what I'd expect to see.

Dear Mark,

So if I open the "HDMI Switch" amixer control, it will call
'hdmi_codec_startup', which in turn calls "audio_startup()"  in
'hdmi_codec_ops'. Conversely, if I close it, it will call
'hdmi_codec_shutdown', which in turn calls 'audio_shutdown' in
'hdmi_codec_ops'. Is this understanding correct?

static const struct snd_soc_dai_ops hdmi_codec_i2s_dai_ops = {
        .probe                          = hdmi_dai_probe,
        .startup                        = hdmi_codec_startup,
        .shutdown                       = hdmi_codec_shutdown,
        .hw_params                      = hdmi_codec_hw_params,
        .prepare                        = hdmi_codec_prepare,
        .set_fmt                        = hdmi_codec_i2s_set_fmt,
        .mute_stream                    = hdmi_codec_mute,
        .pcm_new                        = hdmi_codec_pcm_new,
        .auto_selectable_formats        = &hdmi_codec_formats,
        .num_auto_selectable_formats    = 1,
};

 struct hdmi_codec_ops {
         /*
          * Called when ASoC starts an audio stream setup.
          * Optional
          */
         int (*audio_startup)(struct device *dev, void *data);


         /*
          * Shuts down the audio stream.
          * Mandatory
          */
         void (*audio_shutdown)(struct device *dev, void *data);




[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux