diff options
author | adrian <adrian@FreeBSD.org> | 2010-08-18 09:11:45 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2010-08-18 09:11:45 +0000 |
commit | f43dd4adfcaeaab69e73a32b8e0cf16c8754ef86 (patch) | |
tree | 0c2aa82898622633f2d0c97f01e7e884493d298e /sys/mips/atheros/ar71xxreg.h | |
parent | 78859ef80f6834eaaad12ecf004411343f481000 (diff) | |
download | FreeBSD-src-f43dd4adfcaeaab69e73a32b8e0cf16c8754ef86.zip FreeBSD-src-f43dd4adfcaeaab69e73a32b8e0cf16c8754ef86.tar.gz |
Add a DDR flush function, inspired by both Linux and if_arge.c.
Diffstat (limited to 'sys/mips/atheros/ar71xxreg.h')
-rw-r--r-- | sys/mips/atheros/ar71xxreg.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/mips/atheros/ar71xxreg.h b/sys/mips/atheros/ar71xxreg.h index a87151f..e6b7b8e 100644 --- a/sys/mips/atheros/ar71xxreg.h +++ b/sys/mips/atheros/ar71xxreg.h @@ -491,5 +491,15 @@ ar71xx_ahb_freq(void) return (freq); } +static inline void +ar71xx_ddr_flush(uint32_t reg) +{ + ATH_WRITE_REG(reg, 1); + while ((ATH_READ_REG(reg) & 0x1)) + ; + ATH_WRITE_REG(reg, 1); + while ((ATH_READ_REG(reg) & 0x1)) + ; +} #endif /* _AR71XX_REG_H_ */ |