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: <5183b76b-8043-4309-b25d-e1ae505f929e@quicinc.com>
Date: Wed, 14 May 2025 11:24:48 -0700
From: Wesley Cheng <quic_wcheng@...cinc.com>
To: Vinod Koul <vkoul@...nel.org>
CC: Melody Olvera <melody.olvera@....qualcomm.com>,
        Kishon Vijay Abraham I
	<kishon@...nel.org>,
        Rob Herring <robh@...nel.org>,
        Krzysztof Kozlowski
	<krzk+dt@...nel.org>,
        Conor Dooley <conor+dt@...nel.org>,
        Greg Kroah-Hartman
	<gregkh@...uxfoundation.org>,
        Philipp Zabel <p.zabel@...gutronix.de>,
        "Bjorn
 Andersson" <andersson@...nel.org>,
        Konrad Dybcio <konradybcio@...nel.org>,
        Catalin Marinas <catalin.marinas@....com>,
        Will Deacon <will@...nel.org>, <linux-arm-msm@...r.kernel.org>,
        <linux-phy@...ts.infradead.org>, <devicetree@...r.kernel.org>,
        <linux-kernel@...r.kernel.org>, <linux-usb@...r.kernel.org>,
        <linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH v4 06/10] phy: qcom: Add M31 based eUSB2 PHY driver

Hi Vinod,

On 5/14/2025 1:33 AM, Vinod Koul wrote:
> On 16-04-25, 15:45, Wesley Cheng wrote:
>> Hi Vinod,
>>
>> On 4/10/2025 4:53 AM, Vinod Koul wrote:
>>> On 09-04-25, 10:48, Melody Olvera wrote:
>>>
>>>> +static int m31eusb2_phy_write_readback(void __iomem *base, u32 offset,
>>>> +					const u32 mask, u32 val)
>>>> +{
>>>> +	u32 write_val;
>>>> +	u32 tmp;
>>>> +
>>>> +	tmp = readl_relaxed(base + offset);
>>>> +	tmp &= ~mask;
>>>> +	write_val = tmp | val;
>>>> +
>>>> +	writel_relaxed(write_val, base + offset);
>>>> +
>>>> +	tmp = readl_relaxed(base + offset);
>>>
>>> Why are you using _relaxed version here?
>>>
>>
>> No particular reason.  I think someone pointed this out previously, and I
>> was open to use the non-relaxed variants, but I assume using the relaxed vs
>> non-relaxed apis comes down to preference in this case.
> 
> Nope you cant! There _needs_ to be a specific reasons!
> When you are doing read, modify, write, it is very important to know the
> right version to use...
> 

I mean, its a write readback, which ensures the bus transaction is complete
based on [1], hence why **in this situation** it is up to preference.

Otherwise, w/o the readback then we'd need to ensure writes are made
depending on the required sequencing (in spots where the sequence is
strictly defined), and that can be enforced using barriers.  If you feel
like using the non-relaxed variant is preferred let me know.  I can replace
it and remove the readback.

Thanks
Wesley Cheng

[1] - https://www.kernel.org/doc/html/latest/driver-api/io_ordering.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ