linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFT PATCH 0/7] Add Allwinner H3/H5/A64 HDMI audio
@ 2020-04-26 12:04 Clément Péron
  2020-04-26 12:04 ` [PATCH 1/7] arm: dts: sunxi: h3/h5: Add DAI node for HDMI Clément Péron
                   ` (6 more replies)
  0 siblings, 7 replies; 25+ messages in thread
From: Clément Péron @ 2020-04-26 12:04 UTC (permalink / raw)
  To: Liam Girdwood, Mark Brown, Rob Herring, Maxime Ripard,
	Chen-Yu Tsai, Jaroslav Kysela, Takashi Iwai
  Cc: alsa-devel, devicetree, linux-arm-kernel, linux-kernel,
	linux-sunxi, Clément Péron

Hi,

This is some work done by Marcus Cooper and Jernej Škrabec.
These patches are present in LibreElec kernel and have been
tested by LE users.

I have rework them to follow kernel rules but I can't test
them as I don't have H3, H5 or A64 boards.

If some sunxi users could confirm they worked as expected!

This serie goes in top off "Add H6 I2S support"[0].
You can find a branch for testing here[1].

Thanks,
Clement

0: https://lwn.net/Articles/817914/
1: https://github.com/clementperon/linux/tree/allwinner_hdmi

Marcus Cooper (7):
  arm: dts: sunxi: h3/h5: Add DAI node for HDMI
  arm: dts: sunxi: h3/h5: Add HDMI audio
  arm64: dts: allwinner: a64: Add DAI node for HDMI
  arm64: dts: allwinner: a64: Add HDMI audio
  arm: sun8i: h3: Add HDMI audio to Orange Pi 2
  arm: sun8i: h3: Add HDMI audio to Beelink X2
  arm64: dts: allwinner: a64: Add HDMI audio to Pine64

 arch/arm/boot/dts/sun8i-h3-beelink-x2.dts     |  8 +++++
 arch/arm/boot/dts/sun8i-h3-orangepi-2.dts     |  8 +++++
 arch/arm/boot/dts/sunxi-h3-h5.dtsi            | 34 ++++++++++++++++++
 .../boot/dts/allwinner/sun50i-a64-pine64.dts  |  8 +++++
 arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 35 +++++++++++++++++++
 5 files changed, 93 insertions(+)

-- 
2.20.1


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH 1/7] arm: dts: sunxi: h3/h5: Add DAI node for HDMI
  2020-04-26 12:04 [RFT PATCH 0/7] Add Allwinner H3/H5/A64 HDMI audio Clément Péron
@ 2020-04-26 12:04 ` Clément Péron
  2020-04-26 12:04 ` [PATCH 2/7] arm: dts: sunxi: h3/h5: Add HDMI audio Clément Péron
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 25+ messages in thread
From: Clément Péron @ 2020-04-26 12:04 UTC (permalink / raw)
  To: Liam Girdwood, Mark Brown, Rob Herring, Maxime Ripard,
	Chen-Yu Tsai, Jaroslav Kysela, Takashi Iwai
  Cc: alsa-devel, devicetree, linux-arm-kernel, linux-kernel,
	linux-sunxi, Marcus Cooper, Clément Péron

From: Marcus Cooper <codekipper@gmail.com>

Add the new DAI block for I2S2 which is used for HDMI audio.

Signed-off-by: Marcus Cooper <codekipper@gmail.com>
Signed-off-by: Clément Péron <peron.clem@gmail.com>
---
 arch/arm/boot/dts/sunxi-h3-h5.dtsi | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
index 22d533d18992..9be13378d4df 100644
--- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
+++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
@@ -662,6 +662,19 @@
 			status = "disabled";
 		};
 
+		i2s2: i2s@1c22800 {
+			#sound-dai-cells = <0>;
+			compatible = "allwinner,sun8i-h3-i2s";
+			reg = <0x01c22800 0x400>;
+			interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_I2S2>, <&ccu CLK_I2S2>;
+			clock-names = "apb", "mod";
+			dmas = <&dma 27>;
+			resets = <&ccu RST_BUS_I2S2>;
+			dma-names = "tx";
+			status = "disabled";
+		};
+
 		codec: codec@1c22c00 {
 			#sound-dai-cells = <0>;
 			compatible = "allwinner,sun8i-h3-codec";
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 2/7] arm: dts: sunxi: h3/h5: Add HDMI audio
  2020-04-26 12:04 [RFT PATCH 0/7] Add Allwinner H3/H5/A64 HDMI audio Clément Péron
  2020-04-26 12:04 ` [PATCH 1/7] arm: dts: sunxi: h3/h5: Add DAI node for HDMI Clément Péron
@ 2020-04-26 12:04 ` Clément Péron
  2020-04-28  7:58   ` Maxime Ripard
  2020-04-26 12:04 ` [PATCH 3/7] arm64: dts: allwinner: a64: Add DAI node for HDMI Clément Péron
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 25+ messages in thread
From: Clément Péron @ 2020-04-26 12:04 UTC (permalink / raw)
  To: Liam Girdwood, Mark Brown, Rob Herring, Maxime Ripard,
	Chen-Yu Tsai, Jaroslav Kysela, Takashi Iwai
  Cc: alsa-devel, devicetree, linux-arm-kernel, linux-kernel,
	linux-sunxi, Marcus Cooper, Jernej Skrabec,
	Clément Péron

From: Marcus Cooper <codekipper@gmail.com>

Add a simple-soundcard to link audio between HDMI and I2S.

Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
Signed-off-by: Marcus Cooper <codekipper@gmail.com>
Signed-off-by: Clément Péron <peron.clem@gmail.com>
---
 arch/arm/boot/dts/sunxi-h3-h5.dtsi | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
index 9be13378d4df..3a4262294950 100644
--- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
+++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
@@ -105,6 +105,25 @@
 		status = "disabled";
 	};
 
+	hdmi_sound: hdmi-sound {
+		compatible = "simple-audio-card";
+		simple-audio-card,format = "i2s";
+		simple-audio-card,name = "allwinner,hdmi";
+		simple-audio-card,mclk-fs = <128>;
+		simple-audio-card,frame-inversion;
+		status = "disabled";
+
+		simple-audio-card,codec {
+			sound-dai = <&hdmi>;
+		};
+
+		simple-audio-card,cpu {
+			sound-dai = <&i2s2>;
+			dai-tdm-slot-num = <2>;
+			dai-tdm-slot-width = <32>;
+		};
+	};
+
 	soc {
 		compatible = "simple-bus";
 		#address-cells = <1>;
@@ -672,6 +691,7 @@
 			dmas = <&dma 27>;
 			resets = <&ccu RST_BUS_I2S2>;
 			dma-names = "tx";
+			allwinner,playback-channels = <8>;
 			status = "disabled";
 		};
 
@@ -806,6 +826,7 @@
 		};
 
 		hdmi: hdmi@1ee0000 {
+			#sound-dai-cells = <0>;
 			compatible = "allwinner,sun8i-h3-dw-hdmi",
 				     "allwinner,sun8i-a83t-dw-hdmi";
 			reg = <0x01ee0000 0x10000>;
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 3/7] arm64: dts: allwinner: a64: Add DAI node for HDMI
  2020-04-26 12:04 [RFT PATCH 0/7] Add Allwinner H3/H5/A64 HDMI audio Clément Péron
  2020-04-26 12:04 ` [PATCH 1/7] arm: dts: sunxi: h3/h5: Add DAI node for HDMI Clément Péron
  2020-04-26 12:04 ` [PATCH 2/7] arm: dts: sunxi: h3/h5: Add HDMI audio Clément Péron
@ 2020-04-26 12:04 ` Clément Péron
  2020-04-26 12:04 ` [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio Clément Péron
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 25+ messages in thread
From: Clément Péron @ 2020-04-26 12:04 UTC (permalink / raw)
  To: Liam Girdwood, Mark Brown, Rob Herring, Maxime Ripard,
	Chen-Yu Tsai, Jaroslav Kysela, Takashi Iwai
  Cc: alsa-devel, devicetree, linux-arm-kernel, linux-kernel,
	linux-sunxi, Marcus Cooper, Clément Péron

From: Marcus Cooper <codekipper@gmail.com>

Add the new DAI block for I2S2 which is used for HDMI audio.

Signed-off-by: Marcus Cooper <codekipper@gmail.com>
Signed-off-by: Clément Péron <peron.clem@gmail.com>
---
 arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
index 8d10fe6d06b6..e56e1e3d4b73 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
@@ -863,6 +863,20 @@
 			status = "disabled";
 		};
 
+		i2s2: i2s@1c22800 {
+			#sound-dai-cells = <0>;
+			compatible = "allwinner,sun50i-a64-i2s",
+				     "allwinner,sun8i-h3-i2s";
+			reg = <0x01c22800 0x400>;
+			interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_I2S2>, <&ccu CLK_I2S2>;
+			clock-names = "apb", "mod";
+			resets = <&ccu RST_BUS_I2S2>;
+			dma-names = "tx";
+			dmas = <&dma 27>;
+			status = "disabled";
+		};
+
 		dai: dai@1c22c00 {
 			#sound-dai-cells = <0>;
 			compatible = "allwinner,sun50i-a64-codec-i2s";
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio
  2020-04-26 12:04 [RFT PATCH 0/7] Add Allwinner H3/H5/A64 HDMI audio Clément Péron
                   ` (2 preceding siblings ...)
  2020-04-26 12:04 ` [PATCH 3/7] arm64: dts: allwinner: a64: Add DAI node for HDMI Clément Péron
@ 2020-04-26 12:04 ` Clément Péron
  2020-04-28  8:00   ` Maxime Ripard
  2020-04-26 12:04 ` [PATCH 5/7] arm: sun8i: h3: Add HDMI audio to Orange Pi 2 Clément Péron
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 25+ messages in thread
From: Clément Péron @ 2020-04-26 12:04 UTC (permalink / raw)
  To: Liam Girdwood, Mark Brown, Rob Herring, Maxime Ripard,
	Chen-Yu Tsai, Jaroslav Kysela, Takashi Iwai
  Cc: alsa-devel, devicetree, linux-arm-kernel, linux-kernel,
	linux-sunxi, Marcus Cooper, Jernej Skrabec,
	Clément Péron

From: Marcus Cooper <codekipper@gmail.com>

Add a simple-soundcard to link audio between HDMI and I2S.

Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
Signed-off-by: Marcus Cooper <codekipper@gmail.com>
Signed-off-by: Clément Péron <peron.clem@gmail.com>
---
 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";
+		simple-audio-card,mclk-fs = <128>;
+		simple-audio-card,frame-inversion;
+		status = "disabled";
+
+		simple-audio-card,codec {
+			sound-dai = <&hdmi>;
+		};
+
+		simple-audio-card,cpu {
+			sound-dai = <&i2s2>;
+			dai-tdm-slot-num = <2>;
+			dai-tdm-slot-width = <32>;
+		};
+	};
+
 	osc24M: osc24M_clk {
 		#clock-cells = <0>;
 		compatible = "fixed-clock";
@@ -874,6 +893,7 @@
 			resets = <&ccu RST_BUS_I2S2>;
 			dma-names = "tx";
 			dmas = <&dma 27>;
+			allwinner,playback-channels = <8>;
 			status = "disabled";
 		};
 
@@ -1171,6 +1191,7 @@
 		};
 
 		hdmi: hdmi@1ee0000 {
+			#sound-dai-cells = <0>;
 			compatible = "allwinner,sun50i-a64-dw-hdmi",
 				     "allwinner,sun8i-a83t-dw-hdmi";
 			reg = <0x01ee0000 0x10000>;
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 5/7] arm: sun8i: h3: Add HDMI audio to Orange Pi 2
  2020-04-26 12:04 [RFT PATCH 0/7] Add Allwinner H3/H5/A64 HDMI audio Clément Péron
                   ` (3 preceding siblings ...)
  2020-04-26 12:04 ` [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio Clément Péron
@ 2020-04-26 12:04 ` Clément Péron
  2020-04-26 12:04 ` [PATCH 6/7] arm: sun8i: h3: Add HDMI audio to Beelink X2 Clément Péron
  2020-04-26 12:04 ` [PATCH 7/7] arm64: dts: allwinner: a64: Add HDMI audio to Pine64 Clément Péron
  6 siblings, 0 replies; 25+ messages in thread
From: Clément Péron @ 2020-04-26 12:04 UTC (permalink / raw)
  To: Liam Girdwood, Mark Brown, Rob Herring, Maxime Ripard,
	Chen-Yu Tsai, Jaroslav Kysela, Takashi Iwai
  Cc: alsa-devel, devicetree, linux-arm-kernel, linux-kernel,
	linux-sunxi, Marcus Cooper, Clément Péron

From: Marcus Cooper <codekipper@gmail.com>

Enable HDMI audio on the Orange Pi 2.

Signed-off-by: Marcus Cooper <codekipper@gmail.com>
Signed-off-by: Clément Péron <peron.clem@gmail.com>
---
 arch/arm/boot/dts/sun8i-h3-orangepi-2.dts | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
index 597c425d08ec..64e8e2829f27 100644
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
@@ -144,6 +144,14 @@
 	};
 };
 
+&hdmi_sound {
+	status = "okay";
+};
+
+&i2s2 {
+	status = "okay";
+};
+
 &ir {
 	pinctrl-names = "default";
 	pinctrl-0 = <&r_ir_rx_pin>;
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 6/7] arm: sun8i: h3: Add HDMI audio to Beelink X2
  2020-04-26 12:04 [RFT PATCH 0/7] Add Allwinner H3/H5/A64 HDMI audio Clément Péron
                   ` (4 preceding siblings ...)
  2020-04-26 12:04 ` [PATCH 5/7] arm: sun8i: h3: Add HDMI audio to Orange Pi 2 Clément Péron
@ 2020-04-26 12:04 ` Clément Péron
  2020-04-26 12:04 ` [PATCH 7/7] arm64: dts: allwinner: a64: Add HDMI audio to Pine64 Clément Péron
  6 siblings, 0 replies; 25+ messages in thread
From: Clément Péron @ 2020-04-26 12:04 UTC (permalink / raw)
  To: Liam Girdwood, Mark Brown, Rob Herring, Maxime Ripard,
	Chen-Yu Tsai, Jaroslav Kysela, Takashi Iwai
  Cc: alsa-devel, devicetree, linux-arm-kernel, linux-kernel,
	linux-sunxi, Marcus Cooper, Clément Péron

From: Marcus Cooper <codekipper@gmail.com>

Enable HDMI audio on the Beelink X2.

Signed-off-by: Marcus Cooper <codekipper@gmail.com>
Signed-off-by: Clément Péron <peron.clem@gmail.com>
---
 arch/arm/boot/dts/sun8i-h3-beelink-x2.dts | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm/boot/dts/sun8i-h3-beelink-x2.dts b/arch/arm/boot/dts/sun8i-h3-beelink-x2.dts
index 45a24441ff18..f9bec6935120 100644
--- a/arch/arm/boot/dts/sun8i-h3-beelink-x2.dts
+++ b/arch/arm/boot/dts/sun8i-h3-beelink-x2.dts
@@ -142,6 +142,14 @@
 	};
 };
 
+&hdmi_sound {
+	status = "okay";
+};
+
+&i2s2 {
+	status = "okay";
+};
+
 &ir {
 	linux,rc-map-name = "rc-tanix-tx3mini";
 	pinctrl-names = "default";
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 7/7] arm64: dts: allwinner: a64: Add HDMI audio to Pine64
  2020-04-26 12:04 [RFT PATCH 0/7] Add Allwinner H3/H5/A64 HDMI audio Clément Péron
                   ` (5 preceding siblings ...)
  2020-04-26 12:04 ` [PATCH 6/7] arm: sun8i: h3: Add HDMI audio to Beelink X2 Clément Péron
@ 2020-04-26 12:04 ` Clément Péron
  6 siblings, 0 replies; 25+ messages in thread
From: Clément Péron @ 2020-04-26 12:04 UTC (permalink / raw)
  To: Liam Girdwood, Mark Brown, Rob Herring, Maxime Ripard,
	Chen-Yu Tsai, Jaroslav Kysela, Takashi Iwai
  Cc: alsa-devel, devicetree, linux-arm-kernel, linux-kernel,
	linux-sunxi, Marcus Cooper, Clément Péron

From: Marcus Cooper <codekipper@gmail.com>

Enable HDMI audio on Pine64.

Signed-off-by: Marcus Cooper <codekipper@gmail.com>
Signed-off-by: Clément Péron <peron.clem@gmail.com>
---
 arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
index 2165f238af13..c5939ba52f19 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
@@ -99,6 +99,10 @@
 	};
 };
 
+&hdmi_sound {
+	status = "okay";
+};
+
 &i2c1 {
 	status = "okay";
 };
@@ -107,6 +111,10 @@
 	bias-pull-up;
 };
 
+&i2s2 {
+	status = "okay";
+};
+
 &mdio {
 	ext_rmii_phy1: ethernet-phy@1 {
 		compatible = "ethernet-phy-ieee802.3-c22";
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* Re: [PATCH 2/7] arm: dts: sunxi: h3/h5: Add HDMI audio
  2020-04-26 12:04 ` [PATCH 2/7] arm: dts: sunxi: h3/h5: Add HDMI audio Clément Péron
@ 2020-04-28  7:58   ` Maxime Ripard
  0 siblings, 0 replies; 25+ messages in thread
From: Maxime Ripard @ 2020-04-28  7:58 UTC (permalink / raw)
  To: Clément Péron
  Cc: Liam Girdwood, Mark Brown, Rob Herring, Chen-Yu Tsai,
	Jaroslav Kysela, Takashi Iwai, alsa-devel, devicetree,
	linux-arm-kernel, linux-kernel, linux-sunxi, Marcus Cooper,
	Jernej Skrabec

[-- Attachment #1: Type: text/plain, Size: 1525 bytes --]

Hi,

On Sun, Apr 26, 2020 at 02:04:37PM +0200, Clément Péron wrote:
> From: Marcus Cooper <codekipper@gmail.com>
> 
> Add a simple-soundcard to link audio between HDMI and I2S.
> 
> Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
> Signed-off-by: Marcus Cooper <codekipper@gmail.com>
> Signed-off-by: Clément Péron <peron.clem@gmail.com>
> ---
>  arch/arm/boot/dts/sunxi-h3-h5.dtsi | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
> index 9be13378d4df..3a4262294950 100644
> --- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
> +++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
> @@ -105,6 +105,25 @@
>  		status = "disabled";
>  	};
>  
> +	hdmi_sound: hdmi-sound {
> +		compatible = "simple-audio-card";
> +		simple-audio-card,format = "i2s";
> +		simple-audio-card,name = "allwinner,hdmi";
> +		simple-audio-card,mclk-fs = <128>;
> +		simple-audio-card,frame-inversion;
> +		status = "disabled";
> +
> +		simple-audio-card,codec {
> +			sound-dai = <&hdmi>;
> +		};
> +
> +		simple-audio-card,cpu {
> +			sound-dai = <&i2s2>;
> +			dai-tdm-slot-num = <2>;
> +			dai-tdm-slot-width = <32>;
> +		};
> +	};
> +
>  	soc {
>  		compatible = "simple-bus";
>  		#address-cells = <1>;
> @@ -672,6 +691,7 @@
>  			dmas = <&dma 27>;
>  			resets = <&ccu RST_BUS_I2S2>;
>  			dma-names = "tx";
> +			allwinner,playback-channels = <8>;

This property doesn't exist in the binding

Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio
  2020-04-26 12:04 ` [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio Clément Péron
@ 2020-04-28  8:00   ` Maxime Ripard
  2020-04-28  8:54     ` Clément Péron
  0 siblings, 1 reply; 25+ messages in thread
From: Maxime Ripard @ 2020-04-28  8:00 UTC (permalink / raw)
  To: Clément Péron
  Cc: Liam Girdwood, Mark Brown, Rob Herring, Chen-Yu Tsai,
	Jaroslav Kysela, Takashi Iwai, alsa-devel, devicetree,
	linux-arm-kernel, linux-kernel, linux-sunxi, Marcus Cooper,
	Jernej Skrabec

[-- Attachment #1: Type: text/plain, Size: 1261 bytes --]

On Sun, Apr 26, 2020 at 02:04:39PM +0200, Clément Péron wrote:
> From: Marcus Cooper <codekipper@gmail.com>
> 
> Add a simple-soundcard to link audio between HDMI and I2S.
> 
> Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
> Signed-off-by: Marcus Cooper <codekipper@gmail.com>
> Signed-off-by: Clément Péron <peron.clem@gmail.com>
> ---
>  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?

If so, it's really too generic.

Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio
  2020-04-28  8:00   ` Maxime Ripard
@ 2020-04-28  8:54     ` Clément Péron
  2020-04-28 16:04       ` Maxime Ripard
  0 siblings, 1 reply; 25+ messages in thread
From: Clément Péron @ 2020-04-28  8:54 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Liam Girdwood, Mark Brown, Rob Herring, Chen-Yu Tsai,
	Jaroslav Kysela, Takashi Iwai, Linux-ALSA, devicetree,
	linux-arm-kernel, linux-kernel, linux-sunxi, Marcus Cooper,
	Jernej Skrabec

Hi Maxime,

On Tue, 28 Apr 2020 at 10:00, Maxime Ripard <maxime@cerno.tech> wrote:
>
> On Sun, Apr 26, 2020 at 02:04:39PM +0200, Clément Péron wrote:
> > From: Marcus Cooper <codekipper@gmail.com>
> >
> > Add a simple-soundcard to link audio between HDMI and I2S.
> >
> > Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
> > Signed-off-by: Marcus Cooper <codekipper@gmail.com>
> > Signed-off-by: Clément Péron <peron.clem@gmail.com>
> > ---
> >  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 :
sun50i-a64-hdmi
sun50i-h6-hdmi
How should we handle this with h3 / h5 ?
settings the simple-audio-card,name in each SoC dts?
Or using sun50i-h3-hdmi as they are both identical?

Regards,
Clement


>
> If so, it's really too generic.
>
> Maxime

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio
  2020-04-28  8:54     ` Clément Péron
@ 2020-04-28 16:04       ` Maxime Ripard
  2020-04-28 16:49         ` Audio sound card name [was [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio] Clément Péron
  0 siblings, 1 reply; 25+ messages in thread
From: Maxime Ripard @ 2020-04-28 16:04 UTC (permalink / raw)
  To: Clément Péron
  Cc: Liam Girdwood, Mark Brown, Rob Herring, Chen-Yu Tsai,
	Jaroslav Kysela, Takashi Iwai, Linux-ALSA, devicetree,
	linux-arm-kernel, linux-kernel, linux-sunxi, Marcus Cooper,
	Jernej Skrabec

[-- Attachment #1: Type: text/plain, Size: 2115 bytes --]

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@cerno.tech> wrote:
> >
> > On Sun, Apr 26, 2020 at 02:04:39PM +0200, Clément Péron wrote:
> > > From: Marcus Cooper <codekipper@gmail.com>
> > >
> > > Add a simple-soundcard to link audio between HDMI and I2S.
> > >
> > > Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
> > > Signed-off-by: Marcus Cooper <codekipper@gmail.com>
> > > Signed-off-by: Clément Péron <peron.clem@gmail.com>
> > > ---
> > >  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 :
> sun50i-a64-hdmi
> 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.

> How should we handle this with h3 / h5 ?
> settings the simple-audio-card,name in each SoC dts?
> Or using sun50i-h3-hdmi as they are both identical?

Yeah, we can do the latter

Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Audio sound card name [was [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio]
  2020-04-28 16:04       ` Maxime Ripard
@ 2020-04-28 16:49         ` Clément Péron
  2020-04-28 16:57           ` Mark Brown
  2020-04-28 17:11           ` Robin Murphy
  0 siblings, 2 replies; 25+ messages in thread
From: Clément Péron @ 2020-04-28 16:49 UTC (permalink / raw)
  To: Mark Brown
  Cc: Liam Girdwood, Maxime Ripard, Rob Herring, Chen-Yu Tsai,
	Jaroslav Kysela, Takashi Iwai, Linux-ALSA, devicetree,
	linux-arm-kernel, linux-kernel, linux-sunxi, Marcus Cooper,
	Jernej Skrabec

Hi Mark, Rob,

On Tue, 28 Apr 2020 at 18:04, Maxime Ripard <maxime@cerno.tech> 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@cerno.tech> wrote:
> > >
> > > On Sun, Apr 26, 2020 at 02:04:39PM +0200, Clément Péron wrote:
> > > > From: Marcus Cooper <codekipper@gmail.com>
> > > >
> > > > Add a simple-soundcard to link audio between HDMI and I2S.
> > > >
> > > > Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
> > > > Signed-off-by: Marcus Cooper <codekipper@gmail.com>
> > > > Signed-off-by: Clément Péron <peron.clem@gmail.com>
> > > > ---
> > > >  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" ?

Thanks for your tips,
Clement

>
> > How should we handle this with h3 / h5 ?
> > settings the simple-audio-card,name in each SoC dts?
> > Or using sun50i-h3-hdmi as they are both identical?
>
> Yeah, we can do the latter
>
> Maxime

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Audio sound card name [was [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio]
  2020-04-28 16:49         ` Audio sound card name [was [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio] Clément Péron
@ 2020-04-28 16:57           ` Mark Brown
  2020-04-28 17:11           ` Robin Murphy
  1 sibling, 0 replies; 25+ messages in thread
From: Mark Brown @ 2020-04-28 16:57 UTC (permalink / raw)
  To: Clément Péron
  Cc: Liam Girdwood, Maxime Ripard, Rob Herring, Chen-Yu Tsai,
	Jaroslav Kysela, Takashi Iwai, Linux-ALSA, devicetree,
	linux-arm-kernel, linux-kernel, linux-sunxi, Marcus Cooper,
	Jernej Skrabec

[-- Attachment #1: Type: text/plain, Size: 376 bytes --]

On Tue, Apr 28, 2020 at 06:49:10PM +0200, Clément Péron wrote:

> 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" ?

The former is more idiomatic for ALSA.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: Audio sound card name [was [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio]
  2020-04-28 16:49         ` Audio sound card name [was [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio] Clément Péron
  2020-04-28 16:57           ` Mark Brown
@ 2020-04-28 17:11           ` Robin Murphy
  2020-04-29  6:24             ` [linux-sunxi] " Chen-Yu Tsai
  1 sibling, 1 reply; 25+ messages in thread
From: Robin Murphy @ 2020-04-28 17:11 UTC (permalink / raw)
  To: Clément Péron, Mark Brown
  Cc: devicetree, Linux-ALSA, Liam Girdwood, linux-kernel, linux-sunxi,
	Jernej Skrabec, Takashi Iwai, Jaroslav Kysela, Marcus Cooper,
	Chen-Yu Tsai, Rob Herring, Maxime Ripard, linux-arm-kernel

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@cerno.tech> 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@cerno.tech> wrote:
>>>>
>>>> On Sun, Apr 26, 2020 at 02:04:39PM +0200, Clément Péron wrote:
>>>>> From: Marcus Cooper <codekipper@gmail.com>
>>>>>
>>>>> Add a simple-soundcard to link audio between HDMI and I2S.
>>>>>
>>>>> Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
>>>>> Signed-off-by: Marcus Cooper <codekipper@gmail.com>
>>>>> Signed-off-by: Clément Péron <peron.clem@gmail.com>
>>>>> ---
>>>>>   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 ;)

Robin.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [linux-sunxi] Re: Audio sound card name [was [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio]
  2020-04-28 17:11           ` Robin Murphy
@ 2020-04-29  6:24             ` Chen-Yu Tsai
  2020-04-29  8:17               ` Maxime Ripard
  0 siblings, 1 reply; 25+ messages in thread
From: Chen-Yu Tsai @ 2020-04-29  6:24 UTC (permalink / raw)
  To: Clément Péron
  Cc: Robin Murphy, Mark Brown, devicetree, Linux-ALSA, Liam Girdwood,
	linux-kernel, linux-sunxi, Jernej Skrabec, Takashi Iwai,
	Jaroslav Kysela, Marcus Cooper, Rob Herring, Maxime Ripard,
	linux-arm-kernel

On Wed, Apr 29, 2020 at 1:11 AM Robin Murphy <robin.murphy@arm.com> 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@cerno.tech> 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@cerno.tech> wrote:
> >>>>
> >>>> On Sun, Apr 26, 2020 at 02:04:39PM +0200, Clément Péron wrote:
> >>>>> From: Marcus Cooper <codekipper@gmail.com>
> >>>>>
> >>>>> Add a simple-soundcard to link audio between HDMI and I2S.
> >>>>>
> >>>>> Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
> >>>>> Signed-off-by: Marcus Cooper <codekipper@gmail.com>
> >>>>> Signed-off-by: Clément Péron <peron.clem@gmail.com>
> >>>>> ---
> >>>>>   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..

ChenYu

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [linux-sunxi] Re: Audio sound card name [was [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio]
  2020-04-29  6:24             ` [linux-sunxi] " Chen-Yu Tsai
@ 2020-04-29  8:17               ` Maxime Ripard
  2020-04-29 10:42                 ` Clément Péron
  2020-04-29 10:43                 ` Robin Murphy
  0 siblings, 2 replies; 25+ messages in thread
From: Maxime Ripard @ 2020-04-29  8:17 UTC (permalink / raw)
  To: Chen-Yu Tsai
  Cc: Clément Péron, Robin Murphy, Mark Brown, devicetree,
	Linux-ALSA, Liam Girdwood, linux-kernel, linux-sunxi,
	Jernej Skrabec, Takashi Iwai, Jaroslav Kysela, Marcus Cooper,
	Rob Herring, linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 3649 bytes --]

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@arm.com> 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@cerno.tech> 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@cerno.tech> wrote:
> > >>>>
> > >>>> On Sun, Apr 26, 2020 at 02:04:39PM +0200, Clément Péron wrote:
> > >>>>> From: Marcus Cooper <codekipper@gmail.com>
> > >>>>>
> > >>>>> Add a simple-soundcard to link audio between HDMI and I2S.
> > >>>>>
> > >>>>> Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
> > >>>>> Signed-off-by: Marcus Cooper <codekipper@gmail.com>
> > >>>>> Signed-off-by: Clément Péron <peron.clem@gmail.com>
> > >>>>> ---
> > >>>>>   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.

Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [linux-sunxi] Re: Audio sound card name [was [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio]
  2020-04-29  8:17               ` Maxime Ripard
@ 2020-04-29 10:42                 ` Clément Péron
  2020-04-29 10:43                 ` Robin Murphy
  1 sibling, 0 replies; 25+ messages in thread
From: Clément Péron @ 2020-04-29 10:42 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Robin Murphy, Mark Brown, devicetree, Linux-ALSA,
	Liam Girdwood, linux-kernel, linux-sunxi, Jernej Skrabec,
	Takashi Iwai, Jaroslav Kysela, Marcus Cooper, Rob Herring,
	linux-arm-kernel

Hi,

On Wed, 29 Apr 2020 at 10:17, Maxime Ripard <maxime@cerno.tech> 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@arm.com> 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@cerno.tech> 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@cerno.tech> wrote:
> > > >>>>
> > > >>>> On Sun, Apr 26, 2020 at 02:04:39PM +0200, Clément Péron wrote:
> > > >>>>> From: Marcus Cooper <codekipper@gmail.com>
> > > >>>>>
> > > >>>>> Add a simple-soundcard to link audio between HDMI and I2S.
> > > >>>>>
> > > >>>>> Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
> > > >>>>> Signed-off-by: Marcus Cooper <codekipper@gmail.com>
> > > >>>>> Signed-off-by: Clément Péron <peron.clem@gmail.com>
> > > >>>>> ---
> > > >>>>>   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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [linux-sunxi] Re: Audio sound card name [was [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio]
  2020-04-29  8:17               ` Maxime Ripard
  2020-04-29 10:42                 ` Clément Péron
@ 2020-04-29 10:43                 ` Robin Murphy
  2020-04-29 10:53                   ` Jernej Škrabec
                                     ` (3 more replies)
  1 sibling, 4 replies; 25+ messages in thread
From: Robin Murphy @ 2020-04-29 10:43 UTC (permalink / raw)
  To: Maxime Ripard, Chen-Yu Tsai
  Cc: Clément Péron, Mark Brown, devicetree, Linux-ALSA,
	Liam Girdwood, linux-kernel, linux-sunxi, Jernej Skrabec,
	Takashi Iwai, Jaroslav Kysela, Marcus Cooper, Rob Herring,
	linux-arm-kernel

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@arm.com> 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@cerno.tech> 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@cerno.tech> wrote:
>>>>>>>
>>>>>>> On Sun, Apr 26, 2020 at 02:04:39PM +0200, Clément Péron wrote:
>>>>>>>> From: Marcus Cooper <codekipper@gmail.com>
>>>>>>>>
>>>>>>>> Add a simple-soundcard to link audio between HDMI and I2S.
>>>>>>>>
>>>>>>>> Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
>>>>>>>> Signed-off-by: Marcus Cooper <codekipper@gmail.com>
>>>>>>>> Signed-off-by: Clément Péron <peron.clem@gmail.com>
>>>>>>>> ---
>>>>>>>>    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.

Robin.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [linux-sunxi] Re: Audio sound card name [was [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio]
  2020-04-29 10:43                 ` Robin Murphy
@ 2020-04-29 10:53                   ` Jernej Škrabec
  2020-04-29 11:07                     ` Robin Murphy
  2020-04-29 11:46                     ` Maxime Ripard
  2020-04-29 11:55                   ` Maxime Ripard
                                     ` (2 subsequent siblings)
  3 siblings, 2 replies; 25+ messages in thread
From: Jernej Škrabec @ 2020-04-29 10:53 UTC (permalink / raw)
  To: Maxime Ripard, Chen-Yu Tsai, Robin Murphy
  Cc: Clément Péron, Mark Brown, devicetree, Linux-ALSA,
	Liam Girdwood, linux-kernel, linux-sunxi, Takashi Iwai,
	Jaroslav Kysela, Marcus Cooper, Rob Herring, linux-arm-kernel

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@arm.com> 
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@cerno.tech> 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@cerno.tech> 
wrote:
> >>>>>>> On Sun, Apr 26, 2020 at 02:04:39PM +0200, Clément Péron wrote:
> >>>>>>>> From: Marcus Cooper <codekipper@gmail.com>
> >>>>>>>> 
> >>>>>>>> Add a simple-soundcard to link audio between HDMI and I2S.
> >>>>>>>> 
> >>>>>>>> Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
> >>>>>>>> Signed-off-by: Marcus Cooper <codekipper@gmail.com>
> >>>>>>>> Signed-off-by: Clément Péron <peron.clem@gmail.com>
> >>>>>>>> ---
> >>>>>>>> 
> >>>>>>>>    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.

This combination (DesignWare HDMI controller + I2S) is same as on Rockchip. 
Only difference is slightly different version of HDMI controller and different 
I2S core. Not sure what kind of configuration do you have in mind, but all 
these controllers support 2-8 channels, different sample sizes, even 
passthrough mode can be set (but it's not implemented yet). I would say that 
this audio output supports quiet a few possible configurations.

BTW, above patches were thoroughly tested in LibreELEC. The only missing thing 
is extending I2S driver to support channel allocation through DT, but that's 
outside the scope of this series. Currently only 2 channels will work 
correctly.

Best regards,
Jernej




^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [linux-sunxi] Re: Audio sound card name [was [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio]
  2020-04-29 10:53                   ` Jernej Škrabec
@ 2020-04-29 11:07                     ` Robin Murphy
  2020-04-29 11:46                     ` Maxime Ripard
  1 sibling, 0 replies; 25+ messages in thread
From: Robin Murphy @ 2020-04-29 11:07 UTC (permalink / raw)
  To: Jernej Škrabec, Maxime Ripard, Chen-Yu Tsai
  Cc: Clément Péron, Mark Brown, devicetree, Linux-ALSA,
	Liam Girdwood, linux-kernel, linux-sunxi, Takashi Iwai,
	Jaroslav Kysela, Marcus Cooper, Rob Herring, linux-arm-kernel

On 2020-04-29 11:53 am, 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@arm.com>
> 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@cerno.tech> 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@cerno.tech>
> wrote:
>>>>>>>>> On Sun, Apr 26, 2020 at 02:04:39PM +0200, Clément Péron wrote:
>>>>>>>>>> From: Marcus Cooper <codekipper@gmail.com>
>>>>>>>>>>
>>>>>>>>>> Add a simple-soundcard to link audio between HDMI and I2S.
>>>>>>>>>>
>>>>>>>>>> Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
>>>>>>>>>> Signed-off-by: Marcus Cooper <codekipper@gmail.com>
>>>>>>>>>> Signed-off-by: Clément Péron <peron.clem@gmail.com>
>>>>>>>>>> ---
>>>>>>>>>>
>>>>>>>>>>     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.
> 
> This combination (DesignWare HDMI controller + I2S) is same as on Rockchip.
> Only difference is slightly different version of HDMI controller and different
> I2S core. Not sure what kind of configuration do you have in mind, but all
> these controllers support 2-8 channels, different sample sizes, even
> passthrough mode can be set (but it's not implemented yet). I would say that
> this audio output supports quiet a few possible configurations.

Right, what I'm getting at is that the stuff that matters is all regular 
audio capabilities exposed via the appropriate APIs, and any choices are 
going to be mostly based on the audio being played and what the receiver 
on the other end of the link supports. I'm genuinely curious as to what 
actual configuration decision could be made purely based on the SoC 
name, regardless of the board, receiver, or the capabilities advertised 
by the interface itself.

Thanks,
Robin.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [linux-sunxi] Re: Audio sound card name [was [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio]
  2020-04-29 10:53                   ` Jernej Škrabec
  2020-04-29 11:07                     ` Robin Murphy
@ 2020-04-29 11:46                     ` Maxime Ripard
  1 sibling, 0 replies; 25+ messages in thread
From: Maxime Ripard @ 2020-04-29 11:46 UTC (permalink / raw)
  To: Jernej Škrabec
  Cc: Chen-Yu Tsai, Robin Murphy, Clément Péron, Mark Brown,
	devicetree, Linux-ALSA, Liam Girdwood, linux-kernel, linux-sunxi,
	Takashi Iwai, Jaroslav Kysela, Marcus Cooper, Rob Herring,
	linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 5924 bytes --]

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@arm.com> 
> 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@cerno.tech> 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@cerno.tech> 
> wrote:
> > >>>>>>> On Sun, Apr 26, 2020 at 02:04:39PM +0200, Clément Péron wrote:
> > >>>>>>>> From: Marcus Cooper <codekipper@gmail.com>
> > >>>>>>>> 
> > >>>>>>>> Add a simple-soundcard to link audio between HDMI and I2S.
> > >>>>>>>> 
> > >>>>>>>> Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
> > >>>>>>>> Signed-off-by: Marcus Cooper <codekipper@gmail.com>
> > >>>>>>>> Signed-off-by: Clément Péron <peron.clem@gmail.com>
> > >>>>>>>> ---
> > >>>>>>>> 
> > >>>>>>>>    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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [linux-sunxi] Re: Audio sound card name [was [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio]
  2020-04-29 10:43                 ` Robin Murphy
  2020-04-29 10:53                   ` Jernej Škrabec
@ 2020-04-29 11:55                   ` Maxime Ripard
  2020-04-29 11:59                   ` Takashi Iwai
  2020-04-29 12:05                   ` Mark Brown
  3 siblings, 0 replies; 25+ messages in thread
From: Maxime Ripard @ 2020-04-29 11:55 UTC (permalink / raw)
  To: Robin Murphy
  Cc: Chen-Yu Tsai, Clément Péron, Mark Brown, devicetree,
	Linux-ALSA, Liam Girdwood, linux-kernel, linux-sunxi,
	Jernej Skrabec, Takashi Iwai, Jaroslav Kysela, Marcus Cooper,
	Rob Herring, linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 5703 bytes --]

Hi

(Sorry for ignoring a couple of mails from you, for some reason your mails
didn't end up in my Inbox)

On Wed, Apr 29, 2020 at 11:43:06AM +0100, 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@arm.com> 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@cerno.tech> 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@cerno.tech> wrote:
> > > > > > > > 
> > > > > > > > On Sun, Apr 26, 2020 at 02:04:39PM +0200, Clément Péron wrote:
> > > > > > > > > From: Marcus Cooper <codekipper@gmail.com>
> > > > > > > > > 
> > > > > > > > > Add a simple-soundcard to link audio between HDMI and I2S.
> > > > > > > > > 
> > > > > > > > > Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
> > > > > > > > > Signed-off-by: Marcus Cooper <codekipper@gmail.com>
> > > > > > > > > Signed-off-by: Clément Péron <peron.clem@gmail.com>
> > > > > > > > > ---
> > > > > > > > >    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.

That's not really true though. simple-audio-card is used when the connection
between the DAIs is simple. It doesn't mean that the configuration of the CPU
DAI (i2s controller in that case) or the configuration of the codec are simple,
and with pretty featureful codecs, between the various muxes and amps, it can
actually be quite difficult to get the combination of controls you need to
change to output something on the output you expected.

Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [linux-sunxi] Re: Audio sound card name [was [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio]
  2020-04-29 10:43                 ` Robin Murphy
  2020-04-29 10:53                   ` Jernej Škrabec
  2020-04-29 11:55                   ` Maxime Ripard
@ 2020-04-29 11:59                   ` Takashi Iwai
  2020-04-29 12:05                   ` Mark Brown
  3 siblings, 0 replies; 25+ messages in thread
From: Takashi Iwai @ 2020-04-29 11:59 UTC (permalink / raw)
  To: Robin Murphy
  Cc: Maxime Ripard, Chen-Yu Tsai, Clément Péron, Mark Brown,
	devicetree, Linux-ALSA, Liam Girdwood, linux-kernel, linux-sunxi,
	Jernej Skrabec, Takashi Iwai, Jaroslav Kysela, Marcus Cooper,
	Rob Herring, linux-arm-kernel

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@arm.com> 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@cerno.tech> 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@cerno.tech> wrote:
> >>>>>>>
> >>>>>>> On Sun, Apr 26, 2020 at 02:04:39PM +0200, Clément Péron wrote:
> >>>>>>>> From: Marcus Cooper <codekipper@gmail.com>
> >>>>>>>>
> >>>>>>>> Add a simple-soundcard to link audio between HDMI and I2S.
> >>>>>>>>
> >>>>>>>> Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
> >>>>>>>> Signed-off-by: Marcus Cooper <codekipper@gmail.com>
> >>>>>>>> Signed-off-by: Clément Péron <peron.clem@gmail.com>
> >>>>>>>> ---
> >>>>>>>>    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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [linux-sunxi] Re: Audio sound card name [was [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio]
  2020-04-29 10:43                 ` Robin Murphy
                                     ` (2 preceding siblings ...)
  2020-04-29 11:59                   ` Takashi Iwai
@ 2020-04-29 12:05                   ` Mark Brown
  3 siblings, 0 replies; 25+ messages in thread
From: Mark Brown @ 2020-04-29 12:05 UTC (permalink / raw)
  To: Robin Murphy
  Cc: Maxime Ripard, Chen-Yu Tsai, Clément Péron, devicetree,
	Linux-ALSA, Liam Girdwood, linux-kernel, linux-sunxi,
	Jernej Skrabec, Takashi Iwai, Jaroslav Kysela, Marcus Cooper,
	Rob Herring, linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 2007 bytes --]

On Wed, Apr 29, 2020 at 11:43:06AM +0100, 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:

Please delete unneeded context from mails when replying.  Doing this
makes it much easier to find your reply in the message, helping ensure
it won't be missed by people scrolling through the irrelevant quoted
material.

> > 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]

In the case of HDMI for embedded platforms since there is generally no
control in the audio path it is unlikely to make a *huge* difference,
though if there are expansion buses or multiple HDMI ports it can be
useful to help people identify which particular HDMI port it is.  For
other cards the names are part of userspace working out which config
file to apply to the card so deduplication can help, and also the
plastics tend to matter.

> 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.

This is a reasonable assumption for HDMI but it is not at all a
reasonable assumption for simple-audio-card in general - just because
the links between the SoC and the external components are simple that
doesn't mean that any of those components are simple, and even if the
hardware is simple that does not mean that configuration is unimportant
- the difference between full scale output and appropriate headphone
volumes is for example *extremely* important.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2020-04-29 12:05 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-26 12:04 [RFT PATCH 0/7] Add Allwinner H3/H5/A64 HDMI audio Clément Péron
2020-04-26 12:04 ` [PATCH 1/7] arm: dts: sunxi: h3/h5: Add DAI node for HDMI Clément Péron
2020-04-26 12:04 ` [PATCH 2/7] arm: dts: sunxi: h3/h5: Add HDMI audio Clément Péron
2020-04-28  7:58   ` Maxime Ripard
2020-04-26 12:04 ` [PATCH 3/7] arm64: dts: allwinner: a64: Add DAI node for HDMI Clément Péron
2020-04-26 12:04 ` [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio Clément Péron
2020-04-28  8:00   ` Maxime Ripard
2020-04-28  8:54     ` Clément Péron
2020-04-28 16:04       ` Maxime Ripard
2020-04-28 16:49         ` Audio sound card name [was [PATCH 4/7] arm64: dts: allwinner: a64: Add HDMI audio] Clément Péron
2020-04-28 16:57           ` Mark Brown
2020-04-28 17:11           ` Robin Murphy
2020-04-29  6:24             ` [linux-sunxi] " Chen-Yu Tsai
2020-04-29  8:17               ` Maxime Ripard
2020-04-29 10:42                 ` Clément Péron
2020-04-29 10:43                 ` Robin Murphy
2020-04-29 10:53                   ` Jernej Škrabec
2020-04-29 11:07                     ` Robin Murphy
2020-04-29 11:46                     ` Maxime Ripard
2020-04-29 11:55                   ` Maxime Ripard
2020-04-29 11:59                   ` Takashi Iwai
2020-04-29 12:05                   ` Mark Brown
2020-04-26 12:04 ` [PATCH 5/7] arm: sun8i: h3: Add HDMI audio to Orange Pi 2 Clément Péron
2020-04-26 12:04 ` [PATCH 6/7] arm: sun8i: h3: Add HDMI audio to Beelink X2 Clément Péron
2020-04-26 12:04 ` [PATCH 7/7] arm64: dts: allwinner: a64: Add HDMI audio to Pine64 Clément Péron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).