Re: [PATCH v3 10/15] ARM: dts: qcom: msm8974: split TCSR halt regs out of mutex
From: Bjorn Andersson
Date: Mon Sep 19 2022 - 17:01:57 EST
On Thu, Sep 15, 2022 at 03:49:37PM +0100, Krzysztof Kozlowski wrote:
> On 13/09/2022 23:44, Bjorn Andersson wrote:
> > On Fri, Sep 09, 2022 at 11:20:30AM +0200, Krzysztof Kozlowski wrote:
> > [..]
> >> diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi
> >> index 90a6d4b7605c..ada232bed2c8 100644
> >> --- a/arch/arm/boot/dts/qcom-msm8974.dtsi
> >> +++ b/arch/arm/boot/dts/qcom-msm8974.dtsi
> >> @@ -1189,7 +1189,7 @@ remoteproc_mss: remoteproc@fc880000 {
> >> resets = <&gcc GCC_MSS_RESTART>;
> >> reset-names = "mss_restart";
> >>
> >> - qcom,halt-regs = <&tcsr_mutex_block 0x1180 0x1200 0x1280>;
> >> + qcom,halt-regs = <&tcsr_1 0x180 0x200 0x280>;
> >>
> >> qcom,smem-states = <&modem_smp2p_out 0>;
> >> qcom,smem-state-names = "stop";
> >> @@ -1230,10 +1230,15 @@ smd-edge {
> >>
> >> tcsr_mutex_block: syscon@fd484000 {
> >> compatible = "syscon";
> >> - reg = <0xfd484000 0x2000>;
> >> + reg = <0xfd484000 0x1000>;
> >> };
> >>
> >> - tcsr: syscon@fd4a0000 {
> >> + tcsr_1: syscon@fd485000 {
> >
> > While the accessed registers look general purpose in nature, I would
> > prefer that we stick with naming it based on the register blocks - and
> > this is part of what's named "tcsr_mutex".
>
> Then everything would be like:
>
> tcsr_mutex_1: syscon@fd484000
> tcsr_mutex_2: syscon@fd485000
> tcsr: syscon@fd4a0000
> ?
>
> >
> > Is it not possible to claim that this region is a
> > "qcom,msm8974-tcsr-mutex" and a "syscon"?
>
> Hm, yes, that's another approach. We can go this way, but it has one
> drawback - you could have two different devices (mutex and syscon user)
> poking to the same registers. The regmap makes it safe from concurrency
> point of view, but not safe from logic point of view.
>
> Splitting these makes it sure, that no one touches hwlock registers,
> except the hwlock driver.
>
> Any preference?
>
Certainly would be interesting if someone grabs the syscon and pokes at
the mutex registers, but I do prefer to have the DT match the register
regions when possible.
So if you're okay with making the whole tcsr mutex a hwlock and syscon
I prefer that.
PS. I picked all non-8974 patches from the series, just in case that
wasn't clear from the ty-letters.
Thanks,
Bjorn
> >
> >> + compatible = "qcom,tcsr-msm8974", "syscon";
> >> + reg = <0xfd485000 0x1000>;
> >> + };
> >> +
> >> + tcsr_2: syscon@fd4a0000 {
> >
> > And I would like to keep this as "tcsr".
>
>
>
> Best regards,
> Krzysztof