On 4/3/2018 3:42 AM, Kalderon, Michal wrote: > The wmb before writel are used to make sure the > HW observes the changes in memory before we trigger the doorbell.
According to Linus, writel() guarantees observability. No extra barrier is necessary. https://www.mail-archive.com/netdev@vger.kernel.org/msg225806.html There shouldn't be any wmb() in drivers unless it is used for a very well-known reason. APIs like readX() and writeX() guarantee observability. -- Sinan Kaya Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.