On Tue, Mar 27, 2018 at 5:24 PM, Sinan Kaya <ok...@codeaurora.org> wrote: > > Basically changing it to > > dma_buffer->foo = 1; /* WB */ > wmb() > writel_relaxed(KICK, DMA_KICK_REGISTER); /* UC */ > mmiowb()
Why? Why not just remove the wmb(), and keep the barrier in the writel()? The above code makes no sense, and just looks stupid to me. It also generates pointlessly bad code on x86, so it's bad there too. Linus