[PATCH v2 2/7] ASoC: dt-bindings: mediatek,mt8188-mt6359: remove ADDA_BE from link-name

Trevor Wu (吳文良) Trevor.Wu at mediatek.com
Wed May 24 06:45:58 PDT 2023


On Wed, 2023-05-24 at 15:28 +0200, Alexandre Mergnat wrote:
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> 
> 
> On 24/05/2023 04:25, Trevor Wu (吳文良) wrote:
> > On Tue, 2023-05-23 at 18:26 +0200, Alexandre Mergnat wrote:
> > > On 23/05/2023 04:19, Trevor Wu wrote:
> > > > ADDA_BE is used to connect to mt6359. For machine mt8188-
> > > > mt6359,
> > > > codec
> > > > for ADDA_BE must be mt6359 which are configured on the machine
> > > > driver.
> > > > Besides, ADDA_BE is divided into two dais, UL_SRC_BE and
> > > > DL_SRC_BE.
> > > > As a result, remove ADDA_BE from items of link-name.
> > > > 
> > > > Signed-off-by: Trevor Wu<trevor.wu at mediatek.com>
> > > 
> > > I don't understand how "DL_SRC_BE" and "UL_SRC_BE" links are
> > > done.
> > > Why these dais don't replace "ADDA_BE" in this binding ?
> > > 
> > > Regards,
> > > Alexandre
> > > 
> > 
> > Hi Alexandre,
> > 
> > Because the sound card is mt8188-mt6359, the codec for these two
> > links
> > must be mt6359. Thus, I specifiy the codec in machine driver
> > directly.
> > If the codec is changed, there will be a new sound card and binding
> > file. In conclusion, the codec won't be updated via dts, and that's
> > why
> > I don't just replace ADDA_BE in this binding.
> > 
> > Do you suggest me add some information in the commit message?
> 
> No it's fine, I'm just trying to understand.
> 
> When you say "I specifiy the codec in machine driver directly", you
> are talking about this change ?
> 
> +               } else if (strcmp(dai_link->name, "DL_SRC_BE") == 0
> ||
> +                          strcmp(dai_link->name, "UL_SRC_BE") == 0)
> {
> +                       if (!init_mt6359) {
> +                               dai_link->init = mt8188_mt6359_init;
> 
> I'm asking because the equivalent was done here:
> 
> -       [DAI_LINK_ADDA_BE] = {
> -               .name = "ADDA_BE",
> +       [DAI_LINK_DL_SRC_BE] = {
> +               .name = "DL_SRC_BE",
>                 .no_pcm = 1,
>                 .dpcm_playback = 1,
> -               .dpcm_capture = 1,
> -               .init = mt8188_mt6359_init,
> -               SND_SOC_DAILINK_REG(adda),
> +               SND_SOC_DAILINK_REG(dl_src),
> 
> So I'm wondering why "ADDA_BE" & "DPTX_BE" & "ETDM3_OUT_BE" are in
> the
> enum list of the binding since the codec is already specified in
> machine driver too. I probably miss something but I don't know what.
> 
> 


The following code snippet is cut from [PATCH v2 1/7].

 /* BE */
-SND_SOC_DAILINK_DEFS(adda,
-                    DAILINK_COMP_ARRAY(COMP_CPU("ADDA")),
+SND_SOC_DAILINK_DEFS(dl_src,
+                    DAILINK_COMP_ARRAY(COMP_CPU("DL_SRC")),
                     DAILINK_COMP_ARRAY(COMP_CODEC("mt6359-sound",
                                                   "mt6359-snd-codec-
aif1")),
                     DAILINK_COMP_ARRAY(COMP_EMPTY()));
@@ -140,6 +140,12 @@ SND_SOC_DAILINK_DEFS(pcm1,
                     DAILINK_COMP_ARRAY(COMP_DUMMY()),
                     DAILINK_COMP_ARRAY(COMP_EMPTY()));
 
+SND_SOC_DAILINK_DEFS(ul_src,
+                    DAILINK_COMP_ARRAY(COMP_CPU("UL_SRC")),
+                    DAILINK_COMP_ARRAY(COMP_CODEC("mt6359-sound",
+                                                  "mt6359-snd-codec-
aif1")),
+                    DAILINK_COMP_ARRAY(COMP_EMPTY()));


This is why I talk about specifying the codec it connects in the
machine driver.
If you check other dai-links, you would see COMP_DUMMY() in the
COMP_CODEC() field.

Thanks,
Trevor
> 


More information about the Linux-mediatek mailing list