diff options
author | nwhitehorn <nwhitehorn@FreeBSD.org> | 2012-04-22 18:54:51 +0000 |
---|---|---|
committer | nwhitehorn <nwhitehorn@FreeBSD.org> | 2012-04-22 18:54:51 +0000 |
commit | 666d3956e931b71ef673ff18120747ce35554b4d (patch) | |
tree | a4a1a0ae021f46535cff3558b8e1fdc8ed2ab763 /sys/powerpc/mpc85xx | |
parent | aeabc6ab90282e0f95f4f5b62d61e1eadd064828 (diff) | |
download | FreeBSD-src-666d3956e931b71ef673ff18120747ce35554b4d.zip FreeBSD-src-666d3956e931b71ef673ff18120747ce35554b4d.tar.gz |
Replace eieio; sync for creating bus-space memory barriers with sync.
sync performs a strict superset of the functions of eieio, so using both
is redundant. While here, expand bus barriers to all bus_space operations,
since many drivers do not correctly use bus_space_barrier().
In principle, we can also replace sync just with eieio, for a significant
performance increase, but it remains to be seen whether any poorly-written
drivers currently depend on the side effects of sync to properly function.
MFC after: 1 week
Diffstat (limited to 'sys/powerpc/mpc85xx')
-rw-r--r-- | sys/powerpc/mpc85xx/mpc85xx.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/powerpc/mpc85xx/mpc85xx.c b/sys/powerpc/mpc85xx/mpc85xx.c index f383a1b..27eb7ca 100644 --- a/sys/powerpc/mpc85xx/mpc85xx.c +++ b/sys/powerpc/mpc85xx/mpc85xx.c @@ -60,7 +60,7 @@ ccsr_write4(uintptr_t addr, uint32_t val) volatile uint32_t *ptr = (void *)addr; *ptr = val; - __asm __volatile("eieio; sync"); + powerpc_iomb(); } int |