Message ID | 20231129140537.161720-1-krzysztof.kozlowski@linaro.org |
---|---|
State | Accepted |
Commit | 20e886590a310665244a354e3b693b881544edec |
Headers | show |
Series | [1/2] arm64: dts: qcom: sm8450: correct TX Soundwire clock | expand |
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 <neil.armstrong@linaro.org> > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > > --- Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> Konrad
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 <neil.armstrong@linaro.org> >> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >> --- > 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
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 <neil.armstrong@linaro.org> >>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >>> --- >> 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 >
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 <neil.armstrong@linaro.org> > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > > --- > > 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 <neil.armstrong@linaro.org>
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 <neil.armstrong@linaro.org> > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > --- > 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 <neil.armstrong@linaro.org>
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 <neil.armstrong@linaro.org> >>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >>> --- >> 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
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";
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 <neil.armstrong@linaro.org> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> --- 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(-)