ar71xx: flush mii register writes

SVN-Revision: 17695
master
Gabor Juhos 15 years ago
parent fb5d52ee9f
commit 8458d7c73b
  1. 2
      target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h
  2. 8
      target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_mdio.c

@ -38,7 +38,7 @@
#define ETH_FCS_LEN 4 #define ETH_FCS_LEN 4
#define AG71XX_DRV_NAME "ag71xx" #define AG71XX_DRV_NAME "ag71xx"
#define AG71XX_DRV_VERSION "0.5.24" #define AG71XX_DRV_VERSION "0.5.25"
#define AG71XX_NAPI_WEIGHT 64 #define AG71XX_NAPI_WEIGHT 64
#define AG71XX_OOM_REFILL (1 + HZ/10) #define AG71XX_OOM_REFILL (1 + HZ/10)

@ -21,7 +21,13 @@ struct ag71xx_mdio *ag71xx_mdio_bus;
static inline void ag71xx_mdio_wr(struct ag71xx_mdio *am, unsigned reg, static inline void ag71xx_mdio_wr(struct ag71xx_mdio *am, unsigned reg,
u32 value) u32 value)
{ {
__raw_writel(value, am->mdio_base + reg); void __iomem *r;
r = am->mdio_base + reg;
__raw_writel(value, r);
/* flush write */
(void) __raw_readl(r);
} }
static inline u32 ag71xx_mdio_rr(struct ag71xx_mdio *am, unsigned reg) static inline u32 ag71xx_mdio_rr(struct ag71xx_mdio *am, unsigned reg)

Loading…
Cancel
Save