Received: by 2002:a05:6a10:d5a5:0:0:0:0 with SMTP id gn37csp4509307pxb; Tue, 5 Oct 2021 04:46:57 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzAyUD+tNHCdUPrnM1qu/EAzPb6tssmyRSSx1CXtw21GlwLmRMEWd6VoVEjafrloXK/uJcb X-Received: by 2002:a17:906:31ca:: with SMTP id f10mr23636581ejf.73.1633434417412; Tue, 05 Oct 2021 04:46:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633434417; cv=none; d=google.com; s=arc-20160816; b=IsTCVogKWXJ56A4GuTIEnOk845or+TDK3TlGyeJ/P5MdBLvmdo2e8mughNMM905nPX 0fJXGNZ5DIoOMgLq4eh1YatjGAP6EeioAfXlXNax739nuCmaD7eOvLUD49xWre9XvRbk viJaPu9rgSvbTbQTDv+Z4WqPzCm66bEL91K0Qdl/B7EN0gHbgDY4yiOKhyjxTGCdAHTQ 4Y2k++c7HFt03jrSlfGQbFO98W38CNxH5kaoDVG+ac5NdVvbSZnfCwHC2JzcgUzXqN46 bT1WJ7J4SW2gsluflizdlawgaGh/SqyImBy1zQ20RyD2VrbqmGa7UNz2WX+YRlRprI8i 9JKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=/qNBP0M44cxx1ajg3tfk6BeqZLg0ACuLMRZ3qqBSKXA=; b=PfEfC8r54JKGPmyPhyt/T1OuiaT0evsqG6sRO9gRR9rFXZxRfB2uJ0uN/BI2nMuMx9 VoTaD7vlu/ta50LWdD1MGi0phYTPaXKnKyZuzYIimCgiZpIieoYDfzgKXa0uUIwMVlmX I/Ukpmbl0mjDL/BYjGl/JVNrbNZtJnKeW3BUCmSV5Y/Lb95VL/V9DdThEWFYoOLKE1lD bppStRIDM0IM1Yoh0w4H0BR/bCZ0fRzj0D5lm/KaomCQtPMkyD8YLqMUnBAgmS5Qz7Lj ai+eMMbSa7hdumjDa/72BLSSZ/PYkpJGkJ7ITv42G8Pfh9AiuZh7tsgYA8HfFZoC/q3c a0MA== 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=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q23si20438036ejj.178.2021.10.05.04.46.33; Tue, 05 Oct 2021 04:46:57 -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=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234354AbhJELqw (ORCPT + 99 others); Tue, 5 Oct 2021 07:46:52 -0400 Received: from mga01.intel.com ([192.55.52.88]:50770 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233672AbhJELqv (ORCPT ); Tue, 5 Oct 2021 07:46:51 -0400 X-IronPort-AV: E=McAfee;i="6200,9189,10127"; a="248977238" X-IronPort-AV: E=Sophos;i="5.85,348,1624345200"; d="scan'208";a="248977238" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Oct 2021 04:44:56 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,348,1624345200"; d="scan'208";a="712206594" Received: from linux.intel.com ([10.54.29.200]) by fmsmga006.fm.intel.com with ESMTP; 05 Oct 2021 04:44:56 -0700 Received: from glass.png.intel.com (glass.png.intel.com [10.158.65.69]) by linux.intel.com (Postfix) with ESMTP id ABAC45805EE; Tue, 5 Oct 2021 04:44:52 -0700 (PDT) From: Wong Vee Khee To: "David S . Miller" , Jose Abreu , Andrew Lunn , Heiner Kallweit , Russell King , Jakub Kicinski , Giuseppe Cavallaro , Alexandre Torgue , Maxime Coquelin Cc: Michael Sit Wei Hong , Wong Vee Khee , Wong Vee Khee , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org Subject: [PATCH net 1/2] net: pcs: xpcs: fix incorrect steps on disable EEE Date: Tue, 5 Oct 2021 19:50:59 +0800 Message-Id: <20211005115100.1648170-2-vee.khee.wong@linux.intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211005115100.1648170-1-vee.khee.wong@linux.intel.com> References: <20211005115100.1648170-1-vee.khee.wong@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When Energy-Efficient Ethernet(EEE) is disable from the MAC side, we need to clear the DW_VR_MII_EEE_TRN_LPI bit of DW_VR_MII_EEE_MCTRL1 register. Fixes: 7617af3d1a5e ("net: pcs: Introducing support for DWC xpcs Energy Efficient Ethernet") Cc: Michael Sit Wei Hong Signed-off-by: Wong Vee Khee --- drivers/net/pcs/pcs-xpcs.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/net/pcs/pcs-xpcs.c b/drivers/net/pcs/pcs-xpcs.c index fb0a83dc09ac..59ebb0c0d86f 100644 --- a/drivers/net/pcs/pcs-xpcs.c +++ b/drivers/net/pcs/pcs-xpcs.c @@ -666,6 +666,10 @@ int xpcs_config_eee(struct dw_xpcs *xpcs, int mult_fact_100ns, int enable) { int ret; + ret = xpcs_read(xpcs, MDIO_MMD_VEND2, DW_VR_MII_EEE_MCTRL0); + if (ret < 0) + return ret; + if (enable) { /* Enable EEE */ ret = DW_VR_MII_EEE_LTX_EN | DW_VR_MII_EEE_LRX_EN | @@ -673,9 +677,6 @@ int xpcs_config_eee(struct dw_xpcs *xpcs, int mult_fact_100ns, int enable) DW_VR_MII_EEE_TX_EN_CTRL | DW_VR_MII_EEE_RX_EN_CTRL | mult_fact_100ns << DW_VR_MII_EEE_MULT_FACT_100NS_SHIFT; } else { - ret = xpcs_read(xpcs, MDIO_MMD_VEND2, DW_VR_MII_EEE_MCTRL0); - if (ret < 0) - return ret; ret &= ~(DW_VR_MII_EEE_LTX_EN | DW_VR_MII_EEE_LRX_EN | DW_VR_MII_EEE_TX_QUIET_EN | DW_VR_MII_EEE_RX_QUIET_EN | DW_VR_MII_EEE_TX_EN_CTRL | DW_VR_MII_EEE_RX_EN_CTRL | @@ -690,7 +691,11 @@ int xpcs_config_eee(struct dw_xpcs *xpcs, int mult_fact_100ns, int enable) if (ret < 0) return ret; - ret |= DW_VR_MII_EEE_TRN_LPI; + if (enable) + ret |= DW_VR_MII_EEE_TRN_LPI; + else + ret &= ~DW_VR_MII_EEE_TRN_LPI; + return xpcs_write(xpcs, MDIO_MMD_VEND2, DW_VR_MII_EEE_MCTRL1, ret); } EXPORT_SYMBOL_GPL(xpcs_config_eee); -- 2.25.1