2023-11-29 14:06:44

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 1/2] arm64: dts: qcom: sm8450: correct TX Soundwire clock

The TX Soundwire controller should take clock from TX macro codec, not
VA macro codec clock, otherwise the clock stays disabled. This looks
like a copy-paste issue, because the SC8280xp code uses here correctly
clock from TX macro. The VA macro clock is already consumed by TX macro
codec, thus it won't be disabled by this change.

Fixes: 14341e76dbc7 ("arm64: dts: qcom: sm8450: add Soundwire and LPASS")
Reported-by: Neil Armstrong <[email protected]>
Signed-off-by: Krzysztof Kozlowski <[email protected]>

---

Considering that in Downstream, the TX Soundwire is part of VA macro,
there is no clear reference code explaining this. Let's just go with
SC8280xp approach because it seems reasonable, but don't ask me "why".
---
arch/arm64/boot/dts/qcom/sm8450.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
index a305f8c03f9e..28207c7423f0 100644
--- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
@@ -2314,7 +2314,7 @@ swr2: soundwire@33b0000 {
<GIC_SPI 520 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "core", "wakeup";

- clocks = <&vamacro>;
+ clocks = <&txmacro>;
clock-names = "iface";
label = "TX";

--
2.34.1


2023-11-29 14:06:46

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 2/2] arm64: dts: qcom: sm8550: correct TX Soundwire clock

The TX Soundwire controller should take clock from TX macro codec, not
VA macro codec clock, otherwise the clock stays disabled. This looks
like a copy-paste issue, because the SC8280xp code uses here correctly
clock from TX macro. The VA macro clock is already consumed by TX macro
codec, thus it won't be disabled by this change.

Fixes: 61b006389bb7 ("arm64: dts: qcom: sm8550: add Soundwire controllers")
Reported-by: Neil Armstrong <[email protected]>
Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm64/boot/dts/qcom/sm8550.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/sm8550.dtsi b/arch/arm64/boot/dts/qcom/sm8550.dtsi
index 52e8f4c52426..2fd3faacf554 100644
--- a/arch/arm64/boot/dts/qcom/sm8550.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8550.dtsi
@@ -2199,7 +2199,7 @@ swr2: soundwire@6d30000 {
interrupts = <GIC_SPI 496 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 520 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "core", "wakeup";
- clocks = <&lpass_vamacro>;
+ clocks = <&lpass_txmacro>;
clock-names = "iface";
label = "TX";

--
2.34.1

2023-11-29 14:27:11

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 1/2] arm64: dts: qcom: sm8450: correct TX Soundwire clock

On 29.11.2023 15:05, Krzysztof Kozlowski wrote:
> The TX Soundwire controller should take clock from TX macro codec, not
> VA macro codec clock, otherwise the clock stays disabled. This looks
> like a copy-paste issue, because the SC8280xp code uses here correctly
> clock from TX macro. The VA macro clock is already consumed by TX macro
> codec, thus it won't be disabled by this change.
>
> Fixes: 14341e76dbc7 ("arm64: dts: qcom: sm8450: add Soundwire and LPASS")
> Reported-by: Neil Armstrong <[email protected]>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>
> ---
Acked-by: Konrad Dybcio <[email protected]>

Konrad

2023-11-29 14:35:30

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 2/2] arm64: dts: qcom: sm8550: correct TX Soundwire clock

On 29.11.2023 15:05, Krzysztof Kozlowski wrote:
> The TX Soundwire controller should take clock from TX macro codec, not
> VA macro codec clock, otherwise the clock stays disabled. This looks
> like a copy-paste issue, because the SC8280xp code uses here correctly
> clock from TX macro. The VA macro clock is already consumed by TX macro
> codec, thus it won't be disabled by this change.
>
> Fixes: 61b006389bb7 ("arm64: dts: qcom: sm8550: add Soundwire controllers")
> Reported-by: Neil Armstrong <[email protected]>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
Interestingly, downstream 8550 has

qcom,use-clk-id = <VA_CORE_CLK>;

which doesn't seem to be used in techpack

Konrad

2023-11-30 08:06:36

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 2/2] arm64: dts: qcom: sm8550: correct TX Soundwire clock

On 29/11/2023 15:35, Konrad Dybcio wrote:
> On 29.11.2023 15:05, Krzysztof Kozlowski wrote:
>> The TX Soundwire controller should take clock from TX macro codec, not
>> VA macro codec clock, otherwise the clock stays disabled. This looks
>> like a copy-paste issue, because the SC8280xp code uses here correctly
>> clock from TX macro. The VA macro clock is already consumed by TX macro
>> codec, thus it won't be disabled by this change.
>>
>> Fixes: 61b006389bb7 ("arm64: dts: qcom: sm8550: add Soundwire controllers")
>> Reported-by: Neil Armstrong <[email protected]>
>> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>> ---
> Interestingly, downstream 8550 has
>
> qcom,use-clk-id = <VA_CORE_CLK>;
>
> which doesn't seem to be used in techpack

In which node? I see it in the va-macro node, not the tx-macro.

Best regards,
Krzysztof

2023-11-30 09:18:00

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH 2/2] arm64: dts: qcom: sm8550: correct TX Soundwire clock

On 30/11/2023 09:06, Krzysztof Kozlowski wrote:
> On 29/11/2023 15:35, Konrad Dybcio wrote:
>> On 29.11.2023 15:05, Krzysztof Kozlowski wrote:
>>> The TX Soundwire controller should take clock from TX macro codec, not
>>> VA macro codec clock, otherwise the clock stays disabled. This looks
>>> like a copy-paste issue, because the SC8280xp code uses here correctly
>>> clock from TX macro. The VA macro clock is already consumed by TX macro
>>> codec, thus it won't be disabled by this change.
>>>
>>> Fixes: 61b006389bb7 ("arm64: dts: qcom: sm8550: add Soundwire controllers")
>>> Reported-by: Neil Armstrong <[email protected]>
>>> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>>> ---
>> Interestingly, downstream 8550 has
>>
>> qcom,use-clk-id = <VA_CORE_CLK>;
>>
>> which doesn't seem to be used in techpack
>
> In which node? I see it in the va-macro node, not the tx-macro.

Same I only see this in the va_macro.

Neil

>
> Best regards,
> Krzysztof
>

2023-11-30 09:53:04

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH 1/2] arm64: dts: qcom: sm8450: correct TX Soundwire clock

On 29/11/2023 15:05, Krzysztof Kozlowski wrote:
> The TX Soundwire controller should take clock from TX macro codec, not
> VA macro codec clock, otherwise the clock stays disabled. This looks
> like a copy-paste issue, because the SC8280xp code uses here correctly
> clock from TX macro. The VA macro clock is already consumed by TX macro
> codec, thus it won't be disabled by this change.
>
> Fixes: 14341e76dbc7 ("arm64: dts: qcom: sm8450: add Soundwire and LPASS")
> Reported-by: Neil Armstrong <[email protected]>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>
> ---
>
> Considering that in Downstream, the TX Soundwire is part of VA macro,
> there is no clear reference code explaining this. Let's just go with
> SC8280xp approach because it seems reasonable, but don't ask me "why".
> ---
> arch/arm64/boot/dts/qcom/sm8450.dtsi | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> index a305f8c03f9e..28207c7423f0 100644
> --- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> @@ -2314,7 +2314,7 @@ swr2: soundwire@33b0000 {
> <GIC_SPI 520 IRQ_TYPE_LEVEL_HIGH>;
> interrupt-names = "core", "wakeup";
>
> - clocks = <&vamacro>;
> + clocks = <&txmacro>;
> clock-names = "iface";
> label = "TX";
>

Reviewed-by: Neil Armstrong <[email protected]>

2023-11-30 09:53:11

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH 2/2] arm64: dts: qcom: sm8550: correct TX Soundwire clock

On 29/11/2023 15:05, Krzysztof Kozlowski wrote:
> The TX Soundwire controller should take clock from TX macro codec, not
> VA macro codec clock, otherwise the clock stays disabled. This looks
> like a copy-paste issue, because the SC8280xp code uses here correctly
> clock from TX macro. The VA macro clock is already consumed by TX macro
> codec, thus it won't be disabled by this change.
>
> Fixes: 61b006389bb7 ("arm64: dts: qcom: sm8550: add Soundwire controllers")
> Reported-by: Neil Armstrong <[email protected]>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> arch/arm64/boot/dts/qcom/sm8550.dtsi | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8550.dtsi b/arch/arm64/boot/dts/qcom/sm8550.dtsi
> index 52e8f4c52426..2fd3faacf554 100644
> --- a/arch/arm64/boot/dts/qcom/sm8550.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8550.dtsi
> @@ -2199,7 +2199,7 @@ swr2: soundwire@6d30000 {
> interrupts = <GIC_SPI 496 IRQ_TYPE_LEVEL_HIGH>,
> <GIC_SPI 520 IRQ_TYPE_LEVEL_HIGH>;
> interrupt-names = "core", "wakeup";
> - clocks = <&lpass_vamacro>;
> + clocks = <&lpass_txmacro>;
> clock-names = "iface";
> label = "TX";
>

Reviewed-by: Neil Armstrong <[email protected]>

2023-11-30 10:11:36

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 2/2] arm64: dts: qcom: sm8550: correct TX Soundwire clock

On 30.11.2023 09:06, Krzysztof Kozlowski wrote:
> On 29/11/2023 15:35, Konrad Dybcio wrote:
>> On 29.11.2023 15:05, Krzysztof Kozlowski wrote:
>>> The TX Soundwire controller should take clock from TX macro codec, not
>>> VA macro codec clock, otherwise the clock stays disabled. This looks
>>> like a copy-paste issue, because the SC8280xp code uses here correctly
>>> clock from TX macro. The VA macro clock is already consumed by TX macro
>>> codec, thus it won't be disabled by this change.
>>>
>>> Fixes: 61b006389bb7 ("arm64: dts: qcom: sm8550: add Soundwire controllers")
>>> Reported-by: Neil Armstrong <[email protected]>
>>> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>>> ---
>> Interestingly, downstream 8550 has
>>
>> qcom,use-clk-id = <VA_CORE_CLK>;
>>
>> which doesn't seem to be used in techpack
>
> In which node? I see it in the va-macro node, not the tx-macro.
You're right, I misread this.

Konrad

2023-12-03 04:53:13

by Bjorn Andersson

[permalink] [raw]
Subject: Re: (subset) [PATCH 1/2] arm64: dts: qcom: sm8450: correct TX Soundwire clock


On Wed, 29 Nov 2023 15:05:36 +0100, Krzysztof Kozlowski wrote:
> The TX Soundwire controller should take clock from TX macro codec, not
> VA macro codec clock, otherwise the clock stays disabled. This looks
> like a copy-paste issue, because the SC8280xp code uses here correctly
> clock from TX macro. The VA macro clock is already consumed by TX macro
> codec, thus it won't be disabled by this change.
>
>
> [...]

Applied, thanks!

[1/2] arm64: dts: qcom: sm8450: correct TX Soundwire clock
commit: 20e886590a310665244a354e3b693b881544edec
[2/2] arm64: dts: qcom: sm8550: correct TX Soundwire clock
commit: ead0f132fc494b46fcd94788456f9b264fd631bb

Best regards,
--
Bjorn Andersson <[email protected]>