Re: [PATCH v1 1/2] ASoC: dt-bindings: meson: introduce link-name optional property
From: Jerome Brunet
Date: Mon Apr 08 2024 - 14:49:08 EST
On Mon 08 Apr 2024 at 19:49, Dmitry Rokosov <ddrokosov@xxxxxxxxxxxxxxxxx> wrote:
> The 'link-name' property is an optional DT property that allows for the
> customization of the name associated with the DAI link and PCM stream.
> This functionality mirrors the approach commonly utilized in Qualcomm
> audio cards, providing flexibility in DAI naming conventions for
> improved system integration and userspace experience.
As explained in patch #2, I think this change is wrong.
The names below describe a possible userspace usage of the interface,
not HW. This does not belong in DT.
The only valid name for the interface is one that helps map the PCM
interface and the kcontrols exposed in userspace.
This information is already available through dai_name, prefixes, etc.
Using DT for this is bad, in the context of these particular sound
cards at least.
>
> It allows userspace program to easy determine PCM stream purpose, e.g.:
> ~ # cat /proc/asound/pcm
> 00-00: speaker (*) : : playback 1
> 00-01: mics (*) : : capture 1
> 00-02: loopback (*) : : capture 1
>
> Signed-off-by: Dmitry Rokosov <ddrokosov@xxxxxxxxxxxxxxxxx>
> ---
> .../devicetree/bindings/sound/amlogic,axg-sound-card.yaml | 6 ++++++
> .../devicetree/bindings/sound/amlogic,gx-sound-card.yaml | 6 ++++++
> 2 files changed, 12 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.yaml b/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.yaml
> index 492b41cc8ccd..46774a3e4b1d 100644
> --- a/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.yaml
> +++ b/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.yaml
> @@ -66,6 +66,11 @@ patternProperties:
> maxItems: 1
> description: phandle of the CPU DAI
>
> + link-name:
> + description: Indicates dai-link name and PCM stream name.
> + $ref: /schemas/types.yaml#/definitions/string
> + maxItems: 1
> +
> patternProperties:
> "^dai-tdm-slot-(t|r)x-mask-[0-3]$":
> $ref: /schemas/types.yaml#/definitions/uint32-array
> @@ -137,6 +142,7 @@ examples:
>
> dai-link-0 {
> sound-dai = <&frddr_a>;
> + link-name = "speaker";
> };
>
> dai-link-1 {
> diff --git a/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml b/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml
> index d4277d342e69..975c148f9712 100644
> --- a/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml
> +++ b/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml
> @@ -52,6 +52,11 @@ patternProperties:
> maxItems: 1
> description: phandle of the CPU DAI
>
> + link-name:
> + description: Indicates dai-link name and PCM stream name.
> + $ref: /schemas/types.yaml#/definitions/string
> + maxItems: 1
> +
> patternProperties:
> "^codec(-[0-9]+)?$":
> type: object
> @@ -89,6 +94,7 @@ examples:
>
> dai-link-0 {
> sound-dai = <&i2s_fifo>;
> + link-name = "speaker";
> };
>
> dai-link-1 {
--
Jerome