58 lines
2.0 KiB
Diff
58 lines
2.0 KiB
Diff
|
From 1d120544580708eae6bd5981b308ca17735edaac Mon Sep 17 00:00:00 2001
|
||
|
From: Vitaly Lifshits <vitaly.lifshits@intel.com>
|
||
|
Date: Tue, 1 Oct 2024 20:08:48 +0300
|
||
|
Subject: e1000e: Remove Meteor Lake SMBUS workarounds
|
||
|
|
||
|
This is a partial revert to commit 76a0a3f9cc2f ("e1000e: fix force smbus
|
||
|
during suspend flow"). That commit fixed a sporadic PHY access issue but
|
||
|
introduced a regression in runtime suspend flows.
|
||
|
The original issue on Meteor Lake systems was rare in terms of the
|
||
|
reproduction rate and the number of the systems affected.
|
||
|
|
||
|
After the integration of commit 0a6ad4d9e169 ("e1000e: avoid failing the
|
||
|
system during pm_suspend"), PHY access loss can no longer cause a
|
||
|
system-level suspend failure. As it only occurs when the LAN cable is
|
||
|
disconnected, and is recovered during system resume flow. Therefore, its
|
||
|
functional impact is low, and the priority is given to stabilizing
|
||
|
runtime suspend.
|
||
|
|
||
|
Fixes: 76a0a3f9cc2f ("e1000e: fix force smbus during suspend flow")
|
||
|
Signed-off-by: Vitaly Lifshits <vitaly.lifshits@intel.com>
|
||
|
---
|
||
|
drivers/net/ethernet/intel/e1000e/ich8lan.c | 17 ++++-------------
|
||
|
1 file changed, 4 insertions(+), 13 deletions(-)
|
||
|
|
||
|
--- a/drivers/net/ethernet/intel/e1000e/ich8lan.c
|
||
|
+++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c
|
||
|
@@ -1205,12 +1205,10 @@ s32 e1000_enable_ulp_lpt_lp(struct e1000
|
||
|
if (ret_val)
|
||
|
goto out;
|
||
|
|
||
|
- if (hw->mac.type != e1000_pch_mtp) {
|
||
|
- ret_val = e1000e_force_smbus(hw);
|
||
|
- if (ret_val) {
|
||
|
- e_dbg("Failed to force SMBUS: %d\n", ret_val);
|
||
|
- goto release;
|
||
|
- }
|
||
|
+ ret_val = e1000e_force_smbus(hw);
|
||
|
+ if (ret_val) {
|
||
|
+ e_dbg("Failed to force SMBUS: %d\n", ret_val);
|
||
|
+ goto release;
|
||
|
}
|
||
|
|
||
|
/* Si workaround for ULP entry flow on i127/rev6 h/w. Enable
|
||
|
@@ -1273,13 +1271,6 @@ s32 e1000_enable_ulp_lpt_lp(struct e1000
|
||
|
}
|
||
|
|
||
|
release:
|
||
|
- if (hw->mac.type == e1000_pch_mtp) {
|
||
|
- ret_val = e1000e_force_smbus(hw);
|
||
|
- if (ret_val)
|
||
|
- e_dbg("Failed to force SMBUS over MTL system: %d\n",
|
||
|
- ret_val);
|
||
|
- }
|
||
|
-
|
||
|
hw->phy.ops.release(hw);
|
||
|
out:
|
||
|
if (ret_val)
|