lkml.org 
[lkml]   [2022]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.18 030/158] e1000e: Enable GPT clock before sending message to CSME
    Date
    From: Sasha Neftin <sasha.neftin@intel.com>

    [ Upstream commit b49feacbeffc7635cc6692cbcc6a1eae2c17da6f ]

    On corporate (CSME) ADL systems, the Ethernet Controller may stop working
    ("HW unit hang") after exiting from the s0ix state. The reason is that
    CSME misses the message sent by the host. Enabling the dynamic GPT clock
    solves this problem. This clock is cleared upon HW initialization.

    Fixes: 3e55d231716e ("e1000e: Add handshake with the CSME to support S0ix")
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=214821
    Reviewed-by: Dima Ruinskiy <dima.ruinskiy@intel.com>
    Signed-off-by: Sasha Neftin <sasha.neftin@intel.com>
    Tested-by: Chia-Lin Kao (AceLan) <acelan.kao@canonical.com>
    Tested-by: Naama Meir <naamax.meir@linux.intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/intel/e1000e/netdev.c | 4 ++++
    1 file changed, 4 insertions(+)

    diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
    index fa06f68c8c80..c64102b29862 100644
    --- a/drivers/net/ethernet/intel/e1000e/netdev.c
    +++ b/drivers/net/ethernet/intel/e1000e/netdev.c
    @@ -6494,6 +6494,10 @@ static void e1000e_s0ix_exit_flow(struct e1000_adapter *adapter)

    if (er32(FWSM) & E1000_ICH_FWSM_FW_VALID &&
    hw->mac.type >= e1000_pch_adp) {
    + /* Keep the GPT clock enabled for CSME */
    + mac_data = er32(FEXTNVM);
    + mac_data |= BIT(3);
    + ew32(FEXTNVM, mac_data);
    /* Request ME unconfigure the device from S0ix */
    mac_data = er32(H2ME);
    mac_data &= ~E1000_H2ME_START_DPG;
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-07-27 19:32    [W:2.165 / U:0.120 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site