mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-23 05:56:14 -04:00
ixgbe: Use generic MDIO definitions and functions
Compile-tested only. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
0f07c4ee8c
commit
6b73e10d2d
@@ -229,14 +229,13 @@ static s32 ixgbe_get_copper_link_capabilities_82598(struct ixgbe_hw *hw,
|
||||
*speed = 0;
|
||||
*autoneg = true;
|
||||
|
||||
status = hw->phy.ops.read_reg(hw, IXGBE_MDIO_PHY_SPEED_ABILITY,
|
||||
IXGBE_MDIO_PMA_PMD_DEV_TYPE,
|
||||
status = hw->phy.ops.read_reg(hw, MDIO_SPEED, MDIO_MMD_PMAPMD,
|
||||
&speed_ability);
|
||||
|
||||
if (status == 0) {
|
||||
if (speed_ability & IXGBE_MDIO_PHY_SPEED_10G)
|
||||
if (speed_ability & MDIO_SPEED_10G)
|
||||
*speed |= IXGBE_LINK_SPEED_10GB_FULL;
|
||||
if (speed_ability & IXGBE_MDIO_PHY_SPEED_1G)
|
||||
if (speed_ability & MDIO_PMA_SPEED_1000)
|
||||
*speed |= IXGBE_LINK_SPEED_1GB_FULL;
|
||||
}
|
||||
|
||||
@@ -526,9 +525,9 @@ static s32 ixgbe_check_mac_link_82598(struct ixgbe_hw *hw,
|
||||
* clear indicates active; set indicates inactive.
|
||||
*/
|
||||
if (hw->phy.type == ixgbe_phy_nl) {
|
||||
hw->phy.ops.read_reg(hw, 0xC79F, IXGBE_TWINAX_DEV, &link_reg);
|
||||
hw->phy.ops.read_reg(hw, 0xC79F, IXGBE_TWINAX_DEV, &link_reg);
|
||||
hw->phy.ops.read_reg(hw, 0xC00C, IXGBE_TWINAX_DEV,
|
||||
hw->phy.ops.read_reg(hw, 0xC79F, MDIO_MMD_PMAPMD, &link_reg);
|
||||
hw->phy.ops.read_reg(hw, 0xC79F, MDIO_MMD_PMAPMD, &link_reg);
|
||||
hw->phy.ops.read_reg(hw, 0xC00C, MDIO_MMD_PMAPMD,
|
||||
&adapt_comp_reg);
|
||||
if (link_up_wait_to_complete) {
|
||||
for (i = 0; i < IXGBE_LINK_UP_TIME; i++) {
|
||||
@@ -541,10 +540,10 @@ static s32 ixgbe_check_mac_link_82598(struct ixgbe_hw *hw,
|
||||
}
|
||||
msleep(100);
|
||||
hw->phy.ops.read_reg(hw, 0xC79F,
|
||||
IXGBE_TWINAX_DEV,
|
||||
MDIO_MMD_PMAPMD,
|
||||
&link_reg);
|
||||
hw->phy.ops.read_reg(hw, 0xC00C,
|
||||
IXGBE_TWINAX_DEV,
|
||||
MDIO_MMD_PMAPMD,
|
||||
&adapt_comp_reg);
|
||||
}
|
||||
} else {
|
||||
@@ -990,14 +989,14 @@ static s32 ixgbe_read_i2c_eeprom_82598(struct ixgbe_hw *hw, u8 byte_offset,
|
||||
sfp_addr = (sfp_addr | IXGBE_I2C_EEPROM_READ_MASK);
|
||||
hw->phy.ops.write_reg(hw,
|
||||
IXGBE_MDIO_PMA_PMD_SDA_SCL_ADDR,
|
||||
IXGBE_MDIO_PMA_PMD_DEV_TYPE,
|
||||
MDIO_MMD_PMAPMD,
|
||||
sfp_addr);
|
||||
|
||||
/* Poll status */
|
||||
for (i = 0; i < 100; i++) {
|
||||
hw->phy.ops.read_reg(hw,
|
||||
IXGBE_MDIO_PMA_PMD_SDA_SCL_STAT,
|
||||
IXGBE_MDIO_PMA_PMD_DEV_TYPE,
|
||||
MDIO_MMD_PMAPMD,
|
||||
&sfp_stat);
|
||||
sfp_stat = sfp_stat & IXGBE_I2C_EEPROM_STATUS_MASK;
|
||||
if (sfp_stat != IXGBE_I2C_EEPROM_STATUS_IN_PROGRESS)
|
||||
@@ -1013,7 +1012,7 @@ static s32 ixgbe_read_i2c_eeprom_82598(struct ixgbe_hw *hw, u8 byte_offset,
|
||||
|
||||
/* Read data */
|
||||
hw->phy.ops.read_reg(hw, IXGBE_MDIO_PMA_PMD_SDA_SCL_DATA,
|
||||
IXGBE_MDIO_PMA_PMD_DEV_TYPE, &sfp_data);
|
||||
MDIO_MMD_PMAPMD, &sfp_data);
|
||||
|
||||
*eeprom_data = (u8)(sfp_data >> 8);
|
||||
} else {
|
||||
@@ -1045,13 +1044,13 @@ static u32 ixgbe_get_supported_physical_layer_82598(struct ixgbe_hw *hw)
|
||||
* physical layer because 10GBase-T PHYs use LMS = KX4/KX */
|
||||
if (hw->phy.type == ixgbe_phy_tn ||
|
||||
hw->phy.type == ixgbe_phy_cu_unknown) {
|
||||
hw->phy.ops.read_reg(hw, IXGBE_MDIO_PHY_EXT_ABILITY,
|
||||
IXGBE_MDIO_PMA_PMD_DEV_TYPE, &ext_ability);
|
||||
if (ext_ability & IXGBE_MDIO_PHY_10GBASET_ABILITY)
|
||||
hw->phy.ops.read_reg(hw, MDIO_PMA_EXTABLE, MDIO_MMD_PMAPMD,
|
||||
&ext_ability);
|
||||
if (ext_ability & MDIO_PMA_EXTABLE_10GBT)
|
||||
physical_layer |= IXGBE_PHYSICAL_LAYER_10GBASE_T;
|
||||
if (ext_ability & IXGBE_MDIO_PHY_1000BASET_ABILITY)
|
||||
if (ext_ability & MDIO_PMA_EXTABLE_1000BT)
|
||||
physical_layer |= IXGBE_PHYSICAL_LAYER_1000BASE_T;
|
||||
if (ext_ability & IXGBE_MDIO_PHY_100BASETX_ABILITY)
|
||||
if (ext_ability & MDIO_PMA_EXTABLE_100BTX)
|
||||
physical_layer |= IXGBE_PHYSICAL_LAYER_100BASE_TX;
|
||||
goto out;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user