From patchwork Wed May 23 16:39:39 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Lendacky X-Patchwork-Id: 919186 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=amd.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="uE1yS2E0"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40rdXV14Jdz9s0q for ; Thu, 24 May 2018 02:39:54 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933592AbeEWQjv (ORCPT ); Wed, 23 May 2018 12:39:51 -0400 Received: from mail-by2nam01on0071.outbound.protection.outlook.com ([104.47.34.71]:53072 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754728AbeEWQjq (ORCPT ); Wed, 23 May 2018 12:39:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UN8iKlB+ZnFEoWtKV/NCFronUiTiYeA6E1v0FWrgjqY=; b=uE1yS2E0j5GZdgJ9WBnVF2RfzQhBX5DIFBAF1UKF9HtO7DKzeXzceyjrE9Ihvd6Vl4efa3Zs2l5sYb6AQ9YYkoxAWPxG/3t52MwbQflv9mpBV1VWNJaDGbT/wtwn+fc4zsVXHO36znfGxu3Wn51MlcnsP5z+YVTszDhaMLKITH8= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Lendacky@amd.com; Received: from tlendack-t1.amdoffice.net (165.204.77.1) by SN1PR12MB0176.namprd12.prod.outlook.com (2a01:111:e400:5144::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.776.16; Wed, 23 May 2018 16:39:42 +0000 From: Tom Lendacky Subject: [PATCH net-next v2 11/12] amd-xgbe: Update the BelFuse quirk to support SGMII To: netdev@vger.kernel.org Cc: David Miller Date: Wed, 23 May 2018 11:39:39 -0500 Message-ID: <20180523163939.31625.26513.stgit@tlendack-t1.amdoffice.net> In-Reply-To: <20180523163802.31625.76572.stgit@tlendack-t1.amdoffice.net> References: <20180523163802.31625.76572.stgit@tlendack-t1.amdoffice.net> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: SN4PR0601CA0020.namprd06.prod.outlook.com (2603:10b6:803:2f::30) To SN1PR12MB0176.namprd12.prod.outlook.com (2a01:111:e400:5144::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:SN1PR12MB0176; X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0176; 3:CPh2loRSY5NLbHOjc0StYLNKCGje5OIW0pFogvNIN3NGxbB6pemlikWueFfvG5V51B/pbAmq21an6IcaVtjV9a1v/WQ9Vp8YZKXkTSHmC45jkseqHFjP3Ti4hGBgKt5lbpdRRhObbkdDG9F8r3kyfPmgMmJDCRRCrkeIm0sbxX6wCNI/gYEOoRTZRhiKRL2FZxFWoRKTWljWA5mqAesvRklwG2eucQmCUSdh8aWbIBdMQxK/tncQRnod2oYGXimT; 25:b0ivtDnX/nwk/90plLZaj7hXy3/GV1tw4wTPkJT1CbeksOGruCKb7vUbT7VNznNc2CM27VSLwRQUdZYRLEkCYW8Nlisnb+/1b2nLO+JEAPlBk0Th+XZSMgmkJ6yk30SvVdfxG+F/mNWGEHlrz8SXObKcUGWgD6qr7s15OuAnp4fpdgczF5Fut3uJMwYNsqRdfe8tBv22fKTbwkvQdr1AoKDYpNO3f8D4mnhTXmbrxfyGzJO0V3eoCK61RGJ7cVA9MVeMShP5Visa6OhcvlDco6Va9oBoXO9ogy6jqcEVjagWUsv1h6u2juZ9uEOm+oXKPYOPTnbwxL6un0zy+lt+sw==; 31:I6kvXtxvt0j1XIyOIrWCxJ60S7NxDwp7dlf2Yfg0IRJXXf2FMGIpuGlM1a0rrMOYPIB3W7cbYVeid1heIwbtlqgJmAwKWYGIMC8pETfyX5kfIJnDXdKM+ERU9/PiaSpaNvZFRCh/rgTvJlP9t+qQxY/pvKjiRuqCUN8gDWM5mBSXV1eAmrvZWZzPA40LnXeFXy3rErxeXw2ug/AjZ79Ju7i+xFAznb0PrgzcSJ1n+r4= X-MS-TrafficTypeDiagnostic: SN1PR12MB0176: X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0176; 20:Fz1h2NxirJxuLbOKyjbTn+toD75XAR98K7uE/C6FLA3hjVhTeu7+DEhGXZR2bWyl0gjQOaJQW7Uq30IeTyzBiUK+MhNH2IeWYwbIe2+vXF53DGANiKIgQDiTpSpRJu4k9qipmUCed0cg70q5QeFuK1rUi1sfGpbYCQ0t/+y+MtqOdgqoG86mTxL0Vt9DfM8s+nWmE8yfvHZ3hOkGaY/1S+j0iVgsrSyZbrE4iNUdn63acAgPnkjo9UhGVi3e8/94sVgHg68MWRy+HErO+vRQ+CiyRYsscpKpKK4HjJjaBwz2knFx5cx7oGamuUHtZwff0ms0cef5tviALS3w30bJSCQBx44aYn8CVseV3BIFetFlmftRkgVL3KjcSYBC6QMxf79mS2NUi2Fsf3Qfmwi+NWW9V4YG4oB0RC6pOJq13djEd5OjIyYxUozP+qrAdcL+xCEhEJiAas4zhIKfWPd8eCvxe9ts5buGEp3QtD71uTeEtChOgCZZcGWCSL9zEsEB; 4:lEms5bTCTErX4Di6FwUvdKUOIVPyViH62n48sXmKJkAGcw/O1pCqu/PV1yEN6NbicRG45dujzLZHeT319YVRQW/bWWkdQt0r7osJRybt9o6mP/XMPNRwB+EOoOsEwt/5E1g/d2Pkofsk0ZEMAYM83dPKuy5ZdqKmVqnaRqkrMO7+mhPQSMSoYaz20VF75TtRWkWfnu6B2VLVY0V+LJ8057Hy/NTIzUXT0PdgwR5ttCJa33Go4j3RKETvzC8DIpWgDeKtfKsNIRXQSusJMK2meLXcIyW9qp6c3fbYyhMdlZErfFXixCHnTR2/IuaFIEEv X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(3231254)(944501410)(52105095)(93006095)(93001095)(3002001)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:SN1PR12MB0176; BCL:0; PCL:0; RULEID:; SRVR:SN1PR12MB0176; X-Forefront-PRVS: 06818431B9 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(376002)(39860400002)(39380400002)(346002)(396003)(366004)(199004)(189003)(3846002)(69596002)(50466002)(6916009)(2906002)(1076002)(81156014)(2361001)(72206003)(47776003)(478600001)(2351001)(9686003)(81166006)(66066001)(58126008)(6666003)(53936002)(316002)(68736007)(7736002)(11346002)(105586002)(230700001)(53416004)(26005)(4326008)(446003)(575784001)(486006)(2486003)(5660300001)(25786009)(23676004)(305945005)(52116002)(476003)(7696005)(8676002)(386003)(6506007)(106356001)(6116002)(8936002)(15650500001)(55016002)(16526019)(97746001)(186003)(956004)(97736004)(103116003)(86362001)(76176011); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR12MB0176; H:tlendack-t1.amdoffice.net; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BSN1PR12MB0176=3B23=3A1coa?= =?utf-8?q?c9H/TfmQpd5RAGuXwkwl/tMhd55GUeie9hL4ZiBSIgbimiBM5DqxX6DP?= =?utf-8?q?xu0gMqeKlva+fhwOlops8Rt1Ir7EH50rNcKCrsDN3rgs0QIDgggDHJTu?= =?utf-8?q?XQgj6uW+rVTuks5xWcvFk6BXvVh4cSWVpyilrPD35kjVCOLOnYLNWZB5?= =?utf-8?q?19D2MKUNd3QVnyjms0SKXaCjs97ATalEekjzFP2SD4RThWRKnyuCiXAr?= =?utf-8?q?z36m2jimdyF1PwVz0eOpXf/tHQvhxV6uNuhewegHSGkgRVeh4InzlK5a?= =?utf-8?q?cmJmDCIgB/OqTKCRd5bbPLABFXA6Aa2LaIpZj0ZYxCpQfp/m91pdyFWw?= =?utf-8?q?pgDcAmP+nwArO2clei6MeYwR5wmwvXAuDJfWjuoWMNLxlx1I2wdFZvnQ?= =?utf-8?q?bIatS2sD4sSTxucJOlYwr/FVmZksubKH9UPM+sn8RW5wdQNO0EDlhqm3?= =?utf-8?q?Ap/y7Fdr7ZnXlMo1YyTb36te+S4L/+rEg9EdIa0mcpQ1qhEgg7wEynkd?= =?utf-8?q?e1dARUMbUlHR/Umv6nKyS776kvavdLEvyS+z5B7aRWc3SfHHwxrOZbdA?= =?utf-8?q?UIZ+XwrCZmNw4sq4DifSk9id4LlD+7wEgeCi/o6XUShFMredlGS/KSTK?= =?utf-8?q?2QUyQGosSThkYaWj8jbwMvi5O6hUdEbXNkJS4MqKO7ZFXxkiwCSu3Q0A?= =?utf-8?q?n6GPjfhuN0t8wvZVtVkM7efmaYpOC65IS34D3sHpHihxbEy6TmYoWjz2?= =?utf-8?q?rySr7FGSIHxV8hdcyjIxjzAUI3DB2kqSyW5R+JYW5vv1k/X72aDjNUNl?= =?utf-8?q?f6/Ebdw3OZZo529rJ74MLX/TgQ0i8VFnjQYi+2rO0/EJKWH+2rrr//dp?= =?utf-8?q?7TpJO07LwiWXJhx6EfV9eCdHV2YnYnswd2fUNbesNjltdobp5+GK6UC2?= =?utf-8?q?ZSqQGs/aQykgo5wqEAh489dV8SyHKbrnb74TuEl1Z0dhmyo4/xdu2pWh?= =?utf-8?q?0AfkdHNF+mhou7xKtHwP20LEKFPQFtL2sncG9aYlFmbHLEXF6LJ/01S1?= =?utf-8?q?L1DCZi1B5VyRyX1+2FOltn44DPBqR+kgFbOPN+CT15o3i58/FWnYpkfp?= =?utf-8?q?rWafCQNgOSOB85h6FdnDAT/BW2T+/2S6EjuHqFiJPIPbouBNBvKRznYi?= =?utf-8?q?FC0gfbtORVMTm0JEMNYcmEuu2cbhMT7ThIMi9g7ts6gHU3fzjye1n/2Y?= =?utf-8?q?zWqw8C8lm2UtLI9L3pwYpwBXrsjhKN/CL6Z73s9bt0R5tJ+MLDTcn13l?= =?utf-8?q?OvwfVH1Ucb4t/6FqHfj/tO2B/MhnK78s+i4O1eG6OXckUyLqWAqqVj1m?= =?utf-8?q?45pncXn4kiHp7gZl3b8Verlncb7CaCwzAKwLg+oqSnB8HltDe1uImFEk?= =?utf-8?q?jo+jKgeNEDMkI1kD2lgvuxy5rXhLpzKDaN3gwB4=3D?= X-Microsoft-Antispam-Message-Info: SnRZ4Y1PZv7bw845mtyPZoRmict7JTuMY7aEStyO886lMv4yMenQ2WN048UfkqMwgOB50Sk2ko0r/jPRDU48UHHs/rn8XB0aT7tzas80KrvuI0WYoaoVUeVPi6s7h5mKMwfU9DevyuQnmm8PA1PQ6miIGJGqMnKZwEtvUW+Dq78zdG0Vzn0QEXtphnfjF+Sg X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0176; 6:gJ/lgMpXGrmYdLdx/U79ACPQR9tXWmNlFMZwzw6n1RAB7FT8QvDiXnK15nph+mYEyIISYCxas5JEy8pSiGGErLwMVvbM13AhMpkJTlgtte3Y3qz6/SFEVtJ2pBThwp9KOc4BLvhQhkw+RWwA0dj6AY9RIn44RT8k/rk2cmefxPF7nfo38n4ZplMWmT7AOuRSON0/QDqW1XpkoT0KmTlVm/1kQY6zaFL1Bygrn8Y+M2oQFY8CO8zV/lM3/lOn5nbgJTMjLWvhEspqrCHt1UOHKgj0h7XtAge8ERtwGyl6b1Bh/e8+S73O65Q5yEEddBqi5dhvVoDs6LHV6vA3Jq0vgHBW5DBUr81RPzI7vVAHsnWHCBwDLUu8dx3t82m/cDI6GGoc+6GGRlH2ABnMkvBzAojhcUTEPhq2n0LyWlTa0bl98uL0sRjwDCww+o4wXVpMDFipkRtq5HZHncpD6GRfkw==; 5:BqxFyVSxpeBjD/RR1k18mDac5W9BkdjyyXQVxgeWaoWfgmwx3z0h2zgiTkHv/xmxqenYLDb8zA24c2zK35+g4dW+kYtzwIkXeHxegO7CAUPh70JF9bGdcQ4gmf/QfFGNuT5IwPgqc4LlT0kaVrIuA9qdtQZp/vTEOGLadgVDSL8=; 24:e+/fUnvpgAObx7KkeTG8EKrPYCOJS4J0nVVcXB8d2zCfkrIyJVdDr4QVGgEpO5wCuF2/HMUl8i8vOL0zb9oYqgrs2750UmPrvatbviHf6/Q= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0176; 7:8tTWafYUzGNhLSqwHrl9ivjip14a9TivvR+D8NBZwiTwVhTrrrorXIgLR5yNZv0alxPjNjnL1YndgkuLzHKI/psDqS3iWdzd1nkrQzH1CrHUeC6DIIPTxvUz0ysPhuN1gU4kg08Tx9flVqmfmJpknPCEv8L3lnflxOjEimHaZiYq95u+RtCSIJbZrlp7INzqLMOvcEGlEV4fdS/srE2KrBYX3zK0+b5xNHc9Bl2MaJMuanZNO3yx25y5Cx9i4h5c; 20:sLfQBrRxs2Q3NCN4e3vY2hwXXk9S78oaMPzd44PIryYq5P9BogsGRk6+rVOvdakmh9EF/r3NLeBeEpPNRHCOdg6eYeEjxkMePb0K1K7SzTlZxjc065RRNtNHumQFfvPeJCoMY+gv2ThmabZTgdoQ7mtbP7XRINGdO0I5+AZbNxAdxSfXX0mz++QjpEUYGLB21xnnGK+r0kfWd21t07e8wBXU/X3f5G7vbphqBAmorgbWHgNU1wdSIpmHwq4uZMtx X-MS-Office365-Filtering-Correlation-Id: 9bcfad8e-4ca1-48f0-9028-08d5c0cbc905 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 May 2018 16:39:42.4866 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9bcfad8e-4ca1-48f0-9028-08d5c0cbc905 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0176 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Instead of using a quirk to make the BelFuse 1GBT-SFP06 part look like a 1000baseX part, program the SFP PHY to support SGMII and 10/100/1000 baseT. Signed-off-by: Tom Lendacky --- drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c | 109 +++++++++++++++++++-------- 1 file changed, 75 insertions(+), 34 deletions(-) diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c b/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c index dd747f6..194a569 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c +++ b/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c @@ -860,6 +860,9 @@ static bool xgbe_phy_finisar_phy_quirks(struct xgbe_prv_data *pdata) struct xgbe_phy_data *phy_data = pdata->phy_data; unsigned int phy_id = phy_data->phydev->phy_id; + if (phy_data->port_mode != XGBE_PORT_MODE_SFP) + return false; + if ((phy_id & 0xfffffff0) != 0x01ff0cc0) return false; @@ -885,8 +888,80 @@ static bool xgbe_phy_finisar_phy_quirks(struct xgbe_prv_data *pdata) return true; } +static bool xgbe_phy_belfuse_phy_quirks(struct xgbe_prv_data *pdata) +{ + struct xgbe_phy_data *phy_data = pdata->phy_data; + struct xgbe_sfp_eeprom *sfp_eeprom = &phy_data->sfp_eeprom; + unsigned int phy_id = phy_data->phydev->phy_id; + int reg; + + if (phy_data->port_mode != XGBE_PORT_MODE_SFP) + return false; + + if (memcmp(&sfp_eeprom->base[XGBE_SFP_BASE_VENDOR_NAME], + XGBE_BEL_FUSE_VENDOR, XGBE_SFP_BASE_VENDOR_NAME_LEN)) + return false; + + if (memcmp(&sfp_eeprom->base[XGBE_SFP_BASE_VENDOR_PN], + XGBE_BEL_FUSE_PARTNO, XGBE_SFP_BASE_VENDOR_PN_LEN)) + return false; + + if ((phy_id & 0xfffffff0) != 0x03625d10) + return false; + + /* Disable RGMII mode */ + phy_write(phy_data->phydev, 0x18, 0x7007); + reg = phy_read(phy_data->phydev, 0x18); + phy_write(phy_data->phydev, 0x18, reg & ~0x0080); + + /* Enable fiber register bank */ + phy_write(phy_data->phydev, 0x1c, 0x7c00); + reg = phy_read(phy_data->phydev, 0x1c); + reg &= 0x03ff; + reg &= ~0x0001; + phy_write(phy_data->phydev, 0x1c, 0x8000 | 0x7c00 | reg | 0x0001); + + /* Power down SerDes */ + reg = phy_read(phy_data->phydev, 0x00); + phy_write(phy_data->phydev, 0x00, reg | 0x00800); + + /* Configure SGMII-to-Copper mode */ + phy_write(phy_data->phydev, 0x1c, 0x7c00); + reg = phy_read(phy_data->phydev, 0x1c); + reg &= 0x03ff; + reg &= ~0x0006; + phy_write(phy_data->phydev, 0x1c, 0x8000 | 0x7c00 | reg | 0x0004); + + /* Power up SerDes */ + reg = phy_read(phy_data->phydev, 0x00); + phy_write(phy_data->phydev, 0x00, reg & ~0x00800); + + /* Enable copper register bank */ + phy_write(phy_data->phydev, 0x1c, 0x7c00); + reg = phy_read(phy_data->phydev, 0x1c); + reg &= 0x03ff; + reg &= ~0x0001; + phy_write(phy_data->phydev, 0x1c, 0x8000 | 0x7c00 | reg); + + /* Power up SerDes */ + reg = phy_read(phy_data->phydev, 0x00); + phy_write(phy_data->phydev, 0x00, reg & ~0x00800); + + phy_data->phydev->supported = PHY_GBIT_FEATURES; + phy_data->phydev->supported |= SUPPORTED_Pause | SUPPORTED_Asym_Pause; + phy_data->phydev->advertising = phy_data->phydev->supported; + + netif_dbg(pdata, drv, pdata->netdev, + "BelFuse PHY quirk in place\n"); + + return true; +} + static void xgbe_phy_external_phy_quirks(struct xgbe_prv_data *pdata) { + if (xgbe_phy_belfuse_phy_quirks(pdata)) + return; + if (xgbe_phy_finisar_phy_quirks(pdata)) return; } @@ -1027,37 +1102,6 @@ static bool xgbe_phy_check_sfp_mod_absent(struct xgbe_phy_data *phy_data) return false; } -static bool xgbe_phy_belfuse_parse_quirks(struct xgbe_prv_data *pdata) -{ - struct xgbe_phy_data *phy_data = pdata->phy_data; - struct xgbe_sfp_eeprom *sfp_eeprom = &phy_data->sfp_eeprom; - - if (memcmp(&sfp_eeprom->base[XGBE_SFP_BASE_VENDOR_NAME], - XGBE_BEL_FUSE_VENDOR, XGBE_SFP_BASE_VENDOR_NAME_LEN)) - return false; - - if (!memcmp(&sfp_eeprom->base[XGBE_SFP_BASE_VENDOR_PN], - XGBE_BEL_FUSE_PARTNO, XGBE_SFP_BASE_VENDOR_PN_LEN)) { - phy_data->sfp_base = XGBE_SFP_BASE_1000_SX; - phy_data->sfp_cable = XGBE_SFP_CABLE_ACTIVE; - phy_data->sfp_speed = XGBE_SFP_SPEED_1000; - if (phy_data->sfp_changed) - netif_dbg(pdata, drv, pdata->netdev, - "Bel-Fuse SFP quirk in place\n"); - return true; - } - - return false; -} - -static bool xgbe_phy_sfp_parse_quirks(struct xgbe_prv_data *pdata) -{ - if (xgbe_phy_belfuse_parse_quirks(pdata)) - return true; - - return false; -} - static void xgbe_phy_sfp_parse_eeprom(struct xgbe_prv_data *pdata) { struct xgbe_phy_data *phy_data = pdata->phy_data; @@ -1076,9 +1120,6 @@ static void xgbe_phy_sfp_parse_eeprom(struct xgbe_prv_data *pdata) phy_data->sfp_tx_fault = xgbe_phy_check_sfp_tx_fault(phy_data); phy_data->sfp_rx_los = xgbe_phy_check_sfp_rx_los(phy_data); - if (xgbe_phy_sfp_parse_quirks(pdata)) - return; - /* Assume ACTIVE cable unless told it is PASSIVE */ if (sfp_base[XGBE_SFP_BASE_CABLE] & XGBE_SFP_BASE_CABLE_PASSIVE) { phy_data->sfp_cable = XGBE_SFP_CABLE_PASSIVE;