diff options
author | Mark Rustad <mark.d.rustad@intel.com> | 2016-04-01 15:18:46 -0400 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2016-04-07 20:14:06 -0400 |
commit | f572b2c4c86dcebe6b8684cbab03d9b2ea0d2ad6 (patch) | |
tree | 2276059b38afdca7f8029531557e4bf590540612 | |
parent | 200157c2e31a5931d0d825e9fddb44d10888e6b3 (diff) |
ixgbe: Add KR backplane support for x550em_a
Add support for x550em_a-based KR backplane devices.
Signed-off-by: Mark Rustad <mark.d.rustad@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 2 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 2 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 18 |
3 files changed, 18 insertions, 4 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c index c96af3fdd554..1a7bfcfc030e 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | |||
@@ -131,6 +131,8 @@ static const struct pci_device_id ixgbe_pci_tbl[] = { | |||
131 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_KR), board_X550EM_x}, | 131 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_KR), board_X550EM_x}, |
132 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_10G_T), board_X550EM_x}, | 132 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_10G_T), board_X550EM_x}, |
133 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_SFP), board_X550EM_x}, | 133 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_SFP), board_X550EM_x}, |
134 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_KR), board_x550em_a }, | ||
135 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_KR_L), board_x550em_a }, | ||
134 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SFP_N), board_x550em_a }, | 136 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SFP_N), board_x550em_a }, |
135 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SGMII), board_x550em_a }, | 137 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SGMII), board_x550em_a }, |
136 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SGMII_L), board_x550em_a }, | 138 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SGMII_L), board_x550em_a }, |
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h index 50e8bc0ef4e7..ba3b837c7e9d 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | |||
@@ -81,6 +81,8 @@ | |||
81 | #define IXGBE_DEV_ID_X550EM_X_SFP 0x15AC | 81 | #define IXGBE_DEV_ID_X550EM_X_SFP 0x15AC |
82 | #define IXGBE_DEV_ID_X550EM_X_10G_T 0x15AD | 82 | #define IXGBE_DEV_ID_X550EM_X_10G_T 0x15AD |
83 | #define IXGBE_DEV_ID_X550EM_X_1G_T 0x15AE | 83 | #define IXGBE_DEV_ID_X550EM_X_1G_T 0x15AE |
84 | #define IXGBE_DEV_ID_X550EM_A_KR 0x15C2 | ||
85 | #define IXGBE_DEV_ID_X550EM_A_KR_L 0x15C3 | ||
84 | #define IXGBE_DEV_ID_X550EM_A_SFP_N 0x15C4 | 86 | #define IXGBE_DEV_ID_X550EM_A_SFP_N 0x15C4 |
85 | #define IXGBE_DEV_ID_X550EM_A_SGMII 0x15C6 | 87 | #define IXGBE_DEV_ID_X550EM_A_SGMII 0x15C6 |
86 | #define IXGBE_DEV_ID_X550EM_A_SGMII_L 0x15C7 | 88 | #define IXGBE_DEV_ID_X550EM_A_SGMII_L 0x15C7 |
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c index 81e5d54476c7..c71e93ed4451 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | |||
@@ -291,6 +291,8 @@ static s32 ixgbe_identify_phy_x550em(struct ixgbe_hw *hw) | |||
291 | hw->phy.type = ixgbe_phy_x550em_kx4; | 291 | hw->phy.type = ixgbe_phy_x550em_kx4; |
292 | break; | 292 | break; |
293 | case IXGBE_DEV_ID_X550EM_X_KR: | 293 | case IXGBE_DEV_ID_X550EM_X_KR: |
294 | case IXGBE_DEV_ID_X550EM_A_KR: | ||
295 | case IXGBE_DEV_ID_X550EM_A_KR_L: | ||
294 | hw->phy.type = ixgbe_phy_x550em_kr; | 296 | hw->phy.type = ixgbe_phy_x550em_kr; |
295 | break; | 297 | break; |
296 | case IXGBE_DEV_ID_X550EM_X_1G_T: | 298 | case IXGBE_DEV_ID_X550EM_X_1G_T: |
@@ -1984,13 +1986,17 @@ static s32 ixgbe_setup_kx4_x550em(struct ixgbe_hw *hw) | |||
1984 | return status; | 1986 | return status; |
1985 | } | 1987 | } |
1986 | 1988 | ||
1987 | /** ixgbe_setup_kr_x550em - Configure the KR PHY. | 1989 | /** |
1988 | * @hw: pointer to hardware structure | 1990 | * ixgbe_setup_kr_x550em - Configure the KR PHY |
1991 | * @hw: pointer to hardware structure | ||
1989 | * | 1992 | * |
1990 | * Configures the integrated KR PHY. | 1993 | * Configures the integrated KR PHY for X550EM_x. |
1991 | **/ | 1994 | **/ |
1992 | static s32 ixgbe_setup_kr_x550em(struct ixgbe_hw *hw) | 1995 | static s32 ixgbe_setup_kr_x550em(struct ixgbe_hw *hw) |
1993 | { | 1996 | { |
1997 | if (hw->mac.type != ixgbe_mac_X550EM_x) | ||
1998 | return 0; | ||
1999 | |||
1994 | return ixgbe_setup_kr_speed_x550em(hw, hw->phy.autoneg_advertised); | 2000 | return ixgbe_setup_kr_speed_x550em(hw, hw->phy.autoneg_advertised); |
1995 | } | 2001 | } |
1996 | 2002 | ||
@@ -2196,7 +2202,9 @@ static s32 ixgbe_setup_fc_x550em(struct ixgbe_hw *hw) | |||
2196 | return IXGBE_ERR_CONFIG; | 2202 | return IXGBE_ERR_CONFIG; |
2197 | } | 2203 | } |
2198 | 2204 | ||
2199 | if (hw->device_id != IXGBE_DEV_ID_X550EM_X_KR) | 2205 | if (hw->device_id != IXGBE_DEV_ID_X550EM_X_KR && |
2206 | hw->device_id != IXGBE_DEV_ID_X550EM_A_KR && | ||
2207 | hw->device_id != IXGBE_DEV_ID_X550EM_A_KR_L) | ||
2200 | return 0; | 2208 | return 0; |
2201 | 2209 | ||
2202 | rc = hw->mac.ops.read_iosf_sb_reg(hw, | 2210 | rc = hw->mac.ops.read_iosf_sb_reg(hw, |
@@ -2437,6 +2445,8 @@ static enum ixgbe_media_type ixgbe_get_media_type_X550em(struct ixgbe_hw *hw) | |||
2437 | /* Fallthrough */ | 2445 | /* Fallthrough */ |
2438 | case IXGBE_DEV_ID_X550EM_X_KR: | 2446 | case IXGBE_DEV_ID_X550EM_X_KR: |
2439 | case IXGBE_DEV_ID_X550EM_X_KX4: | 2447 | case IXGBE_DEV_ID_X550EM_X_KX4: |
2448 | case IXGBE_DEV_ID_X550EM_A_KR: | ||
2449 | case IXGBE_DEV_ID_X550EM_A_KR_L: | ||
2440 | media_type = ixgbe_media_type_backplane; | 2450 | media_type = ixgbe_media_type_backplane; |
2441 | break; | 2451 | break; |
2442 | case IXGBE_DEV_ID_X550EM_X_SFP: | 2452 | case IXGBE_DEV_ID_X550EM_X_SFP: |