From patchwork Wed Jun 28 18:41:40 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Lendacky X-Patchwork-Id: 781829 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3wyWq2618kz9s1h for ; Thu, 29 Jun 2017 04:41:50 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="cUID29kx"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751610AbdF1Sls (ORCPT ); Wed, 28 Jun 2017 14:41:48 -0400 Received: from mail-by2nam01on0047.outbound.protection.outlook.com ([104.47.34.47]:18272 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751559AbdF1Slp (ORCPT ); Wed, 28 Jun 2017 14:41:45 -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; bh=OzCadviz/RpXYKHu9K+Nz0/YzWaMdNK12R0ywXNLjt8=; b=cUID29kxYsRngyVcjy7gffRMZLrhuyXar3ytOxnmL0NgTJqi6sxD66gIL27ozUKe/8adkV7VCVtELyfJrxHjGRgt1QLmUtGpKNUYYHD6h+5wvtg8mL9SlGpAjAwZCgN+6oklC2AN19DWFlDXZg5f/2+8+2xgLjGi0bo6XFsIPzo= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.org; dmarc=none action=none header.from=amd.com; Received: from tlendack-t1.amdoffice.net (165.204.77.1) by MWHPR12MB1149.namprd12.prod.outlook.com (10.169.204.13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.11; Wed, 28 Jun 2017 18:41:43 +0000 From: Tom Lendacky Subject: [PATCH net-next v1 02/14] amd-xgbe: Fix SFP PHY supported/advertised settings To: netdev@vger.kernel.org Cc: David Miller Date: Wed, 28 Jun 2017 13:41:40 -0500 Message-ID: <20170628184140.21972.86283.stgit@tlendack-t1.amdoffice.net> In-Reply-To: <20170628184122.21972.87767.stgit@tlendack-t1.amdoffice.net> References: <20170628184122.21972.87767.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: DM5PR17CA0043.namprd17.prod.outlook.com (10.173.128.157) To MWHPR12MB1149.namprd12.prod.outlook.com (10.169.204.13) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d828fa25-e8a0-4c1c-6a19-08d4be555328 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:MWHPR12MB1149; X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1149; 3:fe0UdniayAGZSdUuVpB6Mc0Sok4bSeqrNgrpI5ZY8SICrzIW55I8fh0NpyU73146FSRm3TMG0zunJLFPUOap9pew16f8oJ1TIoVVvTuiqDQbru9WUxSWWlGg+hi2EA0q5wiMVkzC6pmU062tbLVA5x6u9B6Y2yUILwVUMpK0VajWCb8E9D68/K9zRntd4vxpoxZMxmIsE0yZy4tcfMWPczwst0W0d5hYrHSIVXSntD9G5W6rzIZodA2qkoqv9Eh/hvpAwhBT68KELUUw1B0Y2gzhKEni3L2RR7jxbTFkj9K9HYyjclHhgeqY9YZr3s+uqXK53XuwmedumIMaCAZUODSXe46HwOlm3/spkz9Y7YxiOHguU6LaKuPSP/NZTrpy+2zS2aObQb7B9eUnPwn+BTz1pOziVUsRp+PItUdyQ1tT9766/DMlTr2b5EGYOv2YSnjsrkAUqGfVsMI/Otl0qiqOtLGB5uk4Hrdi1VeZ6QEfP13xZeXtmzajERale0nCSA8BI8Dd7HMCE4fEwu+Xyi2sO4SSLD5ARvKBnqhx/P6hICiPX/vc9n3PoK1bIBAZ0wiZ76MsVGYwS3RADahCZPsSVDYHcDDszFU0VmC/vWilVN3odjRkefluUeWP6oLnFIDau4p1cxxByKOqS/UdCvLYEpLLyg5gUe+0KRsQ6fJqFzqA0tGCnXenhrBJB6YJCJK4R7TMKndZIiNI3sNm+LOXtT535Y97sLcP2YgY52hed2ZtY7GqNO37z2svJXNXLRqm+7AMfqYrOlEZ0dCNSw== X-MS-TrafficTypeDiagnostic: MWHPR12MB1149: X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1149; 25:lsd+/XxYu1pvKxQhWElRNV0HYPnrFZ9Dg7bbw36/JqOgiSx6y8sGhEVT0iSaOKMzB9716Zd7uXWv5W2d0Wf/fudNqSF/dpS5yD2RSBzlxVfacBJku+Lk7kl/ABRvvgrfQN1AWTDfC3aOx/QEmINDc1oWPDJcOpggOyE/LLAKGQW06dZdAp+qpVyBJdoNKnDUvM+cmqFmZOfezjp5gP2lD3A/5GWocR1DXuyXgRE7j7gsLOGyQVh54EET1UEmw/y1r9I7lriG7Akc80wIE2oh5eQfv96oyRp8pcPA2uHLsGMH10VRau3soTFkkVBkqbrdNLvk7+RACgZjNiTjQ7tvAC14qDI9TjuRudK8LEuQbcLIeXT5GfYQxkv00EXUW5cc/lxnSRNzKBxY9xuXr5CaIOMjMWG2Dobs7ohN4FPxiUCx/8l7d/5RHW95mevwAUdttDEWfBIuOZ/wbUR9UCzvLTBoWZU0Soy66lHQm1oQBBrqJg103bixiLkIS3MGC7VP3iwOlIIOkRpw81m3ZkPWAp9cqZ8SzgS1G5xpULne+dPcBGs4cEbDeFhhwjkAWk85s7iwYCtj/3kIKiTlyraUpUtsEiOr1D4DslDeXO0MPawNoLzChCY/RS7vOd0V/ip2hTBI/SKkVxJ0uXf+/tj7eIuJ20KVCUCvx3XsCwQBmWYWLRG/dhGgzINeKue/BksPm1GCFZQeAorLrjf3IAmTHccEeoZ7Nbgvcdl8EBwoVUDnCXGI+18dVCRkhoeZhqSu5gESOJDfouPrflcYqHXXFm9hgBUZJEjbX5DQ6zCsKRxXZd+09fXtPAv+bHKreEectJm2dKoCLESdzZINvrYGqK9Zs3qMsT0HVApwHhXY9x+Jp8gCyXi6DVtSYdSlelHmJHtTM0UNqdK4g77ZG1jkIXr60wOAdCzIcXnXPfNytzY= X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1149; 31:PlcDGD4S9WFTyUHYqgHOpMQqMcVThHTMkooP5c7SWJG7Ah5xy8PEhp7wbHUYeaCGt1GFH5pv+QMQRDG0XwUIx7ZlxhbPnl1QcdUxij36s+uuXT7IcWYZ5Mxj86Ykr1ljfFXaR3YjfT3yevPTv/y7HeEED3r7goqGsg1g4EIxjcEMcfTJvFH5lzjfUAMShOsJabsNunns8jEA01MAloQtJXu/7M+4h3T3RAVTumt8+2KA5tbIn6szpWy3nEzJlm3KlISR8tPVlOe0MTglOZkzH/3N/jYWZak6Kv4MIZdyAT/A3yf6L7plzrVVWjWC9lqCJ58pxGbwWYp+Jx6yGZBipSB0FNW60GMHlzXCWUAY/RX9MMCB60bPbadex7ePsjqdIHuXst71mvnKjwm/R3DKpJrrRHJtmwyNiRL0y1xaAnmHZ5exXTfSHCEYxF9mfE3rr/8+uBsLOv9G/eadR1wPHXkJQBIsQEJUjnNWrMp1NrXyHcULS0q5BrKQJSRAesM+UQadrRTmmQV1pruR89BrdY+gXmKnA2nTzP6pSYJNgaw9phL4ecJnTfCjuLsbbku5UQy7Ft4ByOzwQPe8dDJr2uNc6yMXyo06STciHX2++PYHCi98xA65qXMIGsk8JAOBFXhpLjQPFQECEVXhmtWI4QbYeaVdjQO7mN0niR2nS0g= X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1149; 20:Kg0UHkVkLb0FDmFlTG+GUKBESsuj+Zua8Wt8aZ2L0Sm9swdQlPmRchZd52wQuQr/icXuh+JhmPx3vY7EpPgmdsKmQBbX/fm1L4JAXUMd4gXlyrdJlE/eu9GrjZ39yVRlrySpDt2YNIs1mNPu06Zf7w8skbFTl+5YyakPlNChLIpVjF96jnCBNUT7iTAfoLBbIu/Ba5qCZv5ndyFIdIeiUKJaKdSxFrD5eyDzv4A6wZ6X5prNUhWcdLWR3Bzp7Kx73ESpcle2jJAUJci5fZn4cs6iyowAXaaWCqZ0Sh3vVYIYaRR0OOZB/v7xeHiLyiSMObMIIoYWN3UVWUhVBIJXvbRYkDgattXHa7hkbCsWdErUHs+djTBPbDHcNICghGc9UI3Y72IEllK4gRu8eXJ9bQDAO7crilGOE4FbBwp7y9swk4y8xrevkd2wZFlz47w2oqefxpAYR4XAUEcBMCa2gTzV7Rq35FrzMG70+BA+MUxOUvlHxp2cjYKP2gpYo7OA X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(236129657087228)(767451399110)(167848164394848); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(100000703101)(100105400095)(3002001)(93006095)(93001095)(10201501046)(6055026)(6041248)(20161123555025)(20161123562025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123558100)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:MWHPR12MB1149; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:MWHPR12MB1149; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjEyTUIxMTQ5OzQ6MEpVRUFxUmtaS2o3d1FUL1VLQ2MyWXJFbWNi?= =?utf-8?B?VWdXazRtSVdheC9wTFFpSG0wbzhjSzIwOHd3cFlpN3lVZ3BOZ3VXUWVQWStB?= =?utf-8?B?MUxPU09hdWNPejZFd1BBazRHVmZWbnE4SGRTeVZXZytPcno3a0RiR0V1T294?= =?utf-8?B?Z29TWUNoaGszUStyc3l6UkZYeWpKZitNRGFEekRDamx3Q1YvN2Y4NG1oTEVT?= =?utf-8?B?MnFmRk9PSTdwa3lHRXFGeE1hR0hlZmhURjgxMWx2QW1GUTBKQXB1MWovaUtw?= =?utf-8?B?YkZkbkJQVTVVR052Uys5VXdtcnZROGtBRE82QkRTY1Z4RlJROVp5Ui9Pcm5Q?= =?utf-8?B?NHJzbW5TV1h0NHUzK0s4SWJUUjJaNnhOcFBxT1pjT1d4MDU5S1pLaWRHeGs3?= =?utf-8?B?NEJQN2s3TUhKM3l1V2NWRkRucWlaYkZjT2h3UWJNNER3am5GMEpNaE9ncHhx?= =?utf-8?B?VWdlNGlXdXJiaDZYR1p0U1dIZnJmTEgzZVBUelNQMzJaN245WWNFeHlwUi9o?= =?utf-8?B?L3BmNkpUdWMxUkNSWFhQY08rQVp1Z2RJMVlqNjRkWk53eWp1TlI0NTc4ZnZC?= =?utf-8?B?bTJsVDhWUU9BSDI1Q0QzM25TY2l5NHhXbE5HZkdwd1MyNWNZYk9ndTYzWFIr?= =?utf-8?B?d2pzZ0ZTeC9pYWgrQ0t2NWd3ZW9MNGY2eXR6YlljUzcxT2dkWnd6Y0ZjMmRy?= =?utf-8?B?OGpBTDIrUEFKUGxtbVRRUUJmUUZmVzcxZDdFdmJGa3VUQnF3cGZIeld1c2Z5?= =?utf-8?B?cTFQOXVnaDNDL3hYcXhhTk8xYnZHUWlncVRsdVB1am5RLzFnd2czSnlmWXk1?= =?utf-8?B?NEdQNDA1T3FSSFpDRGp1aHg1VUJXVGN0TzE4enB1V0E1ZzBSVDErdnZNcU5F?= =?utf-8?B?Nm1EK3NsWXhvTG1mUmlnd2FUY0NVZ2ZoR2NGUWNJUG9FSGNIZ2w5TWVlVStS?= =?utf-8?B?VmwzQ2JQZ1B0akU0WVc3V21vTHpaU2pxUGtQbWJmalNyTzNSek45d2kwZ002?= =?utf-8?B?QStGSWZuZ2xzZnlieGUzQTdENms5Mm1jUlVmQXg4L3pqKy91eThSc044S3FZ?= =?utf-8?B?WjBENE11em9UV3k1NktLNldpYnFrRllkenlhOFRteHAxcVFwb0g4cmJJNXdU?= =?utf-8?B?R0d3Q2FVdTAxcUdSek1MMFJoTHUrQWVKV0w2K0M0cllqYmhwSThoYTdZMTZR?= =?utf-8?B?Z2haQU5rV0NYWDBkK2tmLzhDcGM0UFE1eXhoSzRBVHBBcUdHcCtWdWpybFQy?= =?utf-8?B?ZHZXcFFpdkdTc1pXSkY1TTA2UGZvcWNkQjBBNE0wNGNaZmFMSVpjaVhsYW1s?= =?utf-8?B?bnpWYzdpaUFRYzQ5cGZtUWRWWUdNT1QxOHBWaUdtZFF4OWtCWlBnemlQMGlB?= =?utf-8?B?ZWJQNjJ0NmhrNmFnTXhBeElsRHd1OG5La0ZaY296SHRIZjNjbWpwUEt3WUpL?= =?utf-8?B?OUlBbTdndWRXUDBqdlpYTHViRDZ1RXU4RmlNMWl0Q2dIU0tpc0dmK3FMNElm?= =?utf-8?B?VDdPVDlXSzVBTGh6K25jY0ZKYllPODltL0dQSE1Ud1grYkR1UGw4RnJ3QWt1?= =?utf-8?B?Z2NPVVJOc1YrdzdsQ1lYVU0wQnFwcW9HVnE3M25YYUFRTDZNd296THI3Vndh?= =?utf-8?B?RVA2NHdaNHFKWnpyWldUVUxraE1zdGJsYi9lQ21JbUZQalFpS1JnVzdFNFhn?= =?utf-8?B?MWthbFpuR0FRVUZhQjhWZFpkS3dlb2dmU1dnR3ZOaXF3L3BXc0pxNDlqN0tk?= =?utf-8?Q?A0BxzeQ44aUEK5yx0+HRy5sPRd5UAEhh5dEg=3D?= X-Forefront-PRVS: 03524FBD26 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39410400002)(39850400002)(39860400002)(39400400002)(39450400003)(47776003)(76176999)(2906002)(50986999)(42186005)(1076002)(83506001)(54356999)(66066001)(53416004)(8676002)(305945005)(4326008)(97746001)(7736002)(5660300001)(81166006)(3846002)(50466002)(230700001)(25786009)(23676002)(86362001)(6116002)(4001350100001)(9686003)(103116003)(189998001)(53936002)(6506006)(55016002)(33646002)(72206003)(2950100002)(6916009)(478600001)(38730400002)(110136004)(2351001)(2361001)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR12MB1149; H:tlendack-t1.amdoffice.net; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjEyTUIxMTQ5OzIzOnBNOWVJSXNOL1FwZG12VlROeEczT0lJY0RJ?= =?utf-8?B?a3UrdVh2RnZYOUhzT2hTSEtsS3pSMzZDSldFZWMxQnVSRGNjRk9VTW5Cb2g3?= =?utf-8?B?MURXekpYblpwQzFxOTBqLzR0UlQ5SllzVy9JTmhaYVR1cWVOeHVqVGp5MUF3?= =?utf-8?B?OXk1R0o1TU1pRFNXcFJpQ1F2TkltOUJUVUZMcVl2TmwvREkyZzFmRVl4bEtR?= =?utf-8?B?TjdIeEM5TURlZHFmUldxWklJeEJvcWs2anpaMllwSUUrY2ZJZjBVY1VvMm40?= =?utf-8?B?bENySWhZdEwzUFdTTkRSTWV5NWtPS3A2N1p3emNrUTBnZGs2WExRNlFKajY3?= =?utf-8?B?ZVJFYVBQWm5ZNStvT0QreWE3U0tRd0pVOS92ME1EN3M4eTdHTjZJWUw5RDVz?= =?utf-8?B?dzlDWlVTUjBzRUFvd2ZOSEZTeXVmMkcwa0hIckt0d2dyZHR0NHNtNjR5ZFBX?= =?utf-8?B?VUdMMTIraDN3MDlBTUt6aG5aQ3hPNTEyd1Y1dVJMWWdEclZnc0hjTlJJMDdn?= =?utf-8?B?NmdMb2VKeWJNNTRjWDJXYjk2OUdTSnFicnlxNFpJV0tWR1BzVkI0aTJwUnlB?= =?utf-8?B?eDZkMCtUd1M3bkhCb0tqa2ViWVIrbG5JVmNOdTd2SnpMY2x1LzUwZDRMMGMx?= =?utf-8?B?V2p6VVI4OENNdWJmS1dYV3dxME9BL0E1bTlxbEM2M25VRExqQ0d2anIyTGNh?= =?utf-8?B?NHRZS3FieFhOYmJpSGlLVkI4NjFJTFErZHl5TVB2WjUxQ3pYQkc5WWdISVZw?= =?utf-8?B?VGY4bzFSNlpVd0RjQnNsdkNYYnN1dndTK241UUVacTJhbXNNclNsSzdIL2hn?= =?utf-8?B?RGkwRzlkUmx6d3NHdzdRaUR3M0c0VFJEaUxUVllDYk5KbzYyNGdWTEI1cEQ1?= =?utf-8?B?bS9SaHJwcStXc3JJVERiWWt3Q0ZNN1MxWHUzRUlHTy9Sa0lYUzc3dWNYUERm?= =?utf-8?B?NmJOejUxN2YvSHVsOUExcUVNcVhHUWhUZm5TalNFczJsdGp0a3VjM3JIaTZ3?= =?utf-8?B?QTRqTnpiY2RRM252QkNkR29GUmswMjkvUXRFZjVoYWZvaFFTbldvZk1IT2pi?= =?utf-8?B?NHBIMUwxU2xyaVZCb29YYVlENGEvZU12cCs0WDFTOG83QkpGOVRXT0ZGSGJM?= =?utf-8?B?MlFISUVqM2JHOGp4eGJITjhNM09hVzVhalJwZTVvYWRQOGRiRmlJb3lMU1J2?= =?utf-8?B?YTg4NWlwVm52ODVRd2pZU0N6ZmwyY1N2dG1KSkFJcnRkSGVtaHg3UXNpNFVr?= =?utf-8?B?dm5vdkMzZ01XcTZtcWJSY1hGUFpnQ0x2MUhpRXNHMHNaWmxVSDNxbVllYWlE?= =?utf-8?B?cFdZNTE4TTA2UjVodW9HTXZkSUQxLyttRndVdWhZaXRFWS8zVnM5eHM4RFc4?= =?utf-8?B?YkJTY3h4SEEzSjFPT1VhbG5zR2hLYUxKd1lLMFJBbUR4bk1yVTNMYzFGS3p3?= =?utf-8?B?ME1FMWJwbGd2NHhPdzhEdmxXQzI0a0FvSkF6cmMwNFkyMDRjY2FrK1l4Nm9q?= =?utf-8?B?bEJoYzRFVVNlTUlBR0EyMnErVjBNOU1QdnJZcTg1OG8vV3JzSlFRV2RpWmdH?= =?utf-8?B?N0hGZGVMUUxHSE9MenFieXYwd1dNOTdwWTZOMks3WnFQMWd3Q21xakxiUFA1?= =?utf-8?Q?obWK33JwfgyOuooDXK6l?= X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjEyTUIxMTQ5OzY6cFkvWTU2WDZac29ubmlTR09iNVZ1Sk1NYXZO?= =?utf-8?B?ZEJYMXBSVnRZYmxOTVZ3dlhoWi9zc05mRWZzU1RSOWs0aWRqYVduZndBeUoz?= =?utf-8?B?TWR6djZHVkFVY1JucnFOdkxjVzc2SE9KaUJ5akw2TC9xcWNwcmIzSnhNaXZD?= =?utf-8?B?cHlZREVLeXl0TmR1akpTN3lPbVFpUnk4N2tZOUE0RnlhdXJpTzZVTVIrL3FV?= =?utf-8?B?MS9XM3JVd0MzZGMrdFl2eHdrVS90Z3hjTGdHYytDaUJteE12K2wvUWw5OTVn?= =?utf-8?B?Z2gxL3p5OEV2OFFBcGVrTzhJemo2QkpPQjRRQnJNN2FzUkRvTVBlMEdHMC80?= =?utf-8?B?dEhCeHRZOHhaMFFyRDJ0a3BlV1FEQUlTcEhsdnVTQWFBMVhnMlpOU0p6Ym5U?= =?utf-8?B?K3U5QmtDb0tnYjc1QnI1WVhNVE1nTS9ncUZZMmtNcVlvcHhGdzYydDJsYmRG?= =?utf-8?B?dE52OGJhS0ZGcitpMmY0R3dyTUxQTDU5UmJMZFZmQlNVU2Q3ald5RlQxYjh6?= =?utf-8?B?RkRaTnMrSHd2bm9jTWYzYTAyZWkzeUpsZEpVMi9DR1FRYVY1R3A2UkYrVDVB?= =?utf-8?B?a2M5c3ZHSmM0NHg5YUszYTExRWh0cWtILys4REF0cDFyY2ZtdUNRM0E3V2Iy?= =?utf-8?B?alAxOEF1OUJ2NWh4bi9xeGtLK1N0NVFLSmlBSzJRRnZQUzFHNEEyeDNWcVh5?= =?utf-8?B?RWpHbzFrWkpZeXBvRCtueUp2OThONEZoREV1MFZhaVdJSFE4TjFVWjVFQ3dZ?= =?utf-8?B?TndkNW9JZTJSVG90aWdObnZiMmtCcnR5RkhEcWxWU2UxemFoLzJ3eGtKaE11?= =?utf-8?B?blRpZjBxNi9uNTcrNVVOdWZHVGNsaitiVkZKcFNwSlZiRHlKa3J0d2lPOThY?= =?utf-8?B?WWtWbTRwV2NCcFJLZ0tDWFBXVDRVZGFBWVlnQlVYOVdTT2tvSDkvbWppMkhs?= =?utf-8?B?N3N1OFVIVVA0U2tIZUwxSWVkZStPdjhUNmY2LytISWZSKzNVTTNKVXBJbnds?= =?utf-8?B?R2NoMGxvSENBQWJHdW8yL3BRcVZJV3NZcTMvWityZDNMUURKSWRJQlBrQXQx?= =?utf-8?B?TTRVL1JOQVltMzVwY1piN1pWSnFFR2xxTlZKUE02Qk5sY1Y0TlVRYjJycnhB?= =?utf-8?B?NUQrNE5HbDh6NW5mb0RHMmZKU1JhSUt4Mkk2bGtqN21hRHNuWTRYQUpEL2Ey?= =?utf-8?B?UG12aGJvWnZFTk9nNFJES1QxczRVR0x2ZGFRNitsZnExWU5jWlNvYTlnOUc4?= =?utf-8?B?RGVIbnh5ZEtiMXJ3eGlzTkJpOWVkNEhxTmV5OWlPWnVzbkR6QmtwaFN5ZWRW?= =?utf-8?B?dzJZdGdscERXazhIa1FNYmk2cWJmYmN2VnduVGI1OGVMT2dCQ1hTdGtoVGoz?= =?utf-8?Q?gwfuuaa?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1149; 5:8llfGAHlfXdzO/Zgwbqx97SXUIM3/fkl0Ddd7z2kbv7iE0z5LqFOlHTyUBuLKDfmR/23leOjGHBrGqybDTAEcA5FC/os/UxRddQQrV/vyDZAg5Nvy6GX7iyl764FLJ4Ti0uZM5QkrfoShKAUM+DkLCUb2vmd+mOgBVfJaKsPklOlMYFXjiAuc/uWbZh64uEJPocGjpl33O/sggLCN6gz5EyjZKCYbrvSqS03Vej4pqxqUs5hdc4zlLcjIrG3pP2hP3JO7vrQjPm+EIf2UkgkuFlm9AFSoiJhaHK05QvaIULwohPa5RKU37t/HhO90PiLP0bduhpPeiw1scj0ZjM/Ble8dKPlqqWbgN/Xhjhd1w7YQVAOuu87EssHbc57I+CyywqZG2SpcmCasTeSEayXcHLz7bc/bYJ/MreBuKX4OAmFYORM1EtIpZS7kaTbbzqLVQlwYFlgJB3F9OIrn4NOU0jOuSzQtAHD+XsHGYfrLDRhLpvbZKXUm7s71crCJd4j; 24:wvncBlB9hHniW7iGW85rDNp1+gwXYp4DfADBPfuO4gfGCDYOYpWkINEtgGc8Xo9BSCDpldhQTUfrydUCDRz3VpuyRfvoxD1AOHvJ6sr9/1s= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1149; 7:hgHwmpZmLrHDpLQJZdCBsnOsgSoDpa53r+d1z2pIXuMe0G/kAAlklqk/jp3TArfNcBeEro8jjvYktreN4PNy3tD+riaC4jCRBkzi4Co8RqbjuJTbjr1GVU5rfBbl6ki9STElvkxyod0jaBPPGSkqNVl4y8Hs8tOzCfT09FlvTg7XJxgH1E5IHi23OOeJx1wDlvx5CHFV7tGABpaFt7SGnhoRnJ1SaCPSVzhXITAPX8/8+HEdflhBZcz8irxAqaOPaKstkoATJ0SeK42Ww36oQB5n9UJGCYuewL0k2JxvNtq1nYQst0gRJyhj65zV2XUBw7g2myZVbvu1RFECpbZL8D8Vo6sYwHyMvxn/2KjMuEjn+psksUNq0lUDrwaANaJOsoR7mz+02gHGq2SGIfW6oZwBXez0qUzEiwvhg+GAP/zqKO74d6QsmZlaKYUOgMO0cOux4sH55X9lbdC5tG4fASlkJ3qEGIgvG1r3vXKw1GQi/YUBBlRMltKkBUCz9eK3bA6y/8pmFta18qJVu9yRhKqZ+jyR45UIFrGx18uJEZakq55/EEMyzlg0UEr/T83XU1gNqEqMKGVoFrjIbZDC7ZVd6l7M3Qtw/lE0RzB3jbsLV668e1XG8gV+XDHDjn1K4oqHcJR2Tg7y2Ag0qvrAS8icZFnJ8w9E3GIed3dD5D2gmBFkXnJpVWV6Y8ZdaAmrRPUJ9mhcBjy8KtEQktSbC7ORGPZBaMV7k6QtDZuflxOyunSkqBwrDQvv4yBtJiWKWVGx4XdClrPe1QEPqvLabuEWI6eCjf528n24BR/f7Bw= X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1149; 20:7iLBzyEpEcO5RHOanVWpSBSnr3RSdzWvoMijBiLl39cizOZmd+4ZRZcoUCwBYFJFM+tiReNcDtfG/wdzAL4AIagwWofgkzrrwruIZcxtlP9EUKt6dLB78SkYD30bNt/cwY4rI5251X9yexhhdHEek7WOXQxYoD1hlc+N8v8JAFEMlmAaFlMg//UrUpGv/KuX+3d4r3KcrJ4lJJRgXSInMG5y5t4MhgOcqfc6WMuPSN1O0G3h88a6vFYkDRBL/hSE X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jun 2017 18:41:43.9895 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1149 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org When using SFPs, the supported and advertised settings should be initially based on the SFP that has been detected. The code currently indicates the overall support of the device as opposed to what the SFP is capable of. Update the code to change the supported link modes, auto-negotiation, etc. to be based on the installed SFP. Signed-off-by: Tom Lendacky --- drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c | 69 ++++++++++++++++++--------- 1 file changed, 47 insertions(+), 22 deletions(-) diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c b/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c index 0429840..756e116 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c +++ b/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c @@ -711,23 +711,39 @@ static void xgbe_phy_sfp_phy_settings(struct xgbe_prv_data *pdata) { struct xgbe_phy_data *phy_data = pdata->phy_data; + if (!phy_data->sfp_mod_absent && !phy_data->sfp_changed) + return; + + pdata->phy.supported &= ~SUPPORTED_Autoneg; + pdata->phy.supported &= ~(SUPPORTED_Pause | SUPPORTED_Asym_Pause); + pdata->phy.supported &= ~SUPPORTED_TP; + pdata->phy.supported &= ~SUPPORTED_FIBRE; + pdata->phy.supported &= ~SUPPORTED_100baseT_Full; + pdata->phy.supported &= ~SUPPORTED_1000baseT_Full; + pdata->phy.supported &= ~SUPPORTED_10000baseT_Full; + if (phy_data->sfp_mod_absent) { pdata->phy.speed = SPEED_UNKNOWN; pdata->phy.duplex = DUPLEX_UNKNOWN; pdata->phy.autoneg = AUTONEG_ENABLE; + pdata->phy.pause_autoneg = AUTONEG_ENABLE; + + pdata->phy.supported |= SUPPORTED_Autoneg; + pdata->phy.supported |= SUPPORTED_Pause | SUPPORTED_Asym_Pause; + pdata->phy.supported |= SUPPORTED_TP; + pdata->phy.supported |= SUPPORTED_FIBRE; + if (phy_data->port_speeds & XGBE_PHY_PORT_SPEED_100) + pdata->phy.supported |= SUPPORTED_100baseT_Full; + if (phy_data->port_speeds & XGBE_PHY_PORT_SPEED_1000) + pdata->phy.supported |= SUPPORTED_1000baseT_Full; + if (phy_data->port_speeds & XGBE_PHY_PORT_SPEED_10000) + pdata->phy.supported |= SUPPORTED_10000baseT_Full; + pdata->phy.advertising = pdata->phy.supported; return; } - pdata->phy.advertising &= ~ADVERTISED_Autoneg; - pdata->phy.advertising &= ~ADVERTISED_TP; - pdata->phy.advertising &= ~ADVERTISED_FIBRE; - pdata->phy.advertising &= ~ADVERTISED_100baseT_Full; - pdata->phy.advertising &= ~ADVERTISED_1000baseT_Full; - pdata->phy.advertising &= ~ADVERTISED_10000baseT_Full; - pdata->phy.advertising &= ~ADVERTISED_10000baseR_FEC; - switch (phy_data->sfp_base) { case XGBE_SFP_BASE_1000_T: case XGBE_SFP_BASE_1000_SX: @@ -736,17 +752,25 @@ static void xgbe_phy_sfp_phy_settings(struct xgbe_prv_data *pdata) pdata->phy.speed = SPEED_UNKNOWN; pdata->phy.duplex = DUPLEX_UNKNOWN; pdata->phy.autoneg = AUTONEG_ENABLE; - pdata->phy.advertising |= ADVERTISED_Autoneg; + pdata->phy.pause_autoneg = AUTONEG_ENABLE; + pdata->phy.supported |= SUPPORTED_Autoneg; + pdata->phy.supported |= SUPPORTED_Pause | SUPPORTED_Asym_Pause; break; case XGBE_SFP_BASE_10000_SR: case XGBE_SFP_BASE_10000_LR: case XGBE_SFP_BASE_10000_LRM: case XGBE_SFP_BASE_10000_ER: case XGBE_SFP_BASE_10000_CR: - default: pdata->phy.speed = SPEED_10000; pdata->phy.duplex = DUPLEX_FULL; pdata->phy.autoneg = AUTONEG_DISABLE; + pdata->phy.pause_autoneg = AUTONEG_DISABLE; + break; + default: + pdata->phy.speed = SPEED_UNKNOWN; + pdata->phy.duplex = DUPLEX_UNKNOWN; + pdata->phy.autoneg = AUTONEG_DISABLE; + pdata->phy.pause_autoneg = AUTONEG_DISABLE; break; } @@ -754,36 +778,38 @@ static void xgbe_phy_sfp_phy_settings(struct xgbe_prv_data *pdata) case XGBE_SFP_BASE_1000_T: case XGBE_SFP_BASE_1000_CX: case XGBE_SFP_BASE_10000_CR: - pdata->phy.advertising |= ADVERTISED_TP; + pdata->phy.supported |= SUPPORTED_TP; break; default: - pdata->phy.advertising |= ADVERTISED_FIBRE; + pdata->phy.supported |= SUPPORTED_FIBRE; } switch (phy_data->sfp_speed) { case XGBE_SFP_SPEED_100_1000: if (phy_data->port_speeds & XGBE_PHY_PORT_SPEED_100) - pdata->phy.advertising |= ADVERTISED_100baseT_Full; + pdata->phy.supported |= SUPPORTED_100baseT_Full; if (phy_data->port_speeds & XGBE_PHY_PORT_SPEED_1000) - pdata->phy.advertising |= ADVERTISED_1000baseT_Full; + pdata->phy.supported |= SUPPORTED_1000baseT_Full; break; case XGBE_SFP_SPEED_1000: if (phy_data->port_speeds & XGBE_PHY_PORT_SPEED_1000) - pdata->phy.advertising |= ADVERTISED_1000baseT_Full; + pdata->phy.supported |= SUPPORTED_1000baseT_Full; break; case XGBE_SFP_SPEED_10000: if (phy_data->port_speeds & XGBE_PHY_PORT_SPEED_10000) - pdata->phy.advertising |= ADVERTISED_10000baseT_Full; + pdata->phy.supported |= SUPPORTED_10000baseT_Full; break; default: /* Choose the fastest supported speed */ if (phy_data->port_speeds & XGBE_PHY_PORT_SPEED_10000) - pdata->phy.advertising |= ADVERTISED_10000baseT_Full; + pdata->phy.supported |= SUPPORTED_10000baseT_Full; else if (phy_data->port_speeds & XGBE_PHY_PORT_SPEED_1000) - pdata->phy.advertising |= ADVERTISED_1000baseT_Full; + pdata->phy.supported |= SUPPORTED_1000baseT_Full; else if (phy_data->port_speeds & XGBE_PHY_PORT_SPEED_100) - pdata->phy.advertising |= ADVERTISED_100baseT_Full; + pdata->phy.supported |= SUPPORTED_100baseT_Full; } + + pdata->phy.advertising = pdata->phy.supported; } static bool xgbe_phy_sfp_bit_rate(struct xgbe_sfp_eeprom *sfp_eeprom, @@ -2113,6 +2139,8 @@ static bool xgbe_phy_use_sfp_mode(struct xgbe_prv_data *pdata, return xgbe_phy_check_mode(pdata, mode, ADVERTISED_1000baseT_Full); case XGBE_MODE_SFI: + if (phy_data->sfp_mod_absent) + return true; return xgbe_phy_check_mode(pdata, mode, ADVERTISED_10000baseT_Full); default: @@ -2916,9 +2944,6 @@ static int xgbe_phy_init(struct xgbe_prv_data *pdata) if (phy_data->port_speeds & XGBE_PHY_PORT_SPEED_10000) { pdata->phy.supported |= SUPPORTED_10000baseT_Full; phy_data->start_mode = XGBE_MODE_SFI; - if (pdata->fec_ability & MDIO_PMA_10GBR_FECABLE_ABLE) - pdata->phy.supported |= - SUPPORTED_10000baseR_FEC; } phy_data->phydev_mode = XGBE_MDIO_MODE_CL22;