diff mbox series

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

Message ID 20230523021933.3422-3-trevor.wu@mediatek.com
State Superseded
Headers show
Series ASoC: mt8188: add new board support | expand

Commit Message

Trevor Wu May 23, 2023, 2:19 a.m. UTC
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@mediatek.com>
---
 .../devicetree/bindings/sound/mediatek,mt8188-mt6359.yaml        | 1 -
 1 file changed, 1 deletion(-)

Comments

Alexandre Mergnat May 24, 2023, 1:28 p.m. UTC | #1
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@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.
Trevor Wu May 24, 2023, 1:45 p.m. UTC | #2
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@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
>
Alexandre Mergnat May 24, 2023, 2:46 p.m. UTC | #3
On 24/05/2023 15:45, Trevor Wu (吳文良) wrote:
> 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@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.

Ok thanks for the explanation. If I understand well, ADDA_BE could have 
been removed from the enum list before your serie because the codec was 
already specified for ADDA_BE.

Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
Trevor Wu May 25, 2023, 3:20 a.m. UTC | #4
On Wed, 2023-05-24 at 16:46 +0200, Alexandre Mergnat wrote:
> On 24/05/2023 15:45, Trevor Wu (吳文良) wrote:
> > 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@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.
> 
> Ok thanks for the explanation. If I understand well, ADDA_BE could
> have
> been removed from the enum list before your serie because the codec
> was
> already specified for ADDA_BE.
> 
> Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
> 


Actually, it's allowed to be overwritten by DTS configuration. That's
why I listed ADDA_BE in the enum list before. However, I found the
binding and machine driver was implemented for mt6359, so I think it's
more reasonable to remove it from the list.

Thanks,
Trevor
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/sound/mediatek,mt8188-mt6359.yaml b/Documentation/devicetree/bindings/sound/mediatek,mt8188-mt6359.yaml
index 6640272b3f4f..3d2c01b693be 100644
--- a/Documentation/devicetree/bindings/sound/mediatek,mt8188-mt6359.yaml
+++ b/Documentation/devicetree/bindings/sound/mediatek,mt8188-mt6359.yaml
@@ -42,7 +42,6 @@  patternProperties:
           we are going to update parameters in this node.
         items:
           enum:
-            - ADDA_BE
             - DPTX_BE
             - ETDM1_IN_BE
             - ETDM2_IN_BE