diff options
Diffstat (limited to 'target/linux/brcm47xx/patches-3.10/201-b44-use-B44_FLAG_EXTERNAL_PHY.patch')
-rw-r--r-- | target/linux/brcm47xx/patches-3.10/201-b44-use-B44_FLAG_EXTERNAL_PHY.patch | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/target/linux/brcm47xx/patches-3.10/201-b44-use-B44_FLAG_EXTERNAL_PHY.patch b/target/linux/brcm47xx/patches-3.10/201-b44-use-B44_FLAG_EXTERNAL_PHY.patch new file mode 100644 index 0000000000..32754b0586 --- /dev/null +++ b/target/linux/brcm47xx/patches-3.10/201-b44-use-B44_FLAG_EXTERNAL_PHY.patch @@ -0,0 +1,97 @@ +From 3fc36ba561bd9a9bdc097d6ace32f1303364268c Mon Sep 17 00:00:00 2001 +From: Hauke Mehrtens <hauke@hauke-m.de> +Date: Tue, 22 Oct 2013 21:05:25 +0200 +Subject: [PATCH 2/9] b44: use B44_FLAG_EXTERNAL_PHY + +--- + drivers/net/ethernet/broadcom/b44.c | 18 +++++++++--------- + drivers/net/ethernet/broadcom/b44.h | 2 +- + 2 files changed, 10 insertions(+), 10 deletions(-) + +--- a/drivers/net/ethernet/broadcom/b44.c ++++ b/drivers/net/ethernet/broadcom/b44.c +@@ -284,7 +284,7 @@ static int __b44_writephy(struct b44 *bp + + static inline int b44_readphy(struct b44 *bp, int reg, u32 *val) + { +- if (bp->phy_addr == B44_PHY_ADDR_NO_PHY) ++ if (bp->flags & B44_FLAG_EXTERNAL_PHY) + return 0; + + return __b44_readphy(bp, bp->phy_addr, reg, val); +@@ -292,7 +292,7 @@ static inline int b44_readphy(struct b44 + + static inline int b44_writephy(struct b44 *bp, int reg, u32 val) + { +- if (bp->phy_addr == B44_PHY_ADDR_NO_PHY) ++ if (bp->flags & B44_FLAG_EXTERNAL_PHY) + return 0; + + return __b44_writephy(bp, bp->phy_addr, reg, val); +@@ -321,7 +321,7 @@ static int b44_phy_reset(struct b44 *bp) + u32 val; + int err; + +- if (bp->phy_addr == B44_PHY_ADDR_NO_PHY) ++ if (bp->flags & B44_FLAG_EXTERNAL_PHY) + return 0; + err = b44_writephy(bp, MII_BMCR, BMCR_RESET); + if (err) +@@ -423,7 +423,7 @@ static int b44_setup_phy(struct b44 *bp) + + b44_wap54g10_workaround(bp); + +- if (bp->phy_addr == B44_PHY_ADDR_NO_PHY) ++ if (bp->flags & B44_FLAG_EXTERNAL_PHY) + return 0; + if ((err = b44_readphy(bp, B44_MII_ALEDCTRL, &val)) != 0) + goto out; +@@ -521,7 +521,7 @@ static void b44_check_phy(struct b44 *bp + { + u32 bmsr, aux; + +- if (bp->phy_addr == B44_PHY_ADDR_NO_PHY) { ++ if (bp->flags & B44_FLAG_EXTERNAL_PHY) { + bp->flags |= B44_FLAG_100_BASE_T; + bp->flags |= B44_FLAG_FULL_DUPLEX; + if (!netif_carrier_ok(bp->dev)) { +@@ -1315,7 +1315,7 @@ static void b44_chip_reset(struct b44 *b + if (!(br32(bp, B44_DEVCTRL) & DEVCTRL_IPP)) { + bw32(bp, B44_ENET_CTRL, ENET_CTRL_EPSEL); + br32(bp, B44_ENET_CTRL); +- bp->flags &= ~B44_FLAG_INTERNAL_PHY; ++ bp->flags |= B44_FLAG_EXTERNAL_PHY; + } else { + u32 val = br32(bp, B44_DEVCTRL); + +@@ -1324,7 +1324,7 @@ static void b44_chip_reset(struct b44 *b + br32(bp, B44_DEVCTRL); + udelay(100); + } +- bp->flags |= B44_FLAG_INTERNAL_PHY; ++ bp->flags &= ~B44_FLAG_EXTERNAL_PHY; + } + } + +@@ -1828,8 +1828,8 @@ static int b44_get_settings(struct net_d + DUPLEX_FULL : DUPLEX_HALF; + cmd->port = 0; + cmd->phy_address = bp->phy_addr; +- cmd->transceiver = (bp->flags & B44_FLAG_INTERNAL_PHY) ? +- XCVR_INTERNAL : XCVR_EXTERNAL; ++ cmd->transceiver = (bp->flags & B44_FLAG_EXTERNAL_PHY) ? ++ XCVR_EXTERNAL : XCVR_INTERNAL; + cmd->autoneg = (bp->flags & B44_FLAG_FORCE_LINK) ? + AUTONEG_DISABLE : AUTONEG_ENABLE; + if (cmd->autoneg == AUTONEG_ENABLE) +--- a/drivers/net/ethernet/broadcom/b44.h ++++ b/drivers/net/ethernet/broadcom/b44.h +@@ -376,7 +376,7 @@ struct b44 { + #define B44_FLAG_ADV_10FULL 0x02000000 + #define B44_FLAG_ADV_100HALF 0x04000000 + #define B44_FLAG_ADV_100FULL 0x08000000 +-#define B44_FLAG_INTERNAL_PHY 0x10000000 ++#define B44_FLAG_EXTERNAL_PHY 0x10000000 + #define B44_FLAG_RX_RING_HACK 0x20000000 + #define B44_FLAG_TX_RING_HACK 0x40000000 + #define B44_FLAG_WOL_ENABLE 0x80000000 |