[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <e0bb6bbf-60a2-aaeb-1a3d-c174c030f8c7@quicinc.com>
Date: Tue, 30 Nov 2021 14:24:21 +0530
From: Maulik Shah <quic_mkshah@...cinc.com>
To: Shawn Guo <shawn.guo@...aro.org>
CC: Marc Zyngier <maz@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
"Bjorn Andersson" <bjorn.andersson@...aro.org>,
Rob Herring <robh+dt@...nel.org>,
Loic Poulain <loic.poulain@...aro.org>,
<devicetree@...r.kernel.org>, <linux-arm-msm@...r.kernel.org>,
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 2/2] irqchip: Add Qualcomm MPM controller driver
Hi,
On 11/30/2021 2:01 PM, Shawn Guo wrote:
>> This can be converted to read poll_timeout(). This was introduced in
>> place of wmb() to make sure writes are completed.
> Hmm, in this case, writel() will just do the right thing, as it wraps
> wmb() there. Or am I missing something?
>
> Shawn
#define writel(v,c) ({ __iowmb(); writel_relaxed((v),(c)); })
writel() does not do wmb() after writel_relaxed(), it does before.
we need to make sure write is propagated, so wmb() or read back with
timeout need to be kept after writel() is done.
Thanks,
Maulik
Powered by blists - more mailing lists