From patchwork Wed Jun 27 00:06:08 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Burton X-Patchwork-Id: 935179 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mips.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=wavesemi.onmicrosoft.com header.i=@wavesemi.onmicrosoft.com header.b="p1iXeZZf"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 41FjrS4XfXz9s0n for ; Wed, 27 Jun 2018 10:06:48 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964784AbeF0AGq (ORCPT ); Tue, 26 Jun 2018 20:06:46 -0400 Received: from mail-eopbgr700099.outbound.protection.outlook.com ([40.107.70.99]:11034 "EHLO NAM04-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S964775AbeF0AGm (ORCPT ); Tue, 26 Jun 2018 20:06:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wavesemi.onmicrosoft.com; s=selector1-wavecomp-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/0uJKKcF/7hAhj8J3YD2qV6Qc7qc8ffCIYCXDPXIu2o=; b=p1iXeZZfD2kvPI7Idb9+RFpx3Q9+h6X5JIAHOLTIH1ZP84sq3GMWhf92MjN6BFMAZog+l/pWDrHkkJY7qdM0NRERRSxNcqDif8bFPQtM8BdEbbiX3rz+Di7AZs6kmP1L3PVRGbWmYVIutrBB7Wijy0BwNR7WBJSwczlGvcwmXq8= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=pburton@wavecomp.com; Received: from pburton-laptop.mipstec.com (4.16.204.77) by DM6PR08MB4940.namprd08.prod.outlook.com (2603:10b6:5:4b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.884.21; Wed, 27 Jun 2018 00:06:35 +0000 From: Paul Burton To: netdev@vger.kernel.org Cc: "David S . Miller" , Andrew Lunn , paul.burton@mips.com Subject: [PATCH v7 07/11] net: pch_gbe: Remove AR8031 PHY hibernation disable Date: Tue, 26 Jun 2018 17:06:08 -0700 Message-Id: <20180627000612.27263-8-paul.burton@mips.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180627000612.27263-1-paul.burton@mips.com> References: <20180627000612.27263-1-paul.burton@mips.com> MIME-Version: 1.0 X-Originating-IP: [4.16.204.77] X-ClientProxiedBy: MWHPR1701CA0014.namprd17.prod.outlook.com (2603:10b6:301:14::24) To DM6PR08MB4940.namprd08.prod.outlook.com (2603:10b6:5:4b::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 503cebcd-bca3-46e9-5527-08d5dbc1d926 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(7021125)(8989117)(4534165)(7022125)(4603075)(4627221)(201702281549075)(8990107)(7048125)(7024125)(7027125)(7028125)(7023125)(5600026)(711020)(2017052603328)(7153060)(7193020); SRVR:DM6PR08MB4940; X-Microsoft-Exchange-Diagnostics: 1; DM6PR08MB4940; 3:q2atAcZu1wIOZ4lhwqO6q6XbgnoGw1fwaXwKdA/NSf03SyCsCz/1LQEAP2e9zmj7KMo9j9z/MY44TYj8UEclR0r8Aw0rRwl4SwEvh/aEHDUfn5msdcXxQxsIS2RxTsXIl33+PKBZNq4rQ1uHsswxzUjSfkkcxhs9LbaCmtEDTKMBq/ElNxIBq6UkIfgyysANc5Oc/wyNoSy6qcQWQv8WC75yzHEgZE+l1iKhT+3iiFSTi/KcrCa27fnTZ4jxpKgy; 25:gg26zgXTY9TQJS6pDnSmHJJYo897GBYJWTj45/EWwLOkahx2tCUtc6u2BCpkGO7054wlnB0qL7MKJvl1fhU5cu0mmv2BqKrHO+bXNhkKH8c0koIqYgQXVPSPyYidHNf8PkEWo2Yp2IHoKE0objh8IRHQjM2/zELnQCBg72FbTJiRrp2yWaT/uOM7W/EnYuDUNgFK8K7kc2a91SMIx/Yv/Q1UkKilrWBY3AV6LLV7hvhmQFr2CxAdz0eiVsa14fkNki39HFnZ/vQepThuEfWzNFjJ4kl1sgc2mlPVZfBrA3RdjlzMFDeN61mGE+JTgMTQAcxJIVlX5I3aov+6BE5z0g==; 31:DOl0swu7dRmlwwmrqZUZyBxAVC3vEQnopfXSRDUZBXIEuuORkitDTKexkd96d80Kk5p3tawRYCmnfJLv6HeQjhY2hmJML8YnbEJkV/lD3q6gxgPDCY7rIdULgJqYgVyWE7COxwv1H1TNThFmauqUbijGEbFdgSb5LhCoU4YMBB5glPovwiHVRIPN5xwq84wCZU9yoRadX6xpdZXy971xB8cSCIyoXTqFA4afpOpKcRY= X-MS-TrafficTypeDiagnostic: DM6PR08MB4940: X-Microsoft-Exchange-Diagnostics: 1; DM6PR08MB4940; 20:RajkaRZAwnAH/vWqGtDSsrRJHcoSILvsRolCZBh6gYJZUUI/2ucOPADPJ/VIptJArVF3Lup7CMHZSkqAFOWctXFHp3pzZDZpRJ2YTXuCDB61aPa5qKa2KSyo+FPbkjrRt/PhE2xMFPn5aHNd3RuQGB9tGTBnLNrPKlDqzTQl2yysmkQmajH2uVUgKsQIm+5svm5sJkipcagRj9ETixnx28Jx0jVbdlzkxJG+UH4R+aIy5pwv5URd8WnJLc759VKa; 4:SWi4HHjpUqHi9/T25qSj7Jih+7k8CNq18332GTFOziwfltP+mgaABx4zhp/qF1XKyzUUML5fZIECJVs9bcJhyUxvJU+kjzLyY3cNsA96QL0xpSH++c9rO9kfdHYum96WPi95OX2tWS0iV9kbdCpbnsSJwJDsWKfXtVzrNwb8xuYV5QZEG2ui20uV89hCOwSh80CrSHmRmpACbJ/0sTO9/0QYmt2NMinCtSL4u4A3/qI6WEhK1viaZznfmG9sKt50PRrb5EYROWLJIQGIMIJS7WRg3/Pwn7+hhU7nIi5bIVbvtUP9bg5QGZasNkiiYmw5 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3002001)(10201501046)(93006095)(3231254)(944501410)(52105095)(149027)(150027)(6041310)(2016111802025)(20161123562045)(20161123560045)(20161123564045)(20161123558120)(6043046)(6072148)(201708071742011)(7699016); SRVR:DM6PR08MB4940; BCL:0; PCL:0; RULEID:; SRVR:DM6PR08MB4940; X-Forefront-PRVS: 0716E70AB6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(366004)(346002)(136003)(39840400004)(376002)(396003)(199004)(189003)(52116002)(36756003)(6666003)(5660300001)(16526019)(51416003)(66066001)(6916009)(2351001)(42882007)(316002)(386003)(53416004)(54906003)(47776003)(26005)(76176011)(6506007)(186003)(16586007)(6486002)(2361001)(48376002)(486006)(6116002)(8936002)(956004)(476003)(50466002)(3846002)(446003)(1076002)(6512007)(69596002)(2906002)(25786009)(4326008)(81156014)(8676002)(50226002)(575784001)(107886003)(7736002)(2616005)(44832011)(106356001)(11346002)(97736004)(68736007)(105586002)(305945005)(478600001)(81166006)(53936002); DIR:OUT; SFP:1102; SCL:1; SRVR:DM6PR08MB4940; H:pburton-laptop.mipstec.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: wavecomp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; DM6PR08MB4940; 23:9aXdOYhHLfD9tk0g+g7vb2H2u6Ts/LU4FMpJIVWRzgVs/PXQWVWVNp6m9i1F18bsJSMcMsj+nE7yjWASvVCm50/rIxGQHJS5ZLW9FAsM6qyyFTGWb7av1l7s0HwBYnKKR6Lja40+kZxmoSeLkU8x8ShGtTu/cFvpRP9D5w4mIrb++CG671rW+LnnqrPngoDIntHHT0+l1iumE2ueOXc2wwQH/nzfpceB82TeYNLKqe1SGkIWFS6TgInJ91Ece7w1UzxyDj+ICvM1J/tBFO5YO5mLATIhahPMrt3AKaJphCNM9LSa79R12n9wNcrox7gvT9dVg2EbgSfD564oIvC+/w0H37wcaENQYg6gGadZGalF7s2XW7Cn7G4DqNXF4iYKAA3brKZidZb0HJ+BcOUxKAh4/8VNYROe7hH4283XLvbFM5b3a18Zkd+vu9kEndOtUmd6K7yZyIuambZNx3EQnrOlSNtIjjJw3mR4n2BQpv1WBA+H2TLCfJA0/3Bx/WNdDWZqXEFoJmPeqOZfIPEmB+NSovQ6TqLs5eH6Rx7iuWQyErBu24djrt2l6PO4AaiNcFPkqt8VnTfhg62e+WgHSiXAn6jgiTwpIgYLaRDReQ/trXcNSSd/b1qRzVi/wSoxn837SqLDdBWtiRl1yJyGD8uvW+vcKYlFTQLA/vgqd6OGZKqv79GUEMCm8kexITm59H62EHLeFn81+vV7RmwmSLUUiHP0bWP7TC5hMznn1UCKtSU7h2/sZgNU8cA6P7758aMQ80+fcxclQCF49AYH2Mxz9E0JJEQ9DLd9Y8qNinE3zDcZLXicleQdVjQjYyZDywy7Gqz04UU/BGjbLMQdzliR5AsDCJPhz7tvHeLCe6cM8BSPpdI3tgQmrXmhs9Cxci6UfQkwbzvGCqGZ948VTWSBsOQLLVwdC9LsLXgwefiDDUbsO9SjmX6bJyU3BHzLWlfe8+yaOC1jKT4vqM5/QG363JvcKTz3E3nq7RHlRRq8fZlr8Su/9jG/BkXoWoPK5kNNrMMpPFyVzDLVvxNAcTIdqpnnvxRmTi1MKUpUUrRjs+GaG26O0ppr6vCafDxGw8zbvnkuF6rzeylv2rOWSfvK0UTTlArO369ebYFiJBpqtmqIQoGf8WMF8HUlzGsuTza4t2sGEyxmM6kVNjeBO1UYLgPsuMf42SNlnqKJKOOYYlKCHArtJWms/5+/x8IuZYoSbg1ybC0hjw07ODnU/Ws/8VCxZob3zDJpEeSMQp3HBZfWZxmdLlloXRER/6elBHs8/DjNT+J+MvNnQU4E2JFMo8nNR/F0akm7KTTLWkpUaL7TWzJRy4tI4lIbOrf/FUaCcBRumazXTPPcD8ao3w== X-Microsoft-Antispam-Message-Info: 3VE6S6+aPTbRh4GmkJk6YkC0e56dSJ1jeGGScUW92CKAl1hlp7wZ/G0jNvOpFd7jh0TwBvvq7Te75ffrImm+sioOxNxpXgmKV2cakvez3PzGlDI09S5IMtVpBlpGv3qzjcARm+W2EiiMZaR2OvkSIo6QKH0iIVG5erZ6ZPFgGdevKL1FxCNLc9drEBqLPsiJuzQMS92m/TaRCKFGeQt/3B2WP6ax2FsH3cnyUncMCJpSAIEcUIbDX2mVJO1kPxi5m+QJz7KLjrbl+FbthGPIcsudzHN4jVJ0ryXErEx5OIj5oNiCNK0ccu9O68xtbiVzeagbSLqbjlEksTPON0M0lUD84a3pQxX9D+rKsv1CyfQ= X-Microsoft-Exchange-Diagnostics: 1; DM6PR08MB4940; 6:h1KSLtbb8cejW8U/3yzf0bYE5Ax25dXMjvgvk2QP+phK7RxrTBICcqjRjvyWri6pm5dgsg/M4r5nJnYEuPFGDouyGwOq9in9hXKNrFEmBdqcp/WrM2zg1nM/b2Uc0fUuiB1TS80KmrPEP1D/a/LUwBludRlgizBzIxT35a9i9VE3wwkXUI6jUg4VEgIq4sC0HabaiNdC6OYDpnyaiNQ1W3Tod5jZuHOAKCXOCp0zjH6aPohEtJGVLBxDk0/K5BYcDxaRiQZPt2YtMZ1ftqWdTNZy/Jbn0QZzItZcG1flx5XjJVewIQ9uLtpYrcyDHXzcZmGS2qm5dVxkbpbrX0q0yPZLmyDLbBai9sSoSd13OCG2rIdl5yQd47yFemVhLhZIv4p7cLyLFjHEIc6jKtdv/YF30MdJv677VwbHKfz50cTiGFQucZ6i0tpwZDAKz/3Rs3aTM/V+9jlMse/gdmyztw==; 5:EszI4aY9Kc2JhcZ0dcCeEckAb51v70YZ9gQZQ219c+HLfemqMFDgm6TOf3gb8+HJJYuTbIwZKutlWlQFWxXdmUgucRnjb7U90zc3zfFVv+glIpyWQQq9JaPXa+2LnfgBVVQb/+4cWJmd5D6S8xtKaBbcLvmsw92lVUVR7Vva/U0=; 24:0XIPd7VAezNhL/PRx/iUSUN3KVZuBu+lnT88vAEmqBCqCV42cPdfl0gnKo4l8n7h8i1mme0FeziPAP5+adkFT+ogzg3AMy62INHZ1P+gx6w= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM6PR08MB4940; 7:3v9iw5qGd6cjRN+qvQ7clKLb3QGJSX48p/v7C1JTpQfABe2Y95RAufUnlfgvrsgRlXPSnksVBz8O6W0VBuRM9NUhESG+AvSC9eq6tWacKrdgkJqFcpYlKTUiFOjx8ULzKAHLoXMbuaiT/2r/aFms8DI/kwImXAG9qcNWYBU75bTmRm21dLhEFFTk7bUJ8dpcaKvZT9nq3xLxA+CIGeB3+f4sydXcbSQWuMLHV2m6JfVx9f4WlXtaPzr6ghIw3jvs X-OriginatorOrg: mips.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2018 00:06:35.7569 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 503cebcd-bca3-46e9-5527-08d5dbc1d926 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 463607d3-1db3-40a0-8a29-970c56230104 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR08MB4940 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org We should now be able to cope with the PHY entering hibernation, ie. ceasing to provide the RX clock, whilst the ethernet link is down. Remove the code responsible for disabling the AR8031 PHY's hibernation feature, allowing the PHY to enter its low power hibernation state. Signed-off-by: Paul Burton Cc: Andrew Lunn Cc: David S. Miller Cc: netdev@vger.kernel.org Reviewed-by: Andrew Lunn --- Changes in v7: New patch .../net/ethernet/oki-semi/pch_gbe/pch_gbe.h | 2 - .../ethernet/oki-semi/pch_gbe/pch_gbe_main.c | 5 --- .../ethernet/oki-semi/pch_gbe/pch_gbe_phy.c | 42 ------------------- .../ethernet/oki-semi/pch_gbe/pch_gbe_phy.h | 1 - 4 files changed, 50 deletions(-) diff --git a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe.h b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe.h index 1bb0ea4f5503..f8acd8031951 100644 --- a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe.h +++ b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe.h @@ -542,13 +542,11 @@ struct pch_gbe_hw_stats { /** * struct pch_gbe_privdata - PCI Device ID driver data * @phy_tx_clk_delay: Bool, configure the PHY TX delay in software - * @phy_disable_hibernate: Bool, disable PHY hibernation * @platform_init: Platform initialization callback, called from * probe, prior to PHY initialization. */ struct pch_gbe_privdata { bool phy_tx_clk_delay; - bool phy_disable_hibernate; int (*platform_init)(struct pci_dev *pdev); }; diff --git a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c index 721ce29b6467..c9b064ac06a1 100644 --- a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c +++ b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c @@ -2622,10 +2622,6 @@ static int pch_gbe_probe(struct pci_dev *pdev, dev_dbg(&pdev->dev, "PCH Network Connection\n"); - /* Disable hibernation on certain platforms */ - if (adapter->pdata && adapter->pdata->phy_disable_hibernate) - pch_gbe_phy_disable_hibernate(&adapter->hw); - device_set_wakeup_enable(&pdev->dev, 1); return 0; @@ -2663,7 +2659,6 @@ static int pch_gbe_minnow_platform_init(struct pci_dev *pdev) static struct pch_gbe_privdata pch_gbe_minnow_privdata = { .phy_tx_clk_delay = true, - .phy_disable_hibernate = true, .platform_init = pch_gbe_minnow_platform_init, }; diff --git a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c index 6b35b573beef..561e71880c29 100644 --- a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c +++ b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c @@ -78,9 +78,7 @@ #define PHY_AR8031_DBG_OFF 0x1D #define PHY_AR8031_DBG_DAT 0x1E #define PHY_AR8031_SERDES 0x05 -#define PHY_AR8031_HIBERNATE 0x0B #define PHY_AR8031_SERDES_TX_CLK_DLY 0x0100 /* TX clock delay of 2.0ns */ -#define PHY_AR8031_PS_HIB_EN 0x8000 /* Hibernate enable */ /* Phy Id Register (word 2) */ #define PHY_REVISION_MASK 0x000F @@ -335,43 +333,3 @@ void pch_gbe_phy_init_setting(struct pch_gbe_hw *hw) if (adapter->pdata && adapter->pdata->phy_tx_clk_delay) pch_gbe_phy_tx_clk_delay(hw); } - -/** - * pch_gbe_phy_disable_hibernate - Disable the PHY low power state - * @hw: Pointer to the HW structure - * Returns - * 0: Successful. - * -EINVAL: Invalid argument. - */ -int pch_gbe_phy_disable_hibernate(struct pch_gbe_hw *hw) -{ - struct pch_gbe_adapter *adapter = pch_gbe_hw_to_adapter(hw); - u16 mii_reg; - int ret = 0; - - switch (hw->phy.id) { - case PHY_AR803X_ID: - netdev_dbg(adapter->netdev, - "Disabling hibernation for AR803X PHY\n"); - ret = pch_gbe_phy_write_reg_miic(hw, PHY_AR8031_DBG_OFF, - PHY_AR8031_HIBERNATE); - if (ret) - break; - - pch_gbe_phy_read_reg_miic(hw, PHY_AR8031_DBG_DAT, &mii_reg); - mii_reg &= ~PHY_AR8031_PS_HIB_EN; - ret = pch_gbe_phy_write_reg_miic(hw, PHY_AR8031_DBG_DAT, - mii_reg); - break; - default: - netdev_err(adapter->netdev, - "Unknown PHY (%x), could not disable hibernation\n", - hw->phy.id); - return -EINVAL; - } - - if (ret) - netdev_err(adapter->netdev, - "Could not disable PHY hibernation\n"); - return ret; -} diff --git a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.h b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.h index 23ac38711619..a80644b4fce8 100644 --- a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.h +++ b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.h @@ -30,6 +30,5 @@ void pch_gbe_phy_power_up(struct pch_gbe_hw *hw); void pch_gbe_phy_power_down(struct pch_gbe_hw *hw); void pch_gbe_phy_set_rgmii(struct pch_gbe_hw *hw); void pch_gbe_phy_init_setting(struct pch_gbe_hw *hw); -int pch_gbe_phy_disable_hibernate(struct pch_gbe_hw *hw); #endif /* _PCH_GBE_PHY_H_ */