igc: Change Device Reset to Port Reset
authorSasha Neftin <sasha.neftin@intel.com>
Thu, 9 Sep 2021 06:46:18 +0000 (09:46 +0300)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Fri, 29 Oct 2021 17:36:58 +0000 (10:36 -0700)
The _reset_hw_base method switched from port reset (CTRL[26]) to device
reset (CTRL[29]) since the FW was receiving an interrupt on CTRL[29].
FW code was later modified to also receive an interrupt on CTRL[26].
Since certain HW values are not reset to default by CTRL[29], we go back
to CTRL[26] for the HW reset, as it meets all current requirements.

This reverts commit bb4265ec24c1 ("igc: Update the MAC reset flow").

Signed-off-by: Sasha Neftin <sasha.neftin@intel.com>
Tested-by: Nechama Kraus <nechamax.kraus@linux.intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/igc/igc_base.c
drivers/net/ethernet/intel/igc/igc_defines.h

index 2612a58..f068b66 100644 (file)
@@ -40,7 +40,7 @@ static s32 igc_reset_hw_base(struct igc_hw *hw)
        ctrl = rd32(IGC_CTRL);
 
        hw_dbg("Issuing a global reset to MAC\n");
-       wr32(IGC_CTRL, ctrl | IGC_CTRL_DEV_RST);
+       wr32(IGC_CTRL, ctrl | IGC_CTRL_RST);
 
        ret_val = igc_get_auto_rd_done(hw);
        if (ret_val) {
index a4bbee7..c7fe615 100644 (file)
 #define IGC_ERR_SWFW_SYNC              13
 
 /* Device Control */
-#define IGC_CTRL_DEV_RST       0x20000000  /* Device reset */
+#define IGC_CTRL_RST           0x04000000  /* Global reset */
 
 #define IGC_CTRL_PHY_RST       0x80000000  /* PHY Reset */
 #define IGC_CTRL_SLU           0x00000040  /* Set link up (Force Link) */