mbox series

[v3,00/15] ARM/hwlock: qcom: switch TCSR mutex to MMIO

Message ID 20220909092035.223915-1-krzysztof.kozlowski@linaro.org
Headers show
Series ARM/hwlock: qcom: switch TCSR mutex to MMIO | expand

Message

Krzysztof Kozlowski Sept. 9, 2022, 9:20 a.m. UTC
Hi,

Switch older Qualcomm SoCs to use MMIO-based method instead of syscon.

Not tested on hardware. Please kindly provide tests.

Changes since v2
================
1. Rebase on current MFD changes.
2. Add Rb tag.
3. Split MFD patch to separate patchset:
https://lore.kernel.org/linux-devicetree/20220909091056.128949-1-krzysztof.kozlowski@linaro.org/T/#u

Changes since v1
================
1. Use existing qcom,tcsr-msm8974 compatible.
2. Fix few other TCSR syscon compatibles (new patches: ipq6018, msm8953,
   qcs404, msm8996).
3. New patch: dt-bindings: mfd: qcom,tcsr: drop simple-mfd from IPQ6018
4. New patch: dt-bindings: mfd: qcom,tcsr: add QCS404

Dependencies
============
1. DT bindings and driver patches can go via hwlock. DTS via Bjorn/Qualcomm.

2. The last five DTS commits (ARM and arm64) named "switch TCSR mutex to MMIO"
   depend on driver support. The changes are not bisectable, just like
   previously such changes were not bisectable:
   https://lore.kernel.org/all/20200622075956.171058-5-bjorn.andersson@linaro.org/
   Therefore these changes could wait for next release.

Best regards,
Krzysztof

Krzysztof Kozlowski (15):
  dt-bindings: hwlock: qcom-hwspinlock: add support for MMIO on older
    SoCs
  dt-bindings: hwlock: qcom-hwspinlock: correct example indentation
  hwspinlock: qcom: correct MMIO max register for newer SoCs
  hwspinlock: qcom: add support for MMIO on older SoCs
  arm64: dts: qcom: ipq6018: add missing TCSR syscon compatible
  arm64: dts: qcom: msm8953: add missing TCSR syscon compatible
  arm64: dts: qcom: qcs404: add missing TCSR syscon compatible
  arm64: dts: qcom: msm8996: add missing TCSR syscon compatible
  ARM: dts: qcom: msm8974: add missing TCSR syscon compatible
  ARM: dts: qcom: msm8974: split TCSR halt regs out of mutex
  arm64: dts: qcom: ipq6018: switch TCSR mutex to MMIO
  arm64: dts: qcom: msm8994: switch TCSR mutex to MMIO
  ARM: dts: qcom: msm8974: switch TCSR mutex to MMIO
  ARM: dts: qcom: apq8084: switch TCSR mutex to MMIO
  ARM: dts: qcom: msm8226: switch TCSR mutex to MMIO

 .../bindings/hwlock/qcom-hwspinlock.yaml      | 25 +++++++----
 .../arm/boot/dts/qcom-apq8074-dragonboard.dts |  2 +-
 arch/arm/boot/dts/qcom-apq8084.dtsi           | 11 ++---
 arch/arm/boot/dts/qcom-msm8226.dtsi           | 14 ++-----
 .../qcom-msm8974-lge-nexus5-hammerhead.dts    |  2 +-
 .../dts/qcom-msm8974-sony-xperia-rhine.dtsi   |  2 +-
 arch/arm/boot/dts/qcom-msm8974.dtsi           | 25 ++++++-----
 .../dts/qcom-msm8974pro-fairphone-fp2.dts     |  2 +-
 .../boot/dts/qcom-msm8974pro-samsung-klte.dts |  2 +-
 ...-msm8974pro-sony-xperia-shinano-castor.dts |  2 +-
 arch/arm64/boot/dts/qcom/ipq6018.dtsi         | 15 +++----
 arch/arm64/boot/dts/qcom/msm8953.dtsi         |  2 +-
 arch/arm64/boot/dts/qcom/msm8994.dtsi         | 13 ++----
 arch/arm64/boot/dts/qcom/msm8996.dtsi         |  2 +-
 arch/arm64/boot/dts/qcom/qcs404.dtsi          |  2 +-
 drivers/hwspinlock/qcom_hwspinlock.c          | 42 ++++++++++++++-----
 16 files changed, 86 insertions(+), 77 deletions(-)

Comments

Rob Herring (Arm) Sept. 13, 2022, 12:50 p.m. UTC | #1
On Fri, 09 Sep 2022 11:20:21 +0200, Krzysztof Kozlowski wrote:
> Older Qualcomm SoCs have TCSR mutex registers with 0x80 stride, instead
> of 0x1000.  Add dedicated compatibles for such case.  Unfortunately the
> binding started using a generic "qcom,tcsr-mutex" compatible without
> specifying the SoC part, thus it looks now quite inconsistent.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> 
> ---
> 
> If anyone ever says "I want a generic compatible because I am sure all
> devices are compatible", that's one more argument they are wrong. :)
> ---
>  .../bindings/hwlock/qcom-hwspinlock.yaml          | 15 ++++++++++++---
>  1 file changed, 12 insertions(+), 3 deletions(-)
> 

Acked-by: Rob Herring <robh@kernel.org>
Bjorn Andersson Sept. 13, 2022, 10:43 p.m. UTC | #2
On Fri, 9 Sep 2022 11:20:20 +0200, Krzysztof Kozlowski wrote:
> Switch older Qualcomm SoCs to use MMIO-based method instead of syscon.
> 
> Not tested on hardware. Please kindly provide tests.
> 
> Changes since v2
> ================
> 1. Rebase on current MFD changes.
> 2. Add Rb tag.
> 3. Split MFD patch to separate patchset:
> https://lore.kernel.org/linux-devicetree/20220909091056.128949-1-krzysztof.kozlowski@linaro.org/T/#u
> 
> [...]

Applied, thanks!

[01/15] dt-bindings: hwlock: qcom-hwspinlock: add support for MMIO on older SoCs
        commit: 6ca53a75c425cb1cb0929ce07f58d9e41094500c
[02/15] dt-bindings: hwlock: qcom-hwspinlock: correct example indentation
        commit: 276a4f1a5fb118bfd6980d42732d530e43f2916a
[03/15] hwspinlock: qcom: correct MMIO max register for newer SoCs
        commit: 90cb380f9ceb811059340d06ff5fd0c0e93ecbe1
[04/15] hwspinlock: qcom: add support for MMIO on older SoCs
        commit: 5d4753f741d824e04e7ba46f46ec016be120f383

Best regards,
Bjorn Andersson Sept. 13, 2022, 10:48 p.m. UTC | #3
On Fri, 9 Sep 2022 11:20:20 +0200, Krzysztof Kozlowski wrote:
> Switch older Qualcomm SoCs to use MMIO-based method instead of syscon.
> 
> Not tested on hardware. Please kindly provide tests.
> 
> Changes since v2
> ================
> 1. Rebase on current MFD changes.
> 2. Add Rb tag.
> 3. Split MFD patch to separate patchset:
> https://lore.kernel.org/linux-devicetree/20220909091056.128949-1-krzysztof.kozlowski@linaro.org/T/#u
> 
> [...]

Applied, thanks!

[05/15] arm64: dts: qcom: ipq6018: add missing TCSR syscon compatible
        commit: d30bcfa4408596e8dd3714dfdd90334d2bdc9856
[06/15] arm64: dts: qcom: msm8953: add missing TCSR syscon compatible
        commit: d07ac9d93ced0f8203230bf1de49b7cc605e1547
[07/15] arm64: dts: qcom: qcs404: add missing TCSR syscon compatible
        commit: 98460385091fc2e86a296f9643105d8a8777ccc2
[08/15] arm64: dts: qcom: msm8996: add missing TCSR syscon compatible
        commit: 8a99e0fc8bd3fa9c8be1fc115a2e38f4fd51ccda
[11/15] arm64: dts: qcom: ipq6018: switch TCSR mutex to MMIO
        commit: f5e303aefc06b7508d7a490f9a2d80e4dc134c70
[12/15] arm64: dts: qcom: msm8994: switch TCSR mutex to MMIO
        commit: 9e826e05061c61d84217bbe436b4ef0bedbfe458
[14/15] ARM: dts: qcom: apq8084: switch TCSR mutex to MMIO
        commit: 16ae4e557b2fa9fc7372b4503247aca80a476272
[15/15] ARM: dts: qcom: msm8226: switch TCSR mutex to MMIO
        commit: 18a4af7a598445af54e1e16a66b7f31669578701

Best regards,
Dmitry Baryshkov Sept. 19, 2022, 10:14 p.m. UTC | #4
On 14/09/2022 01:48, Bjorn Andersson wrote:
> On Fri, 9 Sep 2022 11:20:20 +0200, Krzysztof Kozlowski wrote:
>> Switch older Qualcomm SoCs to use MMIO-based method instead of syscon.
>>
>> Not tested on hardware. Please kindly provide tests.
>>
>> Changes since v2
>> ================
>> 1. Rebase on current MFD changes.
>> 2. Add Rb tag.
>> 3. Split MFD patch to separate patchset:
>> https://lore.kernel.org/linux-devicetree/20220909091056.128949-1-krzysztof.kozlowski@linaro.org/T/#u
>>
>> [...]
> 
> Applied, thanks!
> 
> [05/15] arm64: dts: qcom: ipq6018: add missing TCSR syscon compatible
>          commit: d30bcfa4408596e8dd3714dfdd90334d2bdc9856
> [06/15] arm64: dts: qcom: msm8953: add missing TCSR syscon compatible
>          commit: d07ac9d93ced0f8203230bf1de49b7cc605e1547
> [07/15] arm64: dts: qcom: qcs404: add missing TCSR syscon compatible
>          commit: 98460385091fc2e86a296f9643105d8a8777ccc2
> [08/15] arm64: dts: qcom: msm8996: add missing TCSR syscon compatible
>          commit: 8a99e0fc8bd3fa9c8be1fc115a2e38f4fd51ccda

Please revert 08/15, it is incorrect.

> [11/15] arm64: dts: qcom: ipq6018: switch TCSR mutex to MMIO
>          commit: f5e303aefc06b7508d7a490f9a2d80e4dc134c70
> [12/15] arm64: dts: qcom: msm8994: switch TCSR mutex to MMIO
>          commit: 9e826e05061c61d84217bbe436b4ef0bedbfe458
> [14/15] ARM: dts: qcom: apq8084: switch TCSR mutex to MMIO
>          commit: 16ae4e557b2fa9fc7372b4503247aca80a476272
> [15/15] ARM: dts: qcom: msm8226: switch TCSR mutex to MMIO
>          commit: 18a4af7a598445af54e1e16a66b7f31669578701
> 
> Best regards,
Bjorn Andersson Sept. 27, 2022, 3:34 a.m. UTC | #5
On Tue, Sep 20, 2022 at 01:14:54AM +0300, Dmitry Baryshkov wrote:
> On 14/09/2022 01:48, Bjorn Andersson wrote:
> > On Fri, 9 Sep 2022 11:20:20 +0200, Krzysztof Kozlowski wrote:
> > > Switch older Qualcomm SoCs to use MMIO-based method instead of syscon.
> > > 
> > > Not tested on hardware. Please kindly provide tests.
> > > 
> > > Changes since v2
> > > ================
> > > 1. Rebase on current MFD changes.
> > > 2. Add Rb tag.
> > > 3. Split MFD patch to separate patchset:
> > > https://lore.kernel.org/linux-devicetree/20220909091056.128949-1-krzysztof.kozlowski@linaro.org/T/#u
> > > 
> > > [...]
> > 
> > Applied, thanks!
> > 
> > [05/15] arm64: dts: qcom: ipq6018: add missing TCSR syscon compatible
> >          commit: d30bcfa4408596e8dd3714dfdd90334d2bdc9856
> > [06/15] arm64: dts: qcom: msm8953: add missing TCSR syscon compatible
> >          commit: d07ac9d93ced0f8203230bf1de49b7cc605e1547
> > [07/15] arm64: dts: qcom: qcs404: add missing TCSR syscon compatible
> >          commit: 98460385091fc2e86a296f9643105d8a8777ccc2
> > [08/15] arm64: dts: qcom: msm8996: add missing TCSR syscon compatible
> >          commit: 8a99e0fc8bd3fa9c8be1fc115a2e38f4fd51ccda
> 
> Please revert 08/15, it is incorrect.
> 

I'm not able to see why it is not correct to claim that the tcsr region
is compatible with qcom,tcsr-msm8996? Please let me know and we can
revert this in -rc.

Regards,
Bjorn

> > [11/15] arm64: dts: qcom: ipq6018: switch TCSR mutex to MMIO
> >          commit: f5e303aefc06b7508d7a490f9a2d80e4dc134c70
> > [12/15] arm64: dts: qcom: msm8994: switch TCSR mutex to MMIO
> >          commit: 9e826e05061c61d84217bbe436b4ef0bedbfe458
> > [14/15] ARM: dts: qcom: apq8084: switch TCSR mutex to MMIO
> >          commit: 16ae4e557b2fa9fc7372b4503247aca80a476272
> > [15/15] ARM: dts: qcom: msm8226: switch TCSR mutex to MMIO
> >          commit: 18a4af7a598445af54e1e16a66b7f31669578701
> > 
> > Best regards,
> 
> -- 
> With best wishes
> Dmitry
>
Bjorn Andersson Sept. 27, 2022, 3:36 a.m. UTC | #6
On Tue, Sep 20, 2022 at 01:14:54AM +0300, Dmitry Baryshkov wrote:
> On 14/09/2022 01:48, Bjorn Andersson wrote:
> > On Fri, 9 Sep 2022 11:20:20 +0200, Krzysztof Kozlowski wrote:
> > > Switch older Qualcomm SoCs to use MMIO-based method instead of syscon.
> > > 
> > > Not tested on hardware. Please kindly provide tests.
> > > 
> > > Changes since v2
> > > ================
> > > 1. Rebase on current MFD changes.
> > > 2. Add Rb tag.
> > > 3. Split MFD patch to separate patchset:
> > > https://lore.kernel.org/linux-devicetree/20220909091056.128949-1-krzysztof.kozlowski@linaro.org/T/#u
> > > 
> > > [...]
> > 
> > Applied, thanks!
> > 
> > [05/15] arm64: dts: qcom: ipq6018: add missing TCSR syscon compatible
> >          commit: d30bcfa4408596e8dd3714dfdd90334d2bdc9856
> > [06/15] arm64: dts: qcom: msm8953: add missing TCSR syscon compatible
> >          commit: d07ac9d93ced0f8203230bf1de49b7cc605e1547
> > [07/15] arm64: dts: qcom: qcs404: add missing TCSR syscon compatible
> >          commit: 98460385091fc2e86a296f9643105d8a8777ccc2
> > [08/15] arm64: dts: qcom: msm8996: add missing TCSR syscon compatible
> >          commit: 8a99e0fc8bd3fa9c8be1fc115a2e38f4fd51ccda
> 
> Please revert 08/15, it is incorrect.
> 

Nvm, now I saw what you're saying and I see your revert. Many thanks,
I've picked this for -fixes.

Regards,
Bjorn

> > [11/15] arm64: dts: qcom: ipq6018: switch TCSR mutex to MMIO
> >          commit: f5e303aefc06b7508d7a490f9a2d80e4dc134c70
> > [12/15] arm64: dts: qcom: msm8994: switch TCSR mutex to MMIO
> >          commit: 9e826e05061c61d84217bbe436b4ef0bedbfe458
> > [14/15] ARM: dts: qcom: apq8084: switch TCSR mutex to MMIO
> >          commit: 16ae4e557b2fa9fc7372b4503247aca80a476272
> > [15/15] ARM: dts: qcom: msm8226: switch TCSR mutex to MMIO
> >          commit: 18a4af7a598445af54e1e16a66b7f31669578701
> > 
> > Best regards,
> 
> -- 
> With best wishes
> Dmitry
>