From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0860DA04A6; Thu, 27 Jan 2022 14:46:05 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 82331427A9; Thu, 27 Jan 2022 14:46:05 +0100 (CET) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2050.outbound.protection.outlook.com [40.107.220.50]) by mails.dpdk.org (Postfix) with ESMTP id 4CAD34067C for ; Thu, 27 Jan 2022 14:46:04 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jrYwH7hHoKmMLd/+x4HUoBEQMLxppPUKrrUsI2Fe0ZOzCJSA6x9405oD/HF0gOzSTSR4qXi09jpr44lX4DHM8s/iBu/aeW1Hq9KxN3RLRMwl9rXdL+m/Bdbwn+abwqljPOUvEBXp/Dd1Sn4+OG4duWCM6QhzLeeJp8JRENx2zEO9p17VoNLlyTNJs5qL5J8Gw60uFp/q+k8xmYF4AU3/TmbJxaQFasyESuGnQ7aswhoq4NPfZyqwQJEB7lZF455llnK7Q3LQx9QAIYtkkWC95lDFQbS7SM0gQUFJrBNbwfhjPM+KUqXKBK7Ka+LjK3A0oYHsS84SEFiNVJdcR3M2pg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=BqXsShMDOiI0PJZbqRyRFWmKsiyz6Vjjj1dGT1+aihY=; b=Lc6HlqettBfJ/Wu4ALUwAVy9A1bbOEzr3kX39KSWCMoj8JnS4Xzkg4AS0t1MFVksoWA6zprr87SA/0lZ2RnCbTUfrR8KyPqyIx2HRerVt4ALhh0y8L8tarBWQ3aJYS+eBS7vHf+hTPMSCs5EB9Zd4r6KS3MkGBZU6pxwjgO13VKTFmoAcVB2twUDU1+HmFAOGUb0mquclswto56oSQAMIT2mxVq7lvsYTPAxfFHDw+SbKNY2+6XaXN9NV3/YtScUxLrO6Whc9tQvEZGbF2eLkZ+VUFfBzHLwhQtArtfqwskc6unaJpaYhIyzcp1zdMBd8VehA/Vz/nTYHU4azzcflQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BqXsShMDOiI0PJZbqRyRFWmKsiyz6Vjjj1dGT1+aihY=; b=TWwjBZitWXwUuZE2V3eHyKVs4SecmjHN6BLe9jSHU3loX+lfp5XERa9vNa0JM1QQEaNhr8heuAgPdzC++wLaIrSKr6V/ZRr8Yw6QQpPnXYYcPeyinU90efkYdfVwaMshqdLtzM5MR5ociMTohegHY8Dc9rBKysz3cufqRv51Yhw= Received: from MW2PR12MB2538.namprd12.prod.outlook.com (2603:10b6:907:5::14) by BY5PR12MB3809.namprd12.prod.outlook.com (2603:10b6:a03:1aa::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.18; Thu, 27 Jan 2022 13:45:59 +0000 Received: from MW2PR12MB2538.namprd12.prod.outlook.com ([fe80::ad98:6ba4:7d63:fd6a]) by MW2PR12MB2538.namprd12.prod.outlook.com ([fe80::ad98:6ba4:7d63:fd6a%4]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022 13:45:59 +0000 From: "Namburu, Chandu-babu" To: "Sebastian, Selwin" , "dev@dpdk.org" Subject: RE: [PATCH v2 1/6] net/axgbe: always attempt link training in KR mode Thread-Topic: [PATCH v2 1/6] net/axgbe: always attempt link training in KR mode Thread-Index: AQHYEeXTqtO0nXpkfUCmAHzNzJonDax25JQw Date: Thu, 27 Jan 2022 13:45:59 +0000 Message-ID: References: <20220125121747.344631-1-ssebasti@amd.com> <20220125121747.344631-2-ssebasti@amd.com> In-Reply-To: <20220125121747.344631-2-ssebasti@amd.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_Enabled=true; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_SetDate=2022-01-27T13:45:50Z; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_Method=Privileged; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_Name=Public-AIP 2.0; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_ActionId=15acb0cb-951b-4f43-b57a-27c74858a93b; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_ContentBits=1 msip_label_d4243a53-6221-4f75-8154-e4b33a5707a1_enabled: true msip_label_d4243a53-6221-4f75-8154-e4b33a5707a1_setdate: 2022-01-27T13:45:57Z msip_label_d4243a53-6221-4f75-8154-e4b33a5707a1_method: Privileged msip_label_d4243a53-6221-4f75-8154-e4b33a5707a1_name: Public-AIP 2.0 msip_label_d4243a53-6221-4f75-8154-e4b33a5707a1_siteid: 3dd8961f-e488-4e60-8e11-a82d994e183d msip_label_d4243a53-6221-4f75-8154-e4b33a5707a1_actionid: 70832776-892b-4f83-83e3-8f2d45439c46 msip_label_d4243a53-6221-4f75-8154-e4b33a5707a1_contentbits: 0 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ce01b933-1a76-43df-21d0-08d9e19b59e5 x-ms-traffictypediagnostic: BY5PR12MB3809:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: QVPYBneuACuTjBsOHpZykoSL6r5qtJfX5Hd0B/50dpmKRd7vu2i8LUDHyZtWpzNk4iEde5Ury+uub3oSeJ0kNBc8NZ/Qg7D3avCy3MwPtrTcOnKJakqSdOEmjPLqyyk3M7KAWCU06ea2Jy9lbSCrMCy+NhJuhTepIt2tyQiMLq+g4voM1YFC06FNvGZl539gh3vsWxswWOfaZYC4K6PFxCIQLo+pDW37ehBzsntbE2csJjnqmkbKpjqJAoQbMqUd8fmeSwx393KY93wW45tpVzBq79JAFJA2r2PMVUA32K8tqIO8/ohJt9ZaqI72ObvH1+Zm3ySvsm1+Jge3U/E35uf0FaAWZZ34eNg2vo1qQD0XFSmnJkCubQkWE004wZASoQ4kDezoVeLXzzC0/Ls5pLKVpxUZ/VrMsbUH3uFI96MDh5ZhHvevgjBAVu/HBn6BXF38NLm11n7q8GsUjeWtlbh+wyZu0R1FgZ7vBRgvvSqAEBItfp02zNqtvDDK6SNiSyhuMboXHCQTtcP4dGKHbeVCLPCua9ePqNV0sKrqHRD+TbU8h0nfA04geUnr4+sEiAsI1iI6oMg1G9rupbF6W2zaarOkGEs1Lu5iQwpVslNRuHb9VeoShLRnmV/gUAtZ0XA2skijmV31EILLprYit6roCBBvDGyfdJYaay8kYwsdbhB8SioK90D+QhgVFWpqnGzFn5mOBuBwcIVDk3AP6A== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW2PR12MB2538.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(8676002)(66476007)(66946007)(66556008)(66446008)(64756008)(76116006)(8936002)(9686003)(83380400001)(26005)(71200400001)(53546011)(7696005)(6506007)(86362001)(5660300002)(186003)(33656002)(52536014)(316002)(110136005)(508600001)(55016003)(38100700002)(122000001)(38070700005)(2906002)(20210929001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?o3N3aRLsyUXrUt8+jobJcrLZobbGmBFBi++Ffi3+X8ug741874gv1IwUv+S8?= =?us-ascii?Q?Jc/lEYzvhYcMG4QbZnUui8QweKXFFUmWlKGiB5V8QUccYv7wBNqhcvDtsRDo?= =?us-ascii?Q?4b8ilxhz+Gp64ASfrgz2cvxVEMvsQ036tS/WFWV22A98lwbbcLcIHB8SOfHY?= =?us-ascii?Q?jZeIqOVxLAWEC3tmu36vwx+HnKv38gxFGOCOAHV/gnyjyozejJxdvXF+am3w?= =?us-ascii?Q?V4EVcXFMmH5fsEBwpylXUkd2dJxZwXbJAnZxy9L30ymnl9XOxbw///Bv0u7s?= =?us-ascii?Q?VaxDCv5kyW7HsBExbycJLC6nUtskwGBQL2m/srnosmiuTDB6v2gKTb9cI1BI?= =?us-ascii?Q?agnfVGukRqJbnp+EuR01lO3hRSGhYdZ7j6uzc6QORQ2ctJM7YyTsmC0nXsm4?= =?us-ascii?Q?iZDWIXvEq/Nx460arySvZm4ITSd5WOg+czkHGPH5ixftxHhql6qqjuefOTAI?= =?us-ascii?Q?SpfhY+/B9jaHCD0cTXNGzxjBpbq4SjdE0zEtGqqmyZFSGd270MnLvRcmq8wS?= =?us-ascii?Q?jOuCXG7IhRunMUWS7+k7SZzQQEjh4sEkiWE3W396lKvT9sWQjviL1CH2oKUR?= =?us-ascii?Q?fO+4muyMooZrao9ba9JOX1kq0hH3k7yKGr9/+xdgliFVZ/qcZDSYMQ90i3I/?= =?us-ascii?Q?yKZtOQMb2wPb/Sj7ULwDg4jBsX2tAH3YlGbjJ82hEozt0gZPzxrnKB30OboC?= =?us-ascii?Q?RXp1Uma2GDzVM63Qzepp+E4NC5wljP9Wwyw2nLMNPvz41qJ5x7P9NvJljRqs?= =?us-ascii?Q?h99HLadDZm0xmQCaieOV0SS/uHAFWIgBhegk1SvY2N7mwBN4EqzrrcYpZGu3?= =?us-ascii?Q?UNpt9a92HGMb3EC1VawUysdy0VC89tvh+bvk0TAs1z/ssyndgBPxcSyeM/oX?= =?us-ascii?Q?Jl6W5ynU7j4gqCQ0QMAXrxMCnfnC3pM4/5CtracVYW/ufCJ1JT6CWtg0FEaH?= =?us-ascii?Q?4y8JeAAlJx7djlVpPo5cGZoELLkQAlPUQn9uh7WGr3cYdgg/EW9rEQbwPZ9M?= =?us-ascii?Q?XVkkd7Y2ViXYjg5h0GYB24cc25ucLaq8JIXFUy2biJvwf84r7mCvxw2I9sd6?= =?us-ascii?Q?K/ICYGg73IF1dX+BqGmhX3DD4/eOUiDzFW/A7MEPHOTCWElszn3I7KL/eNmh?= =?us-ascii?Q?+7TqIoDRlJDp8xyycVI5YHyHY9GpwmKVQRXHbdy/B9kjTXD8ZCobQAAbUTzL?= =?us-ascii?Q?SIGOurTANlxkHDV528hKi9giQc+6kqg47DZ6M5v2cWYqv0oS2sn9vFv0SbWe?= =?us-ascii?Q?3NkCmlPuxaj2faf/ghp5D4BTDIonIEn3rp6W4mRM5g3VtksZLJTa4xxR2ZKe?= =?us-ascii?Q?/Nr+Jnm9T5TvCL9Mrw9hwjCy031T8t9LcMEFMWV9bw57FQx7AQwCPV+NzdXK?= =?us-ascii?Q?ogdCl3czsmIyKq05wZKJzLZTWNag3tx118kXcCqNCY1R1g3hUBqZX4F+Yupu?= =?us-ascii?Q?O2yCwkQMQclMlSmQ5J5aJldTHlOOC0JpZZ2GaUh5VBd7lF+swCaWiRif1ZiA?= =?us-ascii?Q?F8jufbrF6dS4sXjJ/bx8gXn6eE3U72W9jAac/VelbKFtVkAtJXJNjTsyOkYI?= =?us-ascii?Q?HYHUbiCK5n3Zr6kP7jBzIaLyT+7y8zfKhSaHPslnBSnSw8X0pX8UViU6arHs?= =?us-ascii?Q?OlgbJMAGVEVFECUq0cEoNvY=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB2538.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ce01b933-1a76-43df-21d0-08d9e19b59e5 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jan 2022 13:45:59.3067 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: M+qaWOY0NIxScHv3QV0LDEK8Wl5hU89vbJtTWcRkwT/OovyyRHM7Q0aAGJRocuA94OpymS2qtca1Nt8RJhv1/w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB3809 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org [Public] Acked-by: Chandubabu Namburu -----Original Message----- From: ssebasti@amd.com =20 Sent: Tuesday, January 25, 2022 5:48 PM To: dev@dpdk.org Subject: [PATCH v2 1/6] net/axgbe: always attempt link training in KR mode From: Selwin Sebastian Link training is always attempted when in KR mode, but the code is structur= ed to check if link training has been enabled before attempting to perform = it.Since that check will always be true, simplify the code to always enable= and start link training during KR auto-negotiation. Signed-off-by: Selwin Sebastian --- drivers/net/axgbe/axgbe_mdio.c | 62 ++++++++-------------------------- 1 file changed, 15 insertions(+), 47 deletions(-) diff --git a/drivers/net/axgbe/axgbe_mdio.c b/drivers/net/axgbe/axgbe_mdio.= c index 32d8c666f9..913ceada0d 100644 --- a/drivers/net/axgbe/axgbe_mdio.c +++ b/drivers/net/axgbe/axgbe_mdio.c @@ -80,31 +80,10 @@ static void axgbe_an_clear_interrupts_all(struct axgbe_= port *pdata) axgbe_an37_clear_interrupts(pdata); } =20 -static void axgbe_an73_enable_kr_training(struct axgbe_port *pdata) -{ - unsigned int reg; - - reg =3D XMDIO_READ(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL); =20 - reg |=3D AXGBE_KR_TRAINING_ENABLE; - XMDIO_WRITE(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL, reg); -} - -static void axgbe_an73_disable_kr_training(struct axgbe_port *pdata) -{ - unsigned int reg; - - reg =3D XMDIO_READ(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL); - - reg &=3D ~AXGBE_KR_TRAINING_ENABLE; - XMDIO_WRITE(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL, reg); -} =20 static void axgbe_kr_mode(struct axgbe_port *pdata) { - /* Enable KR training */ - axgbe_an73_enable_kr_training(pdata); - /* Set MAC to 10G speed */ pdata->hw_if.set_speed(pdata, SPEED_10000); =20 @@ -114,9 +93,6 @@ static void axgbe_kr_mode(struct axgbe_port *pdata) =20 static void axgbe_kx_2500_mode(struct axgbe_port *pdata) { - /* Disable KR training */ - axgbe_an73_disable_kr_training(pdata); - /* Set MAC to 2.5G speed */ pdata->hw_if.set_speed(pdata, SPEED_2500); =20 @@ -126,9 +102,6 @@ static void axgbe_kx_2500_mode(struct axgbe_port *pdata= ) =20 static void axgbe_kx_1000_mode(struct axgbe_port *pdata) { - /* Disable KR training */ - axgbe_an73_disable_kr_training(pdata); - /* Set MAC to 1G speed */ pdata->hw_if.set_speed(pdata, SPEED_1000); =20 @@ -142,8 +115,6 @@ static void axgbe_sfi_mode(struct axgbe_port *pdata) if (pdata->kr_redrv) return axgbe_kr_mode(pdata); =20 - /* Disable KR training */ - axgbe_an73_disable_kr_training(pdata); =20 /* Set MAC to 10G speed */ pdata->hw_if.set_speed(pdata, SPEED_10000); @@ -154,8 +125,6 @@ static vo= id axgbe_sfi_mode(struct axgbe_port *pdata) =20 static void axgbe_x_mode(struct axgbe_port *pdata) { - /* Disable KR training */ - axgbe_an73_disable_kr_training(pdata); =20 /* Set MAC to 1G speed */ pdata->hw_if.set_speed(pdata, SPEED_1000); @@ -166,8 +135,6 @@ static voi= d axgbe_x_mode(struct axgbe_port *pdata) =20 static void axgbe_sgmii_1000_mode(struct axgbe_port *pdata) { - /* Disable KR training */ - axgbe_an73_disable_kr_training(pdata); =20 /* Set MAC to 1G speed */ pdata->hw_if.set_speed(pdata, SPEED_1000); @@ -178,8 +145,6 @@ static voi= d axgbe_sgmii_1000_mode(struct axgbe_port *pdata) =20 static void axgbe_sgmii_100_mode(struct axgbe_port *pdata) { - /* Disable KR training */ - axgbe_an73_disable_kr_training(pdata); =20 /* Set MAC to 1G speed */ pdata->hw_if.set_speed(pdata, SPEED_1000); @@ -284,6 +249,12 @@ static vo= id axgbe_an73_set(struct axgbe_port *pdata, bool enable, { unsigned int reg; =20 + /* Disable KR training for now */ + reg =3D XMDIO_READ(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL); + reg &=3D ~AXGBE_KR_TRAINING_ENABLE; + XMDIO_WRITE(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL, reg); + + /* Update AN settings */ reg =3D XMDIO_READ(pdata, MDIO_MMD_AN, MDIO_CTRL1); reg &=3D ~MDIO_AN_CTRL1_ENABLE; =20 @@ -379,20 +350,17 @@ static enum axgbe_an axgbe_an73_tx_training(struct ax= gbe_port *pdata, XMDIO_WRITE(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_FECCTRL, reg); =20 /* Start KR training */ - reg =3D XMDIO_READ(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL); - if (reg & AXGBE_KR_TRAINING_ENABLE) { - if (pdata->phy_if.phy_impl.kr_training_pre) - pdata->phy_if.phy_impl.kr_training_pre(pdata); + if (pdata->phy_if.phy_impl.kr_training_pre) + pdata->phy_if.phy_impl.kr_training_pre(pdata); =20 - reg |=3D AXGBE_KR_TRAINING_START; - XMDIO_WRITE(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL, - reg); - - PMD_DRV_LOG(DEBUG, "KR training initiated\n"); + reg =3D XMDIO_READ(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL); + reg |=3D AXGBE_KR_TRAINING_ENABLE; + reg |=3D AXGBE_KR_TRAINING_START; + XMDIO_WRITE(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL, reg); =20 - if (pdata->phy_if.phy_impl.kr_training_post) - pdata->phy_if.phy_impl.kr_training_post(pdata); - } + PMD_DRV_LOG(DEBUG, "KR training initiated\n"); + if (pdata->phy_if.phy_impl.kr_training_post) + pdata->phy_if.phy_impl.kr_training_post(pdata); =20 return AXGBE_AN_PAGE_RECEIVED; } -- 2.25.1