From 8664e2cb4e536aa89e8b968abb85df00752d812b Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 14 Jun 2024 11:26:26 +0200 Subject: [PATCH] drop e1000e patch --- ...-near-the-end-of-enable_ulp-function.patch | 120 ------------------ queue-6.6/series | 1 - ...-near-the-end-of-enable_ulp-function.patch | 119 ----------------- queue-6.9/series | 1 - 4 files changed, 241 deletions(-) delete mode 100644 queue-6.6/e1000e-move-force-smbus-near-the-end-of-enable_ulp-function.patch delete mode 100644 queue-6.9/e1000e-move-force-smbus-near-the-end-of-enable_ulp-function.patch diff --git a/queue-6.6/e1000e-move-force-smbus-near-the-end-of-enable_ulp-function.patch b/queue-6.6/e1000e-move-force-smbus-near-the-end-of-enable_ulp-function.patch deleted file mode 100644 index b58ce1b0651..00000000000 --- a/queue-6.6/e1000e-move-force-smbus-near-the-end-of-enable_ulp-function.patch +++ /dev/null @@ -1,120 +0,0 @@ -From bfd546a552e140b0a4c8a21527c39d6d21addb28 Mon Sep 17 00:00:00 2001 -From: Hui Wang -Date: Tue, 28 May 2024 15:06:04 -0700 -Subject: e1000e: move force SMBUS near the end of enable_ulp function - -From: Hui Wang - -commit bfd546a552e140b0a4c8a21527c39d6d21addb28 upstream. - -The commit 861e8086029e ("e1000e: move force SMBUS from enable ulp -function to avoid PHY loss issue") introduces a regression on -PCH_MTP_I219_LM18 (PCIID: 0x8086550A). Without the referred commit, the -ethernet works well after suspend and resume, but after applying the -commit, the ethernet couldn't work anymore after the resume and the -dmesg shows that the NIC link changes to 10Mbps (1000Mbps originally): - - [ 43.305084] e1000e 0000:00:1f.6 enp0s31f6: NIC Link is Up 10 Mbps Full Duplex, Flow Control: Rx/Tx - -Without the commit, the force SMBUS code will not be executed if -"return 0" or "goto out" is executed in the enable_ulp(), and in my -case, the "goto out" is executed since FWSM_FW_VALID is set. But after -applying the commit, the force SMBUS code will be ran unconditionally. - -Here move the force SMBUS code back to enable_ulp() and put it -immediately ahead of hw->phy.ops.release(hw), this could allow the -longest settling time as possible for interface in this function and -doesn't change the original code logic. - -The issue was found on a Lenovo laptop with the ethernet hw as below: -00:1f.6 Ethernet controller [0200]: Intel Corporation Device [8086:550a] -(rev 20). - -And this patch is verified (cable plug and unplug, system suspend -and resume) on Lenovo laptops with ethernet hw: [8086:550a], -[8086:550b], [8086:15bb], [8086:15be], [8086:1a1f], [8086:1a1c] and -[8086:0dc7]. - -Fixes: 861e8086029e ("e1000e: move force SMBUS from enable ulp function to avoid PHY loss issue") -Signed-off-by: Hui Wang -Acked-by: Vitaly Lifshits -Tested-by: Naama Meir -Reviewed-by: Simon Horman -Reviewed-by: Paul Menzel -Signed-off-by: Tony Nguyen -Tested-by: Zhang Rui -Signed-off-by: Jacob Keller -Link: https://lore.kernel.org/r/20240528-net-2024-05-28-intel-net-fixes-v1-1-dc8593d2bbc6@intel.com -Signed-off-by: Jakub Kicinski -Cc: Ismael Luceno -Signed-off-by: Greg Kroah-Hartman ---- - drivers/net/ethernet/intel/e1000e/ich8lan.c | 22 ++++++++++++++++++++++ - drivers/net/ethernet/intel/e1000e/netdev.c | 18 ------------------ - 2 files changed, 22 insertions(+), 18 deletions(-) - ---- a/drivers/net/ethernet/intel/e1000e/ich8lan.c -+++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c -@@ -1225,6 +1225,28 @@ s32 e1000_enable_ulp_lpt_lp(struct e1000 - } - - release: -+ /* Switching PHY interface always returns MDI error -+ * so disable retry mechanism to avoid wasting time -+ */ -+ e1000e_disable_phy_retry(hw); -+ -+ /* Force SMBus mode in PHY */ -+ ret_val = e1000_read_phy_reg_hv_locked(hw, CV_SMB_CTRL, &phy_reg); -+ if (ret_val) { -+ e1000e_enable_phy_retry(hw); -+ hw->phy.ops.release(hw); -+ goto out; -+ } -+ phy_reg |= CV_SMB_CTRL_FORCE_SMBUS; -+ e1000_write_phy_reg_hv_locked(hw, CV_SMB_CTRL, phy_reg); -+ -+ e1000e_enable_phy_retry(hw); -+ -+ /* Force SMBus mode in MAC */ -+ mac_reg = er32(CTRL_EXT); -+ mac_reg |= E1000_CTRL_EXT_FORCE_SMBUS; -+ ew32(CTRL_EXT, mac_reg); -+ - hw->phy.ops.release(hw); - out: - if (ret_val) ---- a/drivers/net/ethernet/intel/e1000e/netdev.c -+++ b/drivers/net/ethernet/intel/e1000e/netdev.c -@@ -6623,7 +6623,6 @@ static int __e1000_shutdown(struct pci_d - struct e1000_hw *hw = &adapter->hw; - u32 ctrl, ctrl_ext, rctl, status, wufc; - int retval = 0; -- u16 smb_ctrl; - - /* Runtime suspend should only enable wakeup for link changes */ - if (runtime) -@@ -6697,23 +6696,6 @@ static int __e1000_shutdown(struct pci_d - if (retval) - return retval; - } -- -- /* Force SMBUS to allow WOL */ -- /* Switching PHY interface always returns MDI error -- * so disable retry mechanism to avoid wasting time -- */ -- e1000e_disable_phy_retry(hw); -- -- e1e_rphy(hw, CV_SMB_CTRL, &smb_ctrl); -- smb_ctrl |= CV_SMB_CTRL_FORCE_SMBUS; -- e1e_wphy(hw, CV_SMB_CTRL, smb_ctrl); -- -- e1000e_enable_phy_retry(hw); -- -- /* Force SMBus mode in MAC */ -- ctrl_ext = er32(CTRL_EXT); -- ctrl_ext |= E1000_CTRL_EXT_FORCE_SMBUS; -- ew32(CTRL_EXT, ctrl_ext); - } - - /* Ensure that the appropriate bits are set in LPI_CTRL diff --git a/queue-6.6/series b/queue-6.6/series index 001f3d5d1bf..927a8b2a421 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -101,7 +101,6 @@ kdb-fix-console-handling-when-editing-and-tab-completing-commands.patch kdb-merge-identical-case-statements-in-kdb_read.patch kdb-use-format-specifiers-rather-than-memset-for-padding-in-kdb_read.patch net-fix-__dst_negative_advice-race.patch -e1000e-move-force-smbus-near-the-end-of-enable_ulp-function.patch sparc-move-struct-termio-to-asm-termios.h.patch drm-amdkfd-handle-duplicate-bos-in-reserve_bo_and_cond_vms.patch ext4-fixes-len-calculation-in-mpage_journal_page_buffers.patch diff --git a/queue-6.9/e1000e-move-force-smbus-near-the-end-of-enable_ulp-function.patch b/queue-6.9/e1000e-move-force-smbus-near-the-end-of-enable_ulp-function.patch deleted file mode 100644 index f7ee489ff83..00000000000 --- a/queue-6.9/e1000e-move-force-smbus-near-the-end-of-enable_ulp-function.patch +++ /dev/null @@ -1,119 +0,0 @@ -From bfd546a552e140b0a4c8a21527c39d6d21addb28 Mon Sep 17 00:00:00 2001 -From: Hui Wang -Date: Tue, 28 May 2024 15:06:04 -0700 -Subject: e1000e: move force SMBUS near the end of enable_ulp function - -From: Hui Wang - -commit bfd546a552e140b0a4c8a21527c39d6d21addb28 upstream. - -The commit 861e8086029e ("e1000e: move force SMBUS from enable ulp -function to avoid PHY loss issue") introduces a regression on -PCH_MTP_I219_LM18 (PCIID: 0x8086550A). Without the referred commit, the -ethernet works well after suspend and resume, but after applying the -commit, the ethernet couldn't work anymore after the resume and the -dmesg shows that the NIC link changes to 10Mbps (1000Mbps originally): - - [ 43.305084] e1000e 0000:00:1f.6 enp0s31f6: NIC Link is Up 10 Mbps Full Duplex, Flow Control: Rx/Tx - -Without the commit, the force SMBUS code will not be executed if -"return 0" or "goto out" is executed in the enable_ulp(), and in my -case, the "goto out" is executed since FWSM_FW_VALID is set. But after -applying the commit, the force SMBUS code will be ran unconditionally. - -Here move the force SMBUS code back to enable_ulp() and put it -immediately ahead of hw->phy.ops.release(hw), this could allow the -longest settling time as possible for interface in this function and -doesn't change the original code logic. - -The issue was found on a Lenovo laptop with the ethernet hw as below: -00:1f.6 Ethernet controller [0200]: Intel Corporation Device [8086:550a] -(rev 20). - -And this patch is verified (cable plug and unplug, system suspend -and resume) on Lenovo laptops with ethernet hw: [8086:550a], -[8086:550b], [8086:15bb], [8086:15be], [8086:1a1f], [8086:1a1c] and -[8086:0dc7]. - -Fixes: 861e8086029e ("e1000e: move force SMBUS from enable ulp function to avoid PHY loss issue") -Signed-off-by: Hui Wang -Acked-by: Vitaly Lifshits -Tested-by: Naama Meir -Reviewed-by: Simon Horman -Reviewed-by: Paul Menzel -Signed-off-by: Tony Nguyen -Tested-by: Zhang Rui -Signed-off-by: Jacob Keller -Link: https://lore.kernel.org/r/20240528-net-2024-05-28-intel-net-fixes-v1-1-dc8593d2bbc6@intel.com -Signed-off-by: Jakub Kicinski -Signed-off-by: Greg Kroah-Hartman ---- - drivers/net/ethernet/intel/e1000e/ich8lan.c | 22 ++++++++++++++++++++++ - drivers/net/ethernet/intel/e1000e/netdev.c | 18 ------------------ - 2 files changed, 22 insertions(+), 18 deletions(-) - ---- a/drivers/net/ethernet/intel/e1000e/ich8lan.c -+++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c -@@ -1225,6 +1225,28 @@ s32 e1000_enable_ulp_lpt_lp(struct e1000 - } - - release: -+ /* Switching PHY interface always returns MDI error -+ * so disable retry mechanism to avoid wasting time -+ */ -+ e1000e_disable_phy_retry(hw); -+ -+ /* Force SMBus mode in PHY */ -+ ret_val = e1000_read_phy_reg_hv_locked(hw, CV_SMB_CTRL, &phy_reg); -+ if (ret_val) { -+ e1000e_enable_phy_retry(hw); -+ hw->phy.ops.release(hw); -+ goto out; -+ } -+ phy_reg |= CV_SMB_CTRL_FORCE_SMBUS; -+ e1000_write_phy_reg_hv_locked(hw, CV_SMB_CTRL, phy_reg); -+ -+ e1000e_enable_phy_retry(hw); -+ -+ /* Force SMBus mode in MAC */ -+ mac_reg = er32(CTRL_EXT); -+ mac_reg |= E1000_CTRL_EXT_FORCE_SMBUS; -+ ew32(CTRL_EXT, mac_reg); -+ - hw->phy.ops.release(hw); - out: - if (ret_val) ---- a/drivers/net/ethernet/intel/e1000e/netdev.c -+++ b/drivers/net/ethernet/intel/e1000e/netdev.c -@@ -6623,7 +6623,6 @@ static int __e1000_shutdown(struct pci_d - struct e1000_hw *hw = &adapter->hw; - u32 ctrl, ctrl_ext, rctl, status, wufc; - int retval = 0; -- u16 smb_ctrl; - - /* Runtime suspend should only enable wakeup for link changes */ - if (runtime) -@@ -6697,23 +6696,6 @@ static int __e1000_shutdown(struct pci_d - if (retval) - return retval; - } -- -- /* Force SMBUS to allow WOL */ -- /* Switching PHY interface always returns MDI error -- * so disable retry mechanism to avoid wasting time -- */ -- e1000e_disable_phy_retry(hw); -- -- e1e_rphy(hw, CV_SMB_CTRL, &smb_ctrl); -- smb_ctrl |= CV_SMB_CTRL_FORCE_SMBUS; -- e1e_wphy(hw, CV_SMB_CTRL, smb_ctrl); -- -- e1000e_enable_phy_retry(hw); -- -- /* Force SMBus mode in MAC */ -- ctrl_ext = er32(CTRL_EXT); -- ctrl_ext |= E1000_CTRL_EXT_FORCE_SMBUS; -- ew32(CTRL_EXT, ctrl_ext); - } - - /* Ensure that the appropriate bits are set in LPI_CTRL diff --git a/queue-6.9/series b/queue-6.9/series index a38cf68965b..bfcb2278577 100644 --- a/queue-6.9/series +++ b/queue-6.9/series @@ -113,7 +113,6 @@ kdb-use-format-specifiers-rather-than-memset-for-padding-in-kdb_read.patch revert-xsk-support-redirect-to-any-socket-bound-to-the-same-umem.patch revert-xsk-document-ability-to-redirect-to-any-socket-bound-to-the-same-umem.patch revert-perf-record-reduce-memory-for-recording-perf_record_lost_samples-event.patch -e1000e-move-force-smbus-near-the-end-of-enable_ulp-function.patch sparc-move-struct-termio-to-asm-termios.h.patch ext4-fixes-len-calculation-in-mpage_journal_page_buffers.patch ext4-set-type-of-ac_groups_linear_remaining-to-__u32-to-avoid-overflow.patch -- 2.47.3