mmiowb: Hook up mmiowb helpers to spinlocks and generic I/O accessors

Removing explicit calls to mmiowb() from driver code means that we must
now call into the generic mmiowb_spin_{lock,unlock}() functions from the
core spinlock code. In order to elide barriers following critical
sections without any I/O writes, we also hook into the asm-generic I/O
routines.

Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
This commit is contained in:
Will Deacon
2019-02-22 12:59:59 +00:00
parent fdcd06a8ab
commit 60ca1e5a20
3 changed files with 17 additions and 3 deletions

View File

@@ -19,6 +19,7 @@
#include <asm-generic/iomap.h>
#endif
#include <asm/mmiowb.h>
#include <asm-generic/pci_iomap.h>
#ifndef mmiowb
@@ -49,7 +50,7 @@
/* serialize device access against a spin_unlock, usually handled there. */
#ifndef __io_aw
#define __io_aw() barrier()
#define __io_aw() mmiowb_set_pending()
#endif
#ifndef __io_pbw