aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/broadcom/bnx2.c
diff options
context:
space:
mode:
authorMatt Carlson <mcarlson@broadcom.com>2011-11-16 18:36:59 -0500
committerDavid S. Miller <davem@davemloft.net>2011-11-16 18:36:59 -0500
commit28011cf19b75df9d3f35489a7599a97ec0b3f1a0 (patch)
treecc058e15191db60adb45e426fc3d328e9d246b41 /drivers/net/ethernet/broadcom/bnx2.c
parentf85fa279138489543206381883c8f67ef94aa912 (diff)
net: Add ethtool to mii advertisment conversion helpers
Translating between ethtool advertisement settings and MII advertisements are common operations for ethernet drivers. This patch adds a set of helper functions that implements the conversion. The patch then modifies a couple of the drivers to use the new functions. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnx2.c')
-rw-r--r--drivers/net/ethernet/broadcom/bnx2.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2.c b/drivers/net/ethernet/broadcom/bnx2.c
index 7203f37d2ef3..6b7cd1e80ada 100644
--- a/drivers/net/ethernet/broadcom/bnx2.c
+++ b/drivers/net/ethernet/broadcom/bnx2.c
@@ -2064,21 +2064,12 @@ __acquires(&bp->phy_lock)
2064 bnx2_read_phy(bp, MII_CTRL1000, &adv1000_reg); 2064 bnx2_read_phy(bp, MII_CTRL1000, &adv1000_reg);
2065 adv1000_reg &= PHY_ALL_1000_SPEED; 2065 adv1000_reg &= PHY_ALL_1000_SPEED;
2066 2066
2067 if (bp->advertising & ADVERTISED_10baseT_Half) 2067 new_adv_reg = ethtool_adv_to_mii_100bt(bp->advertising);
2068 new_adv_reg |= ADVERTISE_10HALF;
2069 if (bp->advertising & ADVERTISED_10baseT_Full)
2070 new_adv_reg |= ADVERTISE_10FULL;
2071 if (bp->advertising & ADVERTISED_100baseT_Half)
2072 new_adv_reg |= ADVERTISE_100HALF;
2073 if (bp->advertising & ADVERTISED_100baseT_Full)
2074 new_adv_reg |= ADVERTISE_100FULL;
2075 if (bp->advertising & ADVERTISED_1000baseT_Full)
2076 new_adv1000_reg |= ADVERTISE_1000FULL;
2077
2078 new_adv_reg |= ADVERTISE_CSMA; 2068 new_adv_reg |= ADVERTISE_CSMA;
2079
2080 new_adv_reg |= bnx2_phy_get_pause_adv(bp); 2069 new_adv_reg |= bnx2_phy_get_pause_adv(bp);
2081 2070
2071 new_adv1000_reg |= ethtool_adv_to_mii_1000T(bp->advertising);
2072
2082 if ((adv1000_reg != new_adv1000_reg) || 2073 if ((adv1000_reg != new_adv1000_reg) ||
2083 (adv_reg != new_adv_reg) || 2074 (adv_reg != new_adv_reg) ||
2084 ((bmcr & BMCR_ANENABLE) == 0)) { 2075 ((bmcr & BMCR_ANENABLE) == 0)) {