On Wed, Apr 29, 2020 at 12:53:49PM +0200, Jernej Škrabec wrote: > Dne sreda, 29. april 2020 ob 12:43:06 CEST je Robin Murphy napisal(a): > > On 2020-04-29 9:17 am, Maxime Ripard 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. > > > > OK, you're a userspace audio application - enlighten me as to what exact > > chip you're running on here, and why you need to know: > > > > card 0: HDMI [HDA ATI HDMI] > > > > or how about here? > > > > card 0: Intel [HDA Intel] > > > > > > Furthermore, your argument works both ways - if the equivalent (or in > > common cases like DesignWare IP blocks, exact same) thing across 3 > > different SoCs has 3 different names, then it's that much harder for > > userspace that wants to present a consistent behaviour. I don't know > > exactly why LibreELEC have downstream patches that standardise all the > > Rockchip ones to "HDMI", but I can't help noting that they do. > > > > With simple-audio-card we're talking about trivial interfaces that often > > don't expose any controls at all, so there's unlikely to be much > > 'configuration' for userspace to do beyond choosing which card to output to. > > Only difference is slightly different version of HDMI controller and different > This combination (DesignWare HDMI controller + I2S) is same as on Rockchip. > I2S core. Well, that fact only is already information that is not carried on to the userspace. Think about it this way: let's say you run Debian, you just installed it without any configuration, and you don't have any knowledge about the hardware, you're just a user. Can the OS know how to configure that output based on the card name "HDMI" alone? HDMI is an easy one compared to the i2s + codec combinations we might have, but it already has some interesting differences between hardwares. For example, the RPi iirc needs an IEC958 format, while this one works just fine with a standard PCM format. Maxime
Attachment:
signature.asc
Description: PGP signature