summaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h
diff options
context:
space:
mode:
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-09-23 17:44:02 +0000
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-09-23 17:44:02 +0000
commit1bf028b56dd1177894b0698db5666ba13e77cdcf (patch)
tree3e3d26e9d4ab37630b805dca773fe0b7a94dd070 /target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h
parent7e34715f436ce9c552993df77a9c545398691b96 (diff)
ar71xx: don't use mac_base2 in the ag71xx driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17693 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h')
-rw-r--r--target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h40
1 files changed, 16 insertions, 24 deletions
diff --git a/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h b/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h
index 39a348a76..8f966e1fd 100644
--- a/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h
+++ b/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h
@@ -38,7 +38,7 @@
#define ETH_FCS_LEN 4
#define AG71XX_DRV_NAME "ag71xx"
-#define AG71XX_DRV_VERSION "0.5.23"
+#define AG71XX_DRV_VERSION "0.5.24"
#define AG71XX_NAPI_WEIGHT 64
#define AG71XX_OOM_REFILL (1 + HZ/10)
@@ -110,7 +110,6 @@ struct ag71xx_mdio {
struct ag71xx {
void __iomem *mac_base;
- void __iomem *mac_base2;
void __iomem *mii_ctrl;
spinlock_t lock;
@@ -314,14 +313,12 @@ static inline void ag71xx_wr(struct ag71xx *ag, unsigned reg, u32 value)
switch (reg) {
case AG71XX_REG_MAC_CFG1 ... AG71XX_REG_MAC_MFL:
- r = ag->mac_base + reg;
- __raw_writel(value, r);
- __raw_readl(r);
- break;
case AG71XX_REG_MAC_IFCTL ... AG71XX_REG_INT_STATUS:
- r = ag->mac_base2 + reg - AG71XX_REG_MAC_IFCTL;
+ r = ag->mac_base + reg;
__raw_writel(value, r);
- __raw_readl(r);
+
+ /* flush write */
+ (void) __raw_readl(r);
break;
default:
BUG();
@@ -335,11 +332,8 @@ static inline u32 ag71xx_rr(struct ag71xx *ag, unsigned reg)
switch (reg) {
case AG71XX_REG_MAC_CFG1 ... AG71XX_REG_MAC_MFL:
- r = ag->mac_base + reg;
- ret = __raw_readl(r);
- break;
case AG71XX_REG_MAC_IFCTL ... AG71XX_REG_INT_STATUS:
- r = ag->mac_base2 + reg - AG71XX_REG_MAC_IFCTL;
+ r = ag->mac_base + reg;
ret = __raw_readl(r);
break;
default:
@@ -355,14 +349,12 @@ static inline void ag71xx_sb(struct ag71xx *ag, unsigned reg, u32 mask)
switch (reg) {
case AG71XX_REG_MAC_CFG1 ... AG71XX_REG_MAC_MFL:
- r = ag->mac_base + reg;
- __raw_writel(__raw_readl(r) | mask, r);
- __raw_readl(r);
- break;
case AG71XX_REG_MAC_IFCTL ... AG71XX_REG_INT_STATUS:
- r = ag->mac_base2 + reg - AG71XX_REG_MAC_IFCTL;
+ r = ag->mac_base + reg;
__raw_writel(__raw_readl(r) | mask, r);
- __raw_readl(r);
+
+ /* flush write */
+ (void)__raw_readl(r);
break;
default:
BUG();
@@ -375,14 +367,12 @@ static inline void ag71xx_cb(struct ag71xx *ag, unsigned reg, u32 mask)
switch (reg) {
case AG71XX_REG_MAC_CFG1 ... AG71XX_REG_MAC_MFL:
- r = ag->mac_base + reg;
- __raw_writel(__raw_readl(r) & ~mask, r);
- __raw_readl(r);
- break;
case AG71XX_REG_MAC_IFCTL ... AG71XX_REG_INT_STATUS:
- r = ag->mac_base2 + reg - AG71XX_REG_MAC_IFCTL;
+ r = ag->mac_base + reg;
__raw_writel(__raw_readl(r) & ~mask, r);
- __raw_readl(r);
+
+ /* flush write */
+ (void) __raw_readl(r);
break;
default:
BUG();
@@ -407,6 +397,8 @@ static inline void ag71xx_mii_ctrl_wr(struct ag71xx *ag, u32 value)
return;
__raw_writel(value, ag->mii_ctrl);
+
+ /* flush write */
__raw_readl(ag->mii_ctrl);
}