Re: [PATCH v4 3/3] ARM: dts: qcom: msm8974: switch TCSR mutex to MMIO

From: Alexey Minnekhanov
Date: Wed Sep 21 2022 - 16:55:27 EST


Hi,

On 20.09.2022 18:04, Krzysztof Kozlowski wrote:

- tcsr_mutex: tcsr-mutex {
- compatible = "qcom,tcsr-mutex";
- syscon = <&tcsr_mutex_block 0 0x80>;

I'm looking and don't understand where does this information go, is it lost in the conversion? I mean those "0 0x80" parameters to syscon reference.

Looking at the code of qcom_hwspinlock driver those seem to be read by qcom_hwspinlock_probe_syscon() [1] using of_property_read_u32_index() as base and stride values and those would be 0 nad 0x80 respectively as is now.

But without syscon reference, in mmio mode, code goes through qcom_hwspinlock_probe_mmio() few lines below, which says

/* All modern platform has offset 0 and stride of 4k */
*offset = 0;
*stride = 0x1000;

So after this conversion stride value will jump from 0x80 to 0x1000, which does not seem to be 1 to 1 identical conversion to me, unless I am missing something.

Perhaps msm8974 does not fall into category of "All modern platform"?


[1] https://elixir.bootlin.com/linux/latest/source/drivers/hwspinlock/qcom_hwspinlock.c#L73

--
Regards
Alexey Minnekhanov