devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/6] ASoC: codecs: wsa88xx: add support for static port mapping.
@ 2024-06-27 14:44 srinivas.kandagatla
  2024-06-27 14:44 ` [PATCH v2 1/6] ASoC: dt-bindings: wsa883x: Document port mapping property srinivas.kandagatla
                   ` (7 more replies)
  0 siblings, 8 replies; 11+ messages in thread
From: srinivas.kandagatla @ 2024-06-27 14:44 UTC (permalink / raw)
  To: Banajit Goswami, Liam Girdwood, Mark Brown, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Jaroslav Kysela, Takashi Iwai,
	Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, Neil Armstrong, alsa-devel, linux-sound,
	devicetree, linux-kernel, Krzysztof Kozlowski,
	Srinivas Kandagatla, Manikantan R

Existing way of allocating soundwire master ports on Qualcommm platforms is
dynamic, and in linear order starting from 1 to MAX_PORTS.
This will work as long as soundwire device ports are 1:1 mapped
linearly. However on most Qcom SoCs like SM8550, SM8650, x1e80100, these
are NOT mapped in that order.

The result of this is that only one speaker among the pair of speakers
is always silent, With recent changes for WSA codec to support codec
versions and along with these patches we are able to get all speakers
working on these SoCs.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
Changes in v2:
- used dev_dbg instead of dev_info
- Link to v1: https://lore.kernel.org/r/20240626-port-map-v1-0-bd8987d2b332@linaro.org

---
Manikantan R (1):
      ASoC: dt-bindings: wsa883x: Document port mapping property

Srinivas Kandagatla (5):
      ASoC: codecs: wsa883x: parse port-mapping information
      ASoC: dt-bindings: wsa8840: Document port mapping property
      ASoC: codecs: wsa884x: parse port-mapping information
      arm64: dts: x1e80100-crd: fix wsa soundwire port mapping
      arm64: dts: x1e80100-qcp: fix wsa soundwire port mapping

 Documentation/devicetree/bindings/sound/qcom,wsa883x.yaml | 8 ++++++++
 Documentation/devicetree/bindings/sound/qcom,wsa8840.yaml | 8 ++++++++
 arch/arm64/boot/dts/qcom/x1e80100-crd.dts                 | 4 ++++
 arch/arm64/boot/dts/qcom/x1e80100-qcp.dts                 | 2 ++
 sound/soc/codecs/wsa883x.c                                | 8 ++++++++
 sound/soc/codecs/wsa884x.c                                | 8 ++++++++
 6 files changed, 38 insertions(+)
---
base-commit: 9935be184a55dd84fc3275094f2df095491f6ea1
change-id: 20240626-port-map-ef50c3304d4a

Best regards,
-- 
Srinivas Kandagatla <srinivas.kandagatla@linaro.org>


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

* [PATCH v2 1/6] ASoC: dt-bindings: wsa883x: Document port mapping property
  2024-06-27 14:44 [PATCH v2 0/6] ASoC: codecs: wsa88xx: add support for static port mapping srinivas.kandagatla
@ 2024-06-27 14:44 ` srinivas.kandagatla
  2024-06-27 14:44 ` [PATCH v2 2/6] ASoC: codecs: wsa883x: parse port-mapping information Srinivas Kandagatla
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: srinivas.kandagatla @ 2024-06-27 14:44 UTC (permalink / raw)
  To: Banajit Goswami, Liam Girdwood, Mark Brown, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Jaroslav Kysela, Takashi Iwai,
	Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, Neil Armstrong, alsa-devel, linux-sound,
	devicetree, linux-kernel, Krzysztof Kozlowski,
	Srinivas Kandagatla, Manikantan R

From: Manikantan R <quic_manrav@quicinc.com>

Document port mapping property for wsa883x. Port mapping is required
to be able map correct master ports for VI feedback.

All the device ports are not mapped in same order as master ports, so
there is a need for having static port mapping for WSA codecs.

Signed-off-by: Manikantan R <quic_manrav@quicinc.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-HDK
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
 Documentation/devicetree/bindings/sound/qcom,wsa883x.yaml | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/Documentation/devicetree/bindings/sound/qcom,wsa883x.yaml b/Documentation/devicetree/bindings/sound/qcom,wsa883x.yaml
index 8e462cdf0018..14d312f9c345 100644
--- a/Documentation/devicetree/bindings/sound/qcom,wsa883x.yaml
+++ b/Documentation/devicetree/bindings/sound/qcom,wsa883x.yaml
@@ -32,6 +32,14 @@ properties:
   vdd-supply:
     description: VDD Supply for the Codec
 
+  qcom,port-mapping:
+    description: |
+      Specifies static port mapping between slave and master ports.
+      In the order of slave port index.
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+    minItems: 4
+    maxItems: 4
+
   '#thermal-sensor-cells':
     const: 0
 

-- 
2.25.1


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

* [PATCH v2 2/6] ASoC: codecs: wsa883x: parse port-mapping information
  2024-06-27 14:44 [PATCH v2 0/6] ASoC: codecs: wsa88xx: add support for static port mapping srinivas.kandagatla
  2024-06-27 14:44 ` [PATCH v2 1/6] ASoC: dt-bindings: wsa883x: Document port mapping property srinivas.kandagatla
@ 2024-06-27 14:44 ` Srinivas Kandagatla
  2024-06-27 15:38   ` Dmitry Baryshkov
  2024-06-27 14:44 ` [PATCH v2 3/6] ASoC: dt-bindings: wsa8840: Document port mapping property Srinivas Kandagatla
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 11+ messages in thread
From: Srinivas Kandagatla @ 2024-06-27 14:44 UTC (permalink / raw)
  To: Banajit Goswami, Liam Girdwood, Mark Brown, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Jaroslav Kysela, Takashi Iwai,
	Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, Neil Armstrong, alsa-devel, linux-sound,
	devicetree, linux-kernel, Krzysztof Kozlowski,
	Srinivas Kandagatla

Add support to parse static master port map information from device tree.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Tested-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-HDK
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
 sound/soc/codecs/wsa883x.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/sound/soc/codecs/wsa883x.c b/sound/soc/codecs/wsa883x.c
index a2e86ef7d18f..5443a5c4100c 100644
--- a/sound/soc/codecs/wsa883x.c
+++ b/sound/soc/codecs/wsa883x.c
@@ -1399,6 +1399,14 @@ static int wsa883x_probe(struct sdw_slave *pdev,
 	wsa883x->sconfig.direction = SDW_DATA_DIR_RX;
 	wsa883x->sconfig.type = SDW_STREAM_PDM;
 
+	/**
+	 * Port map index starts with 0, however the data port for this codec
+	 * are from index 1
+	 */
+	if (of_property_read_u32_array(dev->of_node, "qcom,port-mapping", &pdev->m_port_map[1],
+					WSA883X_MAX_SWR_PORTS))
+		dev_dbg(dev, "Static Port mapping not specified\n");
+
 	pdev->prop.sink_ports = GENMASK(WSA883X_MAX_SWR_PORTS, 0);
 	pdev->prop.simple_clk_stop_capable = true;
 	pdev->prop.sink_dpn_prop = wsa_sink_dpn_prop;

-- 
2.25.1


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

* [PATCH v2 3/6] ASoC: dt-bindings: wsa8840: Document port mapping property
  2024-06-27 14:44 [PATCH v2 0/6] ASoC: codecs: wsa88xx: add support for static port mapping srinivas.kandagatla
  2024-06-27 14:44 ` [PATCH v2 1/6] ASoC: dt-bindings: wsa883x: Document port mapping property srinivas.kandagatla
  2024-06-27 14:44 ` [PATCH v2 2/6] ASoC: codecs: wsa883x: parse port-mapping information Srinivas Kandagatla
@ 2024-06-27 14:44 ` Srinivas Kandagatla
  2024-06-27 14:44 ` [PATCH v2 4/6] ASoC: codecs: wsa884x: parse port-mapping information Srinivas Kandagatla
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: Srinivas Kandagatla @ 2024-06-27 14:44 UTC (permalink / raw)
  To: Banajit Goswami, Liam Girdwood, Mark Brown, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Jaroslav Kysela, Takashi Iwai,
	Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, Neil Armstrong, alsa-devel, linux-sound,
	devicetree, linux-kernel, Krzysztof Kozlowski,
	Srinivas Kandagatla

Document port mapping property for wsa884x. Port mapping is required
to be able map correct master ports.

All the device ports are not mapped in same order as master ports, so
there is a need for having static port mapping for WSA codecs.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-HDK
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
 Documentation/devicetree/bindings/sound/qcom,wsa8840.yaml | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/Documentation/devicetree/bindings/sound/qcom,wsa8840.yaml b/Documentation/devicetree/bindings/sound/qcom,wsa8840.yaml
index 22798d22d981..83e0360301e1 100644
--- a/Documentation/devicetree/bindings/sound/qcom,wsa8840.yaml
+++ b/Documentation/devicetree/bindings/sound/qcom,wsa8840.yaml
@@ -32,6 +32,14 @@ properties:
     description: Powerdown/Shutdown line to use (pin SD_N)
     maxItems: 1
 
+  qcom,port-mapping:
+    description: |
+      Specifies static port mapping between slave and master ports.
+      In the order of slave port index.
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+    minItems: 6
+    maxItems: 6
+
   '#sound-dai-cells':
     const: 0
 

-- 
2.25.1


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

* [PATCH v2 4/6] ASoC: codecs: wsa884x: parse port-mapping information
  2024-06-27 14:44 [PATCH v2 0/6] ASoC: codecs: wsa88xx: add support for static port mapping srinivas.kandagatla
                   ` (2 preceding siblings ...)
  2024-06-27 14:44 ` [PATCH v2 3/6] ASoC: dt-bindings: wsa8840: Document port mapping property Srinivas Kandagatla
@ 2024-06-27 14:44 ` Srinivas Kandagatla
  2024-06-27 15:39   ` Dmitry Baryshkov
  2024-06-27 14:44 ` [PATCH v2 5/6] arm64: dts: x1e80100-crd: fix wsa soundwire port mapping Srinivas Kandagatla
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 11+ messages in thread
From: Srinivas Kandagatla @ 2024-06-27 14:44 UTC (permalink / raw)
  To: Banajit Goswami, Liam Girdwood, Mark Brown, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Jaroslav Kysela, Takashi Iwai,
	Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, Neil Armstrong, alsa-devel, linux-sound,
	devicetree, linux-kernel, Krzysztof Kozlowski,
	Srinivas Kandagatla

Add support to parse static master port map information from device tree.
This is required for correct port mapping between soundwire device and
master ports.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Tested-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-HDK
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
 sound/soc/codecs/wsa884x.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/sound/soc/codecs/wsa884x.c b/sound/soc/codecs/wsa884x.c
index a9767ef0e39d..a6034547b4f3 100644
--- a/sound/soc/codecs/wsa884x.c
+++ b/sound/soc/codecs/wsa884x.c
@@ -1887,6 +1887,14 @@ static int wsa884x_probe(struct sdw_slave *pdev,
 	wsa884x->sconfig.direction = SDW_DATA_DIR_RX;
 	wsa884x->sconfig.type = SDW_STREAM_PDM;
 
+	/**
+	 * Port map index starts with 0, however the data port for this codec
+	 * are from index 1
+	 */
+	if (of_property_read_u32_array(dev->of_node, "qcom,port-mapping", &pdev->m_port_map[1],
+					WSA884X_MAX_SWR_PORTS))
+		dev_dbg(dev, "Static Port mapping not specified\n");
+
 	pdev->prop.sink_ports = GENMASK(WSA884X_MAX_SWR_PORTS, 0);
 	pdev->prop.simple_clk_stop_capable = true;
 	pdev->prop.sink_dpn_prop = wsa884x_sink_dpn_prop;

-- 
2.25.1


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

* [PATCH v2 5/6] arm64: dts: x1e80100-crd: fix wsa soundwire port mapping
  2024-06-27 14:44 [PATCH v2 0/6] ASoC: codecs: wsa88xx: add support for static port mapping srinivas.kandagatla
                   ` (3 preceding siblings ...)
  2024-06-27 14:44 ` [PATCH v2 4/6] ASoC: codecs: wsa884x: parse port-mapping information Srinivas Kandagatla
@ 2024-06-27 14:44 ` Srinivas Kandagatla
  2024-06-27 14:44 ` [PATCH v2 6/6] arm64: dts: x1e80100-qcp: " Srinivas Kandagatla
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: Srinivas Kandagatla @ 2024-06-27 14:44 UTC (permalink / raw)
  To: Banajit Goswami, Liam Girdwood, Mark Brown, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Jaroslav Kysela, Takashi Iwai,
	Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, Neil Armstrong, alsa-devel, linux-sound,
	devicetree, linux-kernel, Krzysztof Kozlowski,
	Srinivas Kandagatla

Existing way of allocating ports dynamically is linear starting from 1 to
MAX_PORTS. This will not work for x1e80100 as the master ports are
are not mapped in the same order.

Without this fix only one speaker in a pair of speakers will function.

After this fix along with WSA codec changes both the speakers starts
working.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Tested-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-HDK
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
 arch/arm64/boot/dts/qcom/x1e80100-crd.dts | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/x1e80100-crd.dts b/arch/arm64/boot/dts/qcom/x1e80100-crd.dts
index ce80119d798d..67c5cd89b925 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-crd.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-crd.dts
@@ -841,6 +841,7 @@ left_woofer: speaker@0,0 {
 		sound-name-prefix = "WooferLeft";
 		vdd-1p8-supply = <&vreg_l15b_1p8>;
 		vdd-io-supply = <&vreg_l12b_1p2>;
+		qcom,port-mapping = <1 2 3 7 10 13>;
 	};
 
 	/* WSA8845, Left Tweeter */
@@ -852,6 +853,7 @@ left_tweeter: speaker@0,1 {
 		sound-name-prefix = "TwitterLeft";
 		vdd-1p8-supply = <&vreg_l15b_1p8>;
 		vdd-io-supply = <&vreg_l12b_1p2>;
+		qcom,port-mapping = <4 5 6 7 11 13>;
 	};
 };
 
@@ -892,6 +894,7 @@ right_woofer: speaker@0,0 {
 		sound-name-prefix = "WooferRight";
 		vdd-1p8-supply = <&vreg_l15b_1p8>;
 		vdd-io-supply = <&vreg_l12b_1p2>;
+		qcom,port-mapping = <1 2 3 7 10 13>;
 	};
 
 	/* WSA8845, Right Tweeter */
@@ -903,6 +906,7 @@ right_tweeter: speaker@0,1 {
 		sound-name-prefix = "TwitterRight";
 		vdd-1p8-supply = <&vreg_l15b_1p8>;
 		vdd-io-supply = <&vreg_l12b_1p2>;
+		qcom,port-mapping = <4 5 6 7 11 13>;
 	};
 };
 

-- 
2.25.1


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

* [PATCH v2 6/6] arm64: dts: x1e80100-qcp: fix wsa soundwire port mapping
  2024-06-27 14:44 [PATCH v2 0/6] ASoC: codecs: wsa88xx: add support for static port mapping srinivas.kandagatla
                   ` (4 preceding siblings ...)
  2024-06-27 14:44 ` [PATCH v2 5/6] arm64: dts: x1e80100-crd: fix wsa soundwire port mapping Srinivas Kandagatla
@ 2024-06-27 14:44 ` Srinivas Kandagatla
  2024-07-02 18:03 ` (subset) [PATCH v2 0/6] ASoC: codecs: wsa88xx: add support for static " Mark Brown
  2024-08-15 20:40 ` Bjorn Andersson
  7 siblings, 0 replies; 11+ messages in thread
From: Srinivas Kandagatla @ 2024-06-27 14:44 UTC (permalink / raw)
  To: Banajit Goswami, Liam Girdwood, Mark Brown, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Jaroslav Kysela, Takashi Iwai,
	Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, Neil Armstrong, alsa-devel, linux-sound,
	devicetree, linux-kernel, Krzysztof Kozlowski,
	Srinivas Kandagatla

Existing way of allocating ports dynamically is linear starting from 1 to
MAX_PORTS. This will not work for x1e80100 as the master ports are
are not mapped in the same order.

Without this fix only one speaker in a pair of speakers will function.

After this fix along with WSA codec changes both the speakers starts
working.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-HDK
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
 arch/arm64/boot/dts/qcom/x1e80100-qcp.dts | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/x1e80100-qcp.dts b/arch/arm64/boot/dts/qcom/x1e80100-qcp.dts
index 4edec3212dde..79563ae34890 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-qcp.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-qcp.dts
@@ -749,6 +749,7 @@ left_spkr: speaker@0,0 {
 		sound-name-prefix = "SpkrLeft";
 		vdd-1p8-supply = <&vreg_l15b_1p8>;
 		vdd-io-supply = <&vreg_l12b_1p2>;
+		qcom,port-mapping = <1 2 3 7 10 13>;
 	};
 
 	/* WSA8845, Right Speaker */
@@ -760,6 +761,7 @@ right_spkr: speaker@0,1 {
 		sound-name-prefix = "SpkrRight";
 		vdd-1p8-supply = <&vreg_l15b_1p8>;
 		vdd-io-supply = <&vreg_l12b_1p2>;
+		qcom,port-mapping = <4 5 6 7 11 13>;
 	};
 };
 

-- 
2.25.1


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

* Re: [PATCH v2 2/6] ASoC: codecs: wsa883x: parse port-mapping information
  2024-06-27 14:44 ` [PATCH v2 2/6] ASoC: codecs: wsa883x: parse port-mapping information Srinivas Kandagatla
@ 2024-06-27 15:38   ` Dmitry Baryshkov
  0 siblings, 0 replies; 11+ messages in thread
From: Dmitry Baryshkov @ 2024-06-27 15:38 UTC (permalink / raw)
  To: Srinivas Kandagatla
  Cc: Banajit Goswami, Liam Girdwood, Mark Brown, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Jaroslav Kysela, Takashi Iwai,
	Bjorn Andersson, Konrad Dybcio, linux-arm-msm, Neil Armstrong,
	alsa-devel, linux-sound, devicetree, linux-kernel,
	Krzysztof Kozlowski

On Thu, Jun 27, 2024 at 03:44:39PM GMT, Srinivas Kandagatla wrote:
> Add support to parse static master port map information from device tree.
> 
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Tested-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-HDK
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> ---
>  sound/soc/codecs/wsa883x.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/sound/soc/codecs/wsa883x.c b/sound/soc/codecs/wsa883x.c
> index a2e86ef7d18f..5443a5c4100c 100644
> --- a/sound/soc/codecs/wsa883x.c
> +++ b/sound/soc/codecs/wsa883x.c
> @@ -1399,6 +1399,14 @@ static int wsa883x_probe(struct sdw_slave *pdev,
>  	wsa883x->sconfig.direction = SDW_DATA_DIR_RX;
>  	wsa883x->sconfig.type = SDW_STREAM_PDM;
>  
> +	/**
> +	 * Port map index starts with 0, however the data port for this codec
> +	 * are from index 1
> +	 */
> +	if (of_property_read_u32_array(dev->of_node, "qcom,port-mapping", &pdev->m_port_map[1],
> +					WSA883X_MAX_SWR_PORTS))
> +		dev_dbg(dev, "Static Port mapping not specified\n");
> +

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>


>  	pdev->prop.sink_ports = GENMASK(WSA883X_MAX_SWR_PORTS, 0);
>  	pdev->prop.simple_clk_stop_capable = true;
>  	pdev->prop.sink_dpn_prop = wsa_sink_dpn_prop;
> 
> -- 
> 2.25.1
> 

-- 
With best wishes
Dmitry

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

* Re: [PATCH v2 4/6] ASoC: codecs: wsa884x: parse port-mapping information
  2024-06-27 14:44 ` [PATCH v2 4/6] ASoC: codecs: wsa884x: parse port-mapping information Srinivas Kandagatla
@ 2024-06-27 15:39   ` Dmitry Baryshkov
  0 siblings, 0 replies; 11+ messages in thread
From: Dmitry Baryshkov @ 2024-06-27 15:39 UTC (permalink / raw)
  To: Srinivas Kandagatla
  Cc: Banajit Goswami, Liam Girdwood, Mark Brown, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Jaroslav Kysela, Takashi Iwai,
	Bjorn Andersson, Konrad Dybcio, linux-arm-msm, Neil Armstrong,
	alsa-devel, linux-sound, devicetree, linux-kernel,
	Krzysztof Kozlowski

On Thu, Jun 27, 2024 at 03:44:41PM GMT, Srinivas Kandagatla wrote:
> Add support to parse static master port map information from device tree.
> This is required for correct port mapping between soundwire device and
> master ports.
> 
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Tested-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
> Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-HDK
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> ---
>  sound/soc/codecs/wsa884x.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/sound/soc/codecs/wsa884x.c b/sound/soc/codecs/wsa884x.c
> index a9767ef0e39d..a6034547b4f3 100644
> --- a/sound/soc/codecs/wsa884x.c
> +++ b/sound/soc/codecs/wsa884x.c
> @@ -1887,6 +1887,14 @@ static int wsa884x_probe(struct sdw_slave *pdev,
>  	wsa884x->sconfig.direction = SDW_DATA_DIR_RX;
>  	wsa884x->sconfig.type = SDW_STREAM_PDM;
>  
> +	/**
> +	 * Port map index starts with 0, however the data port for this codec
> +	 * are from index 1
> +	 */
> +	if (of_property_read_u32_array(dev->of_node, "qcom,port-mapping", &pdev->m_port_map[1],
> +					WSA884X_MAX_SWR_PORTS))
> +		dev_dbg(dev, "Static Port mapping not specified\n");
> +

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

-- 
With best wishes
Dmitry

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

* Re: (subset) [PATCH v2 0/6] ASoC: codecs: wsa88xx: add support for static port mapping.
  2024-06-27 14:44 [PATCH v2 0/6] ASoC: codecs: wsa88xx: add support for static port mapping srinivas.kandagatla
                   ` (5 preceding siblings ...)
  2024-06-27 14:44 ` [PATCH v2 6/6] arm64: dts: x1e80100-qcp: " Srinivas Kandagatla
@ 2024-07-02 18:03 ` Mark Brown
  2024-08-15 20:40 ` Bjorn Andersson
  7 siblings, 0 replies; 11+ messages in thread
From: Mark Brown @ 2024-07-02 18:03 UTC (permalink / raw)
  To: Banajit Goswami, Liam Girdwood, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Jaroslav Kysela, Takashi Iwai, Bjorn Andersson,
	Konrad Dybcio, srinivas.kandagatla
  Cc: linux-arm-msm, Neil Armstrong, alsa-devel, linux-sound,
	devicetree, linux-kernel, Krzysztof Kozlowski, Manikantan R

On Thu, 27 Jun 2024 15:44:37 +0100, srinivas.kandagatla@linaro.org wrote:
> Existing way of allocating soundwire master ports on Qualcommm platforms is
> dynamic, and in linear order starting from 1 to MAX_PORTS.
> This will work as long as soundwire device ports are 1:1 mapped
> linearly. However on most Qcom SoCs like SM8550, SM8650, x1e80100, these
> are NOT mapped in that order.
> 
> The result of this is that only one speaker among the pair of speakers
> is always silent, With recent changes for WSA codec to support codec
> versions and along with these patches we are able to get all speakers
> working on these SoCs.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/6] ASoC: dt-bindings: wsa883x: Document port mapping property
      commit: 49beb4d2e85634ec1e1c82d76461d9552676045d
[2/6] ASoC: codecs: wsa883x: parse port-mapping information
      commit: 1cf3295bd108abbd7f128071ae9775fd18394ca9
[3/6] ASoC: dt-bindings: wsa8840: Document port mapping property
      commit: d47abee9fede21b19d5227061c5a8761ec1659fb
[4/6] ASoC: codecs: wsa884x: parse port-mapping information
      commit: e1bc5c324bcca3acdbe817ccbf9aa7992d89479d

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark


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

* Re: (subset) [PATCH v2 0/6] ASoC: codecs: wsa88xx: add support for static port mapping.
  2024-06-27 14:44 [PATCH v2 0/6] ASoC: codecs: wsa88xx: add support for static port mapping srinivas.kandagatla
                   ` (6 preceding siblings ...)
  2024-07-02 18:03 ` (subset) [PATCH v2 0/6] ASoC: codecs: wsa88xx: add support for static " Mark Brown
@ 2024-08-15 20:40 ` Bjorn Andersson
  7 siblings, 0 replies; 11+ messages in thread
From: Bjorn Andersson @ 2024-08-15 20:40 UTC (permalink / raw)
  To: Banajit Goswami, Liam Girdwood, Mark Brown, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Jaroslav Kysela, Takashi Iwai,
	Konrad Dybcio, srinivas.kandagatla
  Cc: linux-arm-msm, Neil Armstrong, alsa-devel, linux-sound,
	devicetree, linux-kernel, Krzysztof Kozlowski, Manikantan R


On Thu, 27 Jun 2024 15:44:37 +0100, srinivas.kandagatla@linaro.org wrote:
> Existing way of allocating soundwire master ports on Qualcommm platforms is
> dynamic, and in linear order starting from 1 to MAX_PORTS.
> This will work as long as soundwire device ports are 1:1 mapped
> linearly. However on most Qcom SoCs like SM8550, SM8650, x1e80100, these
> are NOT mapped in that order.
> 
> The result of this is that only one speaker among the pair of speakers
> is always silent, With recent changes for WSA codec to support codec
> versions and along with these patches we are able to get all speakers
> working on these SoCs.
> 
> [...]

Applied, thanks!

[5/6] arm64: dts: x1e80100-crd: fix wsa soundwire port mapping
      commit: d374fafd8972895eba01ebd69c993cc7d80c084b
[6/6] arm64: dts: x1e80100-qcp: fix wsa soundwire port mapping
      commit: 6e229f9118438af09b4ac6a96313c32f33027e5a

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>

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

end of thread, other threads:[~2024-08-15 20:41 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-27 14:44 [PATCH v2 0/6] ASoC: codecs: wsa88xx: add support for static port mapping srinivas.kandagatla
2024-06-27 14:44 ` [PATCH v2 1/6] ASoC: dt-bindings: wsa883x: Document port mapping property srinivas.kandagatla
2024-06-27 14:44 ` [PATCH v2 2/6] ASoC: codecs: wsa883x: parse port-mapping information Srinivas Kandagatla
2024-06-27 15:38   ` Dmitry Baryshkov
2024-06-27 14:44 ` [PATCH v2 3/6] ASoC: dt-bindings: wsa8840: Document port mapping property Srinivas Kandagatla
2024-06-27 14:44 ` [PATCH v2 4/6] ASoC: codecs: wsa884x: parse port-mapping information Srinivas Kandagatla
2024-06-27 15:39   ` Dmitry Baryshkov
2024-06-27 14:44 ` [PATCH v2 5/6] arm64: dts: x1e80100-crd: fix wsa soundwire port mapping Srinivas Kandagatla
2024-06-27 14:44 ` [PATCH v2 6/6] arm64: dts: x1e80100-qcp: " Srinivas Kandagatla
2024-07-02 18:03 ` (subset) [PATCH v2 0/6] ASoC: codecs: wsa88xx: add support for static " Mark Brown
2024-08-15 20:40 ` Bjorn Andersson

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