On Wed, 29 Apr 2020 12:43:06 +0200, Robin Murphy wrote: > > 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] Heh, those are bad examples. Although the single HD-audio driver supports (literally) thousands of different models and hardware configurations, it's more or less self-contained; i.e. it needs neither UCM nor exotic setups. IOW, user-space don't need much to care about the difference of the hardware. (Admittedly there are subtle things to be done for HD-audio, too, but PA can handle it in a generic way, for example.) OTOH, in general, ASoC drivers do need the individual setups; that's almost unavoidable from its design perspective. Hence, unless the identical configuration is needed, it'd be wiser to provide different driver names to identify which setup to be applied. Takashi