Skip to content

Commit 3aa430d

Browse files
committed
Merge branch '1GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue
Tony Nguyen says: ==================== Intel Wired LAN Driver Updates 2022-02-01 This series contains updates to e1000e driver only. Sasha removes CSME handshake with TGL platform as this is not supported and is causing hardware unit hangs to be reported. * '1GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue: e1000e: Handshake with CSME starts from ADL platforms e1000e: Separate ADP board type from TGP ==================== Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
2 parents c710897 + cad014b commit 3aa430d

File tree

3 files changed

+44
-19
lines changed

3 files changed

+44
-19
lines changed

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,8 @@ enum e1000_boards {
115115
board_pch_lpt,
116116
board_pch_spt,
117117
board_pch_cnp,
118-
board_pch_tgp
118+
board_pch_tgp,
119+
board_pch_adp
119120
};
120121

121122
struct e1000_ps_page {
@@ -502,6 +503,7 @@ extern const struct e1000_info e1000_pch_lpt_info;
502503
extern const struct e1000_info e1000_pch_spt_info;
503504
extern const struct e1000_info e1000_pch_cnp_info;
504505
extern const struct e1000_info e1000_pch_tgp_info;
506+
extern const struct e1000_info e1000_pch_adp_info;
505507
extern const struct e1000_info e1000_es2_info;
506508

507509
void e1000e_ptp_init(struct e1000_adapter *adapter);

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

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6021,3 +6021,23 @@ const struct e1000_info e1000_pch_tgp_info = {
60216021
.phy_ops = &ich8_phy_ops,
60226022
.nvm_ops = &spt_nvm_ops,
60236023
};
6024+
6025+
const struct e1000_info e1000_pch_adp_info = {
6026+
.mac = e1000_pch_adp,
6027+
.flags = FLAG_IS_ICH
6028+
| FLAG_HAS_WOL
6029+
| FLAG_HAS_HW_TIMESTAMP
6030+
| FLAG_HAS_CTRLEXT_ON_LOAD
6031+
| FLAG_HAS_AMT
6032+
| FLAG_HAS_FLASH
6033+
| FLAG_HAS_JUMBO_FRAMES
6034+
| FLAG_APME_IN_WUC,
6035+
.flags2 = FLAG2_HAS_PHY_STATS
6036+
| FLAG2_HAS_EEE,
6037+
.pba = 26,
6038+
.max_hw_frame_size = 9022,
6039+
.get_variants = e1000_get_variants_ich8lan,
6040+
.mac_ops = &ich8_mac_ops,
6041+
.phy_ops = &ich8_phy_ops,
6042+
.nvm_ops = &spt_nvm_ops,
6043+
};

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

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ static const struct e1000_info *e1000_info_tbl[] = {
5252
[board_pch_spt] = &e1000_pch_spt_info,
5353
[board_pch_cnp] = &e1000_pch_cnp_info,
5454
[board_pch_tgp] = &e1000_pch_tgp_info,
55+
[board_pch_adp] = &e1000_pch_adp_info,
5556
};
5657

5758
struct e1000_reg_info {
@@ -6341,7 +6342,8 @@ static void e1000e_s0ix_entry_flow(struct e1000_adapter *adapter)
63416342
u32 mac_data;
63426343
u16 phy_data;
63436344

6344-
if (er32(FWSM) & E1000_ICH_FWSM_FW_VALID) {
6345+
if (er32(FWSM) & E1000_ICH_FWSM_FW_VALID &&
6346+
hw->mac.type >= e1000_pch_adp) {
63456347
/* Request ME configure the device for S0ix */
63466348
mac_data = er32(H2ME);
63476349
mac_data |= E1000_H2ME_START_DPG;
@@ -6490,7 +6492,8 @@ static void e1000e_s0ix_exit_flow(struct e1000_adapter *adapter)
64906492
u16 phy_data;
64916493
u32 i = 0;
64926494

6493-
if (er32(FWSM) & E1000_ICH_FWSM_FW_VALID) {
6495+
if (er32(FWSM) & E1000_ICH_FWSM_FW_VALID &&
6496+
hw->mac.type >= e1000_pch_adp) {
64946497
/* Request ME unconfigure the device from S0ix */
64956498
mac_data = er32(H2ME);
64966499
mac_data &= ~E1000_H2ME_START_DPG;
@@ -7898,22 +7901,22 @@ static const struct pci_device_id e1000_pci_tbl[] = {
78987901
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_V14), board_pch_tgp },
78997902
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_LM15), board_pch_tgp },
79007903
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_V15), board_pch_tgp },
7901-
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_LM23), board_pch_tgp },
7902-
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_V23), board_pch_tgp },
7903-
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_LM16), board_pch_tgp },
7904-
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_V16), board_pch_tgp },
7905-
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_LM17), board_pch_tgp },
7906-
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_V17), board_pch_tgp },
7907-
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_LM22), board_pch_tgp },
7908-
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_V22), board_pch_tgp },
7909-
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_LM18), board_pch_tgp },
7910-
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_V18), board_pch_tgp },
7911-
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_LM19), board_pch_tgp },
7912-
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_V19), board_pch_tgp },
7913-
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_LM20), board_pch_tgp },
7914-
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_V20), board_pch_tgp },
7915-
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_LM21), board_pch_tgp },
7916-
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_V21), board_pch_tgp },
7904+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_LM23), board_pch_adp },
7905+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_V23), board_pch_adp },
7906+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_LM16), board_pch_adp },
7907+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_V16), board_pch_adp },
7908+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_LM17), board_pch_adp },
7909+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_V17), board_pch_adp },
7910+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_LM22), board_pch_adp },
7911+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_V22), board_pch_adp },
7912+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_LM18), board_pch_adp },
7913+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_V18), board_pch_adp },
7914+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_LM19), board_pch_adp },
7915+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_V19), board_pch_adp },
7916+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_LM20), board_pch_adp },
7917+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_V20), board_pch_adp },
7918+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_LM21), board_pch_adp },
7919+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_V21), board_pch_adp },
79177920

79187921
{ 0, 0, 0, 0, 0, 0, 0 } /* terminate list */
79197922
};

0 commit comments

Comments
 (0)