lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <37ebdd21-e46a-fac9-7e87-57042ab67d5c@postmarketos.org>
Date:   Wed, 21 Sep 2022 23:55:13 +0300
From:   Alexey Minnekhanov <alexeymin@...tmarketos.org>
To:     Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
        Andy Gross <agross@...nel.org>,
        Bjorn Andersson <andersson@...nel.org>,
        Konrad Dybcio <konrad.dybcio@...ainline.org>,
        Ohad Ben-Cohen <ohad@...ery.com>,
        Baolin Wang <baolin.wang@...ux.alibaba.com>,
        Rob Herring <robh+dt@...nel.org>,
        Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
        linux-arm-msm@...r.kernel.org, linux-remoteproc@...r.kernel.org,
        devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4 3/3] ARM: dts: qcom: msm8974: switch TCSR mutex to MMIO

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ