Re: [linux-sunxi] Re: Audio sound card name [was [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio]

From: ClÃment PÃron
Date: Wed Apr 29 2020 - 06:42:47 EST


Hi,

On Wed, 29 Apr 2020 at 10:17, Maxime Ripard <maxime@xxxxxxxxxx> wrote:
>
> On Wed, Apr 29, 2020 at 02:24:00PM +0800, Chen-Yu Tsai wrote:
> > On Wed, Apr 29, 2020 at 1:11 AM Robin Murphy <robin.murphy@xxxxxxx> wrote:
> > >
> > > On 2020-04-28 5:49 pm, ClÃment PÃron wrote:
> > > > Hi Mark, Rob,
> > > >
> > > > On Tue, 28 Apr 2020 at 18:04, Maxime Ripard <maxime@xxxxxxxxxx> wrote:
> > > >>
> > > >> On Tue, Apr 28, 2020 at 10:54:00AM +0200, ClÃment PÃron wrote:
> > > >>> Hi Maxime,
> > > >>>
> > > >>> On Tue, 28 Apr 2020 at 10:00, Maxime Ripard <maxime@xxxxxxxxxx> wrote:
> > > >>>>
> > > >>>> On Sun, Apr 26, 2020 at 02:04:39PM +0200, ClÃment PÃron wrote:
> > > >>>>> From: Marcus Cooper <codekipper@xxxxxxxxx>
> > > >>>>>
> > > >>>>> Add a simple-soundcard to link audio between HDMI and I2S.
> > > >>>>>
> > > >>>>> Signed-off-by: Jernej Skrabec <jernej.skrabec@xxxxxxxx>
> > > >>>>> Signed-off-by: Marcus Cooper <codekipper@xxxxxxxxx>
> > > >>>>> Signed-off-by: ClÃment PÃron <peron.clem@xxxxxxxxx>
> > > >>>>> ---
> > > >>>>> arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 21 +++++++++++++++++++
> > > >>>>> 1 file changed, 21 insertions(+)
> > > >>>>>
> > > >>>>> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
> > > >>>>> index e56e1e3d4b73..08ab6b5e72a5 100644
> > > >>>>> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
> > > >>>>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
> > > >>>>> @@ -102,6 +102,25 @@
> > > >>>>> status = "disabled";
> > > >>>>> };
> > > >>>>>
> > > >>>>> + hdmi_sound: hdmi-sound {
> > > >>>>> + compatible = "simple-audio-card";
> > > >>>>> + simple-audio-card,format = "i2s";
> > > >>>>> + simple-audio-card,name = "allwinner,hdmi";
> > > >>>>
> > > >>>> I'm not sure what the usual card name should be like though. I would assume that
> > > >>>> this should be something specific enough so that you're able to differentiate
> > > >>>> between boards / SoC so that the userspace can choose a different configuration
> > > >>>> based on it?
> > > >>>
> > > >>> I really don't know what we should use here,
> > > >>> I just have a look at other SoC:
> > > >>> rk3328: "HDMI"
> > > >>> rk3399: "hdmi-sound"
> > > >>> r8a774c0-cat874: "CAT874 HDMI sound"
> > > >>>
> > > >>> But maybe it's time to introduce proper name:
> > > >>> What about :
> > > >>> pat
> > > >>> sun50i-h6-hdmi
> > > >>
> > > >> It's pretty much what we've been using for the other sound cards we have, so it
> > > >> makes sense to me.
> > > >
> > > > I have a question regarding the simple-audio-card,name.
> > > > In this patch, I would like to introduce a simple-audio-card for the
> > > > Allwinner A64 HDMI.
> > > >
> > > > What should be the preferred name for this sound card?
> > > > "sun50i-a64-hdmi" ? "allwinner, sun50i-a64-hdmi" ?
> > >
> > > I can at least speak for RK3328, and the reasoning there was that as the
> > > user looking at what `aplay -l` says, I don't give a hoot about what the
> > > SoC may be called, I see two cards and I want to know, with the least
> > > amount of uncertainty, which one will make the sound come out of the
> > > port that's labelled "HDMI" on the box ;)
> >
> > I agree. The user really doesn't care what SoC the system uses. The only
> > real requirement is to be able to tell which output the card is related
> > to, i.e. is it onboard or an external DAC, is it analog or HDMI, etc..
>
> Yeah, but it's exactly the point.
>
> If we also end up with "HDMI" as our card name, then the userspace has no way to
> tell anymore if it's running from an rk3328 or an allwinner SoC, or something
> else entirely. And therefore it cannot really configure anything to work out of
> the box anymore.

Yes the final user doesn't care if it's sun50i A64 HDMI or sun50i H6
HDMI, but like Maxime said between final user and the sound-card name
you may want to have a configuration layer.
This configuration layer can apply different settings depending on the
sound card.
Having too generic name will make impossible specific card configuration.

Also you can have specific name per board which can be quite clear for
final user.
- sun50i-a64-hdmi
- sun50i-a64-spdif
is not so hard to understand that one point to the HDMI whereas the
other point to SPDIF.

Regards,
Clement

>
> Maxime