From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 34F33C1975A for ; Wed, 25 Mar 2020 06:36:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 10522206F8 for ; Wed, 25 Mar 2020 06:36:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726276AbgCYGgm (ORCPT ); Wed, 25 Mar 2020 02:36:42 -0400 Received: from mga18.intel.com ([134.134.136.126]:47292 "EHLO mga18.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725781AbgCYGgm (ORCPT ); Wed, 25 Mar 2020 02:36:42 -0400 IronPort-SDR: pxhg9WRJMgcsIu/oQcAFkmOaf/HP8qFaq/sjenQka4WnGzDLeoVJXccsJq0LG1y0xMxbHCLyRL /y+rRR1TrnUA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Mar 2020 23:36:41 -0700 IronPort-SDR: 3Td4nQqzHu1XAMtC2noNIdMXCZj4aCwq/T1T4z21ZSQoVVZPPaCeM7Dx+0o7jbNSRY25BfdeB7 +tehq/JEvJTg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,303,1580803200"; d="scan'208";a="270704738" Received: from sneftin-mobl1.ger.corp.intel.com (HELO [10.214.212.82]) ([10.214.212.82]) by fmsmga004.fm.intel.com with ESMTP; 24 Mar 2020 23:36:38 -0700 Subject: Re: [PATCH] e1000e: bump up timeout to wait when ME un-configure ULP mode To: Kai-Heng Feng , Aaron Ma Cc: "Kirsher, Jeffrey T" , David Miller , "moderated list:INTEL ETHERNET DRIVERS" , "open list:NETWORKING DRIVERS" , open list , "Lifshits, Vitaly" , rex.tsai@intel.com References: <20200323191639.48826-1-aaron.ma@canonical.com> From: "Neftin, Sasha" Message-ID: <2c765c59-556e-266b-4d0d-a4602db94476@intel.com> Date: Wed, 25 Mar 2020 08:36:36 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 3/25/2020 06:17, Kai-Heng Feng wrote: > Hi Aaron, > >> On Mar 24, 2020, at 03:16, Aaron Ma wrote: >> >> ME takes 2+ seconds to un-configure ULP mode done after resume >> from s2idle on some ThinkPad laptops. >> Without enough wait, reset and re-init will fail with error. > > Thanks, this patch solves the issue. We can drop the DMI quirk in favor of this patch. > >> >> Fixes: f15bb6dde738cc8fa0 ("e1000e: Add support for S0ix") >> BugLink: https://bugs.launchpad.net/bugs/1865570 >> Signed-off-by: Aaron Ma >> --- >> drivers/net/ethernet/intel/e1000e/ich8lan.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c >> index b4135c50e905..147b15a2f8b3 100644 >> --- a/drivers/net/ethernet/intel/e1000e/ich8lan.c >> +++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c >> @@ -1240,9 +1240,9 @@ static s32 e1000_disable_ulp_lpt_lp(struct e1000_hw *hw, bool force) >> ew32(H2ME, mac_reg); >> } >> >> - /* Poll up to 300msec for ME to clear ULP_CFG_DONE. */ >> + /* Poll up to 2.5sec for ME to clear ULP_CFG_DONE. */ >> while (er32(FWSM) & E1000_FWSM_ULP_CFG_DONE) { >> - if (i++ == 30) { >> + if (i++ == 250) { >> ret_val = -E1000_ERR_PHY; >> goto out; >> } > > The return value was not caught by the caller, so the error ends up unnoticed. > Maybe let the caller check the return value of e1000_disable_ulp_lpt_lp()? > > Kai-Heng Hello Kai-Heng and Aaron, I a bit confused. In our previous conversation you told ME not running. let me shimming in. Increasing delay won't be solve the problem and just mask it. We need to understand why ME take too much time. What is problem with this specific system? So, basically no ME system should works for you. Meanwhile I prefer keep DMI quirk. Thanks, Sasha > >> -- >> 2.17.1 >> > From mboxrd@z Thu Jan 1 00:00:00 1970 From: Neftin, Sasha Date: Wed, 25 Mar 2020 08:36:36 +0200 Subject: [Intel-wired-lan] [PATCH] e1000e: bump up timeout to wait when ME un-configure ULP mode In-Reply-To: References: <20200323191639.48826-1-aaron.ma@canonical.com> Message-ID: <2c765c59-556e-266b-4d0d-a4602db94476@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: intel-wired-lan@osuosl.org List-ID: On 3/25/2020 06:17, Kai-Heng Feng wrote: > Hi Aaron, > >> On Mar 24, 2020, at 03:16, Aaron Ma wrote: >> >> ME takes 2+ seconds to un-configure ULP mode done after resume >> from s2idle on some ThinkPad laptops. >> Without enough wait, reset and re-init will fail with error. > > Thanks, this patch solves the issue. We can drop the DMI quirk in favor of this patch. > >> >> Fixes: f15bb6dde738cc8fa0 ("e1000e: Add support for S0ix") >> BugLink: https://bugs.launchpad.net/bugs/1865570 >> Signed-off-by: Aaron Ma >> --- >> drivers/net/ethernet/intel/e1000e/ich8lan.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c >> index b4135c50e905..147b15a2f8b3 100644 >> --- a/drivers/net/ethernet/intel/e1000e/ich8lan.c >> +++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c >> @@ -1240,9 +1240,9 @@ static s32 e1000_disable_ulp_lpt_lp(struct e1000_hw *hw, bool force) >> ew32(H2ME, mac_reg); >> } >> >> - /* Poll up to 300msec for ME to clear ULP_CFG_DONE. */ >> + /* Poll up to 2.5sec for ME to clear ULP_CFG_DONE. */ >> while (er32(FWSM) & E1000_FWSM_ULP_CFG_DONE) { >> - if (i++ == 30) { >> + if (i++ == 250) { >> ret_val = -E1000_ERR_PHY; >> goto out; >> } > > The return value was not caught by the caller, so the error ends up unnoticed. > Maybe let the caller check the return value of e1000_disable_ulp_lpt_lp()? > > Kai-Heng Hello Kai-Heng and Aaron, I a bit confused. In our previous conversation you told ME not running. let me shimming in. Increasing delay won't be solve the problem and just mask it. We need to understand why ME take too much time. What is problem with this specific system? So, basically no ME system should works for you. Meanwhile I prefer keep DMI quirk. Thanks, Sasha > >> -- >> 2.17.1 >> >