Skip to content

Commit 1fe4f45

Browse files
aneftinanguy11
authored andcommitted
e1000e: Add support for the next LOM generation
Add devices IDs for the next LOM generations that will be available on the next Intel Client platforms. This patch provides the initial support for these devices. Signed-off-by: Sasha Neftin <[email protected]> Tested-by: Naama Meir <[email protected]> Signed-off-by: Tony Nguyen <[email protected]>
1 parent 6b8aa75 commit 1fe4f45

File tree

5 files changed

+17
-0
lines changed

5 files changed

+17
-0
lines changed

drivers/net/ethernet/intel/e1000e/ethtool.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -917,6 +917,7 @@ static int e1000_reg_test(struct e1000_adapter *adapter, u64 *data)
917917
case e1000_pch_mtp:
918918
case e1000_pch_lnp:
919919
case e1000_pch_ptp:
920+
case e1000_pch_nvp:
920921
mask |= BIT(18);
921922
break;
922923
default:
@@ -1585,6 +1586,7 @@ static void e1000_loopback_cleanup(struct e1000_adapter *adapter)
15851586
case e1000_pch_mtp:
15861587
case e1000_pch_lnp:
15871588
case e1000_pch_ptp:
1589+
case e1000_pch_nvp:
15881590
fext_nvm11 = er32(FEXTNVM11);
15891591
fext_nvm11 &= ~E1000_FEXTNVM11_DISABLE_MULR_FIX;
15901592
ew32(FEXTNVM11, fext_nvm11);

drivers/net/ethernet/intel/e1000e/hw.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,8 @@ struct e1000_hw;
122122
#define E1000_DEV_ID_PCH_PTP_I219_V26 0x57B6
123123
#define E1000_DEV_ID_PCH_PTP_I219_LM27 0x57B7
124124
#define E1000_DEV_ID_PCH_PTP_I219_V27 0x57B8
125+
#define E1000_DEV_ID_PCH_NVL_I219_LM29 0x57B9
126+
#define E1000_DEV_ID_PCH_NVL_I219_V29 0x57BA
125127

126128
#define E1000_REVISION_4 4
127129

@@ -150,6 +152,7 @@ enum e1000_mac_type {
150152
e1000_pch_mtp,
151153
e1000_pch_lnp,
152154
e1000_pch_ptp,
155+
e1000_pch_nvp,
153156
};
154157

155158
enum e1000_media_type {

drivers/net/ethernet/intel/e1000e/ich8lan.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,7 @@ static s32 e1000_init_phy_workarounds_pchlan(struct e1000_hw *hw)
323323
case e1000_pch_mtp:
324324
case e1000_pch_lnp:
325325
case e1000_pch_ptp:
326+
case e1000_pch_nvp:
326327
if (e1000_phy_is_accessible_pchlan(hw))
327328
break;
328329

@@ -470,6 +471,7 @@ static s32 e1000_init_phy_params_pchlan(struct e1000_hw *hw)
470471
case e1000_pch_mtp:
471472
case e1000_pch_lnp:
472473
case e1000_pch_ptp:
474+
case e1000_pch_nvp:
473475
/* In case the PHY needs to be in mdio slow mode,
474476
* set slow mode and try to get the PHY id again.
475477
*/
@@ -717,6 +719,7 @@ static s32 e1000_init_mac_params_ich8lan(struct e1000_hw *hw)
717719
case e1000_pch_mtp:
718720
case e1000_pch_lnp:
719721
case e1000_pch_ptp:
722+
case e1000_pch_nvp:
720723
case e1000_pchlan:
721724
/* check management mode */
722725
mac->ops.check_mng_mode = e1000_check_mng_mode_pchlan;
@@ -1685,6 +1688,7 @@ static s32 e1000_get_variants_ich8lan(struct e1000_adapter *adapter)
16851688
case e1000_pch_mtp:
16861689
case e1000_pch_lnp:
16871690
case e1000_pch_ptp:
1691+
case e1000_pch_nvp:
16881692
rc = e1000_init_phy_params_pchlan(hw);
16891693
break;
16901694
default:
@@ -2142,6 +2146,7 @@ static s32 e1000_sw_lcd_config_ich8lan(struct e1000_hw *hw)
21422146
case e1000_pch_mtp:
21432147
case e1000_pch_lnp:
21442148
case e1000_pch_ptp:
2149+
case e1000_pch_nvp:
21452150
sw_cfg_mask = E1000_FEXTNVM_SW_CONFIG_ICH8M;
21462151
break;
21472152
default:
@@ -3188,6 +3193,7 @@ static s32 e1000_valid_nvm_bank_detect_ich8lan(struct e1000_hw *hw, u32 *bank)
31883193
case e1000_pch_mtp:
31893194
case e1000_pch_lnp:
31903195
case e1000_pch_ptp:
3196+
case e1000_pch_nvp:
31913197
bank1_offset = nvm->flash_bank_size;
31923198
act_offset = E1000_ICH_NVM_SIG_WORD;
31933199

@@ -4129,6 +4135,7 @@ static s32 e1000_validate_nvm_checksum_ich8lan(struct e1000_hw *hw)
41294135
case e1000_pch_mtp:
41304136
case e1000_pch_lnp:
41314137
case e1000_pch_ptp:
4138+
case e1000_pch_nvp:
41324139
word = NVM_COMPAT;
41334140
valid_csum_mask = NVM_COMPAT_VALID_CSUM;
41344141
break;

drivers/net/ethernet/intel/e1000e/netdev.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3545,6 +3545,7 @@ s32 e1000e_get_base_timinca(struct e1000_adapter *adapter, u32 *timinca)
35453545
case e1000_pch_mtp:
35463546
case e1000_pch_lnp:
35473547
case e1000_pch_ptp:
3548+
case e1000_pch_nvp:
35483549
if (er32(TSYNCRXCTL) & E1000_TSYNCRXCTL_SYSCFI) {
35493550
/* Stable 24MHz frequency */
35503551
incperiod = INCPERIOD_24MHZ;
@@ -4061,6 +4062,7 @@ void e1000e_reset(struct e1000_adapter *adapter)
40614062
case e1000_pch_mtp:
40624063
case e1000_pch_lnp:
40634064
case e1000_pch_ptp:
4065+
case e1000_pch_nvp:
40644066
fc->refresh_time = 0xFFFF;
40654067
fc->pause_time = 0xFFFF;
40664068

@@ -7913,6 +7915,8 @@ static const struct pci_device_id e1000_pci_tbl[] = {
79137915
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_V26), board_pch_mtp },
79147916
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_LM27), board_pch_mtp },
79157917
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_V27), board_pch_mtp },
7918+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_NVL_I219_LM29), board_pch_mtp },
7919+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_NVL_I219_V29), board_pch_mtp },
79167920

79177921
{ 0, 0, 0, 0, 0, 0, 0 } /* terminate list */
79187922
};

drivers/net/ethernet/intel/e1000e/ptp.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,7 @@ void e1000e_ptp_init(struct e1000_adapter *adapter)
288288
case e1000_pch_mtp:
289289
case e1000_pch_lnp:
290290
case e1000_pch_ptp:
291+
case e1000_pch_nvp:
291292
if ((hw->mac.type < e1000_pch_lpt) ||
292293
(er32(TSYNCRXCTL) & E1000_TSYNCRXCTL_SYSCFI)) {
293294
adapter->ptp_clock_info.max_adj = 24000000 - 1;

0 commit comments

Comments
 (0)