Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp3866689pxk; Tue, 29 Sep 2020 08:10:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzEBYh0iLpD6PnyXoF8FPsoJU9Zw7idNbREm+MFgHFeFl7jMouEGWuO03MI/2PCqXritE28 X-Received: by 2002:a17:906:1081:: with SMTP id u1mr3700051eju.284.1601392204328; Tue, 29 Sep 2020 08:10:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601392204; cv=none; d=google.com; s=arc-20160816; b=osh96xHHJykeIAN+GoSd66wCIMZ/ycQ9tN4qUbZP//TIQsTSFoyPxlXZAyvC1o6Jzm 1cibasiLI/v0yUEg3Xat40OXscm7yBt5HHc82rtmfhbxi3/boUp3QuSkD/HnKQIA6QmA FnJmWxRG5wL/UpqUV0RbapcHrDs1PAzIY9NmiLfIj7zHYOxc8xrSlYeS3Mk6ye6rVETJ 9yLngS5VZXbkWt8MidmonUHF/Fdc6wHS52Ip4AhBY9ytpHvihZLY8B9vJoV/yh1Y6a43 Ysu5TgtJxWVCxwdh4ROwu6qqybkn+Y3E4NzSxXabc4DfpSw3K06PyNMUgcRAWAAhri+a Ac2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:references:message-id :content-transfer-encoding:cc:date:in-reply-to:from:subject :mime-version; bh=dqmNVm893NqtOAY8nhAHGH50UQWeJ+obYUrK5GM5tMs=; b=JDPYtegV/yiLQLz1qIvsybEEixDqRL4b824fv5HT69QGerZb1JFWpIm01jHVTlAtIY 4h3y1wT4nsqmfLVJnS6z85Qyr88UwS2GLNdI/4MjfKa3oArEMWVz3mOSOCmwI3Kwx8Ur o/GjjCZzCV69u5QZ5KJwvnY5zbkCzw6KInZuskJsDVJPoAajj24whutmGuU5Hjoti21P uH3ZNdt6DTSW2B0UV1K4AD7Zkylsmn90E7vIQwvPlgqnqknay3UFny8m6q+WIRo/Ms04 CxIvevubpZVKFZWDU6tBce0EI0kAeMMeN/gY8BR3gyj6+zA2QrOhuxJii1GF/2eSjzgI pRXA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a5si3118593edt.556.2020.09.29.08.09.40; Tue, 29 Sep 2020 08:10:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731537AbgI2PIe convert rfc822-to-8bit (ORCPT + 99 others); Tue, 29 Sep 2020 11:08:34 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:37307 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730404AbgI2PId (ORCPT ); Tue, 29 Sep 2020 11:08:33 -0400 Received: from mail-pg1-f199.google.com ([209.85.215.199]) by youngberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1kNHF1-00057D-Di for linux-kernel@vger.kernel.org; Tue, 29 Sep 2020 15:08:31 +0000 Received: by mail-pg1-f199.google.com with SMTP id v187so3347171pgv.0 for ; Tue, 29 Sep 2020 08:08:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=QlTx6aJc1D++8TL3j2iwVRwTgFTiw+vWij/OcnAzmKQ=; b=c9lGXfccttfkizthz08GW2+YkcQIY2PFsUdsBrgcqnc4Gc2RdgsWmR59HJTsuDgXnV 71YRP2OLlNIMC9W8O61u9xYioL6zXIuOvZTV9ZwbV2S94z8UO9q8+2H5IEpNvJhGxvwC jkPSr8ACdXFRGq2vvqhzmbioYUF5uIny1KcjOEPffWNvsyJGTaSAxfus6Ypu/xWqH0Dg w+Xy8G0Ww46uuiPAmEJql4JjMhyo2lgLDvdM+2WifL5RhhsFdSz46ylPVfv96i2gbyXD fEXHFX9kdmTCA8HVCyeEd41z9p3/+HYPmesrtPHvl90jRTvr0BGZMeuaJuO20412Khe8 /kfA== X-Gm-Message-State: AOAM533RbRx9eKMADPJmOIHoJEPDrpDdZBhcwPr8qWi49cqcqTTnNbBy tx9I9kOI04q2w9bZI9CUV9ZP8xV8ABRkyreCNzzYflRryaBQZ2VCqChGxbkCuIVnezTwctBLO97 WXpKgLLqyDhT68OZnoi+P++QaV9BTr4RCH+psVDXzOg== X-Received: by 2002:a63:4c4e:: with SMTP id m14mr3370895pgl.199.1601392109526; Tue, 29 Sep 2020 08:08:29 -0700 (PDT) X-Received: by 2002:a63:4c4e:: with SMTP id m14mr3370864pgl.199.1601392109063; Tue, 29 Sep 2020 08:08:29 -0700 (PDT) Received: from [192.168.1.208] (220-133-187-190.HINET-IP.hinet.net. [220.133.187.190]) by smtp.gmail.com with ESMTPSA id t6sm5040797pgj.86.2020.09.29.08.08.25 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 29 Sep 2020 08:08:27 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.4\)) Subject: Re: [Intel-wired-lan] [PATCH v4] e1000e: Increase polling timeout on MDIC ready bit From: Kai-Heng Feng In-Reply-To: <345fffcd-e9f1-5881-fba1-d7313876e943@intel.com> Date: Tue, 29 Sep 2020 23:08:23 +0800 Cc: Jeff Kirsher , Andrew Lunn , "open list:NETWORKING DRIVERS" , open list , "moderated list:INTEL ETHERNET DRIVERS" , Jakub Kicinski , "David S. Miller" , "Lifshits, Vitaly" , "Nguyen, Anthony L" Content-Transfer-Encoding: 8BIT Message-Id: <3DA721C5-F656-4085-9113-A0407CDF90FB@canonical.com> References: <20200924164542.19906-1-kai.heng.feng@canonical.com> <20200928083658.8567-1-kai.heng.feng@canonical.com> <469c71d5-93ac-e6c7-f85c-342b0df78a45@intel.com> <30761C6B-28B8-4464-8615-55EF3E090E07@canonical.com> <345fffcd-e9f1-5881-fba1-d7313876e943@intel.com> To: "Neftin, Sasha" X-Mailer: Apple Mail (2.3608.120.23.2.4) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > On Sep 29, 2020, at 21:46, Neftin, Sasha wrote: > > Hello Kai-Heng, > On 9/29/2020 16:31, Kai-Heng Feng wrote: >> Hi Sasha, >>> On Sep 29, 2020, at 21:08, Neftin, Sasha wrote: >>> >>> On 9/28/2020 11:36, Kai-Heng Feng wrote: >>>> We are seeing the following error after S3 resume: >>>> [ 704.746874] e1000e 0000:00:1f.6 eno1: Setting page 0x6020 >>>> [ 704.844232] e1000e 0000:00:1f.6 eno1: MDI Write did not complete >>>> [ 704.902817] e1000e 0000:00:1f.6 eno1: Setting page 0x6020 >>>> [ 704.903075] e1000e 0000:00:1f.6 eno1: reading PHY page 769 (or 0x6020 shifted) reg 0x17 >>>> [ 704.903281] e1000e 0000:00:1f.6 eno1: Setting page 0x6020 >>>> [ 704.903486] e1000e 0000:00:1f.6 eno1: writing PHY page 769 (or 0x6020 shifted) reg 0x17 >>>> [ 704.943155] e1000e 0000:00:1f.6 eno1: MDI Error >>>> ... >>>> [ 705.108161] e1000e 0000:00:1f.6 eno1: Hardware Error >>>> As Andrew Lunn pointed out, MDIO has nothing to do with phy, and indeed >>>> increase polling iteration can resolve the issue. >>>> This patch only papers over the symptom, as we don't really know the >>>> root cause of the issue. The most possible culprit is Intel ME, which >>>> may do its own things that conflict with software. >>>> Signed-off-by: Kai-Heng Feng >>>> --- >>>> v4: >>>> - States that this patch just papers over the symptom. >>>> v3: >>>> - Moving delay to end of loop doesn't save anytime, move it back. >>>> - Point out this is quitely likely caused by Intel ME. >>>> v2: >>>> - Increase polling iteration instead of powering down the phy. >>>> drivers/net/ethernet/intel/e1000e/phy.c | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> diff --git a/drivers/net/ethernet/intel/e1000e/phy.c b/drivers/net/ethernet/intel/e1000e/phy.c >>>> index e11c877595fb..e6d4acd90937 100644 >>>> --- a/drivers/net/ethernet/intel/e1000e/phy.c >>>> +++ b/drivers/net/ethernet/intel/e1000e/phy.c >>>> @@ -203,7 +203,7 @@ s32 e1000e_write_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 data) >>>> * Increasing the time out as testing showed failures with >>>> * the lower time out >>>> */ >>>> - for (i = 0; i < (E1000_GEN_POLL_TIMEOUT * 3); i++) { >>>> + for (i = 0; i < (E1000_GEN_POLL_TIMEOUT * 10); i++) { >>> As we discussed (many threads) - AMT/ME systems not supported on Linux as properly. I do not think increasing polling iteration will solve the problem. Rather mask it. >> I am aware of the status quo of no proper support on Intel ME. >>> I prefer you check option to disable ME vi BIOS on your system. >> We can't ask user to change the BIOS to accommodate Linux. So before a proper solution comes out, masking the problem is good enough for me. >> Until then, I'll carry it as a downstream distro patch. > What will you do with system that even after increasing polling time will run into HW error? Hope we finally have proper ME support under Linux? Kai-Heng >> Kai-Heng >>>> udelay(50); >>>> mdic = er32(MDIC); >>>> if (mdic & E1000_MDIC_READY) >>> Thanks, >>> Sasha > Thanks, > Sasha