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