From patchwork Fri Apr 12 12:52:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139251 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 799CD43E52; Fri, 12 Apr 2024 14:53:12 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 564B3402A2; Fri, 12 Apr 2024 14:53:12 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2073.outbound.protection.outlook.com [40.107.94.73]) by mails.dpdk.org (Postfix) with ESMTP id 92A6F400D6 for ; Fri, 12 Apr 2024 14:53:11 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LjA1vxsMIPFuTQ/s7RdQo+k8J4Pk0WKAyClo0NPuCEm+8IT0p4NPInH3VOni5WjNxwZxXdYu1O+AdHGqoaCbO2nNcWGh+U0mn8egsbKLQWDlBFoBatZInUmemAHPS04kekc16MTbd1m7UDmpPEyjm8pxQqU90vfXTeYS7U9nUgOgRTKUjgguL+Y2K74muEQRheyC0VmxXGys9PPU0SsUrqPS2AIhFPJNbioyiCMv9N64qiWUGnOIOxx/u4iooAVgRbBKmbwbgdi5CMAshif8TEjgYS5XNyhi7x4Q8p7tWmUF8/G0j2nazCoqEjiqUMQwyrXOp/ug9zvucI3c6UGTjw== 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=+1GJaMWnG8h3jQjXSA7QkuHe69nDENHNwdXOwlSz10g=; b=Y8A6WgqeAjjoCdnu83JFdzYrPPdXlaMTXDs7mIPMe3j3+n6OUYpyt/LQ7X6YxAcyDXbwXCPTRsI17jtLaUT+zD2UI38vccOFwNLL8MjhEH4OTdZhovKKgo2M+FTrBlhOqFvs7vliu0nvpBLZVQ5H5qR8VB63bFLJVhXQxjPX7NxLQmf6KEA1Jx0T382fPJIknQM986P9G/scsjlDofDtkHpcTQZIzvfLmQJwNj0tDH+tkPfEvTw1NOC90NEE0OB1tbraCR0t+SqFG6R04wgBoDZDQhU0+RzuwNVl4YrnAfyUoZbJtwPr+FYt8zqLa/Mj7QIv1rTwdAQHRUUN2e3rxg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=+1GJaMWnG8h3jQjXSA7QkuHe69nDENHNwdXOwlSz10g=; b=YLxkVP+hHh16PZLybkHw3i6cqSV80JO2kehK+pcayCQHMrSjnPXH7CDyeBu05lsP2Uj4oCy1HFrz4b2QCwY32veKH1MFXJJNXQ9iNMslsatGSNKXez0lbPuGlm7AxrQxXoGPUHwfMNZ9uTLiciqXuadmiTDmd2mzvQ3R+w/g9I0= Received: from BL1PR13CA0200.namprd13.prod.outlook.com (2603:10b6:208:2be::25) by DS7PR12MB5840.namprd12.prod.outlook.com (2603:10b6:8:7b::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Fri, 12 Apr 2024 12:53:07 +0000 Received: from BL6PEPF00020E62.namprd04.prod.outlook.com (2603:10b6:208:2be:cafe::fd) by BL1PR13CA0200.outlook.office365.com (2603:10b6:208:2be::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.13 via Frontend Transport; Fri, 12 Apr 2024 12:53:07 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E62.mail.protection.outlook.com (10.167.249.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:53:07 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:53:05 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 01/24] net/axgbe: remove use of comm_owned field Date: Fri, 12 Apr 2024 08:52:26 -0400 Message-ID: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E62:EE_|DS7PR12MB5840:EE_ X-MS-Office365-Filtering-Correlation-Id: e4a2005c-312e-4a9e-0d59-08dc5aef8045 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: l7hmPKY/mGBQNC6hd+E1GUV9ZpXmYOzaIQxSV3O8jp4OWYC0TgG30PWNryXvl0hp5CbKZKWhxxgU4tjBrHG/VmgHgEYQ5JOkARD09KTRFMGy/wpJKpHwe3O8KLoatIt40ouJ/tRvBJ7CO0n+Trj2eZxeFYkZXnGIQFhsU5unWBS0LLOGE0j2ozL9W1wQcsj2Fw7OU6uYDCnQxPWSjivjZmmvFzeEmN37jU6BBMBRhIYL4sBNwTqk5rvhNIhn7a1zfqgRXqpHozQIaRp8fCm/X42+alZRL+c4Qmgc9885pqXVGCMGQt4PQNQOErKJnKP9i32/WBysgK+yN+0/7vSw9tWJY7Hk5ldjhYDZ1uIxpRaPORb0qjp/yGSPuLmIsre3VQQsTKpys5YRGL7tuLcsbkBPboBUIbX/M1LHDHfbsOFghwjFqpDWpI/ZCctqRtoMV8alKqkNndVG9X3VGgrIzor2za4waGYqVCInt7TS9M0wP0PDb/NnQrmqXKojz+7dwR+7cdfeMLtPRRmMc5l7aDkZEUvJQO+he6M7W9YznCpWS/S8QjUTFeOAfSqcR9e1GvcBnYizuRye7rcPRy4ehkvkBUP6NGniJ0sS/YDiudSRVNsKpkaChVvx40/mjZ4OSMeOBHjUQQ4VNh29yhuErKL6YZ5+KZ9rBE2QI6BnFL1QjduZUl8QH2I87Eh7e51kg5PnRkgkJt/X+xxVsAjqMPkqG6uiX0eDTMGTeOmFTqFHb9b18hLISIbPTh3wCeXz X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(376005)(36860700004)(1800799015)(82310400014); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:53:07.4991 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e4a2005c-312e-4a9e-0d59-08dc5aef8045 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E62.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5840 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 The comm_owned field can hide logic where double locking is attempted and prevent multiple threads for the same device from accessing the mutex properly. Remove the comm_owned field and use the mutex API exclusively for gaining ownership. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_phy_impl.c | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index 44ff28517c..70e7c56439 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -205,8 +205,6 @@ struct axgbe_phy_data { unsigned int mdio_addr; - unsigned int comm_owned; - /* SFP Support */ enum axgbe_sfp_comm sfp_comm; unsigned int sfp_mux_address; @@ -254,12 +252,6 @@ static enum axgbe_an_mode axgbe_phy_an_mode(struct axgbe_port *pdata); static int axgbe_phy_i2c_xfer(struct axgbe_port *pdata, struct axgbe_i2c_op *i2c_op) { - struct axgbe_phy_data *phy_data = pdata->phy_data; - - /* Be sure we own the bus */ - if (!phy_data->comm_owned) - return -EIO; - return pdata->i2c_if.i2c_xfer(pdata, i2c_op); } @@ -400,10 +392,6 @@ static int axgbe_phy_sfp_get_mux(struct axgbe_port *pdata) static void axgbe_phy_put_comm_ownership(struct axgbe_port *pdata) { - struct axgbe_phy_data *phy_data = pdata->phy_data; - - phy_data->comm_owned = 0; - pthread_mutex_unlock(&pdata->phy_mutex); } @@ -419,9 +407,6 @@ static int axgbe_phy_get_comm_ownership(struct axgbe_port *pdata) */ pthread_mutex_lock(&pdata->phy_mutex); - if (phy_data->comm_owned) - return 0; - /* Clear the mutexes */ XP_IOWRITE(pdata, XP_I2C_MUTEX, AXGBE_MUTEX_RELEASE); XP_IOWRITE(pdata, XP_MDIO_MUTEX, AXGBE_MUTEX_RELEASE); @@ -444,7 +429,6 @@ static int axgbe_phy_get_comm_ownership(struct axgbe_port *pdata) XP_IOWRITE(pdata, XP_I2C_MUTEX, mutex_id); XP_IOWRITE(pdata, XP_MDIO_MUTEX, mutex_id); - phy_data->comm_owned = 1; return 0; } From patchwork Fri Apr 12 12:52:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139252 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9F35043E52; Fri, 12 Apr 2024 14:53:27 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8DD9C410EA; Fri, 12 Apr 2024 14:53:27 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2045.outbound.protection.outlook.com [40.107.94.45]) by mails.dpdk.org (Postfix) with ESMTP id 0F087410E8 for ; Fri, 12 Apr 2024 14:53:26 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lTDeBg3ugMpdlvhCVmt9C5BZ/8IP/UNFJ1ATHroN2bGAQa1a7h4Kz0I4SK4ZV83cfg+J81x5Xk25C0Te+P9iYLuYuMQbyRkPjkZCEf2DoDsYGEHScNmUGvTQHeJMkvkws5gvtT+XNo1O9v0Gut3/VEktieeIR+4wDFk0cArLqo6FodmF2+rbKcpIRS5qyiXKwL8s/jhvV0xLl06HefzldNRn30QsFtQyDgUGSZVNVG9r1pSJc/uUY6g5neRnemYyugQKPLFMmqMD7byLYUWEXoX9JWchYFBJ4v+deutAzcnRjZeyql9C1t6e9fjiZGXUQyEv46XhxeDph6Dkye3vDQ== 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=3deEJNjXTjoA0mdRdPf5pfTdaVfXk5kH92Oju3WV4ao=; b=DvC9Yk45kCDPrsNMDH+Xaq7BATkNxa4wi4mA06/a0MQXQeK8tapDnXCtWnho8QbMJnkkmfBZrK/GihsxJn4Xr9zez9K6LB88A6Ijp8iL/KGBqOAYHvVEYEExOF5HW+Tr9WCbXZlfnddlBjunCbg+tXMnsbmp9y/j+/xq6T6mrqnAE3Jnlxmm/63fDTJw9viNTEIQUfXwzvChjzdUdaI8cscMn/4B6d+eeHVff7FPEsgZpuhu2Bt3ZEIXP1xCXFCs/4Cho+r4ZENILsJFd1G2FTqj+bB4lfxMLD2XVKWeqLMObR1Jigm47Rz+6I6sjdSjj2AG5oP4a8TmbbPTcK7Saw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=3deEJNjXTjoA0mdRdPf5pfTdaVfXk5kH92Oju3WV4ao=; b=ZZrSi7p7T27KEGvK3egmmCHec+v29TWB47+JZAhZnpqX4F8E4eb+k/DxGFq3WGtSr19KrXbLfgTx4W0pkfNC7Ab8RN1FmX963YjQh3U5IyGw86poyNc+ktSlxa2MusHhk/5G+4te9zL/1LsKPMyjh2jaM8I1loTj9fXmXjszwho= Received: from BL1P223CA0002.NAMP223.PROD.OUTLOOK.COM (2603:10b6:208:2c4::7) by DS0PR12MB7874.namprd12.prod.outlook.com (2603:10b6:8:141::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 12:53:23 +0000 Received: from BL6PEPF00020E64.namprd04.prod.outlook.com (2603:10b6:208:2c4:cafe::4) by BL1P223CA0002.outlook.office365.com (2603:10b6:208:2c4::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.26 via Frontend Transport; Fri, 12 Apr 2024 12:53:23 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E64.mail.protection.outlook.com (10.167.249.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:53:23 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:53:21 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 02/24] net/axgbe: remove field of SFP diagnostic support Date: Fri, 12 Apr 2024 08:52:27 -0400 Message-ID: <20240412125249.10625-2-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E64:EE_|DS0PR12MB7874:EE_ X-MS-Office365-Filtering-Correlation-Id: 08e2b9dd-6bee-4d8d-14c7-08dc5aef899f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dpO4JFSkPczAXhdRTlKTxMrEvJbtOTNgwoqm//yAw+VoFi0KY4utDC8Af5IU40lbPY62bto5F+3RZnz7dCflIuJrSrfx3zUKqHK7Nwx1s/+5NWNeOIlNrmrza7Dv8XRH6b+q86DXTaW497YMSnPHxtvQuK4dSulvUXJhhX/RzYIrhFn0ODASrRYPuCQGZ+n9QI80bzWK1DKP0sGNBKHmX+03OoecR3UNExJy16PD0pEcR2rKpyI1ABeL5VCIojkAAM5lmD5h1ArOP1/h3IqrRdYFHyKBt/+we+K/HLJKrCr5B/y0Bjr0N/2taQL/FvPc9PHymIPiUaQiD36H+Eutt8VFuOBY9WC2WKWz8JawFh0ooc1KUZuP+10wP39CIvsZQfdxPQXhqdrgx+trnrYH9E9MJUmwbAgj35yPf6D+HOCsBguJ5MErusqN4XlVvcMtNYGJs8yxvwZuFemdTGQqUySucm1r0l14+jgeZqyw3dyDbmCVaG56pWchYefvF9RNBtzggfBWoKNNIQnFjeWSj2dISVhUqKAO7M2TXGsWghstR6fOmk3aTChLQhsxIBkZQbaxk/JoPlYCtWIr2VKUKRZODz9UGKFfn7cKGqvG5HIZOOO8SHYD6OYAl5zs2g4jco9SVbJaAXmU2zfB02FrHUJPghoRZqzd23ehd+UR4wPgsLgMuNbdj49E9kh8aKU2ydED5edlhgJcQpWf1MOHJXEWqoZf6gdivGAwMUvdH6fXIcvPrbWdf9a8Bu+S4EhT X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(82310400014)(36860700004)(376005)(1800799015); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:53:23.1886 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 08e2b9dd-6bee-4d8d-14c7-08dc5aef899f X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E64.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7874 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 The driver currently sets an indication of whether the SFP supports, and that the driver can obtain, diagnostics data. This isn't currently used by the driver. Remove this field and the logic supporting it. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_phy_impl.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index 70e7c56439..e1b926d48a 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -220,7 +220,6 @@ struct axgbe_phy_data { unsigned int sfp_rx_los; unsigned int sfp_tx_fault; unsigned int sfp_mod_absent; - unsigned int sfp_diags; unsigned int sfp_changed; unsigned int sfp_phy_avail; unsigned int sfp_cable_len; @@ -701,14 +700,6 @@ static int axgbe_phy_sfp_read_eeprom(struct axgbe_port *pdata) if (memcmp(&phy_data->sfp_eeprom, &sfp_eeprom, sizeof(sfp_eeprom))) { phy_data->sfp_changed = 1; memcpy(&phy_data->sfp_eeprom, &sfp_eeprom, sizeof(sfp_eeprom)); - - if (sfp_eeprom.extd[AXGBE_SFP_EXTD_SFF_8472]) { - uint8_t diag_type; - diag_type = sfp_eeprom.extd[AXGBE_SFP_EXTD_DIAG]; - - if (!(diag_type & AXGBE_SFP_EXTD_DIAG_ADDR_CHANGE)) - phy_data->sfp_diags = 1; - } } else { phy_data->sfp_changed = 0; } @@ -769,7 +760,6 @@ static void axgbe_phy_sfp_reset(struct axgbe_phy_data *phy_data) phy_data->sfp_rx_los = 0; phy_data->sfp_tx_fault = 0; phy_data->sfp_mod_absent = 1; - phy_data->sfp_diags = 0; phy_data->sfp_base = AXGBE_SFP_BASE_UNKNOWN; phy_data->sfp_cable = AXGBE_SFP_CABLE_UNKNOWN; phy_data->sfp_speed = AXGBE_SFP_SPEED_UNKNOWN; From patchwork Fri Apr 12 12:52:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139253 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 69AD043E52; Fri, 12 Apr 2024 14:53:40 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4F3A6410FA; Fri, 12 Apr 2024 14:53:40 +0200 (CEST) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2061.outbound.protection.outlook.com [40.107.243.61]) by mails.dpdk.org (Postfix) with ESMTP id 9920E410FA for ; Fri, 12 Apr 2024 14:53:38 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LIKImuCbs7IyrGXlc/oFwZzMC5eOg5J57px4bstZG02ydE48G2qWM6fdeUtQBgfbHR2UzF2WxBQe2PMjlaAjsC5+0YhK+zFCT3HdzbJvIkAk5DVNnZVTJ6N2iekloc7RTk6dT6rnfho5mPfAK+0HgxX9rhQBw3idzSi5mkvtDspSuEz76CqPLGqYP9YIZTPtFtdF9bD5l+T+I3tcH7ZpBvDLekskhLckcAQd98uqSIYLZPipefQyZQPBcQh7Bp4u4krzc7eN7uDJLxaihTcsxtjnUjlUvXfYxmOb0rSlRTQYJM996F2r87/bAO6K9CNcxD8u+LDf9/3R4EWgf8rucg== 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=JQz/9DJz/6I/UEa2+0sjPqtZ562vcVVwszX/Q+CwDV4=; b=JQUztRzUFdwQqwRQynejfbhYfwI8Yl6Ki7+rQMYaNrAo9/wrjP8fmpw06OkAsjZS41LQ4zX6hE7CRVzeS/MSEggn03vmjwzf7B96+Jjo3pu1dvp2aIDLwKFZr+GdMaJuaXFGjOq1itPdKMnKQ9eogiVd6pQoAyibiW0yG6MhvLAuqgQImDyZt+4LQCPIjYJrf8Aomtr6lwagvL5tOXZgnlruS4H/EVfbBD/FashLJEcRFiCCgcT5bM9xjXr70WDajdNLS2Z1HPEFl8jFlbXBQCvgrsUZe7m7FXhe3d9AzpfKpHU5gZ0iZfxueVTiVXWJ65DBQmG96YxaMBqSBYiAXw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=JQz/9DJz/6I/UEa2+0sjPqtZ562vcVVwszX/Q+CwDV4=; b=voF6CZl00wStqQI+hggFR1As/fRO4AtFjG/4rfnJKE/crCWIJJqCyHPe805CJT7opg9KNyzdEBrT0j7qNJ9xRxb5ewTFlGm3Pxjjrvif98N3QKFSJOyfkvT8PicxdDTCvnszeaKf05DMOexqyMj6Mp1rWRSsq35JG1yfA0RwhZM= Received: from BL1PR13CA0334.namprd13.prod.outlook.com (2603:10b6:208:2c6::9) by IA0PR12MB8226.namprd12.prod.outlook.com (2603:10b6:208:403::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 12:53:35 +0000 Received: from BL6PEPF00020E63.namprd04.prod.outlook.com (2603:10b6:208:2c6:cafe::b2) by BL1PR13CA0334.outlook.office365.com (2603:10b6:208:2c6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.13 via Frontend Transport; Fri, 12 Apr 2024 12:53:35 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E63.mail.protection.outlook.com (10.167.249.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:53:35 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:53:33 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 03/24] net/axgbe: improve SFP 100Mbps auto-negotiation Date: Fri, 12 Apr 2024 08:52:28 -0400 Message-ID: <20240412125249.10625-3-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E63:EE_|IA0PR12MB8226:EE_ X-MS-Office365-Filtering-Correlation-Id: a8f2a561-416e-4831-0451-08dc5aef9115 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rquhl58c5uAweQ1fL9QmKGjzgGBkda4VB8Qkx5zswCMMednruY+7x+hxNnCon1ZsSsd/AuRRYmCW1izrqlYLxLqBtgjEPfnmeebq1LWn7SHXVJm+7ecWa4GypA7h9x5KitKJZRfjDQVPTCEKl+xz/We5Zg4NNZja6WA2TdhDk4sUN3VdAR3yKk7EZUubdmMa9soxCmcIbw7aFc7JaTGOiW133tRxy3hZQDuTDXCKniJ1cS1nRYWffTAg9c5UlVeXIhPZWsWarhSC+Ej5mrGQ6FKCUeKU/IReDR/ytVnd8a0Iq3jVV64/dDgtAD2VijX5uO22RQGzZovGKRBWl7hKID2X2xtBt++8QCMi6ObjeoUhwAbJHQ5nZzoBt5zc9rK8Xl2XqllXiMh1kbZj1ZJL8d0UZ8aEBO3Ojg0jIC/vTNaitvPNhdKAC4wd/7D12qRtw5xzQCv2QB7RePNBNx5AQ7Fdl5bWE8SjCvpMMLdTzd3SpsWv823rsQD11AAqjlzREt/w9QL3WQf7B3IkEiB+eguUy6ENyaMABJ2//tfTrweH/Lr3Dl5EMmhYajyDB6r/Njmtp+0cEPTKDg7HiLAzOpSTgemd2uqZWuvRT+QpwRyg45z7mrsK1WdAhIU/wuZ5KbilBIBlSNh3SQAoGL8AeIFQcoZWPhKtIkEAJxxmG3N4fYHnAzteK6n5heEJi6rO8bPPVml171tEvDZnrUNX6PClVjevZcWEz70APOUGwFiB5Cq7qTVAr9j0nFnLqNA+ X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(1800799015)(376005)(82310400014)(36860700004); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:53:35.7056 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a8f2a561-416e-4831-0451-08dc5aef9115 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E63.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8226 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 After changing speed to 100Mbps as a result of auto-negotiation (AN), some 10/100/1000Mbps SFPs indicate a successful link (no faults or loss of signal), but cannot successfully transmit or receive data. These SFPs required an extra auto-negotiation (AN) after the speed change in order to operate properly. Add a quirk for these SFPs so that if the outcome of the AN actually results in changing to a new speed, re-initiate AN at that new speed. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_ethdev.h | 1 + drivers/net/axgbe/axgbe_mdio.c | 73 ++++++++++++++++-------------- drivers/net/axgbe/axgbe_phy_impl.c | 5 ++ 3 files changed, 46 insertions(+), 33 deletions(-) diff --git a/drivers/net/axgbe/axgbe_ethdev.h b/drivers/net/axgbe/axgbe_ethdev.h index df5d63c493..924a26ebe3 100644 --- a/drivers/net/axgbe/axgbe_ethdev.h +++ b/drivers/net/axgbe/axgbe_ethdev.h @@ -656,6 +656,7 @@ struct axgbe_port { enum axgbe_an an_state; enum axgbe_rx kr_state; enum axgbe_rx kx_state; + unsigned int an_again; unsigned int an_supported; unsigned int parallel_detect; unsigned int fec_ability; diff --git a/drivers/net/axgbe/axgbe_mdio.c b/drivers/net/axgbe/axgbe_mdio.c index 913ceada0d..0beeb1d0f5 100644 --- a/drivers/net/axgbe/axgbe_mdio.c +++ b/drivers/net/axgbe/axgbe_mdio.c @@ -200,13 +200,14 @@ static void axgbe_switch_mode(struct axgbe_port *pdata) axgbe_change_mode(pdata, pdata->phy_if.phy_impl.switch_mode(pdata)); } -static void axgbe_set_mode(struct axgbe_port *pdata, +static bool axgbe_set_mode(struct axgbe_port *pdata, enum axgbe_mode mode) { if (mode == axgbe_cur_mode(pdata)) - return; + return false; axgbe_change_mode(pdata, mode); + return true; } static bool axgbe_use_mode(struct axgbe_port *pdata, @@ -880,21 +881,22 @@ static int axgbe_phy_config_fixed(struct axgbe_port *pdata) return 0; } -static int __axgbe_phy_config_aneg(struct axgbe_port *pdata) +static int __axgbe_phy_config_aneg(struct axgbe_port *pdata, bool set_mode) { int ret; + pthread_mutex_lock(&pdata->an_mutex); rte_bit_relaxed_set32(AXGBE_LINK_INIT, &pdata->dev_state); pdata->link_check = rte_get_timer_cycles(); ret = pdata->phy_if.phy_impl.an_config(pdata); if (ret) - return ret; + goto out; if (pdata->phy.autoneg != AUTONEG_ENABLE) { ret = axgbe_phy_config_fixed(pdata); if (ret || !pdata->kr_redrv) - return ret; + goto out; PMD_DRV_LOG(DEBUG, "AN redriver support\n"); } else { PMD_DRV_LOG(DEBUG, "AN PHY configuration\n"); @@ -904,23 +906,26 @@ static int __axgbe_phy_config_aneg(struct axgbe_port *pdata) rte_intr_disable(pdata->pci_dev->intr_handle); /* Start auto-negotiation in a supported mode */ - if (axgbe_use_mode(pdata, AXGBE_MODE_KR)) { - axgbe_set_mode(pdata, AXGBE_MODE_KR); - } else if (axgbe_use_mode(pdata, AXGBE_MODE_KX_2500)) { - axgbe_set_mode(pdata, AXGBE_MODE_KX_2500); - } else if (axgbe_use_mode(pdata, AXGBE_MODE_KX_1000)) { - axgbe_set_mode(pdata, AXGBE_MODE_KX_1000); - } else if (axgbe_use_mode(pdata, AXGBE_MODE_SFI)) { - axgbe_set_mode(pdata, AXGBE_MODE_SFI); - } else if (axgbe_use_mode(pdata, AXGBE_MODE_X)) { - axgbe_set_mode(pdata, AXGBE_MODE_X); - } else if (axgbe_use_mode(pdata, AXGBE_MODE_SGMII_1000)) { - axgbe_set_mode(pdata, AXGBE_MODE_SGMII_1000); - } else if (axgbe_use_mode(pdata, AXGBE_MODE_SGMII_100)) { - axgbe_set_mode(pdata, AXGBE_MODE_SGMII_100); - } else { - rte_intr_enable(pdata->pci_dev->intr_handle); - return -EINVAL; + if (set_mode) { + if (axgbe_use_mode(pdata, AXGBE_MODE_KR)) { + axgbe_set_mode(pdata, AXGBE_MODE_KR); + } else if (axgbe_use_mode(pdata, AXGBE_MODE_KX_2500)) { + axgbe_set_mode(pdata, AXGBE_MODE_KX_2500); + } else if (axgbe_use_mode(pdata, AXGBE_MODE_KX_1000)) { + axgbe_set_mode(pdata, AXGBE_MODE_KX_1000); + } else if (axgbe_use_mode(pdata, AXGBE_MODE_SFI)) { + axgbe_set_mode(pdata, AXGBE_MODE_SFI); + } else if (axgbe_use_mode(pdata, AXGBE_MODE_X)) { + axgbe_set_mode(pdata, AXGBE_MODE_X); + } else if (axgbe_use_mode(pdata, AXGBE_MODE_SGMII_1000)) { + axgbe_set_mode(pdata, AXGBE_MODE_SGMII_1000); + } else if (axgbe_use_mode(pdata, AXGBE_MODE_SGMII_100)) { + axgbe_set_mode(pdata, AXGBE_MODE_SGMII_100); + } else { + rte_intr_enable(pdata->pci_dev->intr_handle); + ret = -EINVAL; + goto out; + } } /* Disable and stop any in progress auto-negotiation */ @@ -938,16 +943,7 @@ static int __axgbe_phy_config_aneg(struct axgbe_port *pdata) axgbe_an_init(pdata); axgbe_an_restart(pdata); - return 0; -} - -static int axgbe_phy_config_aneg(struct axgbe_port *pdata) -{ - int ret; - - pthread_mutex_lock(&pdata->an_mutex); - - ret = __axgbe_phy_config_aneg(pdata); +out: if (ret) rte_bit_relaxed_set32(AXGBE_LINK_ERR, &pdata->dev_state); else @@ -958,6 +954,16 @@ static int axgbe_phy_config_aneg(struct axgbe_port *pdata) return ret; } +static int axgbe_phy_config_aneg(struct axgbe_port *pdata) +{ + return __axgbe_phy_config_aneg(pdata, true); +} + +static int axgbe_phy_reconfig_aneg(struct axgbe_port *pdata) +{ + return __axgbe_phy_config_aneg(pdata, false); +} + static bool axgbe_phy_aneg_done(struct axgbe_port *pdata) { return pdata->an_result == AXGBE_AN_COMPLETE; @@ -1016,7 +1022,8 @@ static void axgbe_phy_status_result(struct axgbe_port *pdata) pdata->phy.duplex = DUPLEX_FULL; - axgbe_set_mode(pdata, mode); + if (axgbe_set_mode(pdata, mode) && pdata->an_again) + axgbe_phy_reconfig_aneg(pdata); } static int autoneg_time_out(unsigned long autoneg_start_time) diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index e1b926d48a..5acccf9146 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -560,6 +560,8 @@ static bool axgbe_phy_belfuse_parse_quirks(struct axgbe_port *pdata) if (memcmp(&sfp_eeprom->base[AXGBE_SFP_BASE_VENDOR_NAME], AXGBE_BEL_FUSE_VENDOR, strlen(AXGBE_BEL_FUSE_VENDOR))) return false; + /* For Bel-Fuse, use the extra AN flag */ + pdata->an_again = 1; if (!memcmp(&sfp_eeprom->base[AXGBE_SFP_BASE_VENDOR_PN], AXGBE_BEL_FUSE_PARTNO, strlen(AXGBE_BEL_FUSE_PARTNO))) { @@ -796,6 +798,9 @@ static void axgbe_phy_sfp_detect(struct axgbe_port *pdata) struct axgbe_phy_data *phy_data = pdata->phy_data; int ret; + /* Clear the extra AN flag */ + pdata->an_again = 0; + /* Reset the SFP signals and info */ axgbe_phy_sfp_reset(phy_data); From patchwork Fri Apr 12 12:52:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139254 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id BA9E443E52; Fri, 12 Apr 2024 14:53:45 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A9DE64111B; Fri, 12 Apr 2024 14:53:45 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2068.outbound.protection.outlook.com [40.107.94.68]) by mails.dpdk.org (Postfix) with ESMTP id B5ADA410F1 for ; Fri, 12 Apr 2024 14:53:43 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TBNYSUiTG4FP0y74Ym/dhq8pp63eK29r/vVM4YDAojVIVlqTCgABm+Q32lQcPhQcxYe6JSpOEh+RR3bYLkPUSXiqjf4pKtuwbSGg9+G7nnqgJVsoMhqHJfGwIk+KmVN9lYBf1Zpow8bjFTuxU+bA4aNkgGKDWKi1nnNj28n0vhX0YHKDqhXWFrOKxyFYJ+70K6HmxHujiEUi78V/0oX7T0/7mR0nsYjC8EKuYLl5Czn7BPpJpHu9tFjJ9I8pNkeW0dluotr1/UclwVpx5z3pf7t/wMBGllwflL5B98Lr0nsREnAmoxLFUT/nC0tqFcdxb1wZGt/jFWLpM+lCHpyS1A== 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=NlbS2YjsDoskzWTvgrUIKuu7imNPj1V9xk5mPuIe2ZQ=; b=lsY6sQDagvuFTD27SMphRrd6nXqXF8beV7Ujreu6Xc930lXwDITffZr3u4HQzTBfV2WB7SZ0sVko06oussg5gZ9c1j17HvBJic9OzpyAIBB8zyc4s/2bkS3WAKReId+CoLQYAf+zyxEeMPkTcbCOBD6v4qzvU87wLptbhArnGawEbmQEAs3ofVYQ5d3LiYnwfhBE8TfhVaDYI8slUexTPWWic4S7fzdXpOSdIJZCJPodhMg80k/POm/OTkyy0bA1eZSBwKHjDx+zTfvgumK33De/fTTgsSjWj1ttWuRM3TArMi/R493zrOYhfAVruan1xFSbP5ZRFAS2/vRNQqaUWw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=NlbS2YjsDoskzWTvgrUIKuu7imNPj1V9xk5mPuIe2ZQ=; b=lfFGPIJorweL5TuyjvXWRsQwVz4MhOe2WvRsEkuPyuvW+U1u5ekSyopQbS7uBkGxmSAefG6jY176y5AhF8wsOlUMZ7dTcFBqRJaUsP1XEYNYo1qANpmUastpbwA2u/04fyJEgsT3al4g5wMEfxAYw6dt+QMiEIyCgT8Rikf3ZLY= Received: from BL1P223CA0028.NAMP223.PROD.OUTLOOK.COM (2603:10b6:208:2c4::33) by IA1PR12MB6436.namprd12.prod.outlook.com (2603:10b6:208:3ac::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 12:53:38 +0000 Received: from BL6PEPF00020E64.namprd04.prod.outlook.com (2603:10b6:208:2c4:cafe::47) by BL1P223CA0028.outlook.office365.com (2603:10b6:208:2c4::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46 via Frontend Transport; Fri, 12 Apr 2024 12:53:38 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E64.mail.protection.outlook.com (10.167.249.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:53:38 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:53:36 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 04/24] net/axgbe: check mdio for non-zero ports and CL45 PHYs Date: Fri, 12 Apr 2024 08:52:29 -0400 Message-ID: <20240412125249.10625-4-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E64:EE_|IA1PR12MB6436:EE_ X-MS-Office365-Filtering-Correlation-Id: 3a8a8428-961f-4138-4242-08dc5aef92d0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: yB/2SthnB/pShxTbnRYMDqgT9+f6pDQDnIBUx6ohNw+264kUtleYJnfilv7x+CJ11+qNVaEZ61Ipe5admOcDMf17+tJOzNZLoJvZWFH0mUTDsXzYiedN/RfQOl8f5Bxufpw5rT+shK3vXcPRC28zfmP4oOTu5O9xtMUiNU8I+CehuMF52FSwLsmvFdWpQnFiHrJQQr7TECUbvNOOdZOVEng0ig4buCzpcGFUHCvL9yS1+oiQmkR/flxS7MS3OcIuTssvegzGxadnHTnMlhs1nME7L6TkNrf7lG+9ArJ3eCRk4EWHVFVzWnpX4DYrf2Z9lR61cZ+SzG4xuk43hggodZuTK6a/q5u4r5AM/8z+r1sI9bamhdTFuU7tis/sTW7UT/HkF6wl4GACDrHSm4L44oflOcFv7Mnwjb15zyACs4k985PIenznBMCS6avGIGSpzf56lqrb4pyCISUwy549HX/3auPQHT44hD/Aw7xFYElrpEtQIGqtoXYDkEYmR6sJbhJCp516gzHQU58Ax9akFua7+fneIOJiM9NwRI2KCpBzzZ1fPuHEeA5FOYOWD823Pt4FZQvy6UufazgJTC372J5wNr66hyIFr6nlwSPugutlW/+fIv/mMStBmAMyjLZdz1KQNtzVjOqHK2RM9LaZpF7NtypeK6iShgQKsZ1dYbRcHNLfMDZl3zUvVAn0t7UxwhwmeWG/aoJYxpdCsDbwoZV9JHG/WZ4F5CathGHC0nJ+sG/iG9J4NWikIFStq4Ps X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(376005)(1800799015)(82310400014)(36860700004); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:53:38.6104 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3a8a8428-961f-4138-4242-08dc5aef92d0 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E64.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6436 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 The XGBE hardware has support for performing MDIO operations using an MDIO command request. The driver mistakenly uses the mdio port address as the MDIO command request device address instead of the MDIO command request port address. Additionally, the driver does not properly check for and create a clause 45 MDIO command. Check the supplied MDIO register to determine if the request is a clause 45 operation (MII_ADDR_C45). For a clause 45 operation, extract device address and register number from the supplied MDIO register and use them to set the MDIO command request device address and register number fields. For a clause 22 operation, the MDIO request device address is set to zero and the MDIO command request register number is set to the supplied MDIO register. In either case, the supplied MDIO port address is used as the MDIO command request port address. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_common.h | 2 -- drivers/net/axgbe/axgbe_dev.c | 22 ++++++++++++++++------ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/drivers/net/axgbe/axgbe_common.h b/drivers/net/axgbe/axgbe_common.h index a5d11c5832..51532fb34a 100644 --- a/drivers/net/axgbe/axgbe_common.h +++ b/drivers/net/axgbe/axgbe_common.h @@ -407,8 +407,6 @@ #define MAC_MDIOSCAR_PA_WIDTH 5 #define MAC_MDIOSCAR_RA_INDEX 0 #define MAC_MDIOSCAR_RA_WIDTH 16 -#define MAC_MDIOSCAR_REG_INDEX 0 -#define MAC_MDIOSCAR_REG_WIDTH 21 #define MAC_MDIOSCCDR_BUSY_INDEX 22 #define MAC_MDIOSCCDR_BUSY_WIDTH 1 #define MAC_MDIOSCCDR_CMD_INDEX 16 diff --git a/drivers/net/axgbe/axgbe_dev.c b/drivers/net/axgbe/axgbe_dev.c index 6a7fddffca..3389954aa6 100644 --- a/drivers/net/axgbe/axgbe_dev.c +++ b/drivers/net/axgbe/axgbe_dev.c @@ -63,15 +63,27 @@ static int mdio_complete(struct axgbe_port *pdata) return 0; } +static unsigned int axgbe_create_mdio_sca(int port, int reg) +{ + unsigned int mdio_sca, da; + + da = (reg & MII_ADDR_C45) ? reg >> 16 : 0; + + mdio_sca = 0; + AXGMAC_SET_BITS(mdio_sca, MAC_MDIOSCAR, RA, reg); + AXGMAC_SET_BITS(mdio_sca, MAC_MDIOSCAR, PA, port); + AXGMAC_SET_BITS(mdio_sca, MAC_MDIOSCAR, DA, da); + + return mdio_sca; +} + static int axgbe_write_ext_mii_regs(struct axgbe_port *pdata, int addr, int reg, u16 val) { unsigned int mdio_sca, mdio_sccd; uint64_t timeout; - mdio_sca = 0; - AXGMAC_SET_BITS(mdio_sca, MAC_MDIOSCAR, REG, reg); - AXGMAC_SET_BITS(mdio_sca, MAC_MDIOSCAR, DA, addr); + mdio_sca = axgbe_create_mdio_sca(addr, reg); AXGMAC_IOWRITE(pdata, MAC_MDIOSCAR, mdio_sca); mdio_sccd = 0; @@ -97,9 +109,7 @@ static int axgbe_read_ext_mii_regs(struct axgbe_port *pdata, int addr, unsigned int mdio_sca, mdio_sccd; uint64_t timeout; - mdio_sca = 0; - AXGMAC_SET_BITS(mdio_sca, MAC_MDIOSCAR, REG, reg); - AXGMAC_SET_BITS(mdio_sca, MAC_MDIOSCAR, DA, addr); + mdio_sca = axgbe_create_mdio_sca(addr, reg); AXGMAC_IOWRITE(pdata, MAC_MDIOSCAR, mdio_sca); mdio_sccd = 0; From patchwork Fri Apr 12 12:52:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139274 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 06E4A43E52; Fri, 12 Apr 2024 15:00:21 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CA2A0402A2; Fri, 12 Apr 2024 15:00:20 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2067.outbound.protection.outlook.com [40.107.94.67]) by mails.dpdk.org (Postfix) with ESMTP id 9BAD5400D6 for ; Fri, 12 Apr 2024 15:00:19 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ejA0PHmYdlbZ3UNZDd8+LLk9RS35+MFSFf+Prr+mWvdBnRVZUKObrsxRNP2OhNpBLPdX2uZC+VUGclH9lkw0ZCRS2z/oooQW0i9Q9LrrinurHeBDFA4oBzW5vzc97gFOk0nVorDmE8pUFnaF9fx6yZwbfI83+mZhH4F9fKxjsR+CMCY+pvvIlWXjnvVfpikI3tW0NO+XGa5j9xYprTOQSsqKFsHvZ09sDXaTieB5YNj+vqYUq9N9k/WevD2b20fSJI23qOUzMxKwoGPVJom4EszSHH8XPeFEyDFbEJscKbNlMuWT3q4OnbPzkQD51jC6jlw4ZaUQkDfjjV3svYNVKg== 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=KRmS7u7iGKzJv2B71cAVVC0lSup8IQYEqkJyeJ1L96k=; b=jZg2Ev8DzQqx35EUNzKETVSWMni958itpixcP9o4W2Fds9gaAvaCZle5p8GcXScAFfn0G31p/eQV7n7KGyPvRf3qC3yhcqB9Y/M1bwHU+r9CxhMjtY7OqqjoBV/MYj8vG4Tubj5USBOX1pCvXVHEK4n0k78pKKX2+7xXPBqbIG+ToRnWpU7xGjc2fArGbBhOAfsKoyL6YN6rq9fIMfkszAA2zctUJPHKV2b11+oAIKRiqPK2nUv49zK0HUbyH7niPcdHvF/99RNGpBjZ8DgODcbPVu6E/KyRuRz6bglbe9yx6XtXum91YT09F8mFpdDwmhMO4p0qHzMD9GB5KCvORQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=KRmS7u7iGKzJv2B71cAVVC0lSup8IQYEqkJyeJ1L96k=; b=jq9mhKxfsI4WJGltSokZ/UHNX7tI5t97JIYZOA36nqCQEXMZ4XVR8k0vCob7D7qXY54plGdo4l4zJLH79AUoInfp2W1Ux3yxdOOKSNe7gZ1XtiJ6Z1Nf2Vd8cJTLP/yvK23xq1vmXtS8Vq7Us9Q2TH+DEWN6+nu6kiFS3702U3I= Received: from BLAPR03CA0003.namprd03.prod.outlook.com (2603:10b6:208:32b::8) by PH7PR12MB9101.namprd12.prod.outlook.com (2603:10b6:510:2f9::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 12:53:46 +0000 Received: from BL6PEPF00020E60.namprd04.prod.outlook.com (2603:10b6:208:32b:cafe::9c) by BLAPR03CA0003.outlook.office365.com (2603:10b6:208:32b::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend Transport; Fri, 12 Apr 2024 12:53:45 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E60.mail.protection.outlook.com (10.167.249.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:53:44 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:53:43 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 05/24] net/axgbe: remove unnecessary conversion to bool Date: Fri, 12 Apr 2024 08:52:30 -0400 Message-ID: <20240412125249.10625-5-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E60:EE_|PH7PR12MB9101:EE_ X-MS-Office365-Filtering-Correlation-Id: ed6d51cf-1e7d-4e93-9e16-08dc5aef9693 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: E5woaEBJm7sRnsNaVRO5NYUwPMQOnvWpxCKAgCkd/uke35cpJAQ+iPppEwlkdRmWUUfMlZ2MsKqe3ZAkCu/wDOb4WfTN4IiznipP9YlSB7lVSUuzxf34Nqw0ZRV8MhfCe2iwEMzrpbtYE4rmxgeQT3ADZWhS5SW20je2Su4r/f6zw8zBwLBja2ppi4x8XeIY6EeUyrCCSyYSAgXOp1yKlcDmS7ozvbA2rC2HqKI8pbg9D2+ubO88WYA+3pWqXRmdoa7HYnqtQl9J3pi2EKMMDLPFTD4O0vLD9I/gLMgLLdHlt3Bjktw8paqjFq62LI8K2TroIELGBVxb5RrePhAvDGXDw3fgC6WZbE8Nj6F6Y/bCRQVmzjOj032yaZTx7+t5WPaXFTjbIXrkKipNG5mMLTjN0xhRCFXf5QOfAlw8wtkLOzTQoS/9uUJEojArf7pLChHO/q3KnAlSKKqhZCrJ+PKaUZExcbKg8bicmfCItJqtg6My/ZFc0PItl/wQs5PFZZl6xUuqDYBbuFPjyijFoS0kHeePN2+U6qdXOpmqwgLABKtdl6uMY9j40uO2TEVwHZIUKjJEkAp0IeCQ6kJoCLeJDmcfjzBXOYRHH7uR8gpK92GqHgJCJFugT6ZIBF4c6YFhMUX36Emyq2KqaE5DNgfuhMlrSik/HUrMXc3iRMzwtp3L4E7XUcU3ximWjiPoyalaHlpQNCQkMp6/Jp8ZMvS2IH1EwJnthLimfYD8bOHVUhOP1iWZ6DWj8KooOmNe X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(1800799015)(376005)(36860700004)(82310400014); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:53:44.9239 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ed6d51cf-1e7d-4e93-9e16-08dc5aef9693 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E60.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9101 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 The conversion to bool is not needed, remove it. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_phy_impl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index 5acccf9146..b5796b13e0 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -657,7 +657,7 @@ static bool axgbe_phy_sfp_verify_eeprom(uint8_t cc_in, uint8_t *buf, for (cc = 0; len; buf++, len--) cc += *buf; - return (cc == cc_in) ? true : false; + return cc == cc_in; } static int axgbe_phy_sfp_read_eeprom(struct axgbe_port *pdata) From patchwork Fri Apr 12 12:52:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139255 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 107DF43E52; Fri, 12 Apr 2024 14:54:01 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EF737410E7; Fri, 12 Apr 2024 14:54:00 +0200 (CEST) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2074.outbound.protection.outlook.com [40.107.92.74]) by mails.dpdk.org (Postfix) with ESMTP id 1ECFA402A2 for ; Fri, 12 Apr 2024 14:53:59 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=F/Hld/sa7cPg9nqleUdXoS78xg3X5ghzS5q7j4QBNsVBTDwCh1kv/lk8672fAuB5ju8oHT8CcWa+U5z9t2O3U4yMKHpc27JB8rbs2m+vj0MswBZWInHbxLpnrk9EC4NtVY7nOxL825xlabgJPw6GOxNJDce+Zx45N+sHpQuGX92El3aS8IkQAxNbOUjoerC5nI0RCtTASi4wtM4DYWeazkO8wO522yNCOYuI50l3NYMOwocE9EIW28S3JmhqX4mGb65SEmL1yaYTe7QtP9kRK5sIgs3LLmSHUsIyVXDSV3OF+eMyv9IMIn2mef7sZyDEDdwKS3eH294C9XStMen+3w== 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=VQjHns85YtttoxKKn81iuuCQmTvr+acC0U7smYN5RUU=; b=SWT7t7Sy26KYLoMQh/KUJzuSLSGYzEKVlnOZTOunomLUQ60brfuR/8+2LNCCtup0rilr0pNh3scEs1N+0U3avMINwobil93RxFURgqlzGAdoakNI/YjoA3+qmVVBOQiwnoaVxEKX5sEc+rKOF9nTEbg/kyvNX4vsYgTyCK70FYVudMzxjPY519otUhe2f8mGYkdFcDWK+35E/yCmi4kJBs9fwNvyXADufn/VOb+M4LsKHSK1bIloLeRolfh4dFiyETWsw9eZZ2Cx/2WBhy0951qRTEKR6TdGaY9kiRq6ILgeFq3Sz1nF7PWbZ9EYEP+0CgpHCHOGAW4QEklnE3VEmg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=VQjHns85YtttoxKKn81iuuCQmTvr+acC0U7smYN5RUU=; b=ITPXS0Rzuy0Y9S0fiyXUVIRgNAaofXUeaSdhyUwRoJhwCtdrTjxevtOXb5fMtRgSHGc60yEqEJDRSW+/hhUWtqXgyU7BW+4Vvkz5usBr3Gmnp+4ja23zSkIaM6uphBquikUF+IqGuZHy46oGcMeNGgCpojCULMvGCJIBx3iNZP0= Received: from MN2PR22CA0030.namprd22.prod.outlook.com (2603:10b6:208:238::35) by CY5PR12MB6204.namprd12.prod.outlook.com (2603:10b6:930:23::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 12:53:57 +0000 Received: from BL6PEPF00020E5F.namprd04.prod.outlook.com (2603:10b6:208:238:cafe::91) by MN2PR22CA0030.outlook.office365.com (2603:10b6:208:238::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.26 via Frontend Transport; Fri, 12 Apr 2024 12:53:56 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E5F.mail.protection.outlook.com (10.167.249.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:53:56 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:53:45 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 06/24] net/axgbe: reset link when the link never comes back Date: Fri, 12 Apr 2024 08:52:31 -0400 Message-ID: <20240412125249.10625-6-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E5F:EE_|CY5PR12MB6204:EE_ X-MS-Office365-Filtering-Correlation-Id: 724ffb69-d98f-464d-1ff8-08dc5aef9db0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /G1bsjpZnnOJD8OehEWOtIyK01YPhKhR9JTkXiHIbAlxm4l5iaA4dDLbSj5ZLHpvyHoHzZ/AYPJi6IdjNh1OmP2trHV8ZSWTxPNQJWCtdc5fIwX8hqf48IrDCVLOAy+EYXrp8+uADbpykdvo2Wg5w6FQnQQNQ4Y7GefLroCa7HU32wofzW2de9VllVhRqBw1ATBl+RKDTQ00nSeY6tsMjfduUv05ifO/R3p1qB7R9B1rCPqz/qi/vy9Br9RB3c+TTnMhnJjMisOUftJuGugX0haG3MnNqaNbynVpMI3uqbkakEde7p8nR+euFUzeGPAxzUWiVxYwc4pBF9FOPCBrNzUDHUfW3Ht1KnNOyw+tztfoaOfv6vjluLV1coiUS63u7Sf4ghftNkrAsIhrP69/7FETL5xX1vIflbFJ5x7hVj39MXYsdgv2+Popcp+bLg3mcg4VFE65sUibKOgjG3Z8JUY2TvuyDcQ37sgkMvGTbqXYZ2eqQ5di9ydd99OezNF3ndjQOlLYc8iPz0PyfQ9jmay7oK6HBILK5BsFatHNqVSWfFSZDtewFzaz6bPaVpKWqOkOSzkyZHj+TN8wn14VUBVKuOUM6EYaGsC8B4JR1X/z89Ye1tpIV6y5Kn7ydAT8dpE1UxB9g+pYw3Z9/7IFJu09Tz8owSj2DonIpL7dg9jrjaCpgLei4Ok60ZYWFBQUm0c1arbUV9LwqB6SQK7RkuVMB3n5kNmxXNRroF8F7aPjoGltek8AfO8mHrFGMo01 X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(36860700004)(1800799015)(82310400014)(376005); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:53:56.8548 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 724ffb69-d98f-464d-1ff8-08dc5aef9db0 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E5F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6204 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 Normally, auto negotiation and reconnect should be automatically done by the hardware. But there seems to be an issue where auto negotiation has to be restarted manually. This happens because of link training and so even though still connected to the partner the link never "comes back". This needs an auto-negotiation restart. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_mdio.c | 2 +- drivers/net/axgbe/axgbe_phy_impl.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/axgbe/axgbe_mdio.c b/drivers/net/axgbe/axgbe_mdio.c index 0beeb1d0f5..151b30e2ab 100644 --- a/drivers/net/axgbe/axgbe_mdio.c +++ b/drivers/net/axgbe/axgbe_mdio.c @@ -1058,7 +1058,7 @@ static void axgbe_phy_status(struct axgbe_port *pdata) &an_restart); if (an_restart) { axgbe_phy_config_aneg(pdata); - return; + goto adjust_link; } if (pdata->phy.link) { diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index b5796b13e0..968ff1f867 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -1676,6 +1676,13 @@ static int axgbe_phy_link_status(struct axgbe_port *pdata, int *an_restart) if (reg & MDIO_STAT1_LSTATUS) return 1; + if (pdata->phy.autoneg == AUTONEG_ENABLE && + phy_data->port_mode == AXGBE_PORT_MODE_BACKPLANE) { + if (rte_bit_relaxed_get32(AXGBE_LINK_INIT, &pdata->dev_state)) { + *an_restart = 1; + } + } + /* No link, attempt a receiver reset cycle */ if (phy_data->rrc_count++) { phy_data->rrc_count = 0; From patchwork Fri Apr 12 12:52:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139256 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 45E0A43E52; Fri, 12 Apr 2024 14:54:09 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AD9EE4113C; Fri, 12 Apr 2024 14:54:06 +0200 (CEST) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2044.outbound.protection.outlook.com [40.107.100.44]) by mails.dpdk.org (Postfix) with ESMTP id 5BCFD410F2 for ; Fri, 12 Apr 2024 14:54:05 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Rr0o2e3k7NMZ9fHu5021JTLteqYJFkNCNdKmmUM5KSShMtGY1hTt8Su1IZRgdvCkJuh6wuoaZsMezquQLQ2KFyDQ0YdEXu534mVAJdnjreCkIT/Vr4tf/3QtLkBu8AL5JlTb8zPk18y/YhRXJ4LpTk2N/r0DqJT7UhWnlS8FkAeFS9G6SSc51V5ups7LappxHFr1cItlE05r2wVL2aI19rLy5swEX1KZBBhlwNJYWPfUC3nIhm4XtXNYLpHZ1BS7pBfl5N7Lb2HgdOroEOPxdHjTc/1Ey94+T1ndgR8sEljKdaDqZg7ylTPjR+0MUmMG7NmNIvkzN/jDuyw+wy6wvQ== 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=xfKZS1CNXUtDVzi3Wm6+/otF0/UI0+My7pvfZhpczM8=; b=b0eOw6VkiQKH/3AT/JB5vNP/O3uLf9xx4TJx6LSzuiK8KTLdnc3YoojcxqqH4ovV2JgVLqDdWGB2i7XBmECNLr6S+IJt8Qet+NHmPXo91+iIpuGhdDa91ayYO2VxCKZnTNYlWqmptBMi8pQKE/eta2Tn7eyjw6d+s16B4rN6Zoo0mt0/SulqOyzWe3skMiom8/crecsZuZITs4WEq3v4IUcrYHC+JsSrFWFxr851dpua9w+4IcdJ10SGsYeDBEfM3upvRtZxtUSMHnqMf1C9N9zoQzdGlhjDa9qXgkInFFBo6QvU+HXCpWFWvIkVH2eWZO4IEja9CchY+1/hUtmUEw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=xfKZS1CNXUtDVzi3Wm6+/otF0/UI0+My7pvfZhpczM8=; b=AV9MrSTaVhRbLCgjmsaHl94vxVcX9FWbrFRINC124Ir3Fh4Dcp95UO90zhdJQ3Acp64XknGIDukqyFOkNiHAgvz9P7QHSAsfrf2B0mw7igmIl+Lj07qr8TJoy5LhL6jm91UA54R44Nljf2oyQ89aLBGkh3U48oRDrem5DaPBerE= Received: from MN2PR22CA0020.namprd22.prod.outlook.com (2603:10b6:208:238::25) by CYYPR12MB8732.namprd12.prod.outlook.com (2603:10b6:930:c8::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 12:54:02 +0000 Received: from BL6PEPF00020E5F.namprd04.prod.outlook.com (2603:10b6:208:238:cafe::b9) by MN2PR22CA0020.outlook.office365.com (2603:10b6:208:238::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.26 via Frontend Transport; Fri, 12 Apr 2024 12:53:57 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E5F.mail.protection.outlook.com (10.167.249.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:53:57 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:53:48 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 07/24] net/axgbe: check fluctuations for 1G BELFUSE SFP Date: Fri, 12 Apr 2024 08:52:32 -0400 Message-ID: <20240412125249.10625-7-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E5F:EE_|CYYPR12MB8732:EE_ X-MS-Office365-Filtering-Correlation-Id: 7c64d552-a646-4ee1-a645-08dc5aef9df7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZcAkMEKMmBVIbEMeISbN5L0CqlqVSzOA6UtWlH/YbKX3S7iQEc0P8oenAz/FyCaH49+mnIhgRUkLr2f7pfuAF8eUQnF2vmyd0FhRvlqgEYs7AkWWgSUMpSubHma4cHNUk29xPPuJOYWZN6p7s4XSrH4aeqF1JszrC4rkv3w9wHY2vQg4haXaCviyOeMpPf9jHfyKXSDjoCsBNA/UMUIw9tmmUlnt9q4yoreR3bmaolQJxkpOZR+8HdFDizNWVlfxndsZbZrmEPmUk5Fi+EaKujhIkiL+rezfFfhoLudenF54gpyzRByg7J+OCzVbKLzG7gJURSnkTOfQOuNc4k58mqlnyB+GICUMW0Pco6qq+HvmHI8USMZn9ZFNujhkLHHHDSTcv2YgDxz+Kfund7yzedl9m2JIYLOvPpPA8evIf1CTyjMesFKJf4t1IuxMkMtXqnJTO2kgA/QRQKeaeNctSnaJstWRysz1DaLLB+dnz+9XZfFLFtfH//fgkjJr/S1V8ISag5meBZLen5Etjy7XXyg2C/MEVVA2+cOeINO3ZVng5ziFQkKkjSdNHA0nRbe9ltI+uIjjXTYqFwvAd/hJyUtb7qpineK5wcZ2pQDm80i6jcGma6O7FMK3a7eNXDMFsywpGMBlLhxchV8M6TTuu7W09eb5EPGQa+1tDcNPUElucQTFQgKTyUt4VXK5LFq6+OtUQ7ga2oT3YiTBqnn3wQ+fx5qqhJUnrrKBBfFuy5wokYCsiUMctbtLzsuC2s3v X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(376005)(36860700004)(1800799015)(82310400014); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:53:57.3235 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7c64d552-a646-4ee1-a645-08dc5aef9df7 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E5F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8732 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 Frequent link up/down events can happen when a Bel Fuse SFP part is connected to the amd-xgbe device. Try to avoid the frequent link issues by resetting the PHY as documented in Bel Fuse SFP datasheets. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_phy_impl.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index 968ff1f867..1ccb95334e 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -563,6 +563,9 @@ static bool axgbe_phy_belfuse_parse_quirks(struct axgbe_port *pdata) /* For Bel-Fuse, use the extra AN flag */ pdata->an_again = 1; + /* Reset PHY - wait for self-clearing reset bit to clear */ + pdata->phy_if.phy_impl.reset(pdata); + if (!memcmp(&sfp_eeprom->base[AXGBE_SFP_BASE_VENDOR_PN], AXGBE_BEL_FUSE_PARTNO, strlen(AXGBE_BEL_FUSE_PARTNO))) { phy_data->sfp_base = AXGBE_SFP_BASE_1000_SX; From patchwork Fri Apr 12 12:52:33 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139259 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2E2DF43E52; Fri, 12 Apr 2024 14:54:31 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AD18A410E4; Fri, 12 Apr 2024 14:54:13 +0200 (CEST) Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2059.outbound.protection.outlook.com [40.107.95.59]) by mails.dpdk.org (Postfix) with ESMTP id BF0DE410EA for ; Fri, 12 Apr 2024 14:54:10 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nBDU73OY6maqgv85xlAd7goFjhB6PKKpc+w0le5Fqj+sKi5iZO3RJISznq2D/lhJPYNOb2nOAdmt0ReqqiTtXYtzAAHPfJWZDKwynHM+QEUPSeqg+ZT4rX1BBtLMKyWsQmX/Ohgl7ZPhioURQO2sX+pRUuvBpTa3NL+UI+z3tp0G0GDpZLUPlyz4iEc8m0N8q0JJu9isJzjazBWO4fELpQWmjwUVT8CA9nbdGbQK+8Z/X6xolw7PtiBTLgOKMjdzZBr2JgBYZ0g4TpxS1lVwy0x/PxmiLdO96NsfK9HevXKAfAUAw6vPgMNSvSPABZBQo4KLYs3RkKiwwXtbf5RvpQ== 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=9O1xQmPslIUNuoPNqbbBc/sR4TqdoS9/TC44rufjeEw=; b=TgY1x2rvL2UQJoKK9y3VdOULC5r+KCUP/sht5JSRgHxT25v2MrkiAXnDrDy1WsQ/e/Yj9gryOoD4KVCqd53SOC2aa6BYmiRCB/9S0jfyrltgWWEBsbnc4yxEA3FtA/wNI7fvFM5dQbNDPueY8p/fcf4hXqStuyaBEANM1EUNnFFuN56CEXQq47JfRQn0JZbjJ/crPOGSz5B1D9qvvsfPjqLAsExjDZHCQlZu5QCSULsWsVhJ46OelBohcGjjt53F5XgVZpSHPOiWZ8zv8wSiXZ8PUr24LZnwTGjMO38ZaMXkfOlZUN2Xq4pp3Ai7uyB5xV2vTUMH0kXGylbgnn6nVg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=9O1xQmPslIUNuoPNqbbBc/sR4TqdoS9/TC44rufjeEw=; b=MkwN34AyGTob1/hIMMlBlSLKIx1VGwiSxX6g9jYt55rixG3/xR40tFPDmCTIuOBHEItECY8BidhvAJXk3TzlhT4iNSLNtHUCgw3E8WmKbn6/ExrUTtDzhSHpZrwEAKszVGVU8hAeez16qEuYrJZi4L0wggpAa0ywVZR5H8xnQ/c= Received: from MN2PR22CA0021.namprd22.prod.outlook.com (2603:10b6:208:238::26) by SN7PR12MB6791.namprd12.prod.outlook.com (2603:10b6:806:268::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 12:54:06 +0000 Received: from BL6PEPF00020E5F.namprd04.prod.outlook.com (2603:10b6:208:238:cafe::51) by MN2PR22CA0021.outlook.office365.com (2603:10b6:208:238::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.26 via Frontend Transport; Fri, 12 Apr 2024 12:54:03 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E5F.mail.protection.outlook.com (10.167.249.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:54:03 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:53:51 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 08/24] net/axgbe: update DMA coherency values Date: Fri, 12 Apr 2024 08:52:33 -0400 Message-ID: <20240412125249.10625-8-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E5F:EE_|SN7PR12MB6791:EE_ X-MS-Office365-Filtering-Correlation-Id: aca88e3c-aed7-4f1f-795a-08dc5aefa199 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: A0IaCkQbxQwb7eqt1JIeajGEndp/ROIdLmGYW8xIDi7NLEjHZrsDUETlpl+vT189ojt5hmtJnypjpQQ3Fn+pJMumpmPQo86GzKkk00T2jnv4Omi/IcuzaXeJtANjCKdjcR+kiVU0eCERoEezkbFFiI3QCEi6iaFjHXFX1snaiXkau+TtWJSpAOc071oVOgPm+yGhYESzMR8JqJJiHtkBTcM8kfY/oCNtdjPnD4BRvLulPdfSMQ8efdEirdx4QyjhMmJvo46x6HJY+rLjl+Wk+V0EImtv1ItPhSASudNBFGMfH71EAFXJVjXwdg0ul0JuRH2aTcE4OtosJlCr3NmuWzaHuTi4jPHRFClPfaVZUB7phMnrp9g2k15KYfTwldny6MlTRkWTE2OuJEMAXrTKMw1gFaHc8MHCfcoGc5oTOnOH8j72CIE1XlfnBpNr87Q4Dn5Dvtb6+n9uKI1qlI6dBJjtn412J1xofVV3xDo6N94sPWNNCShi81qYJsy/hALfwj1qfgiO7Hnu4aXk2TNE6rsyx1Tu+58Q7+TT2bipE/2U6uzsg58ngYY4FN7a8kuZTSuk8CuCS/qyHI7uQO5bYe8qN1XTSnPBIJ8bzqcF1S7j5A4KETwnQ9h4a52bcgCkk01bDSR0L3HHot0ZQ5VaGenadpw85t/Ta+YVdRw5WcknLZUqettqRYOVA0E6mQVD/6XydwzWnh8blHc4aIgyOqYBgJ7Nv8ZMnwZYASz/EzbO0e7sxkVPgbjsCx5aXETR X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(36860700004)(1800799015)(82310400014)(376005); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:54:03.4172 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: aca88e3c-aed7-4f1f-795a-08dc5aefa199 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E5F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6791 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 Based on the IOMMU configuration, the current cache control settings can result in possible coherency issues. The hardware team has recommended new settings for the PCI device path to eliminate the issue. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_dev.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/drivers/net/axgbe/axgbe_dev.c b/drivers/net/axgbe/axgbe_dev.c index 3389954aa6..9b0073eea6 100644 --- a/drivers/net/axgbe/axgbe_dev.c +++ b/drivers/net/axgbe/axgbe_dev.c @@ -647,23 +647,21 @@ static void axgbe_config_dma_cache(struct axgbe_port *pdata) unsigned int arcache, awcache, arwcache; arcache = 0; - AXGMAC_SET_BITS(arcache, DMA_AXIARCR, DRC, 0x3); + AXGMAC_SET_BITS(arcache, DMA_AXIARCR, DRC, 0xf); + AXGMAC_SET_BITS(arcache, DMA_AXIARCR, TEC, 0xf); + AXGMAC_SET_BITS(arcache, DMA_AXIARCR, THC, 0xf); AXGMAC_IOWRITE(pdata, DMA_AXIARCR, arcache); awcache = 0; - AXGMAC_SET_BITS(awcache, DMA_AXIAWCR, DWC, 0x3); - AXGMAC_SET_BITS(awcache, DMA_AXIAWCR, RPC, 0x3); - AXGMAC_SET_BITS(awcache, DMA_AXIAWCR, RPD, 0x1); - AXGMAC_SET_BITS(awcache, DMA_AXIAWCR, RHC, 0x3); - AXGMAC_SET_BITS(awcache, DMA_AXIAWCR, RHD, 0x1); - AXGMAC_SET_BITS(awcache, DMA_AXIAWCR, RDC, 0x3); - AXGMAC_SET_BITS(awcache, DMA_AXIAWCR, RDD, 0x1); + AXGMAC_SET_BITS(awcache, DMA_AXIAWCR, DWC, 0xf); + AXGMAC_SET_BITS(awcache, DMA_AXIAWCR, RPC, 0xf); + AXGMAC_SET_BITS(awcache, DMA_AXIAWCR, RHC, 0xf); + AXGMAC_SET_BITS(awcache, DMA_AXIAWCR, RDC, 0xf); AXGMAC_IOWRITE(pdata, DMA_AXIAWCR, awcache); arwcache = 0; - AXGMAC_SET_BITS(arwcache, DMA_AXIAWRCR, TDWD, 0x1); - AXGMAC_SET_BITS(arwcache, DMA_AXIAWRCR, TDWC, 0x3); - AXGMAC_SET_BITS(arwcache, DMA_AXIAWRCR, RDRC, 0x3); + AXGMAC_SET_BITS(arwcache, DMA_AXIAWRCR, TDWC, 0xf); + AXGMAC_SET_BITS(arwcache, DMA_AXIAWRCR, RDRC, 0xf); AXGMAC_IOWRITE(pdata, DMA_AXIAWRCR, arwcache); } From patchwork Fri Apr 12 12:52:34 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139257 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4CA9043E52; Fri, 12 Apr 2024 14:54:16 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2B90A410EA; Fri, 12 Apr 2024 14:54:11 +0200 (CEST) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2055.outbound.protection.outlook.com [40.107.237.55]) by mails.dpdk.org (Postfix) with ESMTP id A4A6741156 for ; Fri, 12 Apr 2024 14:54:09 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Tr4UFSpmESUdYH5YSSURI3Rxz6XgECzKregSjHKRXfKLWEyUhRY+nG1mDRir0vBJRKeO+VzfRoQpgrx6lCD1Ya/YuhUMUqeZ+Bc/k/gdm+/C3dBR6E5I51hzqPYg6JWFkHlRaqXPm72WXYtmTpTPo7e06inDYXG1ZhBV6sT3Tk/ShplX17ky1znKdLk33eIwXCoN786utQ94Ks8XQNbDNbUaLZq99P1wSM90DpoKyFrXAFEZ96b7jjAbqECbq2rR5rM1z7jHevJ/ErrI+L22Lsf8AN/6LwE9rcYr7Nc0Z+z2YJN5/3jO7AcgB+WAE/EHhoZ2r84yLzxFb44lALHc1Q== 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=fNB1b7SJecYdKIebCXU75EI5K5FU9d4cDURpyhBaWBA=; b=mjMhOYpmrHOrRjj4QmNxc+zeoh851sigjo1YPSa2YYe4ZUPAI+ByjS7HDkLb803hiti+8uPjbhfuhtwDayhUehoN/s1QrLZZXjsLZCcuUeYGaOfsj1RynFBdTSuXGL5L7gi95bHqk3zG5mFKM6gRwB1o5sdwJOOW6/U2HkZypML8nE7+XKRNR0rThSvF+xy1T1TEJ+jUplZ5Df8b0HWqz9nyeaoVMtScHcL6JiVby6zDeFpZr1tOADHmdTzy7/eLzesPNY99LXJK3MzUywwxTMeWtZhHYJJPGR7XGJNtSUxko+bLPHjnnaCzu4nVvAozW9iCP0IA815XvgpmDxObjg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=fNB1b7SJecYdKIebCXU75EI5K5FU9d4cDURpyhBaWBA=; b=FQ/8UytSKlKN3qyiZPKiK0cNf0+EKl7olOvtpKoj0TT5S6/6/W0k6khl2TndG0FU9FEZJhFd4PQFXeMDP0ggtr6kyyPdMwjtp0gQOZ1lgJuAyfOBVibEbaiAAGcebFT4mivHErquKLGHeMnFFnsj6j5fkKY75xoUV/qcM53klOU= Received: from MN2PR22CA0018.namprd22.prod.outlook.com (2603:10b6:208:238::23) by IA1PR12MB7663.namprd12.prod.outlook.com (2603:10b6:208:424::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 12:54:07 +0000 Received: from BL6PEPF00020E5F.namprd04.prod.outlook.com (2603:10b6:208:238:cafe::a9) by MN2PR22CA0018.outlook.office365.com (2603:10b6:208:238::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.26 via Frontend Transport; Fri, 12 Apr 2024 12:54:07 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E5F.mail.protection.outlook.com (10.167.249.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:54:07 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:53:53 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 09/24] net/axgbe: disable interrupts during device removal Date: Fri, 12 Apr 2024 08:52:34 -0400 Message-ID: <20240412125249.10625-9-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E5F:EE_|IA1PR12MB7663:EE_ X-MS-Office365-Filtering-Correlation-Id: f8efd960-08a7-47cb-342d-08dc5aefa3fe X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qW7dsoFV+V9X8hoYki18WFxWHHsH0YTSJJ4u0r+WJ1e01aCOS614kJFQUgEikoioOj27G6jPp4P0pkWWgAR55k5Gak2mC4kmBVruIfIlafW5zVwgbE/yArNPZJBzAzEFt6O32itEfnOzkqActtdELcsz0FUQk23+WN11h/h1urxYL3wPazhPS1fSAspuhgyAcU9ChScz2DqEmbU3EUM2QxwkmdThvsTH6Llb4XuyxfwPMnZvEhVLLcehe1VXISE1LDsSnyUefVJkaVq98OpkiWD8IVgrKgdQXDgsYaBOC7CUb6XQ8JTlzLDilP9UqVVasbvjMtCT1t2P8kNb+4Pos1pCEx+VT+ssCkXcuXWp32sDKEYOjLl3iia+oTiaVBbaCyzAzCj+xhKFffjWbAR/KNIVKy9rJZ9o2LYcVj+P1kD5Bgo7M+VSMJVP11VhuKUXYYnlLknkKNCefr4Z3qPjdd8eM6k6l9FtdoEtIoPRpci/s/+7fMEFmwNZCybhxcdTDAA/UfnN9a+2Jxksgl6r63bDOm2nWXPd+LyaAGzRiGxrPAxi1j/psF/fqp5nHu4CJpw0j8x8uveqG9kOcDbDK1hRlIg1GCBwn7WUQPO6IcyTbJSniLUVHaKxB7N+yWoNHLPsx3XYAOJAUyFDMb9Wswgk83SmkD/tpeljmQ4Jjb3R1WMS3V50rzdtqdYFyc2kOG7zXzn+OlS2hZC8Ntm2Q7BOvOmolrmkJYyX2eYNoAbBQEv03nmwwDwtLRkaoT8P X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(82310400014)(36860700004)(1800799015)(376005); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:54:07.4328 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f8efd960-08a7-47cb-342d-08dc5aefa3fe X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E5F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7663 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 Hardware interrupts are enabled during the init, however, they are not disabled during close. Disable all hardware interrupts during close operation to avoid any issues. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_ethdev.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c index dd681f15a0..e5d8f7db02 100644 --- a/drivers/net/axgbe/axgbe_ethdev.c +++ b/drivers/net/axgbe/axgbe_ethdev.c @@ -2411,12 +2411,14 @@ static int axgbe_dev_close(struct rte_eth_dev *eth_dev) { struct rte_pci_device *pci_dev; + struct axgbe_port *pdata; PMD_INIT_FUNC_TRACE(); if (rte_eal_process_type() != RTE_PROC_PRIMARY) return 0; + pdata = eth_dev->data->dev_private; pci_dev = RTE_DEV_TO_PCI(eth_dev->device); axgbe_dev_clear_queues(eth_dev); @@ -2426,6 +2428,9 @@ axgbe_dev_close(struct rte_eth_dev *eth_dev) axgbe_dev_interrupt_handler, (void *)eth_dev); + /* Disable all interrupts in the hardware */ + XP_IOWRITE(pdata, XP_INT_EN, 0x0); + return 0; } From patchwork Fri Apr 12 12:52:35 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139258 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1A42743E52; Fri, 12 Apr 2024 14:54:24 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6BB534161A; Fri, 12 Apr 2024 14:54:12 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2048.outbound.protection.outlook.com [40.107.94.48]) by mails.dpdk.org (Postfix) with ESMTP id 169B24111C for ; Fri, 12 Apr 2024 14:54:10 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hDnSEIUZ8yTt1TI83W0oc5Hxrd33HClZAGy3g3WlC+TNVzfNxIWruj34TZQrwmaYTROpXD8iEDt0zis274kBCYzfwYX2fZNqwpLVt2DwNT2xzZNKE4CX+786zvr2CCMLekyNwhrLy3tn21jahCPOmzfJBjKAo/IxA6pXlRxBgVLuIkEL67B35GcadmDTW/NTFHNh/6VfFxpR3P9v14cnlYOWLFs3KvMby+sRuTaWeuizFEgiZfdyqWW5fHB2qgwVMPvtcOQ0XXALMu7drfsnqhrZV49WbzbIK1KAEl66Rp+p2vzFGv2UpU/dW7thvsotPle2Zw7zpm0V7hIQy1COjA== 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=2WZOXDPrS4x72U1x4HTpEaLVlQA3G9mprAqMDhh2g4I=; b=bSm064ontDM/5yxcQ/8O+NdyE7xCUqWo3JFbUMS3N7C2uCj8F4O6+45144exmnXrBQP/oV6af1VFRKqWfMEQ10XGEAvpeukFRrxGnBCp2Iy33YEaLgE/yWCH1hnx5eLozZKxPSs9Sfs2MrDoP2TVgdslFHQqIXiuv8SLgYQmJMTezY3352AHnKiVDmnCReMKgxqvNL80UTks3/DbRJiAvpd8FPnHd5vOEuuRLQM7oGokafPQ2VmJvZifHNlQtkFdJUwt6bfx1HAEfOyev+a6fEG3GWfc7B4zfvQRdBMQ1N/zxAzaVS6jooS5hLy3Vzw4gCrB3+rX+ZBk7PRIm3H98Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=2WZOXDPrS4x72U1x4HTpEaLVlQA3G9mprAqMDhh2g4I=; b=1qM5OtiTBdYPgiI3DanzIEJ1i+q0hQjXd4BMoiyzg3szJafplYpoUF4ATFjuiLxT7yN/KIPHchZ2GAeovjDuguFIH4mKkaZUn03wqB3mbps2RdN9YaSsZHp3w4gtaxyHmq6eRfdO1+0gtd++vXqHa8QEcuzSxh9R5lry3/n1ecE= Received: from MN2PR22CA0012.namprd22.prod.outlook.com (2603:10b6:208:238::17) by CYYPR12MB8752.namprd12.prod.outlook.com (2603:10b6:930:b9::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Fri, 12 Apr 2024 12:54:08 +0000 Received: from BL6PEPF00020E5F.namprd04.prod.outlook.com (2603:10b6:208:238:cafe::6c) by MN2PR22CA0012.outlook.office365.com (2603:10b6:208:238::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.26 via Frontend Transport; Fri, 12 Apr 2024 12:54:07 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E5F.mail.protection.outlook.com (10.167.249.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:54:07 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:53:55 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 10/24] net/axgbe: yellow carp devices do not need rrc Date: Fri, 12 Apr 2024 08:52:35 -0400 Message-ID: <20240412125249.10625-10-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E5F:EE_|CYYPR12MB8752:EE_ X-MS-Office365-Filtering-Correlation-Id: a16021cc-7950-471a-f5c3-08dc5aefa440 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: e1AdY5FUWtY/vJKWHahWQkejsixUunrEKT4+Yx2XVOicEI28SpLSyuR0DplqZiX9RIcrhQ6BvoF/vNdyfRI5Tg/JtieeSazRKEiuPH+uFxsDYEqGa6bYaRPkclBWWDDp3qOM4kuAe0HY2zWmG7L/M1O2mSPCpj0JJXD7yQNEWLs8A2IGkBLptilXjOw09dVcK63GSi5z4J/jI+M1vORMuz/o5TFhC4mGrlWYaW/U6pDV3tqRT3gDR34bU2pBvK6RK5sAnqTBzcKYgMxlIHEcm8iLDa3n+vXNT/yigo53CYzQpmhRFpSh5bxXeZ9ABEG/qsjhXhtpdZWDT5wIddlvdQJg7RFJfufEW7n5LQh1fL+AlryzQ6Krd/m5rtBMqrnqo801u9AIx10p6LAoPqyNgxlWw2zaRCrnzcmSki7/O7fzl8cNJyXZ/Cgrc3BV4jrLRrm3ZdtvRy7RhUPxld2uNOeKun9LCsTSP45GCdU9rfu4AvOMY4vre/6WUdH16xyGT8h0hU1rdx0I3AZX0OsGTb738v/qVnAS0zFBl/HsYOiRr9M/+SfCty+MnBm3ZAr4YYuOm8UQUpv/CUJdwonXkuwhQIYbeq1i/TeSisZOBUUi5nGxi3NgRrq9TBTQYH6HUii7iVjkqctNZJi6/DCyJEz2FzowKw2qHZvDWVwfB23CAKWfMtgNqQ4/lXHL4b0QiNP5CFDfhDJJkzcp0f1KRGfuPUR6v7nOvDDBP/CfPdY46pYgijM1xWN29aUjPTT/ X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(1800799015)(376005)(82310400014)(36860700004); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:54:07.8703 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a16021cc-7950-471a-f5c3-08dc5aefa440 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E5F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8752 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 Link stability issues are noticed on Yellow carp platforms when Receiver Reset Cycle is issued. Since the CDR workaround is disabled on these platforms, the Receiver Reset Cycle is not needed. So, avoid issuing rrc on Yellow carp platforms. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_ethdev.c | 5 +++++ drivers/net/axgbe/axgbe_ethdev.h | 1 + drivers/net/axgbe/axgbe_phy_impl.c | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c index e5d8f7db02..86c2ec64e0 100644 --- a/drivers/net/axgbe/axgbe_ethdev.c +++ b/drivers/net/axgbe/axgbe_ethdev.c @@ -208,6 +208,7 @@ static struct axgbe_version_data axgbe_v2a = { .ecc_support = 1, .i2c_support = 1, .an_cdr_workaround = 1, + .enable_rrc = 1, }; static struct axgbe_version_data axgbe_v2b = { @@ -220,6 +221,7 @@ static struct axgbe_version_data axgbe_v2b = { .ecc_support = 1, .i2c_support = 1, .an_cdr_workaround = 1, + .enable_rrc = 1, }; static const struct rte_eth_desc_lim rx_desc_lim = { @@ -2269,6 +2271,9 @@ eth_axgbe_dev_init(struct rte_eth_dev *eth_dev) /* Yellow Carp devices do not need cdr workaround */ pdata->vdata->an_cdr_workaround = 0; + + /* Yellow Carp devices do not need rrc */ + pdata->vdata->enable_rrc = 0; } else { unknown_cpu = 1; } diff --git a/drivers/net/axgbe/axgbe_ethdev.h b/drivers/net/axgbe/axgbe_ethdev.h index 924a26ebe3..469b3876c0 100644 --- a/drivers/net/axgbe/axgbe_ethdev.h +++ b/drivers/net/axgbe/axgbe_ethdev.h @@ -463,6 +463,7 @@ struct axgbe_version_data { unsigned int ecc_support; unsigned int i2c_support; unsigned int an_cdr_workaround; + unsigned int enable_rrc; }; struct axgbe_mmc_stats { diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index 1ccb95334e..a58d51d606 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -1687,7 +1687,7 @@ static int axgbe_phy_link_status(struct axgbe_port *pdata, int *an_restart) } /* No link, attempt a receiver reset cycle */ - if (phy_data->rrc_count++) { + if (pdata->vdata->enable_rrc && phy_data->rrc_count++) { phy_data->rrc_count = 0; axgbe_phy_rrc(pdata); } From patchwork Fri Apr 12 12:52:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139260 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5422843E52; Fri, 12 Apr 2024 14:54:38 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DF33E427DB; Fri, 12 Apr 2024 14:54:14 +0200 (CEST) Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04on2077.outbound.protection.outlook.com [40.107.102.77]) by mails.dpdk.org (Postfix) with ESMTP id 9A9D9411F3 for ; Fri, 12 Apr 2024 14:54:11 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dvuOkwksuacCgQhWZCk5O4G9Aj7Ds/Es2+Amfefo8oxeNLnXGifr+2m6opaOIwzh0B9qVwmDbBzKWA9Ne85+eQn9UJsjfkn0Or+RJ4gUnPfpSLM+i2Lc3CoQr/Axs3ICJ3HDnmVoQgH8U8skIgZc79TLU/Lf6JOG7O9xwm5JPCEtY+RTULJCWFg/twjzcYrSsOvx/ROYLoEfr+NfAi2uHJvFQ9ISf7YEBNkkZIMPEHEjAbxIcTRtWRVlZ8eQYuNZApl67KMigRSxDFE6jvvv3SJEY1wBq0VqTGHUqX19ahOF6A1wHtoB70cDA3PwV3s3Hd9oxvp87N8UJuqJQhXUnQ== 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=mC59Qb4C8QNStRJer317aj0aFnBK0gf91dxKzmfLrbY=; b=hK7+YWcJLJSH5pJzXHfAqoqaIf5m8I2sJck5DjKxUYbtHeAPeMsvX7VYW+a0cMaJoaBT6wdYPVgcY7i6VY2kY9+3BMbTXWYW9e0F5fl25KrQQOzKa1GZ1aWhk8+bQSJJFJwGi1vytiROt/3+f4C1LlNIGq70N/Z4oRM6/zMCwRcwRvY1W1gMXtUo/QnduaFR5lICSvcIeyPzf092M6R+mHG6j8DaiNwcQW1zn1Zk04UuXOr8aIZ7JNdeoAFwX+rwFPgW84MRCIdRkXthlz7N67S2aOe2JoSEDCEmc1fF9mw1LqfpWW97rs7inzADbPD1hcKV3wkP6JakwmiuJQlTTw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=mC59Qb4C8QNStRJer317aj0aFnBK0gf91dxKzmfLrbY=; b=3ywGdQTIklmstt5ikCC2sVLhOkM+aZyGum/PUPLZPFYqaRCAZ++tPto0FHEx0ir4Op7e+C2NTy2FwDPncdfP41ktAfQv+VVgMeGjgel6GIqnG8pUqnFSMmVdVyhSyXNLz99CygP2uH244o4gIpZuyKs2C9XvImfRT3ZymuOMu90= Received: from MN2PR22CA0009.namprd22.prod.outlook.com (2603:10b6:208:238::14) by PH7PR12MB6611.namprd12.prod.outlook.com (2603:10b6:510:211::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 12:54:08 +0000 Received: from BL6PEPF00020E5F.namprd04.prod.outlook.com (2603:10b6:208:238:cafe::a7) by MN2PR22CA0009.outlook.office365.com (2603:10b6:208:238::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.26 via Frontend Transport; Fri, 12 Apr 2024 12:54:08 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E5F.mail.protection.outlook.com (10.167.249.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:54:08 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:53:58 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 11/24] net/axgbe: use definitions for mailbox commands Date: Fri, 12 Apr 2024 08:52:36 -0400 Message-ID: <20240412125249.10625-11-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E5F:EE_|PH7PR12MB6611:EE_ X-MS-Office365-Filtering-Correlation-Id: c0cd6b44-df29-444e-de9e-08dc5aefa48a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aNIB74vGx55pDv3OsKGWeJjh5OdFcUzeU+bMF76TjPh3DhUxREUl9bW+zG3csm8a9CZcVodx1scatGcb69hybCWaejnSzRx6dv4w04VWTW5rTpLP0rwXpXGtcp+0o3vtJPtTLpMimNfHsbU6XB2PImOyQDY30C0TQGtOKYEQ4HuXAyOlfTUivpMFwAh0hn2mOoeUsuDypLLFYjmcSV0Q+fk9Rw5577qWmtv6GkS4Pnmyx3hSCsdZT760jOvDTpq4i/jawExeI9UAlSrIL5njx5I0+IgVS2lN09d8pZZmw29X1uU+w0yMdjwSXamA3bvda5W3x3gBFJHgHps8XY8ZoJSs+ufWWCXeud+6wSsqSuBSwDIf/DKZjVJxezrG88Gco9GPld+T479DcT2fhj5KWB9KO5dLSD0N4qr+vZN3aWbzpVCb4zS2JIONA8JhxTGrv76Hej8aIVOMFzLlc0i5ma/8GwC8spH5p8OiyIVlf/AirD26fom7pDpq61+XAtpSmRVFiVVLAL2UJfxlySN6thqZl+gKselHXkPaF77jctamfSmt1fM8QRrQCaPRyrETINnPIj5uj2GUHvVKzOu0L7QjhvfqhNRDyPYQN/eYHnMsVet8DccQGvmvbR59+DuOI9lceARRtUGSVyDj8zyqIzAXPOlpVoncNzWA12seX9XmARJxg7aP6vZjgktdllhTUqpWfZs2LjDJB/gvqeZH0fFvuTOwp6bp3QFQE9GrJETW9V3uiV30carfKhfgErAg X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(376005)(1800799015)(36860700004)(82310400014); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:54:08.3703 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c0cd6b44-df29-444e-de9e-08dc5aefa48a X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E5F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6611 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 Instead of using hardcoded values, use enumerations for mailbox command and sub commands. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_ethdev.h | 25 +++++++++++++++++++++++++ drivers/net/axgbe/axgbe_phy_impl.c | 25 +++++++++++++++---------- 2 files changed, 40 insertions(+), 10 deletions(-) diff --git a/drivers/net/axgbe/axgbe_ethdev.h b/drivers/net/axgbe/axgbe_ethdev.h index 469b3876c0..20b36ced55 100644 --- a/drivers/net/axgbe/axgbe_ethdev.h +++ b/drivers/net/axgbe/axgbe_ethdev.h @@ -230,6 +230,31 @@ enum axgbe_mdio_mode { AXGBE_MDIO_MODE_CL45, }; +enum axgbe_mb_cmd { + AXGBE_MB_CMD_POWER_OFF = 0, + AXGBE_MB_CMD_SET_1G, + AXGBE_MB_CMD_SET_2_5G, + AXGBE_MB_CMD_SET_10G_SFI, + AXGBE_MB_CMD_SET_10G_KR, + AXGBE_MB_CMD_RRC +}; + +enum axgbe_mb_subcmd { + AXGBE_MB_SUBCMD_NONE = 0, + + /* 10GbE SFP subcommands */ + AXGBE_MB_SUBCMD_ACTIVE = 0, + AXGBE_MB_SUBCMD_PASSIVE_1M, + AXGBE_MB_SUBCMD_PASSIVE_3M, + AXGBE_MB_SUBCMD_PASSIVE_OTHER, + + /* 1GbE Mode subcommands */ + AXGBE_MB_SUBCMD_10MBITS = 0, + AXGBE_MB_SUBCMD_100MBITS, + AXGBE_MB_SUBCMD_1G_SGMII, + AXGBE_MB_SUBCMD_1G_KX +}; + struct axgbe_phy { uint32_t supported; uint32_t advertising; diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index a58d51d606..8cc99d3a6b 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -1217,7 +1217,7 @@ static void axgbe_phy_pll_ctrl(struct axgbe_port *pdata, bool enable) } static void axgbe_phy_perform_ratechange(struct axgbe_port *pdata, - unsigned int cmd, unsigned int sub_cmd) + enum axgbe_mb_cmd cmd, enum axgbe_mb_subcmd sub_cmd) { unsigned int s0 = 0; unsigned int wait; @@ -1262,7 +1262,7 @@ static void axgbe_phy_rrc(struct axgbe_port *pdata) /* Receiver Reset Cycle */ - axgbe_phy_perform_ratechange(pdata, 5, 0); + axgbe_phy_perform_ratechange(pdata, AXGBE_MB_CMD_RRC, AXGBE_MB_SUBCMD_NONE); PMD_DRV_LOG(DEBUG, "receiver reset complete\n"); } @@ -1272,7 +1272,7 @@ static void axgbe_phy_power_off(struct axgbe_port *pdata) struct axgbe_phy_data *phy_data = pdata->phy_data; /* Power off */ - axgbe_phy_perform_ratechange(pdata, 0, 0); + axgbe_phy_perform_ratechange(pdata, AXGBE_MB_CMD_POWER_OFF, AXGBE_MB_SUBCMD_NONE); phy_data->cur_mode = AXGBE_MODE_UNKNOWN; @@ -1287,14 +1287,18 @@ static void axgbe_phy_sfi_mode(struct axgbe_port *pdata) /* 10G/SFI */ if (phy_data->sfp_cable != AXGBE_SFP_CABLE_PASSIVE) { - axgbe_phy_perform_ratechange(pdata, 3, 0); + axgbe_phy_perform_ratechange(pdata, AXGBE_MB_CMD_SET_10G_SFI, + AXGBE_MB_SUBCMD_ACTIVE); } else { if (phy_data->sfp_cable_len <= 1) - axgbe_phy_perform_ratechange(pdata, 3, 1); + axgbe_phy_perform_ratechange(pdata, AXGBE_MB_CMD_SET_10G_SFI, + AXGBE_MB_SUBCMD_PASSIVE_1M); else if (phy_data->sfp_cable_len <= 3) - axgbe_phy_perform_ratechange(pdata, 3, 2); + axgbe_phy_perform_ratechange(pdata, AXGBE_MB_CMD_SET_10G_SFI, + AXGBE_MB_SUBCMD_PASSIVE_3M); else - axgbe_phy_perform_ratechange(pdata, 3, 3); + axgbe_phy_perform_ratechange(pdata, AXGBE_MB_CMD_SET_10G_SFI, + AXGBE_MB_SUBCMD_PASSIVE_OTHER); } phy_data->cur_mode = AXGBE_MODE_SFI; @@ -1309,7 +1313,8 @@ static void axgbe_phy_kr_mode(struct axgbe_port *pdata) axgbe_phy_set_redrv_mode(pdata); /* 10G/KR */ - axgbe_phy_perform_ratechange(pdata, 4, 0); + axgbe_phy_perform_ratechange(pdata, AXGBE_MB_CMD_SET_10G_KR, + AXGBE_MB_SUBCMD_NONE); phy_data->cur_mode = AXGBE_MODE_KR; PMD_DRV_LOG(DEBUG, "10GbE KR mode set\n"); @@ -1322,7 +1327,7 @@ static void axgbe_phy_kx_2500_mode(struct axgbe_port *pdata) axgbe_phy_set_redrv_mode(pdata); /* 2.5G/KX */ - axgbe_phy_perform_ratechange(pdata, 2, 0); + axgbe_phy_perform_ratechange(pdata, AXGBE_MB_CMD_SET_2_5G, AXGBE_MB_SUBCMD_NONE); phy_data->cur_mode = AXGBE_MODE_KX_2500; } @@ -1333,7 +1338,7 @@ static void axgbe_phy_sgmii_1000_mode(struct axgbe_port *pdata) axgbe_phy_set_redrv_mode(pdata); /* 1G/SGMII */ - axgbe_phy_perform_ratechange(pdata, 1, 2); + axgbe_phy_perform_ratechange(pdata, AXGBE_MB_CMD_SET_1G, AXGBE_MB_SUBCMD_1G_SGMII); phy_data->cur_mode = AXGBE_MODE_SGMII_1000; } From patchwork Fri Apr 12 12:52:37 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139261 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1FEC943E52; Fri, 12 Apr 2024 14:54:48 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E860B427E3; Fri, 12 Apr 2024 14:54:16 +0200 (CEST) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2076.outbound.protection.outlook.com [40.107.92.76]) by mails.dpdk.org (Postfix) with ESMTP id C554D427D8 for ; Fri, 12 Apr 2024 14:54:13 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QQllXD1bVGwzLsgHT4AYoJX7Ex7JyIilXfoZQEh3GvCvdgk/XXjn0KNdtPFCqvd0xPId/P7IJnRQrqwpkUqtn3jgm0vjNNguOtk3hdfrFuxXp7k2EVH4rwMu5JMDvhkg5NRsDbtcjarrLFfTarctZrceO5esABWjzWOpi7Qb25CVkkw2fXeClO0OvoIAcsjxaC7zduruoPzCIW5WTxzai3hv2qfk6dh5J96UOlbyv1aRjDf2d2Ihi4vxl4uz+OdWBcF/7DI6wYkPPKIjVJ3CKyteMLzIMLM7Lco7JThwUPAu3h3VQbP74nq3QqDp4R53RtpyRZKtv09vZzO+Vr/VAg== 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=tq4DwHOQRSLZDe15jci8KhHbgEOv7xEReSGK0+6khsE=; b=Z2Zr0lnWwppulDHFHOkB+okJUaVYVqG58fAdVNmzsGzfAfE4YZj6hWJtaHVYG+5nNfYqLYoL4iVvRTdIeXEJsq3cPU8Z/bjVQ1rLT0fZ5OTqikbbwDYfIvXor3xUIXbCa5XTpR/7UYdNTnkHfft+djLTXA+NdtM4SIG//MeSP4y4rfJF0rTqreWabkjUMPHKsUtOCJYgLQ03zaGGH/rckmouLUCSL99/MkIGoEn+deMZqIWnExC4kJ71xa9K6YgAfIIdJISXIViymC8vk+ANbMuiGPPoljtqN8YA2KvxzDuQMO8Q8+k1Eg95SFJMxHttxBOe355J+50sHeGFTmhbng== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=tq4DwHOQRSLZDe15jci8KhHbgEOv7xEReSGK0+6khsE=; b=pwKm6+g1gwXp7WlcEmI01nScVMvIzTwu/PGCwxljQ6NGLxvE+tKmIZWZ6JmiO52aFVofsFRTGsia4KWPiZdORT+4EF658QjL8yxi31I10zKVstLRozB81VNciRYmLs1XFmywTgs4dojBi8UC3Kry51DRbyES6yHmOBXrZtjBUyY= Received: from MN2PR22CA0014.namprd22.prod.outlook.com (2603:10b6:208:238::19) by MN0PR12MB5836.namprd12.prod.outlook.com (2603:10b6:208:37b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Fri, 12 Apr 2024 12:54:10 +0000 Received: from BL6PEPF00020E5F.namprd04.prod.outlook.com (2603:10b6:208:238:cafe::76) by MN2PR22CA0014.outlook.office365.com (2603:10b6:208:238::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.26 via Frontend Transport; Fri, 12 Apr 2024 12:54:10 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E5F.mail.protection.outlook.com (10.167.249.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:54:10 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:54:00 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 12/24] net/axgbe: enable PLL control for fixed PHY modes only Date: Fri, 12 Apr 2024 08:52:37 -0400 Message-ID: <20240412125249.10625-12-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E5F:EE_|MN0PR12MB5836:EE_ X-MS-Office365-Filtering-Correlation-Id: ef993339-1587-45ec-0ab0-08dc5aefa5bc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oMn6RZNHNQ3npifFvjcUwNgF6ZBiWmp04J6Wm85rI7Gpr+oDVM0DKXmhcwoCY3xLZBnoiGjkWyGw6v3UVtaJJ3HB6Ib54vfUoyzktognjW/IP9Mxire17KckGPV5DVvnEv4DXinNh9ooq5oSamF0lrpoZgAZJ7NMX8hK4MvJxqN7e+kt/bQqAMAGlL4wq6p0eW7AtC4Ka8AVhm2nhAAvwLQ5S3Dt+drUplKREApZTPIKDlVDUp6higjc9GAmEj9kDPGLTJSopyyVKGBCsr6A0HUhKKt726iQlJMi9PRgnRb3LHWpXz+TAGs5Z39FY7Hoo5y611A+gIhed9vq5B4XrN7o5Ada9/wGh1LB33UoVucX8ibAtZRHu3YLbrWHAWLLPipJFfx+AgcXkt8aAvzj/6OvO53fF6Y3oonhliDl1kFxkUi39iGe61WY0V7ZFh4zT0VJpzngXo9buj0d38EcGIpsYLmWWK4jk/U6j++8+J79aW5XHBAnlBhf7eVtZKoNR0/FrxGOAG/q0Gx9qw/HVpdCC+6o9uFIa91cvcyD8Gu5l7YWU43D1kl4oPmMCBnWuWpqEpqT9kzC3zjzWavPcqCrwTwm1Ur6Ej6tXXNs9LrO1d3ECwT5o2bPN+67NGeRwyo2bAGUOtY/ifozDaSSF5mvmFOAGJEyTJOh5vb2CMXWKB7sK8EGWfaOMvS5l1Es3RBRmgArEpED0CO4d2ccCadPpb+3fIuAr0uaxvKOsu+r+bs4/WdjCg3EE2gXRmDO X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(1800799015)(376005)(82310400014)(36860700004); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:54:10.3546 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ef993339-1587-45ec-0ab0-08dc5aefa5bc X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E5F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5836 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 PLL control setting(RRC) is needed only in fixed PHY configuration to fix the peer-peer issues. Without the PLL control setting, the link up takes longer time in a fixed phy configuration. Driver implements SW RRC for Autoneg On configuration, hence PLL control setting (RRC) is not needed for AN On configuration, and can be skipped. Also, PLL re-initialization is not needed for PHY Power Off and RRC commands. Otherwise, they lead to mailbox errors. Added the changes accordingly. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_phy_impl.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index 8cc99d3a6b..ceff36df3d 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -1207,6 +1207,10 @@ static void axgbe_phy_rx_reset(struct axgbe_port *pdata) static void axgbe_phy_pll_ctrl(struct axgbe_port *pdata, bool enable) { + /* PLL_CTRL feature needs to be enabled for fixed PHY modes (Non-Autoneg) only */ + if (pdata->phy.autoneg != AUTONEG_DISABLE) + return; + XMDIO_WRITE_BITS(pdata, MDIO_MMD_PMAPMD, MDIO_VEND2_PMA_MISC_CTRL0, XGBE_PMA_PLL_CTRL_MASK, enable ? XGBE_PMA_PLL_CTRL_SET @@ -1251,8 +1255,10 @@ static void axgbe_phy_perform_ratechange(struct axgbe_port *pdata, axgbe_phy_rx_reset(pdata); reenable_pll: - /* Re-enable the PLL control */ - axgbe_phy_pll_ctrl(pdata, true); + /* Enable PLL re-initialization, not needed for PHY Power Off and RRC cmds */ + if (cmd != AXGBE_MB_CMD_POWER_OFF && + cmd != AXGBE_MB_CMD_RRC) + axgbe_phy_pll_ctrl(pdata, true); PMD_DRV_LOG(NOTICE, "firmware mailbox command did not complete\n"); } From patchwork Fri Apr 12 12:52:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139262 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7B54243E52; Fri, 12 Apr 2024 14:54:56 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1EA53427E0; Fri, 12 Apr 2024 14:54:18 +0200 (CEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2081.outbound.protection.outlook.com [40.107.244.81]) by mails.dpdk.org (Postfix) with ESMTP id EAB80427D9 for ; Fri, 12 Apr 2024 14:54:13 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kmZd6+53PqZ8KFwS7NK/7WkKAcT1PmMpcNe/pGSrjuOMTI7F8v7QXttUDq08JIvuwLDDxtSMH09/VKH7LITZna3Exf3zuwyvPse0Qh2fw7cYIEOXrfyyzQSgUjQHHiaPTkPaUB66jGVbLWbaReCRRjgMRdheipXR8D/spEM++50BlV/x9wCygRcNZGFeOPAnOl3Fxqddw4+Da0oJT15eP+Yi8IkT5b1hUGWZ4YPWLpqzaOg3IwILoq32EkIZwfszmuLpNgUdPXpg0CjdyjJr7GOv+M31kWUMWGKLKkv2rtMpqJfl83ZP1yxMnIFbBSAwG1UoxNUrHWvTVS5czo7p9A== 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=Jt/H9dSWSSVGJmhAnuWdjcqj5wfP7BL6cEIEzW9/3aw=; b=Eb9lPg4xWyzj41BtJ/6H1Yzw4VGdL8+Rb4Wep5PnHd5OUxibjTSKv9ov/UE+9BA0qRCsfcPi3O0WaSTkXJQu95psGbPJjzocfPitaaAU0EWDhLehkETR7akPRGwR8z1wkYQL5H9DgHZno0bu6QLXOhZCm3ARDQ+87ZJN0RMz5EO698mcqtayHCzV8y1TrRcFUUI9pM6NrDgNcv+klIery9l/PNaGI+uzkySzb+kxPn76E7mVyMFiL+YMfgUw4m47IMEuz4tfF0LU+ZnXEQqlOMgYPJ8Yb4TLlOhVheASiMzJVdHil5MSFHKW/FEHr8q0oi/JZzRCjIT1il/go+4EBw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=Jt/H9dSWSSVGJmhAnuWdjcqj5wfP7BL6cEIEzW9/3aw=; b=Z3y2Uv2JLC6PPLrUSJhFNIEPW8O9N2huSW0JLei3cb6N2eCJRUbkA1GaJSXG8vLxCdJsG/0LdrENEU86QAgfNcApBRZ7xTOUU3A5sjgfwjNwRW5EgMhYN7lJvc0OjqL682VHXy9M0DLvwfpOdDLG9PFFH3jWi9JiAJpG3QpzpCY= Received: from BL0PR05CA0011.namprd05.prod.outlook.com (2603:10b6:208:91::21) by DM4PR12MB8475.namprd12.prod.outlook.com (2603:10b6:8:190::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Fri, 12 Apr 2024 12:54:11 +0000 Received: from BL6PEPF00020E5F.namprd04.prod.outlook.com (2603:10b6:208:91:cafe::60) by BL0PR05CA0011.outlook.office365.com (2603:10b6:208:91::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.11 via Frontend Transport; Fri, 12 Apr 2024 12:54:11 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E5F.mail.protection.outlook.com (10.167.249.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:54:11 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:54:02 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 13/24] net/axgbe: improve the SFP codes check for DAC cables Date: Fri, 12 Apr 2024 08:52:38 -0400 Message-ID: <20240412125249.10625-13-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E5F:EE_|DM4PR12MB8475:EE_ X-MS-Office365-Filtering-Correlation-Id: 79e7b453-194d-49af-8b1a-08dc5aefa67f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: k+O0cG88C5WRc3OAbIVSmyW5g3v8QcfFSGb4rVfPr6ANprAp7TnPf5ZPkopj+uV6JjZObklU6LTPpNvyU6W9W66N5n4UaPkmgWRxWsGy+OisN82TyKu7Msh6D1RSOTkrQ3pU3o1gScyVaRYixtVFGxSFZGitCG8yDw/gsV41Svh28zS1YRTm5f3NpDfSCUIka4PC1S7H+fdOuOYSUMgg6USj0NIGmv18RxeJN689I8Nt2FiRif2cDluhWgd8gDmXFfS5IOIP7JZ0TeZj0hQ/2lDI0+dSfPy/tqn6//6A8D4r70LBalLpcJZQ71C3IclKEaTl/N8dAut48RJs5OKlIf+TJeXyeUnlwfsZV0SfkweQSS69UIL8pVQGMxZr9EzbUrYy9XKS7p0oXFyn8kwD0nGm1wOKoSBCSel/7OPC9D9sbeVQyqVRJ1J/7EWweDzDucbXKbRdW384Y1aSCpK2I3qcKfL4O8JT7T9qanKua/AHquBGTm5LglUX5XcaRSwE6pCc1/ZPza3fJz2XHih20pR/m8W0BRoPqzp3lKqnpUA/9PFFGuZ+FqOzfahdthV+fDfZAr7QxORsAkfdomAu8SDeHm9l5Sc7r4EMrWNY7txwP3+isHixSrdxJePOoGPwbHG1KzjgZfOsA4hD9TA3gdP0CRJAIZFkGtxPEr1Fst5/QNYN839yTGfBock32hOx4q5TwP0uBe+jBPFGc5glnxuqsW4YDcPxuAv7TVLKbS6IT8a5LOr2bQ7P8r7Bc6D1 X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(36860700004)(82310400014)(376005)(1800799015); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:54:11.6359 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 79e7b453-194d-49af-8b1a-08dc5aefa67f X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E5F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB8475 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 The current AXGBE code assumes that offset 6 of EEPROM SFP DAC (passive) cables is NULL. However, some cables (the 5 meter and 7 meter Molex passive cables) have non-zero data at offset 6. Fix the logic by moving the passive cable check above the active checks, so as not to be improperly identified as an active cable. This will fix the issue for any passive cable that advertises 1000Base-CX in offset 6. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_phy_impl.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index ceff36df3d..b5b962151d 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -610,7 +610,10 @@ static void axgbe_phy_sfp_parse_eeprom(struct axgbe_port *pdata) } /* Determine the type of SFP */ - if (sfp_base[AXGBE_SFP_BASE_10GBE_CC] & AXGBE_SFP_BASE_10GBE_CC_SR) + if (phy_data->sfp_cable == AXGBE_SFP_CABLE_PASSIVE && + axgbe_phy_sfp_bit_rate(sfp_eeprom, AXGBE_SFP_SPEED_10000)) + phy_data->sfp_base = AXGBE_SFP_BASE_10000_CR; + else if (sfp_base[AXGBE_SFP_BASE_10GBE_CC] & AXGBE_SFP_BASE_10GBE_CC_SR) phy_data->sfp_base = AXGBE_SFP_BASE_10000_SR; else if (sfp_base[AXGBE_SFP_BASE_10GBE_CC] & AXGBE_SFP_BASE_10GBE_CC_LR) phy_data->sfp_base = AXGBE_SFP_BASE_10000_LR; @@ -627,9 +630,6 @@ static void axgbe_phy_sfp_parse_eeprom(struct axgbe_port *pdata) phy_data->sfp_base = AXGBE_SFP_BASE_1000_CX; else if (sfp_base[AXGBE_SFP_BASE_1GBE_CC] & AXGBE_SFP_BASE_1GBE_CC_T) phy_data->sfp_base = AXGBE_SFP_BASE_1000_T; - else if ((phy_data->sfp_cable == AXGBE_SFP_CABLE_PASSIVE) && - axgbe_phy_sfp_bit_rate(sfp_eeprom, AXGBE_SFP_SPEED_10000)) - phy_data->sfp_base = AXGBE_SFP_BASE_10000_CR; switch (phy_data->sfp_base) { case AXGBE_SFP_BASE_1000_T: From patchwork Fri Apr 12 12:52:39 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139263 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id BCBC743E52; Fri, 12 Apr 2024 14:55:02 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4602742B71; Fri, 12 Apr 2024 14:54:22 +0200 (CEST) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2048.outbound.protection.outlook.com [40.107.243.48]) by mails.dpdk.org (Postfix) with ESMTP id A96514113D for ; Fri, 12 Apr 2024 14:54:20 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oIj1kpz22poJSL89FraPI/p7YRuCXnu7fgAH9eiYjh761+DYOQvIeK7k3nnl35kfdT3w10om7PmfOicPlAlDf+dXM/46xnYsJHLp4BC+ZeibdElhDW3TcKKznKjmVv3MD75IL7pWAuV/G068q6GhFW7Sh816wwq5nbPHmCFwAwNfidUOCr3Jr51NTfL871V3bxjvjPJCVeUhUcjNZ+LDFYfqeptkAIGWGA4TpYwXbBX3ENO1LxxeBa5eRQqEtx3o/FoWbNeropJ3B9wdOCn4akrg7f5CCn3S3noF3nbwT3kUhHa8QV0Ln0cHJ0a11wHnE/WWCDnz4jQa7tqPdNS9tg== 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=8q318KTNcCFmozCYb8NPVHO2lBHfzFAcA0rX1jY/sRY=; b=PQzWkP3wVd4eRHu1k9nRvEws53HB+YbmUeRbJxvW2rjLZQ0WlxspfHHAyGvBet78K9GZFphW+sQxOESN3EY4sICNxNGKkgePG1mI1nahrlzKBLhL7jcYRJF15HlT6iMt77dYL8vr+3QM4xyKKLVjeNPtYBhmAKYzdKyChOPsaScGh1Rt6BiXS7mEVVdZ7VbrEgC7xY429170nvOYHeE7aqJDZzoTuVLDBZ4j2faRK7ZvS6PXziOLAqXoW6uQ8I129OlROnewQYcthC8WmhcMsymtTuEvXhYYmPOW/F2oCvG2dfisa7QDjdFu+QjMFNHDH7mS6SV9a0nMirA8X1EnUw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=8q318KTNcCFmozCYb8NPVHO2lBHfzFAcA0rX1jY/sRY=; b=lEPsjTj6czgjy4X9bBGvAMVFKvdu8mlTr62f4D+sXwyj4Ncg21wjzFWmM+nHGLhN7lDxGHsF+3l5GhakIJtVYXpjVc0OqlGB6wWd1ro9HAk5WZzUwPkCghxCyxDiuTnf8+qdp3h+YDWk1bAWB+r6ZAODoFX9/eHGcjp/1Q24uco= Received: from BL0PR05CA0023.namprd05.prod.outlook.com (2603:10b6:208:91::33) by DM4PR12MB7696.namprd12.prod.outlook.com (2603:10b6:8:100::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 12:54:17 +0000 Received: from BL6PEPF00020E5F.namprd04.prod.outlook.com (2603:10b6:208:91:cafe::7) by BL0PR05CA0023.outlook.office365.com (2603:10b6:208:91::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.11 via Frontend Transport; Fri, 12 Apr 2024 12:54:12 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E5F.mail.protection.outlook.com (10.167.249.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:54:12 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:54:05 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 14/24] net/axgbe: improve logic around active and passive cables Date: Fri, 12 Apr 2024 08:52:39 -0400 Message-ID: <20240412125249.10625-14-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E5F:EE_|DM4PR12MB7696:EE_ X-MS-Office365-Filtering-Correlation-Id: d546e2a6-309b-4790-86a4-08dc5aefa6dc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GfPqq+HxX+1ra14itfxMwAiQ/iA0K1lhIZpnZr8wvUmK6isLYVEbONYBR4XF3fsTfgukiswEP7bVvgxwG/weE36HrRO6Gbha2pf98oSFf84cc/h3X1J80sR7KAQnQc9lenhTDJqrRQwM9zhJs+X2B7uurewHcy7ysQRd/13M09gbtTTOpjF7F8OjurV2sRczi2zovayZcF2mWCzWQMWe6pI9QM+34ADhiaxw8KKsj0JNPu7KZ8Fj4+3tqoDJoIVjQ1CPy7NYZk7cnx/aen6nuPlgNut+Iw3gmCJO7LTEDh9S9pYXItTkWep1/fLAR2AOgv6lzmzBWimul61qyavfs1f8K5Op36zKN15WuYjvqf7INX/BYYyK0+xgWHmVRDC+i1zmgdSm2elwsilldM7CMZu9UXC8SBPKFoU/bYLGniyNr+WmTBt0WG7IjipMjz1Bv+6LAqCUod/hiDIVDERLeHqeohCLft9sHDBRxKIJpv78sBthHBuujino0T8ca+Av/bJ/D90sy1KyBNVy+BeIq+gSlWDINzxgBHmaTY3XSC+Ym1B2iwr8yUQqrF8A6gSjshAbdoPxCQ+Vrle1oD4ACF6ZCusrrDDnMa3fJ/iyJYcGC8VNmY7/+K9PnJyRPK3QmT1ma9tpt9NzcHPLJoZs5UyGJRXE0Q4wXNBoWWu/9IH22exs4DwfEUPRksvJ2PUl14QPK/kvHSNJ9nV+wW5H4vevad8bFvSCHDAd8dRZ9Pyi/eJRFe3YSdiP1jfusz7N X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(82310400014)(36860700004)(1800799015)(376005); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:54:12.2609 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d546e2a6-309b-4790-86a4-08dc5aefa6dc X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E5F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7696 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 SFP+ active and passive cables are copper cables with fixed SFP+ end connectors. Due to a misinterpretation of this, SFP+ active cables could end up not being recognized, causing the driver to fail to establish a connection. Introduce a new enum in SFP+ cable types, XGBE_SFP_CABLE_FIBER, that is the default cable type, and handle active and passive cables when they are specifically detected. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_phy_impl.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index b5b962151d..693590da53 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -69,6 +69,7 @@ enum axgbe_sfp_cable { AXGBE_SFP_CABLE_UNKNOWN = 0, AXGBE_SFP_CABLE_ACTIVE, AXGBE_SFP_CABLE_PASSIVE, + AXGBE_SFP_CABLE_FIBER, }; enum axgbe_sfp_base { @@ -601,16 +602,18 @@ static void axgbe_phy_sfp_parse_eeprom(struct axgbe_port *pdata) axgbe_phy_sfp_parse_quirks(pdata); - /* Assume ACTIVE cable unless told it is PASSIVE */ + /* Assume FIBER cable unless told otherwise */ if (sfp_base[AXGBE_SFP_BASE_CABLE] & AXGBE_SFP_BASE_CABLE_PASSIVE) { phy_data->sfp_cable = AXGBE_SFP_CABLE_PASSIVE; phy_data->sfp_cable_len = sfp_base[AXGBE_SFP_BASE_CU_CABLE_LEN]; - } else { + } else if (sfp_base[AXGBE_SFP_BASE_CABLE] & AXGBE_SFP_BASE_CABLE_ACTIVE) { phy_data->sfp_cable = AXGBE_SFP_CABLE_ACTIVE; + } else { + phy_data->sfp_cable = AXGBE_SFP_CABLE_FIBER; } /* Determine the type of SFP */ - if (phy_data->sfp_cable == AXGBE_SFP_CABLE_PASSIVE && + if (phy_data->sfp_cable != AXGBE_SFP_CABLE_FIBER && axgbe_phy_sfp_bit_rate(sfp_eeprom, AXGBE_SFP_SPEED_10000)) phy_data->sfp_base = AXGBE_SFP_BASE_10000_CR; else if (sfp_base[AXGBE_SFP_BASE_10GBE_CC] & AXGBE_SFP_BASE_10GBE_CC_SR) From patchwork Fri Apr 12 12:52:40 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139265 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5C97843E52; Fri, 12 Apr 2024 14:55:18 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D3EF442D26; Fri, 12 Apr 2024 14:54:25 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2047.outbound.protection.outlook.com [40.107.223.47]) by mails.dpdk.org (Postfix) with ESMTP id 1DA9E42D66 for ; Fri, 12 Apr 2024 14:54:24 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kkQ3B+yMbZVFZelQnOPQHkHWWbGA4XJwiAaEKKwnYO0QuVfOCFrvIKOFwQuqbSALG/uHrZrBuKtqVfJFer98SAjZwfmv9kChADUaL0iuoRgav7wgLEnCaazxt3VRM1V1PDSNG8BWrGJMXix//jh+FyPlBHdq+ZoePVjXs3oCNOHJG/2ZvPdIgc6vhaZI0O9ZIEvHAoTIMnIhLVNs67MSWGnP+r5G34hrE16cccrwua2ibC2v5xyU4ENB623s1A/A8SZiJuRWbBt6CbMYgsN9XfwVXhtS7Ekf/X9immqHjk9/gbkYJNgHLUP8Y9Rwyi8NKHnbjoSHYCBINsj4tejlHw== 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=v/W6hg5/chTdlMxbhWM1XQ1OleLuvg2ljXH5WQzlqQI=; b=gpHSeoSElphkLsMByOXzTs6xAyrsugjXC0qP64h0hTTJOwGszf4dCDQUQ5Fktl3fX8PWVEvd/cIhs2vdDdRI6L+RsDVikHhc5RMnpcXR/CrdL+M1ZjxN3YfmRXyNbCLvM5UYzp2tLXAJi+NJDSo/8AHfqNT7eo2Jf2ITD5FIUWBAaCEcZACkmrM3nwg+q3JhAmJt0O2oSs35smEw7B18LNVFL9KMBeTTjr2SxYcvKEq4aYqUXFcnsciyuCgXQq4brzG5Sys0kRsCKnSq9nvy6ukWdwL2Mv5HLdTkRVn4byB8OIpEYX4EJjwRCqI/ts88Dvaaq5fUBb89ZARw7TItkQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=v/W6hg5/chTdlMxbhWM1XQ1OleLuvg2ljXH5WQzlqQI=; b=L5zlrTLUxFetx4a5HdZRuPgtDvwDnFGH9ZEWvKEL5Cu+q7wnCQbfsOZKtPdGTKqAmEMtnmSVl47WOyLvB7mqxDF6YqlValyMEDshnGXK+v0MZET3tG92VCr9b1SSMa63Aefn02K+w4/MzNDzy5ch9E28ovYsRlez8oudO/rWv+E= Received: from BL0PR05CA0020.namprd05.prod.outlook.com (2603:10b6:208:91::30) by IA1PR12MB8309.namprd12.prod.outlook.com (2603:10b6:208:3fe::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 12:54:18 +0000 Received: from BL6PEPF00020E5F.namprd04.prod.outlook.com (2603:10b6:208:91:cafe::97) by BL0PR05CA0020.outlook.office365.com (2603:10b6:208:91::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.13 via Frontend Transport; Fri, 12 Apr 2024 12:54:18 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E5F.mail.protection.outlook.com (10.167.249.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:54:18 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:54:07 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 15/24] net/axgbe: check only the minimum speed for cables Date: Fri, 12 Apr 2024 08:52:40 -0400 Message-ID: <20240412125249.10625-15-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E5F:EE_|IA1PR12MB8309:EE_ X-MS-Office365-Filtering-Correlation-Id: 822937e5-f724-4d82-a610-08dc5aefaaab X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TBNLDIGtEUCnhjlGo8NqUHvqpxARNg7RRGjwRml06DNTUdlIQ8YGC8x80GN1Znm7tiU6gn1Y14+VVstrFx80umt8h3bup0lbjzaU3Mj+rV6QDrMBtHD4NUGKeGgnARChxNSh0fMWjr3UDF1/qhNe7k5yluQbP/oYazTrxE1+OMOwspV+GoUDI+/+Tw8otYXe/4VPHTuw1loIJ6jbVQL+HTWbPOH0Af4vmoxCdJUNcgI8Vp93dQwgUmVP8D/jaDsDLMFzx5uE87HwBV/rEMUJcgygdFadQ213wA5/1eSuAsBvlBE2kMrqDg9uXapZWg5diJVRqS8OirLXfWVYp42yqPN3um/ma5LfIZUn5aPyb9ufGQp5EneH7T5/Vm/A1fWakPVlq4rR1Zp3eLA6KTPBnu86vMggm+O5ABUv7/ShBcKuu9Pveh6mareBNWEUo1cCAPky7ZchOtAXsaok2p7bE/0eHloFdMvfSlpHYBow4Ynm+un+n1/TetSZBeT5AOJD+Ep7kRLQtO5L76Eo87Ey/vScuvoJeGa3sBgbNurlJcIW5w6zIGejrVCw+4OKx451VwMuD3a/UKOSyrDfitb/fK7mLgsFSTINaf8glaYEfCFzAnregQXJ/HCVBR4Q4+XK5sMDl8f7F2BLvWzHT4IaFf+EqPMZFJIjy6N9lyDUBAP7yRGIqz2pTkaLZvxYdHE87WpX0wXeV/pJFwDeXD9M8ejYmByFCBNTt+hYjS1XnJX5TCei4H5ngx4liL96nE0H X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(376005)(82310400014)(1800799015)(36860700004); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:54:18.6516 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 822937e5-f724-4d82-a610-08dc5aefaaab X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E5F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8309 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 There are cables that exist that can support speeds in excess of 10GbE. The driver, however, restricts the EEPROM advertised nominal bitrate to a specific range, which can prevent usage of cables that can support, for example, up to 25GbE. Rather than checking that an active or passive cable supports a specific range, only check for a minimum supported speed. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_phy_impl.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index 693590da53..67a18e7c55 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -117,9 +117,7 @@ enum axgbe_sfp_speed { #define AXGBE_SFP_BASE_BR 12 #define AXGBE_SFP_BASE_BR_1GBE_MIN 0x0a -#define AXGBE_SFP_BASE_BR_1GBE_MAX 0x0d #define AXGBE_SFP_BASE_BR_10GBE_MIN 0x64 -#define AXGBE_SFP_BASE_BR_10GBE_MAX 0x68 #define AXGBE_SFP_BASE_CU_CABLE_LEN 18 @@ -519,25 +517,22 @@ static void axgbe_phy_sfp_phy_settings(struct axgbe_port *pdata) static bool axgbe_phy_sfp_bit_rate(struct axgbe_sfp_eeprom *sfp_eeprom, enum axgbe_sfp_speed sfp_speed) { - u8 *sfp_base, min, max; + u8 *sfp_base, min; sfp_base = sfp_eeprom->base; switch (sfp_speed) { case AXGBE_SFP_SPEED_1000: min = AXGBE_SFP_BASE_BR_1GBE_MIN; - max = AXGBE_SFP_BASE_BR_1GBE_MAX; break; case AXGBE_SFP_SPEED_10000: min = AXGBE_SFP_BASE_BR_10GBE_MIN; - max = AXGBE_SFP_BASE_BR_10GBE_MAX; break; default: return false; } - return ((sfp_base[AXGBE_SFP_BASE_BR] >= min) && - (sfp_base[AXGBE_SFP_BASE_BR] <= max)); + return sfp_base[AXGBE_SFP_BASE_BR] >= min; } static void axgbe_phy_sfp_external_phy(struct axgbe_port *pdata) From patchwork Fri Apr 12 12:52:41 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139264 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8697243E52; Fri, 12 Apr 2024 14:55:11 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CB10842D35; Fri, 12 Apr 2024 14:54:23 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2057.outbound.protection.outlook.com [40.107.93.57]) by mails.dpdk.org (Postfix) with ESMTP id C7546410FA for ; Fri, 12 Apr 2024 14:54:21 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=edPF0eDWnCEovyWL/zFVXrJOYZvNJac7ln6jv/1E/0Uz0g75iP3wP/4FtKPjfIxGYGxCOU7UsPTfZcly6XyZo7Xs55Nb3w/ISUM/xF1t11uJPEvfv8eN5O7UA+COE6n84pKoserqysBDsX0AkSeO4aCRmudEyVIBXNcC7INSe7HMA3ISuR/IJ9lc26muLgWSPTXFLLo/l3brgVgqCTDy67EkKgNhGEqEVybwCMIYHq0esaVTwBVib97ZIWDF9Bu/rOKR9fiwZmVFHT0kKWnhHqaGQ0cV+b9HcT6pwzHaoqlNU8QuLJjnsmpsPjEO7S29tDeMr5it/5zj9qmpDcxUiQ== 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=ZxAVAwmdRvjmUmru8jeNoQYG2OnZDBkXAlXPs/8ZjGQ=; b=f/LPO5opM2B/AcWPnZQCjpYbq8fPIgIinyxCmZ5QHAB3sUDPVV/D44grHXdenoP5GHlasu5T8aUlM6XrIHPf0OP7txj853DV4To0syjqNvKA7r4HErhZpM3JoJVtIhb7jcfxmbwBoDS0rIsh0vy7HNtvSjr4r6DBGKwcCA/nVJo0UXBdBFNsSGX5T2Z2XgzLJfukwjvv0SFuCyMMFjEXkq7ImvoNHsIJdLWvHvjnf0aA+i6dtbs4jduGDXLvRWODUBEE6T3CCN0L3vwTwGltD2diLuvcdeg65Kazn3QX7eR9OQ5sB0yz3+UO183Mo/V4RUYWD5FvWqf34poAnphlKQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=ZxAVAwmdRvjmUmru8jeNoQYG2OnZDBkXAlXPs/8ZjGQ=; b=LjTCxgPU8sgFwzrZ343zREIAO6AbYB1B2g6A+woV0emzqburz38wa4AQF/2+aRB4d7SqaB7TpbaZx0Qg1Zb8nTJQRTr3DV0xezEPqEGy6NQbBTHLSh+yyhxE0WkLG8rLZbwUFJZWXj/IkLDTPqm/y/+LIZETXq/I43q3jguqu+s= Received: from BL0PR05CA0016.namprd05.prod.outlook.com (2603:10b6:208:91::26) by SJ2PR12MB9138.namprd12.prod.outlook.com (2603:10b6:a03:565::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 12:54:19 +0000 Received: from BL6PEPF00020E5F.namprd04.prod.outlook.com (2603:10b6:208:91:cafe::e) by BL0PR05CA0016.outlook.office365.com (2603:10b6:208:91::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.12 via Frontend Transport; Fri, 12 Apr 2024 12:54:19 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E5F.mail.protection.outlook.com (10.167.249.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:54:19 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:54:10 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 16/24] net/axgbe: add support for 10 Mbps speed Date: Fri, 12 Apr 2024 08:52:41 -0400 Message-ID: <20240412125249.10625-16-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E5F:EE_|SJ2PR12MB9138:EE_ X-MS-Office365-Filtering-Correlation-Id: 360c4978-3b98-44d6-2c82-08dc5aefaaf3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NVDLOB0UUfhTYwfl88t5MgITqiUCyrYTSUASOoEYv22HpPAVoFvM4IPze+agzkLm7KKYgOWGfYfX7gTQNCdnlOwQBldEtWO1TrnWjZrSIksOU0+w0ZKF/nqIprhtPqF/I//qzFdIeeo/Yblm2HBP/H/4heRbCvoIth4pA8NavINlW5uBKaHmhbG1SafDlPogOE9oKLchPD/Vic7vF1dmwQONyE/uBfwOFUCyz7mXln9B5xrIQ3KQ9XwctkUXpIV3/i6m5ganCpdSbszHu6P6i3A8VE5Te4DHNJfvdj/8KKSLgD2CVKOqfsvOoUvPotpsgfbQ60AsZw1tKNwjjcmpH0tCUFwHMlNOKffapN7xo5F1zklj5ROdF+h2zHsEbUbAOKXau7xcrtJC+C+Y2ddcYEG7tXdUYT8oyf0sbc4lHCGEkX+nTwklakqISj7zrtToigC3gMiXMW/BRRyYKblhYgY1qoYwgh2sy+EBW9bFlc/Ug9JFBfzAdUj8aaxJKz0yRuCEPQzxQSjrWxHYMP/0wsEIJqgi41Yr/eu8Rh/yNCOCwYrdCrb8nI7uA83D+BpGtyiAJaYpLCmEmYDhMZnThcct0KZhXvPRheTjr8/gbHXHvvBlrTy0QcTaOncAjfiigJEBhaCZKRNr9qNmfp0Vuz+n2zvtUOD0bDhOJ71G5DygzvevALY4vt8ytJzzxraxIQQBUKfG2k1JmuwgrAYQIs+pxe7XM3n9bQDsyUDiyaxMJmnMsGA45gEGPfhaFo3E X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(36860700004)(1800799015)(82310400014)(376005); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:54:19.1202 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 360c4978-3b98-44d6-2c82-08dc5aefaaf3 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E5F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB9138 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 Add the necessary changes to support 10 Mbps speed for BaseT and SFP port modes. This is supported in MAC ver >= 30H. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_dev.c | 3 ++ drivers/net/axgbe/axgbe_ethdev.h | 2 + drivers/net/axgbe/axgbe_mdio.c | 22 +++++++++ drivers/net/axgbe/axgbe_phy.h | 2 + drivers/net/axgbe/axgbe_phy_impl.c | 75 ++++++++++++++++++++++++++++-- 5 files changed, 100 insertions(+), 4 deletions(-) diff --git a/drivers/net/axgbe/axgbe_dev.c b/drivers/net/axgbe/axgbe_dev.c index 9b0073eea6..b4afcf20ab 100644 --- a/drivers/net/axgbe/axgbe_dev.c +++ b/drivers/net/axgbe/axgbe_dev.c @@ -250,6 +250,9 @@ static int axgbe_set_speed(struct axgbe_port *pdata, int speed) unsigned int ss; switch (speed) { + case SPEED_10: + ss = 0x07; + break; case SPEED_1000: ss = 0x03; break; diff --git a/drivers/net/axgbe/axgbe_ethdev.h b/drivers/net/axgbe/axgbe_ethdev.h index 20b36ced55..127427c736 100644 --- a/drivers/net/axgbe/axgbe_ethdev.h +++ b/drivers/net/axgbe/axgbe_ethdev.h @@ -114,6 +114,7 @@ #define AXGBE_SGMII_AN_LINK_STATUS BIT(1) #define AXGBE_SGMII_AN_LINK_SPEED (BIT(2) | BIT(3)) +#define AXGBE_SGMII_AN_LINK_SPEED_10 0x00 #define AXGBE_SGMII_AN_LINK_SPEED_100 0x04 #define AXGBE_SGMII_AN_LINK_SPEED_1000 0x08 #define AXGBE_SGMII_AN_LINK_DUPLEX BIT(4) @@ -213,6 +214,7 @@ enum axgbe_mode { AXGBE_MODE_KX_2500, AXGBE_MODE_KR, AXGBE_MODE_X, + AXGBE_MODE_SGMII_10, AXGBE_MODE_SGMII_100, AXGBE_MODE_SGMII_1000, AXGBE_MODE_SFI, diff --git a/drivers/net/axgbe/axgbe_mdio.c b/drivers/net/axgbe/axgbe_mdio.c index 151b30e2ab..4307a7560a 100644 --- a/drivers/net/axgbe/axgbe_mdio.c +++ b/drivers/net/axgbe/axgbe_mdio.c @@ -143,6 +143,15 @@ static void axgbe_sgmii_1000_mode(struct axgbe_port *pdata) pdata->phy_if.phy_impl.set_mode(pdata, AXGBE_MODE_SGMII_1000); } +static void axgbe_sgmii_10_mode(struct axgbe_port *pdata) +{ + /* Set MAC to 10M speed */ + pdata->hw_if.set_speed(pdata, SPEED_10); + + /* Call PHY implementation support to complete rate change */ + pdata->phy_if.phy_impl.set_mode(pdata, AXGBE_MODE_SGMII_10); +} + static void axgbe_sgmii_100_mode(struct axgbe_port *pdata) { @@ -176,6 +185,9 @@ static void axgbe_change_mode(struct axgbe_port *pdata, case AXGBE_MODE_KR: axgbe_kr_mode(pdata); break; + case AXGBE_MODE_SGMII_10: + axgbe_sgmii_10_mode(pdata); + break; case AXGBE_MODE_SGMII_100: axgbe_sgmii_100_mode(pdata); break; @@ -862,6 +874,7 @@ static int axgbe_phy_config_fixed(struct axgbe_port *pdata) case AXGBE_MODE_KX_1000: case AXGBE_MODE_KX_2500: case AXGBE_MODE_KR: + case AXGBE_MODE_SGMII_10: case AXGBE_MODE_SGMII_100: case AXGBE_MODE_SGMII_1000: case AXGBE_MODE_X: @@ -921,6 +934,8 @@ static int __axgbe_phy_config_aneg(struct axgbe_port *pdata, bool set_mode) axgbe_set_mode(pdata, AXGBE_MODE_SGMII_1000); } else if (axgbe_use_mode(pdata, AXGBE_MODE_SGMII_100)) { axgbe_set_mode(pdata, AXGBE_MODE_SGMII_100); + } else if (axgbe_use_mode(pdata, AXGBE_MODE_SGMII_10)) { + axgbe_set_mode(pdata, AXGBE_MODE_SGMII_10); } else { rte_intr_enable(pdata->pci_dev->intr_handle); ret = -EINVAL; @@ -1000,6 +1015,9 @@ static void axgbe_phy_status_result(struct axgbe_port *pdata) mode = axgbe_phy_status_aneg(pdata); switch (mode) { + case AXGBE_MODE_SGMII_10: + pdata->phy.speed = SPEED_10; + break; case AXGBE_MODE_SGMII_100: pdata->phy.speed = SPEED_100; break; @@ -1148,6 +1166,8 @@ static int axgbe_phy_start(struct axgbe_port *pdata) axgbe_sgmii_1000_mode(pdata); } else if (axgbe_use_mode(pdata, AXGBE_MODE_SGMII_100)) { axgbe_sgmii_100_mode(pdata); + } else if (axgbe_use_mode(pdata, AXGBE_MODE_SGMII_10)) { + axgbe_sgmii_10_mode(pdata); } else { ret = -EINVAL; goto err_stop; @@ -1195,6 +1215,8 @@ static int axgbe_phy_best_advertised_speed(struct axgbe_port *pdata) return SPEED_1000; else if (pdata->phy.advertising & ADVERTISED_100baseT_Full) return SPEED_100; + else if (pdata->phy.advertising & ADVERTISED_10baseT_Full) + return SPEED_10; return SPEED_UNKNOWN; } diff --git a/drivers/net/axgbe/axgbe_phy.h b/drivers/net/axgbe/axgbe_phy.h index 77ee20a31a..5b844e81cd 100644 --- a/drivers/net/axgbe/axgbe_phy.h +++ b/drivers/net/axgbe/axgbe_phy.h @@ -168,6 +168,7 @@ #define ADVERTISED_1000baseKX_Full (1 << 17) #define ADVERTISED_1000baseT_Full (1 << 5) #define ADVERTISED_100baseT_Full (1 << 3) +#define ADVERTISED_10baseT_Full (1 << 2) #define ADVERTISED_TP (1 << 7) #define ADVERTISED_FIBRE (1 << 10) #define ADVERTISED_Backplane (1 << 16) @@ -175,6 +176,7 @@ #define SUPPORTED_1000baseKX_Full (1 << 17) #define SUPPORTED_10000baseKR_Full (1 << 19) #define SUPPORTED_2500baseX_Full (1 << 15) +#define SUPPORTED_10baseT_Full (1 << 3) #define SUPPORTED_100baseT_Full (1 << 2) #define SUPPORTED_1000baseT_Full (1 << 5) #define SUPPORTED_10000baseT_Full (1 << 12) diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index 67a18e7c55..9c2c411b4f 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -7,6 +7,7 @@ #include "axgbe_common.h" #include "axgbe_phy.h" +#define AXGBE_PHY_PORT_SPEED_10 BIT(0) #define AXGBE_PHY_PORT_SPEED_100 BIT(1) #define AXGBE_PHY_PORT_SPEED_1000 BIT(2) #define AXGBE_PHY_PORT_SPEED_2500 BIT(3) @@ -490,6 +491,8 @@ static void axgbe_phy_sfp_phy_settings(struct axgbe_port *pdata) switch (phy_data->sfp_speed) { case AXGBE_SFP_SPEED_100_1000: + if (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_10) + pdata->phy.advertising |= ADVERTISED_10baseT_Full; if (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_100) pdata->phy.advertising |= ADVERTISED_100baseT_Full; if (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_1000) @@ -511,6 +514,8 @@ static void axgbe_phy_sfp_phy_settings(struct axgbe_port *pdata) pdata->phy.advertising |= ADVERTISED_1000baseT_Full; else if (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_100) pdata->phy.advertising |= ADVERTISED_100baseT_Full; + else if (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_10) + pdata->phy.advertising |= ADVERTISED_10baseT_Full; } } @@ -980,6 +985,14 @@ static enum axgbe_mode axgbe_phy_an37_sgmii_outcome(struct axgbe_port *pdata) axgbe_phy_phydev_flowctrl(pdata); switch (pdata->an_status & AXGBE_SGMII_AN_LINK_SPEED) { + case AXGBE_SGMII_AN_LINK_SPEED_10: + if (pdata->an_status & AXGBE_SGMII_AN_LINK_DUPLEX) { + pdata->phy.lp_advertising |= ADVERTISED_10baseT_Full; + mode = AXGBE_MODE_SGMII_10; + } else { + mode = AXGBE_MODE_UNKNOWN; + } + break; case AXGBE_SGMII_AN_LINK_SPEED_100: if (pdata->an_status & AXGBE_SGMII_AN_LINK_DUPLEX) { pdata->phy.lp_advertising |= ADVERTISED_100baseT_Full; @@ -1347,6 +1360,18 @@ static void axgbe_phy_sgmii_1000_mode(struct axgbe_port *pdata) phy_data->cur_mode = AXGBE_MODE_SGMII_1000; } +static void axgbe_phy_sgmii_10_mode(struct axgbe_port *pdata) +{ + struct axgbe_phy_data *phy_data = pdata->phy_data; + + axgbe_phy_set_redrv_mode(pdata); + + /* 10M/SGMII */ + axgbe_phy_perform_ratechange(pdata, AXGBE_MB_CMD_SET_1G, AXGBE_MB_SUBCMD_10MBITS); + + phy_data->cur_mode = AXGBE_MODE_SGMII_10; +} + static enum axgbe_mode axgbe_phy_cur_mode(struct axgbe_port *pdata) { struct axgbe_phy_data *phy_data = pdata->phy_data; @@ -1363,6 +1388,7 @@ static enum axgbe_mode axgbe_phy_switch_baset_mode(struct axgbe_port *pdata) return axgbe_phy_cur_mode(pdata); switch (axgbe_phy_cur_mode(pdata)) { + case AXGBE_MODE_SGMII_10: case AXGBE_MODE_SGMII_100: case AXGBE_MODE_SGMII_1000: return AXGBE_MODE_KR; @@ -1433,6 +1459,8 @@ static enum axgbe_mode axgbe_phy_get_baset_mode(struct axgbe_phy_data *phy_data int speed) { switch (speed) { + case SPEED_10: + return AXGBE_MODE_SGMII_10; case SPEED_100: return AXGBE_MODE_SGMII_100; case SPEED_1000: @@ -1448,6 +1476,8 @@ static enum axgbe_mode axgbe_phy_get_sfp_mode(struct axgbe_phy_data *phy_data, int speed) { switch (speed) { + case SPEED_10: + return AXGBE_MODE_SGMII_10; case SPEED_100: return AXGBE_MODE_SGMII_100; case SPEED_1000: @@ -1525,6 +1555,9 @@ static void axgbe_phy_set_mode(struct axgbe_port *pdata, enum axgbe_mode mode) case AXGBE_MODE_SGMII_1000: axgbe_phy_sgmii_1000_mode(pdata); break; + case AXGBE_MODE_SGMII_10: + axgbe_phy_sgmii_10_mode(pdata); + break; default: break; } @@ -1566,6 +1599,9 @@ static bool axgbe_phy_use_baset_mode(struct axgbe_port *pdata, enum axgbe_mode mode) { switch (mode) { + case AXGBE_MODE_SGMII_10: + return axgbe_phy_check_mode(pdata, mode, + ADVERTISED_10baseT_Full); case AXGBE_MODE_SGMII_100: return axgbe_phy_check_mode(pdata, mode, ADVERTISED_100baseT_Full); @@ -1591,6 +1627,11 @@ static bool axgbe_phy_use_sfp_mode(struct axgbe_port *pdata, return false; return axgbe_phy_check_mode(pdata, mode, ADVERTISED_1000baseT_Full); + case AXGBE_MODE_SGMII_10: + if (phy_data->sfp_base != AXGBE_SFP_BASE_1000_T) + return false; + return axgbe_phy_check_mode(pdata, mode, + ADVERTISED_10baseT_Full); case AXGBE_MODE_SGMII_100: if (phy_data->sfp_base != AXGBE_SFP_BASE_1000_T) return false; @@ -1803,6 +1844,12 @@ static int axgbe_phy_mdio_reset_setup(struct axgbe_port *pdata) static bool axgbe_phy_port_mode_mismatch(struct axgbe_port *pdata) { struct axgbe_phy_data *phy_data = pdata->phy_data; + unsigned int ver; + + /* 10 Mbps speed is not supported in ver < 30H */ + ver = AXGMAC_GET_BITS(pdata->hw_feat.version, MAC_VR, SNPSVER); + if (ver < 0x30 && phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_10) + return true; switch (phy_data->port_mode) { case AXGBE_PORT_MODE_BACKPLANE: @@ -1816,7 +1863,8 @@ static bool axgbe_phy_port_mode_mismatch(struct axgbe_port *pdata) return false; break; case AXGBE_PORT_MODE_1000BASE_T: - if ((phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_100) || + if ((phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_10) || + (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_100) || (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_1000)) return false; break; @@ -1825,13 +1873,15 @@ static bool axgbe_phy_port_mode_mismatch(struct axgbe_port *pdata) return false; break; case AXGBE_PORT_MODE_NBASE_T: - if ((phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_100) || + if ((phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_10) || + (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_100) || (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_1000) || (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_2500)) return false; break; case AXGBE_PORT_MODE_10GBASE_T: - if ((phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_100) || + if ((phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_10) || + (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_100) || (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_1000) || (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_10000)) return false; @@ -1841,7 +1891,8 @@ static bool axgbe_phy_port_mode_mismatch(struct axgbe_port *pdata) return false; break; case AXGBE_PORT_MODE_SFP: - if ((phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_100) || + if ((phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_10) || + (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_100) || (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_1000) || (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_10000)) return false; @@ -2150,6 +2201,10 @@ static int axgbe_phy_init(struct axgbe_port *pdata) pdata->phy.supported |= SUPPORTED_Autoneg; pdata->phy.supported |= SUPPORTED_Pause | SUPPORTED_Asym_Pause; pdata->phy.supported |= SUPPORTED_TP; + if (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_10) { + pdata->phy.supported |= SUPPORTED_10baseT_Full; + phy_data->start_mode = AXGBE_MODE_SGMII_10; + } if (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_100) { pdata->phy.supported |= SUPPORTED_100baseT_Full; phy_data->start_mode = AXGBE_MODE_SGMII_100; @@ -2178,6 +2233,10 @@ static int axgbe_phy_init(struct axgbe_port *pdata) pdata->phy.supported |= SUPPORTED_Autoneg; pdata->phy.supported |= SUPPORTED_Pause | SUPPORTED_Asym_Pause; pdata->phy.supported |= SUPPORTED_TP; + if (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_10) { + pdata->phy.supported |= SUPPORTED_10baseT_Full; + phy_data->start_mode = AXGBE_MODE_SGMII_10; + } if (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_100) { pdata->phy.supported |= SUPPORTED_100baseT_Full; phy_data->start_mode = AXGBE_MODE_SGMII_100; @@ -2199,6 +2258,10 @@ static int axgbe_phy_init(struct axgbe_port *pdata) pdata->phy.supported |= SUPPORTED_Autoneg; pdata->phy.supported |= SUPPORTED_Pause | SUPPORTED_Asym_Pause; pdata->phy.supported |= SUPPORTED_TP; + if (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_10) { + pdata->phy.supported |= SUPPORTED_10baseT_Full; + phy_data->start_mode = AXGBE_MODE_SGMII_10; + } if (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_100) { pdata->phy.supported |= SUPPORTED_100baseT_Full; phy_data->start_mode = AXGBE_MODE_SGMII_100; @@ -2234,6 +2297,10 @@ static int axgbe_phy_init(struct axgbe_port *pdata) pdata->phy.supported |= SUPPORTED_Pause | SUPPORTED_Asym_Pause; pdata->phy.supported |= SUPPORTED_TP; pdata->phy.supported |= SUPPORTED_FIBRE; + if (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_10) { + pdata->phy.supported |= SUPPORTED_10baseT_Full; + phy_data->start_mode = AXGBE_MODE_SGMII_10; + } if (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_100) { pdata->phy.supported |= SUPPORTED_100baseT_Full; phy_data->start_mode = AXGBE_MODE_SGMII_100; From patchwork Fri Apr 12 12:52:42 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139266 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id E40FB43E52; Fri, 12 Apr 2024 14:55:24 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3A29742D6B; Fri, 12 Apr 2024 14:54:33 +0200 (CEST) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2065.outbound.protection.outlook.com [40.107.236.65]) by mails.dpdk.org (Postfix) with ESMTP id 2F5DD41104 for ; Fri, 12 Apr 2024 14:54:29 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lLw2U1x3dlViOtq1XMMKeHm5KqmLLqwmGKEydj4qe9c7DoInzUiCFc2VPKq2Gtrhq2M/Cwa7sfRguqmUFvshOCp5wyw8sXNbxBdoAJ1hKCZ4RrSgS6RDfdxkwZlPBm/dZeTSN6hiTvx4eML4HnBU1B3cQRg+aC9z+aGnScl96rg1riUpmT/8D8boAsOw4TaTar+lRhlA/z1gHNqtxFj/oqMnENl/qc5FGc9KrToOoFz+Bq1sWu3tY2q0Jtkn5LfmmIC3xaKUMcIsrvRO2QexwbCpmYPTjPBVFBy3fEGG5Xo1++IQtWaiQbxztBVnQ0QytHt7nlUi7Gkwqd2xu3PNxg== 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=hLp86YSCEP6deo1N68SpJ8+iiC9Hd66iLlRvi0fCm0E=; b=WJHf3R2K7DXbdWEWDzrhvWqpoH0habaF7eBFfQhZqdvm5VRl1AZk5pwzpfK/Z3cZ/JQQ47hb28KD8lFWyHkh9wdsgtXxh4uXtpBB14er6xx1gADCs3i0x5tsHQE/duipU2oJK/I/44KrhTXMY0WSOx2uEtv+zIAM7Rw9ASNsZxDk4T/7ecV3JunUvocx8e0KfVIdUuj2u9JXSEYBOYTPHZ8LdkhNaNBoWkEQNWpp8cTVmSftyT5WUiMNgVNbd5byiYHKBQLKAWiizTW+1COqsHiNR6wmP+m73P1Fk3cK48l13Tg4A4NVSD+hEmNyeW/X+veKLyYEChXybvj+m8NevA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=hLp86YSCEP6deo1N68SpJ8+iiC9Hd66iLlRvi0fCm0E=; b=VjPZiimYYC8UqOiOeo5BdTgTII0437EYKc95OI7Qd8oCQpxt3Ath5aRahprIk1gXvI+y0XywUbzJL/6Hx0zv+ZMmdVlTTpKuphOODsC8ySY90epqa6wF2eViQWEscT/wZtlREbYXdaxyS2CU7+OJfblAV7/jUXjIqCvskFBdBoc= Received: from BL0PR05CA0013.namprd05.prod.outlook.com (2603:10b6:208:91::23) by MN2PR12MB4454.namprd12.prod.outlook.com (2603:10b6:208:26c::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Fri, 12 Apr 2024 12:54:20 +0000 Received: from BL6PEPF00020E5F.namprd04.prod.outlook.com (2603:10b6:208:91:cafe::18) by BL0PR05CA0013.outlook.office365.com (2603:10b6:208:91::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.12 via Frontend Transport; Fri, 12 Apr 2024 12:54:20 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E5F.mail.protection.outlook.com (10.167.249.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:54:20 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:54:12 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 17/24] net/axgbe: flow Tx Ctrl Registers are h/w ver dependent Date: Fri, 12 Apr 2024 08:52:42 -0400 Message-ID: <20240412125249.10625-17-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E5F:EE_|MN2PR12MB4454:EE_ X-MS-Office365-Filtering-Correlation-Id: 89353880-0614-4d60-733c-08dc5aefab9c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: L/bjnPn5x+8O0Vu4+xIUcs0FZsrfFl0lEVX1qH+MAKbNN+rTSJsPazOuT4xH3Jtw1+dqARsGqbrqQZq/eRFtl468osIB+n3Rr2z/yfiPNeKMSrEkHKoRDIg7ZJv5VyO6l/9W3TvCdIpuJwO8PCOZmoUrsodhsP6sqqJ6tlxcxDj+HpqU/CvWijMrbObe/V44xNbtCnXrp/yuo1t/vxUN3Ohc3SK3RARVHkSO+xgKCqHHD+ItpgOipwqq+HRBmxy3fsJ1dMmfPG7ijevmf+D87fgaddYbMs0rpea6SJT8zzt6Jwv3hnAnKAqfr/qeupoaecnCGv4JZ8iuCEQrXdOrFrgZeynNkVJcBXD4HAPylOdPxhw1Xnur0j363PJ5b7Q0hWcF3/uwpzEIHZcPIlHQeoosUKvTbb/DmC3SrdHH8WrVHxQyT+ZhSbM4RBzkIXGN98tzwxCN8OOVCiXZGxLWhvTRm+y505fx7JdUOYzVhjuAazOFAVDPk//BX/qA/gtkzrnaLCkNi6AFPDokFjAYba7/Ek8s5EyziozkRAsjrdGH0vuF46j/6HUmPTVa5fs1yKd52abVC70Sc2KAC8a3w63VfmrRdAak/EJlp5AHDLJBFy0FtjPJF7gq+cxKKMUdDoXYu+gKmT6Qvhcg69gbMyLEYky1NWZuD3Cw9qoWfXkFXdXfrwU7wZOvtqiz3S3CT7bSyJgebve3lcfD5+DxuKO+nyIUGtwijwD1TYpc8z9AoGG9PpKJRMMSpn0KUBKJ X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(376005)(1800799015)(82310400014)(36860700004); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:54:20.2139 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 89353880-0614-4d60-733c-08dc5aefab9c X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E5F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4454 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 There is difference in the TX Flow Control registers (TFCR) between the revisions of the hardware. The older revisions of hardware used to have single register per queue. Whereas, the newer revision of hardware (from ver 30H onwards) have one register per priority. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_dev.c | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/drivers/net/axgbe/axgbe_dev.c b/drivers/net/axgbe/axgbe_dev.c index b4afcf20ab..6b413160c2 100644 --- a/drivers/net/axgbe/axgbe_dev.c +++ b/drivers/net/axgbe/axgbe_dev.c @@ -272,20 +272,28 @@ static int axgbe_set_speed(struct axgbe_port *pdata, int speed) return 0; } +static unsigned int axgbe_get_fc_queue_count(struct axgbe_port *pdata) +{ + unsigned int max_q_count = AXGMAC_MAX_FLOW_CONTROL_QUEUES; + + /* From MAC ver 30H the TFCR is per priority, instead of per queue */ + if (AXGMAC_GET_BITS(pdata->hw_feat.version, MAC_VR, SNPSVER) >= 0x30) + return max_q_count; + else + return (RTE_MIN(pdata->tx_q_count, max_q_count)); +} + static int axgbe_disable_tx_flow_control(struct axgbe_port *pdata) { - unsigned int max_q_count, q_count; unsigned int reg, reg_val; - unsigned int i; + unsigned int i, q_count; /* Clear MTL flow control */ for (i = 0; i < pdata->rx_q_count; i++) AXGMAC_MTL_IOWRITE_BITS(pdata, i, MTL_Q_RQOMR, EHFC, 0); /* Clear MAC flow control */ - max_q_count = AXGMAC_MAX_FLOW_CONTROL_QUEUES; - q_count = RTE_MIN(pdata->tx_q_count, - max_q_count); + q_count = axgbe_get_fc_queue_count(pdata); reg = MAC_Q0TFCR; for (i = 0; i < q_count; i++) { reg_val = AXGMAC_IOREAD(pdata, reg); @@ -300,9 +308,8 @@ static int axgbe_disable_tx_flow_control(struct axgbe_port *pdata) static int axgbe_enable_tx_flow_control(struct axgbe_port *pdata) { - unsigned int max_q_count, q_count; unsigned int reg, reg_val; - unsigned int i; + unsigned int i, q_count; /* Set MTL flow control */ for (i = 0; i < pdata->rx_q_count; i++) { @@ -319,9 +326,7 @@ static int axgbe_enable_tx_flow_control(struct axgbe_port *pdata) } /* Set MAC flow control */ - max_q_count = AXGMAC_MAX_FLOW_CONTROL_QUEUES; - q_count = RTE_MIN(pdata->tx_q_count, - max_q_count); + q_count = axgbe_get_fc_queue_count(pdata); reg = MAC_Q0TFCR; for (i = 0; i < q_count; i++) { reg_val = AXGMAC_IOREAD(pdata, reg); From patchwork Fri Apr 12 12:52:43 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139267 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 059D943E52; Fri, 12 Apr 2024 14:55:31 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 744B7427E5; Fri, 12 Apr 2024 14:54:34 +0200 (CEST) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2082.outbound.protection.outlook.com [40.107.236.82]) by mails.dpdk.org (Postfix) with ESMTP id 45BA9427E9 for ; Fri, 12 Apr 2024 14:54:29 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DxAEFazJE37hT04U6AruuD6JZxNXKGzNtXYFoRRq/jugxBXWcPbQlZhHT9JcG9rF5JCAC9phsqPFc7ArZE9T52c89L9kg8hjpez2OSC/AX4u0hdLoOIrM1THXDFg1AnkLnsvrqKwMLm/ZeIKdl9j91dq4dNBar8sCWA7pwGOP3NgDEMEWMXYsYkc6+PZQc0adCs/Df4SiNhcmMeoxAGBGAI4hv2xGf2mmChZwGscXxg9K5shXa8IENL/MrPjMzzj01sNeMBybtAPYngnWk+g/jQ26Q78+zM+wvcWPw9S20JaaRTCO8OTipxmS8bVpZSYX3cWMA0TOyH3KSYmiYrWzQ== 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=LuVEF6kXdMf+WVrBmtxOexXN/dF9sBPZXmTCZQms9EY=; b=JyaF9/fPVUwp511Ze5ujSZzyAwudPiNODQWQ7lDROHf1p8Ycg/kbKRB0PTKqFiby1SV4Hky5YhEO0C1kmFcAXCrSHLUhVO3D0M3Bl52a+OEOCI4UWcQwEjFmjKYJuiC2k802qEJHSRogt+G/HHztJKP3v8/kn+jtTBjw5q0IpfXXieq3xQSDFrTKJjKSRVXprTBlBcPVJSdtTN6rCb5Hwp/+xFDbLnE2pNWR2Uw+B8qlkYC65fnbVYX6SiYeSicSdOsnaIWJPqxHCUCbHX2sJ+B0jszY/GoeJiV7qXQvYfQF+elUB6IZqca9/0oDS18EKy43u94HzZldLyxi8+d6KA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=LuVEF6kXdMf+WVrBmtxOexXN/dF9sBPZXmTCZQms9EY=; b=bQnXYCTciwV4PBAUbAfcYYgeq6q66JSt5r3YsZCLkzWTI+4XdiIwc9nf5sC3zs2hJPoBaQaeu/i9jLU7xljeiTYso//ew2Q6fHMX3d4GxG8owBLjEsDVQZZwQbA1yzBVodFwOwdudPnAbeoZGcPEyA1ktwaVWkcF7SDE672fjgs= Received: from BL0PR05CA0029.namprd05.prod.outlook.com (2603:10b6:208:91::39) by CYYPR12MB8703.namprd12.prod.outlook.com (2603:10b6:930:c4::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 12:54:26 +0000 Received: from BL6PEPF00020E5F.namprd04.prod.outlook.com (2603:10b6:208:91:cafe::b5) by BL0PR05CA0029.outlook.office365.com (2603:10b6:208:91::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.12 via Frontend Transport; Fri, 12 Apr 2024 12:54:26 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E5F.mail.protection.outlook.com (10.167.249.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:54:26 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:54:15 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 18/24] net/axgbe: delay AN timeout during KR training Date: Fri, 12 Apr 2024 08:52:43 -0400 Message-ID: <20240412125249.10625-18-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E5F:EE_|CYYPR12MB8703:EE_ X-MS-Office365-Filtering-Correlation-Id: 893ecbff-578c-406d-9561-08dc5aefaf2d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ByisdFapkK6sjgUzT3swhf/GAuKEbYyoY1NCDYfKkuuow601lJnx0uA479jsLFlnwxln0fH+EUT+gCajqSKAt0gSIM9pH04uqMzxs9WOJTY1UGzh/+lCLln2FL8sg1b8kIS0hlmFB0GnU13P0fMcvWiTlDKmWPgiacueXj7f5SAa4Ou/q1tr41teYu/G7Sj/6E2smVEDcjlfhuYKEUFzyH4XWeXaZwSLq4uYzAjxHpIORk9BGUqYJvAR1RqBzgaN8TkaC0w0FPyY7FMxvtMNrkULGuYMj63nc+yesoIEdhbUfCBv9rEI21f2pyGWbwpF0krBl8LddBLT5b1YMp8QmHy2A8n/8X8TWv7d0jlTYvvljzLE/d0I0eIlYhWh9JdvKdCEyhKm1METUk8Wp+99HpW8XS4+78rxGVbAso6GJ+DHZ1EKEfWVxN7n7eZjpIYlwWPE7E6frm+ZsTycjN8KdJm0l9KfKUUycY+1rwNtBSHm4c1G3k180YNKRN8VPfFF+q9Yhi3PCaVtohnFvQMeZao9rqGWGtnlHvPpifI0rU7IDLrEShLmm5KW4eeC2FO5PqjIFsSzzi2bgGU8+H9XQsgIq9focukSSWGqwm1AEGdkSjtReLjjrKN9Y8t9AZzVhdHSyQQe4RCid8KS/b/510481T59q3evf/4IE7jjXMlSdo9G4PXahq6X0rxlXK3gC3FY1dKUAyXUVXJTXhVy1GThTkTrLzib9LJ5SP1t1fm9QIoFO+LEncpt626V+Mgf X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(376005)(36860700004)(82310400014)(1800799015); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:54:26.1982 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 893ecbff-578c-406d-9561-08dc5aefaf2d X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E5F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8703 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 AN restart triggered during KR training not only aborts the KR training process but also move the HW to unstable state. Driver has to wait up to 500ms or until the KR training is completed before restarting AN cycle. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_ethdev.h | 2 ++ drivers/net/axgbe/axgbe_mdio.c | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/drivers/net/axgbe/axgbe_ethdev.h b/drivers/net/axgbe/axgbe_ethdev.h index 127427c736..4dcbf6d9a2 100644 --- a/drivers/net/axgbe/axgbe_ethdev.h +++ b/drivers/net/axgbe/axgbe_ethdev.h @@ -111,6 +111,7 @@ /* Auto-negotiation */ #define AXGBE_AN_MS_TIMEOUT 500 #define AXGBE_LINK_TIMEOUT 5 +#define AXGBE_KR_TRAINING_WAIT_ITER 50 #define AXGBE_SGMII_AN_LINK_STATUS BIT(1) #define AXGBE_SGMII_AN_LINK_SPEED (BIT(2) | BIT(3)) @@ -689,6 +690,7 @@ struct axgbe_port { unsigned int parallel_detect; unsigned int fec_ability; unsigned long an_start; + unsigned long kr_start_time; enum axgbe_an_mode an_mode; /* I2C support */ diff --git a/drivers/net/axgbe/axgbe_mdio.c b/drivers/net/axgbe/axgbe_mdio.c index 4307a7560a..9fe30e83bc 100644 --- a/drivers/net/axgbe/axgbe_mdio.c +++ b/drivers/net/axgbe/axgbe_mdio.c @@ -370,6 +370,7 @@ static enum axgbe_an axgbe_an73_tx_training(struct axgbe_port *pdata, reg |= AXGBE_KR_TRAINING_ENABLE; reg |= AXGBE_KR_TRAINING_START; XMDIO_WRITE(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL, reg); + pdata->kr_start_time = rte_get_timer_cycles(); PMD_DRV_LOG(DEBUG, "KR training initiated\n"); if (pdata->phy_if.phy_impl.kr_training_post) @@ -500,6 +501,7 @@ static enum axgbe_an axgbe_an73_incompat_link(struct axgbe_port *pdata) axgbe_an_disable(pdata); axgbe_switch_mode(pdata); + pdata->an_result = AXGBE_AN_READY; axgbe_an_restart(pdata); return AXGBE_AN_INCOMPAT_LINK; @@ -988,11 +990,34 @@ static void axgbe_check_link_timeout(struct axgbe_port *pdata) { unsigned long link_timeout; unsigned long ticks; + unsigned long kr_time; + int wait; link_timeout = pdata->link_check + (AXGBE_LINK_TIMEOUT * 2 * rte_get_timer_hz()); ticks = rte_get_timer_cycles(); if (time_after(ticks, link_timeout)) { + if ((axgbe_cur_mode(pdata) == AXGBE_MODE_KR) && + pdata->phy.autoneg == AUTONEG_ENABLE) { + /* AN restart should not happen while KR training is in progress. + * The while loop ensures no AN restart during KR training, + * waits up to 500ms and AN restart is triggered only if KR + * training is failed. + */ + wait = AXGBE_KR_TRAINING_WAIT_ITER; + while (wait--) { + kr_time = pdata->kr_start_time + + msecs_to_timer_cycles(AXGBE_AN_MS_TIMEOUT); + ticks = rte_get_timer_cycles(); + if (time_after(ticks, kr_time)) + break; + /* AN restart is not required, if AN result is COMPLETE */ + if (pdata->an_result == AXGBE_AN_COMPLETE) + return; + rte_delay_us(10500); + } + } + PMD_DRV_LOG(NOTICE, "AN link timeout\n"); axgbe_phy_config_aneg(pdata); } From patchwork Fri Apr 12 12:52:44 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139269 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 264D143E52; Fri, 12 Apr 2024 14:55:42 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E307F42D95; Fri, 12 Apr 2024 14:54:36 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2066.outbound.protection.outlook.com [40.107.93.66]) by mails.dpdk.org (Postfix) with ESMTP id 81DA141148 for ; Fri, 12 Apr 2024 14:54:30 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DN8CxWJphB1E2XmIEDcXABaNJyS42ZRD2Wy1WHLgof5YPpVyWA5+/beQfKaJsOHRKIK3W9Vm4gsHuLxIiLJJ60AkRY+XSFm9u4f0YFfSChhFuNfpMXU6cLiykF4dp6vqiDnH/yrmTkXNvhg/xhEzChNzFO7vX/c1nHVx8Fjt/if3oWvY1/1+GzlwPBmBtUw9pTqAE6UMYynoLRhAv3rsCerMKqfPrLNOEpj9yLTnwP0R9Wgn7kxGP9YSg+5OLsG2oiSfMLE67tFUYcAijLKNnN6gUlF4H5PwOvynvsP/iDaUjmy3AJG5JbbQnZ3BzfN3cAF37DliMnhEDlTYWsbuhQ== 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=dZX5hQfbNhxt3vfw4RTTqrYMF1OI9rxE4GTxfJeEIcI=; b=mD11JWNYAs4ydd3MnK/nAhtylnBPrNAyCvmNji5dDbMCrA5UheoeIGg1WBLOXvBggjtCm5xtMb/eH0ScNfeXqsgu5XWRSmK26+lZ9jDzCzgtYRY20/cFytHZj/XQxeCZXrgfNs+1iPWXop1j09UKYM+jbafjKyYfKW0iiEHUnSO7Mf0P0vBZFv63NVB6XzLeKO++4tRkR0sv5UQfAXSXxLZjpnCElFYmJez1zwFLdKgzqqF57K3noSN8+koZaERb5dLUkBcId/DPtoW1uoxyZx/AOVWoPHJTwnEr6tEwhQQ/1AYlUtBU/xP7I9i+tIFOPQKfRWZIZQFikr3GyOs6cg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=dZX5hQfbNhxt3vfw4RTTqrYMF1OI9rxE4GTxfJeEIcI=; b=1izZgaub5kU7IGUcAKJCbDM01HWxLm3zU3tMk2Yo1DflNWI4H2/Y5Kd3sQjcJ1ca7X9p3sRPB4G8evveSKtnkhmXz8vF3MbrZYPE1jDvojmad267guh/DNQ0/C6ydJwIMrLvn1bu+RE7uhgAMCSrLNTTXbOxu5qw8MIJZxzJEdM= Received: from BL0PR05CA0009.namprd05.prod.outlook.com (2603:10b6:208:91::19) by SA1PR12MB7199.namprd12.prod.outlook.com (2603:10b6:806:2bc::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 12:54:27 +0000 Received: from BL6PEPF00020E5F.namprd04.prod.outlook.com (2603:10b6:208:91:cafe::63) by BL0PR05CA0009.outlook.office365.com (2603:10b6:208:91::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.12 via Frontend Transport; Fri, 12 Apr 2024 12:54:26 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E5F.mail.protection.outlook.com (10.167.249.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:54:26 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:54:17 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 19/24] net/axgbe: separate C22 and C45 transactions Date: Fri, 12 Apr 2024 08:52:44 -0400 Message-ID: <20240412125249.10625-19-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E5F:EE_|SA1PR12MB7199:EE_ X-MS-Office365-Filtering-Correlation-Id: a6916e94-916f-44ae-7e33-08dc5aefaf77 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: M7GIq0ky1jNPihI1fmwUBbYMylDJa1NT/xPdCR1srFefbrCSv/UENtT+wiSCG53BTyWcjbkJ3mzEWJowHBnPF+ecH111nUZpc56tk2UdYGjEhpYFbJVxjcjzpTCx0yRb7BHz927hvRwaB7qIb/mxy1wMVi2b4y9wIyrJuq9tIQ9PQlVWax3Y9U2VoVaKTp1rhL1l8r3p55X4Qv7G5QLN9ccXdkRL0NlnvFyBcZABkFD3IaQbRs7x4dq9KVX6UAgvKFB4EKX/xgsk4LsNCXMPWa0q8abk+e1CvjCY9LB104g+TiSA+JdC3Rl18K+o7vVqHQnn+65xmON8exgFDLC6xxrP1WwDFQCweEjnT1X1SldyMspAr1iDX8lgmbplvWBeMfGpP75rjoDrBt880+8JnvvjeDXNUavb4VVdtXaDg6yEYSiFoJxeaPnIixNF9NrlnHTcSHSbeDOaoA0xhYeg2uGpupux6R6vjyWkby9k962l99HDZY8MgCtOPqAPY0GxBqyM3zOgsl0H+BYMQ2+mcB2CyPf44Agf4+zXDH2JwWu4g94kDBPTHirw3LLlj3PMj8N53HIf7Hb8wD24er7Ch8gQ9/GGLaqDGQtoCU4yrZz1ybIKkOO5l4Hb2S+3V7CYPlG+wUHgXW5MVI6D/Y4Vrp/KxciznszqEONeuqoo+VTlwenx+qhlv/tsECMO3EjtFTerjAMgeEES6IP0qHKdOOJELu1uLNw6iPzvKzaHUUF7CTxj0fTrarRIB+BkY/LC X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(376005)(1800799015)(82310400014)(36860700004); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:54:26.6982 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a6916e94-916f-44ae-7e33-08dc5aefaf77 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E5F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7199 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 The xgbe MDIO bus driver can perform both C22 and C45 transfers, when using its MDIO bus hardware. The SFP I2C mdio bus driver only supports C22. Create separate functions for each and register the C45 versions using the new API calls where appropriate. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_dev.c | 77 +++++++++++++++++++++++++----- drivers/net/axgbe/axgbe_ethdev.h | 7 ++- drivers/net/axgbe/axgbe_phy_impl.c | 4 +- 3 files changed, 71 insertions(+), 17 deletions(-) diff --git a/drivers/net/axgbe/axgbe_dev.c b/drivers/net/axgbe/axgbe_dev.c index 6b413160c2..fa7324efa7 100644 --- a/drivers/net/axgbe/axgbe_dev.c +++ b/drivers/net/axgbe/axgbe_dev.c @@ -63,11 +63,20 @@ static int mdio_complete(struct axgbe_port *pdata) return 0; } -static unsigned int axgbe_create_mdio_sca(int port, int reg) +static unsigned int axgbe_create_mdio_sca_c22(int port, int reg) { - unsigned int mdio_sca, da; + unsigned int mdio_sca; - da = (reg & MII_ADDR_C45) ? reg >> 16 : 0; + mdio_sca = 0; + AXGMAC_SET_BITS(mdio_sca, MAC_MDIOSCAR, RA, reg); + AXGMAC_SET_BITS(mdio_sca, MAC_MDIOSCAR, PA, port); + + return mdio_sca; +} + +static unsigned int axgbe_create_mdio_sca_c45(int port, unsigned int da, int reg) +{ + unsigned int mdio_sca; mdio_sca = 0; AXGMAC_SET_BITS(mdio_sca, MAC_MDIOSCAR, RA, reg); @@ -77,13 +86,12 @@ static unsigned int axgbe_create_mdio_sca(int port, int reg) return mdio_sca; } -static int axgbe_write_ext_mii_regs(struct axgbe_port *pdata, int addr, - int reg, u16 val) +static int axgbe_write_ext_mii_regs(struct axgbe_port *pdata, + unsigned int mdio_sca, u16 val) { - unsigned int mdio_sca, mdio_sccd; + unsigned int mdio_sccd; uint64_t timeout; - mdio_sca = axgbe_create_mdio_sca(addr, reg); AXGMAC_IOWRITE(pdata, MAC_MDIOSCAR, mdio_sca); mdio_sccd = 0; @@ -103,13 +111,34 @@ static int axgbe_write_ext_mii_regs(struct axgbe_port *pdata, int addr, return -ETIMEDOUT; } -static int axgbe_read_ext_mii_regs(struct axgbe_port *pdata, int addr, - int reg) + +static int axgbe_write_ext_mii_regs_c22(struct axgbe_port *pdata, + int addr, int reg, u16 val) +{ + unsigned int mdio_sca; + + mdio_sca = axgbe_create_mdio_sca_c22(addr, reg); + + return axgbe_write_ext_mii_regs(pdata, mdio_sca, val); +} + +static int axgbe_write_ext_mii_regs_c45(struct axgbe_port *pdata, + int addr, int devad, int reg, u16 val) { - unsigned int mdio_sca, mdio_sccd; + unsigned int mdio_sca; + + mdio_sca = axgbe_create_mdio_sca_c45(addr, devad, reg); + + return axgbe_write_ext_mii_regs(pdata, mdio_sca, val); +} + + +static int axgbe_read_ext_mii_regs(struct axgbe_port *pdata, + unsigned int mdio_sca) +{ + unsigned int mdio_sccd; uint64_t timeout; - mdio_sca = axgbe_create_mdio_sca(addr, reg); AXGMAC_IOWRITE(pdata, MAC_MDIOSCAR, mdio_sca); mdio_sccd = 0; @@ -132,6 +161,25 @@ static int axgbe_read_ext_mii_regs(struct axgbe_port *pdata, int addr, return AXGMAC_IOREAD_BITS(pdata, MAC_MDIOSCCDR, DATA); } +static int axgbe_read_ext_mii_regs_c22(struct axgbe_port *pdata, int addr, int reg) +{ + unsigned int mdio_sca; + + mdio_sca = axgbe_create_mdio_sca_c22(addr, reg); + + return axgbe_read_ext_mii_regs(pdata, mdio_sca); +} + +static int axgbe_read_ext_mii_regs_c45(struct axgbe_port *pdata, int addr, + int devad, int reg) +{ + unsigned int mdio_sca; + + mdio_sca = axgbe_create_mdio_sca_c45(addr, devad, reg); + + return axgbe_read_ext_mii_regs(pdata, mdio_sca); +} + static int axgbe_set_ext_mii_mode(struct axgbe_port *pdata, unsigned int port, enum axgbe_mdio_mode mode) { @@ -1373,8 +1421,11 @@ void axgbe_init_function_ptrs_dev(struct axgbe_hw_if *hw_if) hw_if->set_speed = axgbe_set_speed; hw_if->set_ext_mii_mode = axgbe_set_ext_mii_mode; - hw_if->read_ext_mii_regs = axgbe_read_ext_mii_regs; - hw_if->write_ext_mii_regs = axgbe_write_ext_mii_regs; + hw_if->read_ext_mii_regs_c22 = axgbe_read_ext_mii_regs_c22; + hw_if->write_ext_mii_regs_c22 = axgbe_write_ext_mii_regs_c22; + hw_if->read_ext_mii_regs_c45 = axgbe_read_ext_mii_regs_c45; + hw_if->write_ext_mii_regs_c45 = axgbe_write_ext_mii_regs_c45; + /* For FLOW ctrl */ hw_if->config_tx_flow_control = axgbe_config_tx_flow_control; hw_if->config_rx_flow_control = axgbe_config_rx_flow_control; diff --git a/drivers/net/axgbe/axgbe_ethdev.h b/drivers/net/axgbe/axgbe_ethdev.h index 4dcbf6d9a2..cb3df47a63 100644 --- a/drivers/net/axgbe/axgbe_ethdev.h +++ b/drivers/net/axgbe/axgbe_ethdev.h @@ -325,8 +325,11 @@ struct axgbe_hw_if { int (*set_ext_mii_mode)(struct axgbe_port *, unsigned int, enum axgbe_mdio_mode); - int (*read_ext_mii_regs)(struct axgbe_port *, int, int); - int (*write_ext_mii_regs)(struct axgbe_port *, int, int, uint16_t); + int (*read_ext_mii_regs_c22)(struct axgbe_port *pdata, int addr, int reg); + int (*write_ext_mii_regs_c22)(struct axgbe_port *pdata, int addr, int reg, uint16_t val); + int (*read_ext_mii_regs_c45)(struct axgbe_port *pdata, int addr, int devad, int reg); + int (*write_ext_mii_regs_c45)(struct axgbe_port *pdata, int addr, int devad, + int reg, uint16_t val); /* For FLOW ctrl */ int (*config_tx_flow_control)(struct axgbe_port *); diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index 9c2c411b4f..d173545e83 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -1148,8 +1148,8 @@ static int axgbe_phy_set_redrv_mode_mdio(struct axgbe_port *pdata, redrv_reg = AXGBE_PHY_REDRV_MODE_REG + (phy_data->redrv_lane * 0x1000); redrv_val = (u16)mode; - return pdata->hw_if.write_ext_mii_regs(pdata, phy_data->redrv_addr, - redrv_reg, redrv_val); + return pdata->hw_if.write_ext_mii_regs_c22(pdata, + phy_data->redrv_addr, redrv_reg, redrv_val); } static int axgbe_phy_set_redrv_mode_i2c(struct axgbe_port *pdata, From patchwork Fri Apr 12 12:52:45 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139268 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4BBD443E52; Fri, 12 Apr 2024 14:55:36 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C0D0042D87; Fri, 12 Apr 2024 14:54:35 +0200 (CEST) Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam02on2046.outbound.protection.outlook.com [40.107.212.46]) by mails.dpdk.org (Postfix) with ESMTP id 76E0041104 for ; Fri, 12 Apr 2024 14:54:30 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=idLUXwSIigbO7ml0OnKyKdxy6LPtt4EhjZyN/4vNYDk9XXXq6N6FJAfNcPiRSFaKBBANZH1EhateTuM9QK3yUBA3UbCY8n7YAQIvzULwUrxiZ85TAQDmu3wKue6lcZ8wHeITwLKpX1V0ntlKKcosCVInWCmvm8uKLD1neiIFR9vraGGFs7j5+b/02RzSb9scy7QU95X/sBmIwx+8CPyo2D4tiN7QBUP8SP92niPssUU+0ShsNMNDIsKzBXE7ekLl8cdPNAe0tUeMTMnVt6y0cmpWRLV+msHp8XAU+KtQsuNu9Tze/SL4B5sYd0m4JJWf970hLnh4U0CQ+qyNqJE0YA== 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=lTVgRb3iFp2sK06q0jpSAERWB6Yq+Bz0Sq5KWTKltPc=; b=DsKO7DIcbYp2W9znAO+P8dl4b6AAbqvZ/Gd7AoxwMFXKTzVq73N3SAiuJunphPLhkKZB7wGhdQ7btl7DeT6F9OWmdHutOw6j5h3XN1JOi2fhFneApuyBKS7y+3HIDUu/e48UcbNKPdd7Iqhad3Ed6QR9e7ptEMTwKEeCH/veJk2JNPEd1ZIRqfr1znl0YD49qCbMI0GrevptA/pww7yS1HaZ+YkpK+WZxm1HrP420FurRc3CwYv1z7NjaDKU3nnzzan2Ka01WQ8dhMdQIQQsKXVz7n845pXSv/W1F1sEdqwnzGCv8rhahIiY7MaT877US3VIXW+8Pg2oNFga2t0hsg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=lTVgRb3iFp2sK06q0jpSAERWB6Yq+Bz0Sq5KWTKltPc=; b=wQlRm6FSV+hv7I1qGNbRqux6DNqHO87wcHNAMJF3dOiV64pWi+Y0Iws/0btC8pCwAPX0VIDCCVVyyoGDk94WkA7OGuJCTKKrUuI8qPXBkFKd23soDhIGFh1fThZaLalFfAhQDQ68+HxDsmC6NY6ObDoKc5R+N2YLOiJGlqGBe3g= Received: from BL0PR05CA0029.namprd05.prod.outlook.com (2603:10b6:208:91::39) by CH3PR12MB8910.namprd12.prod.outlook.com (2603:10b6:610:179::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 12:54:27 +0000 Received: from BL6PEPF00020E5F.namprd04.prod.outlook.com (2603:10b6:208:91:cafe::b5) by BL0PR05CA0029.outlook.office365.com (2603:10b6:208:91::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.12 via Frontend Transport; Fri, 12 Apr 2024 12:54:27 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E5F.mail.protection.outlook.com (10.167.249.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:54:27 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:54:20 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 20/24] net/axgbe: replace mii generic macro for c45 with AXGBE Date: Fri, 12 Apr 2024 08:52:45 -0400 Message-ID: <20240412125249.10625-20-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E5F:EE_|CH3PR12MB8910:EE_ X-MS-Office365-Filtering-Correlation-Id: f6efb39f-22c0-434c-6558-08dc5aefafe0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7ucv49sBoCS1fzKJyfQXZKKQyj7oBfKsS0sYct0BMBSMKtd40grP4qbR6G9gGnXG8lPCdoo3QyyqmEs640soB+1NUj8gJrZ1iWQ4pj1m7hr8OFoG7CXgXvHtW4fSsUKwAJyDuc9kfhrim6eDCdFo2uYxVl4m9Oj2GJZH1io0dk/OmB5k1QtwjW06omoDmK7RFcbIiHQIdwInI4ro4URPBhywdwtoUxbmJlW+0mmEnElRgD3iy9ELPvB35z4oggEPEE6w1vUszPgY4te4Auzg0ZooAi25VuMla+/ZMa1FSNOcpA9vGvP7zH593AVyfJJ///P7mGuPO5CDrzv6pxHosPjooSn9d6rtkcZut0D2+TZUI+XbCOXR/FCF4I6ZJHj29XiGOWggxQTb8exkHy93tLVmoV6ttWWpBLCTKZPHk2fzenKgs6llphPIGreEW4gPMsypBeQewy6Sou5O6svyvngM6aIy187u/HzG8cdxxzAHY6axd5AQ7+dYROHzdrrTEFAh99GjbN7wRv2xL61QOkCOFRIzdDr1wkxMDt2YB8W2WXT3vS7enXva/mmgICaxVowHifqHzl9Nn9a5lj8j5qCrmc04jkyZbRO/piVkq38ourdcV8VhTvevMwLiP09+jcXB6Z9QJ5yyOjsp8AaumarfBLqsvFPZxKIjDsOYnAqIYfj15D+LCmppmxYBiGseVamx9RqOzo4vq5B09ohdSGNg4osTWI++TbpL4LaM/bksRTRD3ejVF5LbqPrz5AkW X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(36860700004)(82310400014)(376005)(1800799015); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:54:27.3701 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f6efb39f-22c0-434c-6558-08dc5aefafe0 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E5F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8910 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 The axgbe driver reuses MII_ADDR_C45 for its own purpose. The values derived with it are never passed to phylib or a linux MDIO bus driver. In order that MII_ADDR_C45 can be removed, add an AXGBE specific Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_common.h | 4 ++-- drivers/net/axgbe/axgbe_dev.c | 8 ++++---- drivers/net/axgbe/axgbe_phy.h | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/net/axgbe/axgbe_common.h b/drivers/net/axgbe/axgbe_common.h index 51532fb34a..1a43192630 100644 --- a/drivers/net/axgbe/axgbe_common.h +++ b/drivers/net/axgbe/axgbe_common.h @@ -1732,14 +1732,14 @@ do { \ */ #define XMDIO_READ(_pdata, _mmd, _reg) \ ((_pdata)->hw_if.read_mmd_regs((_pdata), 0, \ - MII_ADDR_C45 | ((_mmd) << 16) | ((_reg) & 0xffff))) + AXGBE_ADDR_C45 | ((_mmd) << 16) | ((_reg) & 0xffff))) #define XMDIO_READ_BITS(_pdata, _mmd, _reg, _mask) \ (XMDIO_READ((_pdata), _mmd, _reg) & _mask) #define XMDIO_WRITE(_pdata, _mmd, _reg, _val) \ ((_pdata)->hw_if.write_mmd_regs((_pdata), 0, \ - MII_ADDR_C45 | ((_mmd) << 16) | ((_reg) & 0xffff), (_val))) + AXGBE_ADDR_C45 | ((_mmd) << 16) | ((_reg) & 0xffff), (_val))) #define XMDIO_WRITE_BITS(_pdata, _mmd, _reg, _mask, _val) \ do { \ diff --git a/drivers/net/axgbe/axgbe_dev.c b/drivers/net/axgbe/axgbe_dev.c index fa7324efa7..ebe64295aa 100644 --- a/drivers/net/axgbe/axgbe_dev.c +++ b/drivers/net/axgbe/axgbe_dev.c @@ -207,8 +207,8 @@ static int axgbe_read_mmd_regs_v2(struct axgbe_port *pdata, unsigned int mmd_address, index, offset; int mmd_data; - if (mmd_reg & MII_ADDR_C45) - mmd_address = mmd_reg & ~MII_ADDR_C45; + if (mmd_reg & AXGBE_ADDR_C45) + mmd_address = mmd_reg & ~AXGBE_ADDR_C45; else mmd_address = (pdata->mdio_mmd << 16) | (mmd_reg & 0xffff); @@ -241,8 +241,8 @@ static void axgbe_write_mmd_regs_v2(struct axgbe_port *pdata, { unsigned int mmd_address, index, offset; - if (mmd_reg & MII_ADDR_C45) - mmd_address = mmd_reg & ~MII_ADDR_C45; + if (mmd_reg & AXGBE_ADDR_C45) + mmd_address = mmd_reg & ~AXGBE_ADDR_C45; else mmd_address = (pdata->mdio_mmd << 16) | (mmd_reg & 0xffff); diff --git a/drivers/net/axgbe/axgbe_phy.h b/drivers/net/axgbe/axgbe_phy.h index 5b844e81cd..eee3afc370 100644 --- a/drivers/net/axgbe/axgbe_phy.h +++ b/drivers/net/axgbe/axgbe_phy.h @@ -16,7 +16,7 @@ /* Or MII_ADDR_C45 into regnum for read/write on mii_bus to enable the 21 bit * IEEE 802.3ae clause 45 addressing mode used by 10GIGE phy chips. */ -#define MII_ADDR_C45 (1 << 30) +#define AXGBE_ADDR_C45 (1 << 30) /* Basic mode status register. */ #define BMSR_LSTATUS 0x0004 /* Link status */ From patchwork Fri Apr 12 12:52:46 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139270 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 43ABD43E52; Fri, 12 Apr 2024 14:55:48 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 29C4142D97; Fri, 12 Apr 2024 14:54:38 +0200 (CEST) Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam02on2053.outbound.protection.outlook.com [40.107.212.53]) by mails.dpdk.org (Postfix) with ESMTP id 18DB041148 for ; Fri, 12 Apr 2024 14:54:31 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AS9Gxiqe2SEpEJvnQg+feoYmuglFdqrh1RN88/ZQwCchWyPNl4OyfTmqN1ITnURQEILj5TGT/2GkNKpMCc8YVZaDRfZxtvuiD9U+IKm80uRjA3a//t3R5Q8PqC4+YIOqEtovlS0DTNf3RRhL5KcekRxXbltvXLfo9lOoZASvsJiHYPaIWKggEYEouZHcAYkWdWlg378YX6TnIk657jqjTjSDwRjBi/ia9joSF0sRE7haCYZbVhlc+rBbcvS+W5nZ6a0+q8MoEAiHD5Z0MBaeThohbcaFC6OlVrwXQM973unrWSh4DuN/0/fKlYVwiN6Lg/yMy0XcrS2rSfg5MW9m5Q== 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=1zYjH7TaLwRKcnxjtwhPRUBfEL7PI2r8AjsqyOXz18g=; b=HDoEQkUifT/Tvgbo+oSMqUwHvCoQI3D0Gbb49kKEQ6zcR0eK8UvoS3ieA2rJ4XBgAspMKLpq+0JgWv/st+bHWBsmo/iJ2aw/pZazJioVLUz3JJACnCHyE6b8ChRoUV1+HIvoUoW8ENAWBKwq7MmC/1QQefSnHVCpVjKG02kIRRdyVjgtEXlse/UYjXcztCpiBlyDfx2N/LimkjYrdlINgrgzdBQHLFbuMvnSNjVGNm6Wfj5v1Zm8wOJmYdFMjXzsDZydFhqenKDx9zSBJ6iIkrUQI80BX/OdgyByAI8TBrGqODFM+Zhcug01XflhogO+Ctxauhtkf19bhFKr1tbehg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=1zYjH7TaLwRKcnxjtwhPRUBfEL7PI2r8AjsqyOXz18g=; b=fWX0RmDQIgL9s1fXoLk30/9hFbGj5ywj5DOqW+mlFkcl381P8q1qDTUAzoHcqvM0r7yalC/f2kdB5GuuNMdCucHcC4z8VWe9IX+PPoxcDwhgRzvFAYid7BVXPOQIdoGafGhb1oyONM/KOTKGelfChX+x5pcb4+J0yERjIME2NO8= Received: from BL0PR05CA0013.namprd05.prod.outlook.com (2603:10b6:208:91::23) by CH3PR12MB9342.namprd12.prod.outlook.com (2603:10b6:610:1cb::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 12:54:28 +0000 Received: from BL6PEPF00020E5F.namprd04.prod.outlook.com (2603:10b6:208:91:cafe::18) by BL0PR05CA0013.outlook.office365.com (2603:10b6:208:91::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.12 via Frontend Transport; Fri, 12 Apr 2024 12:54:27 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E5F.mail.protection.outlook.com (10.167.249.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:54:27 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:54:23 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 21/24] net/axgbe: add 2.5GbE support to 10G BaseT mode Date: Fri, 12 Apr 2024 08:52:46 -0400 Message-ID: <20240412125249.10625-21-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E5F:EE_|CH3PR12MB9342:EE_ X-MS-Office365-Filtering-Correlation-Id: 18a0c08e-99be-45e4-c4d7-08dc5aefb020 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: BERVYO4IZNWWORT++gFuoTdp9VwBioJouv0RTKOZKmcJxFCZ5MzqqJLmbLVPD38PDgRtw6jOj52qiCMRoPlc8WjIOMf3fDRgeLhgz7xFcD1x4VQ11uLeLoCVUx4mqZ6D4ApohkKFDZ7FQzZBx8H963Dj8l9dLSNuVE4CvBViMkW8xlr3Nf3yd/kiHWlIHqqBZcgxe5wOgGKZ5GmSykvjmHQ/O+Xvgr+JMuqRbPSm046QLr+XdWseYNRDY7NmPZth861j56LT0T+ZcjLrqCzNznNpZRLIkQbevQAa8moId0WbDEm5AAfGP5sD6YJtNPh/bCzmbdTPVV9yCH9klP9tacQgRAn5689+f3z6JP7FheAY+SfV86hCroJS2qaph9V092AGbnJ5IY1EAe7eXJ5LBUJd8nw3oFVzLKJMA2E0cV7z3MqqP0zVjAAYcdjYeM/A4q5Z5Ob0V8FJS+7/zucLasOI2i2kY70o6q7afPrFxXZ2QPc1AQp5ufOyucqIx5OgvzU4MCqGFhsLHZZ09rsoBF9UizH4g8hw05iBWAWIEYSAysZAWcomtZElxvloobL7rOgwFAjwguVjvCY8dR6A+eK7toAmv9KrchZFwAWKV6XCzIGRAguw1idyo6fa/pOZYb8wTa0cYGL6/+m1aZpqRgl4+ztTCELLCGjLl50WZ5bq4wQuxpZ6gj+c9eaiemBYowMOq+EP8uEKlI/EPRtM93p0jFDGfgI5Lgt9Usi7LjPb4uAgQhuxsXsBT6JlMPja X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(36860700004)(1800799015)(376005)(82310400014); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:54:27.7920 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 18a0c08e-99be-45e4-c4d7-08dc5aefb020 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E5F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9342 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 Add support to the driver to fully recognize and enable 2.5GbE speed in 10GBaseT mode. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_phy_impl.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index d173545e83..13b37e9b8b 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -1392,9 +1392,11 @@ static enum axgbe_mode axgbe_phy_switch_baset_mode(struct axgbe_port *pdata) case AXGBE_MODE_SGMII_100: case AXGBE_MODE_SGMII_1000: return AXGBE_MODE_KR; + case AXGBE_MODE_KX_2500: + return AXGBE_MODE_SGMII_1000; case AXGBE_MODE_KR: default: - return AXGBE_MODE_SGMII_1000; + return AXGBE_MODE_KX_2500; } } @@ -1883,6 +1885,7 @@ static bool axgbe_phy_port_mode_mismatch(struct axgbe_port *pdata) if ((phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_10) || (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_100) || (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_1000) || + (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_2500) || (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_10000)) return false; break; @@ -2270,6 +2273,10 @@ static int axgbe_phy_init(struct axgbe_port *pdata) pdata->phy.supported |= SUPPORTED_1000baseT_Full; phy_data->start_mode = AXGBE_MODE_SGMII_1000; } + if (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_2500) { + pdata->phy.supported |= SUPPORTED_2500baseX_Full; + phy_data->start_mode = AXGBE_MODE_KX_2500; + } if (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_10000) { pdata->phy.supported |= SUPPORTED_10000baseT_Full; phy_data->start_mode = AXGBE_MODE_KR; From patchwork Fri Apr 12 12:52:47 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139273 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B90FB43E52; Fri, 12 Apr 2024 14:56:09 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B21A64113C; Fri, 12 Apr 2024 14:55:07 +0200 (CEST) Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2086.outbound.protection.outlook.com [40.107.101.86]) by mails.dpdk.org (Postfix) with ESMTP id 1EE1741141 for ; Fri, 12 Apr 2024 14:55:04 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Wo3UdTk2RpC7laFiMmQX8Nw8cEQvA0QtEm6CekLTgt6ga4QvvbKaB/Tx4F9ZKESfWGo2cNHFjv4gWnxTjHaVRjoX3RuTXy169HuLekzDrqJuQ1N/P+Yn63sNhVLQ1V2wjCp3rHyu99VZfR5pIHf6WY61tr4Z2nAYhTdKvDHw3P9x9EjMd44TAu/HQlOu+DusQKtqDPXZO5xkPn/s+qVkTnuxKBuwAYES4QcQGNV3gcIM9yTYL5Qe5y73JZ9j26foBnfLga4St3QPWcuuIQ+pyEhuELw2zXbgVVqE/bFjUeg7eJYtM5895m+OCG7pIleWullq+zDWfpAJS20csNht5w== 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=Yqe0cyBHSXMNBQu0hpvYn/q2P6JCEbgFIgKfjIJ6Jyk=; b=DHTqFUYGirgKQ0zfoCi5uX83lIQlRxH975eRq+btzYWBkRp4oVcfPBm+9wKECq4IzravVvFO6TAZzCm87xmialbRcrouCB3g8+qqXBeYzOVEy0rGdznBMRpxlDuwapmpmgvRQYxE/BqHzgaKbl5sAXemrtn3bz0ePzGqoTcfJl19Z8Lwnkn5aopTyX6vJRwozjrz+JpdzltYQ0SEMXR8gKcKRKb/tIr+1wewGVuQ6ip6yYULFSKL+D+4A6flH3QSeByHSMs7SYdOaJFwfaWG7uC7mgnm3UJ7wLQK2yeCTdPrz/+kDDcaArVjo6O4W+ZPuu7OrslED7UzHMnUcDV0Xg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=Yqe0cyBHSXMNBQu0hpvYn/q2P6JCEbgFIgKfjIJ6Jyk=; b=SNv1j03rruPf8oBgA7MsxP5xKGclje+yUvaGYn1abzdQCNdotuW7cBDuSqwIpHU6WyjwErRwFEqs/QSlxSv3V5p1G84PuiS4v+dPHBketgXqWIdjWHnK7Sl4NJdSZSAd6y39kUqZerin4mHjdbZOLTuf4pSrDQwFbl1Cvgi4+uc= Received: from DM5PR08CA0031.namprd08.prod.outlook.com (2603:10b6:4:60::20) by CY5PR12MB6347.namprd12.prod.outlook.com (2603:10b6:930:20::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 12:55:00 +0000 Received: from DS1PEPF00017093.namprd03.prod.outlook.com (2603:10b6:4:60:cafe::8b) by DM5PR08CA0031.outlook.office365.com (2603:10b6:4:60::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.26 via Frontend Transport; Fri, 12 Apr 2024 12:54:59 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by DS1PEPF00017093.mail.protection.outlook.com (10.167.17.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:54:58 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:54:25 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 22/24] net/axgbe: add support for Rx adaptation Date: Fri, 12 Apr 2024 08:52:47 -0400 Message-ID: <20240412125249.10625-22-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS1PEPF00017093:EE_|CY5PR12MB6347:EE_ X-MS-Office365-Filtering-Correlation-Id: 203793ff-dfe8-42a1-09d8-08dc5aefc257 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zXpaEP2hFJYhVjKCOa2jMXgeZTIwe6hKHitRMyN1YkMKxZU22lYvHOJHLYQGAtYV+3m/yndqEor6+gd+cmtZEOMG4u7qy4Yic4TmRVsdRZFnGFE/5OvenA7il6+IDZ8ixoGX6FR3r5izkqHDahXOGAP5HrByZhlz6n825of79rW/T3VlbHe/V+jwAfb5nRhz2pGp7UMf38656Bvn4nB0DTwjZd5c7Hkahd/lPxuclDHM0iuLetuEUMU5vd2TFSB7eI7946feLC/yyXrwQ/TYKFJg3z9VynweIVmxmi4veDgSJPcuctJCcTj2VlPRWk8hrWazN4b/2k3qCq1sFg6GLzbi3mmc3kyyLX1ZraYHSiu8wcDDgEJ7Yj89lxrxduCWupN7SEyWx3g0I/CjaDfatrwCZVw1rDKmVgUPKJMNqnMxEKDvOoSUiAVSZS3J9Uc1GqYcLmuZ85XY2f9q6H5TuLrsMeIxkhtCOs/97Eu0281buXGISmnYlsBxdW9TyLRrdb++GQZdCTz/P7P4lHXoMWar/wx5icVEZanUoWGnJ6L50fXaqxmCWkBn21e1QwRQrghlVPC8YQ3KTJEwD/CgvtgcVWeQrkqVxijnhJcXlB9erNpUqXd92UA9B1bpwzhdkjlPvlt8C2brPIhNSmsfblxaQ7Kj8EVIvHqp9LUhNAwQOO51cqEmtp8IdDt9y1Lg24RSWBAJkU+BokjBsWSczbas5ixvZfC2eR3jVAJrKjJi+mj51HmN/KBdtTwcz6tW X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:ErrorRetry; CAT:NONE; SFS:(13230031)(82310400014)(376005)(36860700004)(1800799015); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:54:58.2685 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 203793ff-dfe8-42a1-09d8-08dc5aefc257 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DS1PEPF00017093.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6347 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 The existing implementation for non-Autonegotiation 10G speed modes does not enable RX adaptation in the Driver and FW. The RX Equalization settings (AFE settings alone) are manually configured and the existing link-up sequence in the driver does not perform rx adaptation process as mentioned in the Synopsys databook. There's a customer request for 10G backplane mode without Auto-negotiation and for the DAC cables of more significant length that follow the non-Autonegotiation mode. These modes require PHY to perform RX Adaptation. The proposed logic adds the necessary changes to Yellow Carp devices to ensure seamless RX Adaptation for 10G-SFI (LONG DAC) and 10G-KR without AN (CL72 not present). The RX adaptation core algorithm is executed by firmware, however, to achieve that a new mailbox sub-command is required to be sent by the driver. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_common.h | 38 +++++++ drivers/net/axgbe/axgbe_ethdev.h | 5 + drivers/net/axgbe/axgbe_phy_impl.c | 170 ++++++++++++++++++++++++++++- 3 files changed, 210 insertions(+), 3 deletions(-) diff --git a/drivers/net/axgbe/axgbe_common.h b/drivers/net/axgbe/axgbe_common.h index 1a43192630..0e1b2c1500 100644 --- a/drivers/net/axgbe/axgbe_common.h +++ b/drivers/net/axgbe/axgbe_common.h @@ -1274,6 +1274,22 @@ #define MDIO_PMA_RX_CTRL1 0x8051 #endif +#ifndef MDIO_PMA_RX_LSTS +#define MDIO_PMA_RX_LSTS 0x018020 +#endif + +#ifndef MDIO_PMA_RX_EQ_CTRL4 +#define MDIO_PMA_RX_EQ_CTRL4 0x0001805C +#endif + +#ifndef MDIO_PMA_MP_MISC_STS +#define MDIO_PMA_MP_MISC_STS 0x0078 +#endif + +#ifndef MDIO_PMA_PHY_RX_EQ_CEU +#define MDIO_PMA_PHY_RX_EQ_CEU 0x1800E +#endif + #ifndef MDIO_PCS_DIG_CTRL #define MDIO_PCS_DIG_CTRL 0x8000 #endif @@ -1415,6 +1431,28 @@ static inline uint32_t high32_value(uint64_t addr) #define XGBE_PMA_RX_RST_0_RESET_ON 0x10 #define XGBE_PMA_RX_RST_0_RESET_OFF 0x00 +#define XGBE_PMA_RX_SIG_DET_0_MASK BIT(4) +#define XGBE_PMA_RX_SIG_DET_0_ENABLE BIT(4) +#define XGBE_PMA_RX_SIG_DET_0_DISABLE 0x0000 + +#define XGBE_PMA_RX_VALID_0_MASK BIT(12) +#define XGBE_PMA_RX_VALID_0_ENABLE BIT(12) +#define XGBE_PMA_RX_VALID_0_DISABLE 0x0000 + +#define XGBE_PMA_RX_AD_REQ_MASK BIT(12) +#define XGBE_PMA_RX_AD_REQ_ENABLE BIT(12) +#define XGBE_PMA_RX_AD_REQ_DISABLE 0x0000 + +#define XGBE_PMA_RX_ADPT_ACK_MASK BIT(12) +#define XGBE_PMA_RX_ADPT_ACK BIT(12) + +#define XGBE_PMA_CFF_UPDTM1_VLD BIT(8) +#define XGBE_PMA_CFF_UPDT0_VLD BIT(9) +#define XGBE_PMA_CFF_UPDT1_VLD BIT(10) +#define XGBE_PMA_CFF_UPDT_MASK (XGBE_PMA_CFF_UPDTM1_VLD |\ + XGBE_PMA_CFF_UPDT0_VLD | \ + XGBE_PMA_CFF_UPDT1_VLD) + /*END*/ /* Bit setting and getting macros diff --git a/drivers/net/axgbe/axgbe_ethdev.h b/drivers/net/axgbe/axgbe_ethdev.h index cb3df47a63..dd00ae8af5 100644 --- a/drivers/net/axgbe/axgbe_ethdev.h +++ b/drivers/net/axgbe/axgbe_ethdev.h @@ -244,6 +244,7 @@ enum axgbe_mb_cmd { enum axgbe_mb_subcmd { AXGBE_MB_SUBCMD_NONE = 0, + AXGBE_MB_SUBCMD_RX_ADAP, /* 10GbE SFP subcommands */ AXGBE_MB_SUBCMD_ACTIVE = 0, @@ -722,6 +723,10 @@ struct axgbe_port { struct rte_timecounter tx_tstamp; unsigned int tstamp_addend; + bool en_rx_adap; + int rx_adapt_retries; + bool rx_adapt_done; + bool mode_set; }; void axgbe_init_function_ptrs_dev(struct axgbe_hw_if *hw_if); diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index 13b37e9b8b..a1c42b7dd4 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -247,6 +247,10 @@ struct axgbe_phy_data { }; static enum axgbe_an_mode axgbe_phy_an_mode(struct axgbe_port *pdata); +static void axgbe_phy_perform_ratechange(struct axgbe_port *pdata, + enum axgbe_mb_cmd cmd, enum axgbe_mb_subcmd sub_cmd); +static void axgbe_phy_rrc(struct axgbe_port *pdata); + static int axgbe_phy_i2c_xfer(struct axgbe_port *pdata, struct axgbe_i2c_op *i2c_op) @@ -1194,6 +1198,92 @@ static void axgbe_phy_set_redrv_mode(struct axgbe_port *pdata) axgbe_phy_put_comm_ownership(pdata); } +#define MAX_RX_ADAPT_RETRIES 1 +#define XGBE_PMA_RX_VAL_SIG_MASK (XGBE_PMA_RX_SIG_DET_0_MASK | \ + XGBE_PMA_RX_VALID_0_MASK) + +static void axgbe_set_rx_adap_mode(struct axgbe_port *pdata, + enum axgbe_mode mode) +{ + if (pdata->rx_adapt_retries++ >= MAX_RX_ADAPT_RETRIES) { + pdata->rx_adapt_retries = 0; + return; + } + + axgbe_phy_perform_ratechange(pdata, + mode == AXGBE_MODE_KR ? + AXGBE_MB_CMD_SET_10G_KR : + AXGBE_MB_CMD_SET_10G_SFI, + AXGBE_MB_SUBCMD_RX_ADAP); +} + +static void axgbe_rx_adaptation(struct axgbe_port *pdata) +{ + struct axgbe_phy_data *phy_data = pdata->phy_data; + unsigned int reg; + + /* step 2: force PCS to send RX_ADAPT Req to PHY */ + XMDIO_WRITE_BITS(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_RX_EQ_CTRL4, + XGBE_PMA_RX_AD_REQ_MASK, XGBE_PMA_RX_AD_REQ_ENABLE); + + /* Step 3: Wait for RX_ADAPT ACK from the PHY */ + rte_delay_ms(200); + + /* Software polls for coefficient update command (given by local PHY) */ + reg = XMDIO_READ(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_PHY_RX_EQ_CEU); + + /* Clear the RX_AD_REQ bit */ + XMDIO_WRITE_BITS(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_RX_EQ_CTRL4, + XGBE_PMA_RX_AD_REQ_MASK, XGBE_PMA_RX_AD_REQ_DISABLE); + + /* Check if coefficient update command is set */ + if ((reg & XGBE_PMA_CFF_UPDT_MASK) != XGBE_PMA_CFF_UPDT_MASK) + goto set_mode; + + /* Step 4: Check for Block lock */ + + /* Link status is latched low, so read once to clear + * and then read again to get current state + */ + reg = XMDIO_READ(pdata, MDIO_MMD_PCS, MDIO_STAT1); + reg = XMDIO_READ(pdata, MDIO_MMD_PCS, MDIO_STAT1); + if (reg & MDIO_STAT1_LSTATUS) { + /* If the block lock is found, update the helpers + * and declare the link up + */ + PMD_DRV_LOG(NOTICE, "Rx adaptation - Block_lock done\n"); + pdata->rx_adapt_done = true; + pdata->mode_set = false; + return; + } + +set_mode: + axgbe_set_rx_adap_mode(pdata, phy_data->cur_mode); +} + +static void axgbe_phy_rx_adaptation(struct axgbe_port *pdata) +{ + unsigned int reg; + +rx_adapt_reinit: + reg = XMDIO_READ_BITS(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_RX_LSTS, + XGBE_PMA_RX_VAL_SIG_MASK); + + /* step 1: Check for RX_VALID && LF_SIGDET */ + if ((reg & XGBE_PMA_RX_VAL_SIG_MASK) != XGBE_PMA_RX_VAL_SIG_MASK) { + PMD_DRV_LOG(NOTICE, "RX_VALID or LF_SIGDET is unset, issue rrc\n"); + axgbe_phy_rrc(pdata); + if (pdata->rx_adapt_retries++ >= MAX_RX_ADAPT_RETRIES) { + pdata->rx_adapt_retries = 0; + return; + } + goto rx_adapt_reinit; + } + + /* perform rx adaptation */ + axgbe_rx_adaptation(pdata); +} + static void axgbe_phy_rx_reset(struct axgbe_port *pdata) { int reg; @@ -1258,12 +1348,27 @@ static void axgbe_phy_perform_ratechange(struct axgbe_port *pdata, wait = AXGBE_RATECHANGE_COUNT; while (wait--) { if (!XP_IOREAD_BITS(pdata, XP_DRIVER_INT_RO, STATUS)) - goto reenable_pll; + goto do_rx_adaptation; rte_delay_us(1500); } PMD_DRV_LOG(NOTICE, "firmware mailbox command did not complete\n"); /* Reset on error */ axgbe_phy_rx_reset(pdata); + goto reenable_pll; + + +do_rx_adaptation: + if (pdata->en_rx_adap && sub_cmd == AXGBE_MB_SUBCMD_RX_ADAP && + (cmd == AXGBE_MB_CMD_SET_10G_KR || cmd == AXGBE_MB_CMD_SET_10G_SFI)) { + PMD_DRV_LOG(NOTICE, "Enabling RX adaptation\n"); + pdata->mode_set = true; + axgbe_phy_rx_adaptation(pdata); + /* return from here to avoid enabling PLL ctrl + * during adaptation phase + */ + return; + } + reenable_pll: /* Enable PLL re-initialization, not needed for PHY Power Off and RRC cmds */ @@ -1296,6 +1401,31 @@ static void axgbe_phy_power_off(struct axgbe_port *pdata) PMD_DRV_LOG(DEBUG, "phy powered off\n"); } +static bool enable_rx_adap(struct axgbe_port *pdata, enum axgbe_mode mode) +{ + struct axgbe_phy_data *phy_data = pdata->phy_data; + unsigned int ver; + + /* Rx-Adaptation is not supported on older platforms(< 0x30H) */ + ver = AXGMAC_GET_BITS(pdata->hw_feat.version, MAC_VR, SNPSVER); + if (ver < 0x30) + return false; + + /* Re-driver models 4223 && 4227 do not support Rx-Adaptation */ + if (phy_data->redrv && + (phy_data->redrv_model == AXGBE_PHY_REDRV_MODEL_4223 || + phy_data->redrv_model == AXGBE_PHY_REDRV_MODEL_4227)) + return false; + + /* 10G KR mode with AN does not support Rx-Adaptation */ + if (mode == AXGBE_MODE_KR && + phy_data->port_mode != AXGBE_PORT_MODE_BACKPLANE_NO_AUTONEG) + return false; + + pdata->en_rx_adap = 1; + return true; +} + static void axgbe_phy_sfi_mode(struct axgbe_port *pdata) { struct axgbe_phy_data *phy_data = pdata->phy_data; @@ -1304,8 +1434,13 @@ static void axgbe_phy_sfi_mode(struct axgbe_port *pdata) /* 10G/SFI */ if (phy_data->sfp_cable != AXGBE_SFP_CABLE_PASSIVE) { + pdata->en_rx_adap = 0; axgbe_phy_perform_ratechange(pdata, AXGBE_MB_CMD_SET_10G_SFI, AXGBE_MB_SUBCMD_ACTIVE); + } else if ((phy_data->sfp_cable == AXGBE_SFP_CABLE_PASSIVE) && + (enable_rx_adap(pdata, AXGBE_MODE_SFI))) { + axgbe_phy_perform_ratechange(pdata, AXGBE_MB_CMD_SET_10G_SFI, + AXGBE_MB_SUBCMD_RX_ADAP); } else { if (phy_data->sfp_cable_len <= 1) axgbe_phy_perform_ratechange(pdata, AXGBE_MB_CMD_SET_10G_SFI, @@ -1330,6 +1465,10 @@ static void axgbe_phy_kr_mode(struct axgbe_port *pdata) axgbe_phy_set_redrv_mode(pdata); /* 10G/KR */ + if (enable_rx_adap(pdata, AXGBE_MODE_KR)) + axgbe_phy_perform_ratechange(pdata, AXGBE_MB_CMD_SET_10G_KR, + AXGBE_MB_SUBCMD_RX_ADAP); + else axgbe_phy_perform_ratechange(pdata, AXGBE_MB_CMD_SET_10G_KR, AXGBE_MB_SUBCMD_NONE); phy_data->cur_mode = AXGBE_MODE_KR; @@ -1719,8 +1858,11 @@ static int axgbe_phy_link_status(struct axgbe_port *pdata, int *an_restart) return 0; } - if (phy_data->sfp_mod_absent || phy_data->sfp_rx_los) + if (phy_data->sfp_mod_absent || phy_data->sfp_rx_los) { + if (pdata->en_rx_adap) + pdata->rx_adapt_done = false; return 0; + } } /* Link status is latched low, so read once to clear @@ -1728,7 +1870,29 @@ static int axgbe_phy_link_status(struct axgbe_port *pdata, int *an_restart) */ reg = XMDIO_READ(pdata, MDIO_MMD_PCS, MDIO_STAT1); reg = XMDIO_READ(pdata, MDIO_MMD_PCS, MDIO_STAT1); - if (reg & MDIO_STAT1_LSTATUS) + + if (pdata->en_rx_adap) { + /* if the link is available and adaptation is done, + * declare link up + */ + if ((reg & MDIO_STAT1_LSTATUS) && pdata->rx_adapt_done) + return 1; + /* If either link is not available or adaptation is not done, + * retrigger the adaptation logic. (if the mode is not set, + * then issue mailbox command first) + */ + if (pdata->mode_set) { + axgbe_phy_rx_adaptation(pdata); + } else { + pdata->rx_adapt_done = false; + axgbe_phy_set_mode(pdata, phy_data->cur_mode); + } + + /* check again for the link and adaptation status */ + reg = XMDIO_READ(pdata, MDIO_MMD_PCS, MDIO_STAT1); + if ((reg & MDIO_STAT1_LSTATUS) && pdata->rx_adapt_done) + return 1; + } else if (reg & MDIO_STAT1_LSTATUS) return 1; if (pdata->phy.autoneg == AUTONEG_ENABLE && From patchwork Fri Apr 12 12:52:48 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139271 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7685F43E52; Fri, 12 Apr 2024 14:55:57 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 57B4A402A2; Fri, 12 Apr 2024 14:55:04 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2078.outbound.protection.outlook.com [40.107.93.78]) by mails.dpdk.org (Postfix) with ESMTP id 1B705410EA for ; Fri, 12 Apr 2024 14:55:03 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T6fUENtozsAZ6T5ak21xg1k1ASPgEXqZkkeNXCOPrs8x5i1V4M6JIz/IG06Cb9OC5CuhcbfSR7Wv9+355H0RR88mx1uO9/9qG3Yij8F/kJQ2u/y5W1me6A5+pu1TONMzkFEm66fbK+zBAGGINf0jg5sGDHzPzjIcB6MWDi7lTC63XAPJ7z5UewYA/iEvwmp1mHnSiu/JLd5IXGDVo/IuqusUwGMt3yODo3zXmsO9mh/53cIF39jCGteGYoqWFq+RPnhRUdGICApCp4UYHn5NyElj7dX+uUaito2JKbBNvsDiHa3wgxIeQp1k98KRbLZ9dCI3NkTnjgnVqH12K28xxg== 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=0HNWjSgXrs6CB/1c97svEBsVYDj5CKuakmGXyvktvXw=; b=VxnoFwodJ0Al/VIzdTpQUJe/NYiU8WTtn9X9UwPCaNldKx2xTdURtbVvOEuO7YXTyqvtHSzqG/1m9l10GtF6K4zsHp8cKDYU4v145p7N6qqZuxVKBdOUzBDkDbPM+ODBffEwdHkiOcSZxcX7srM4CLYPzl4Z/XChS+vNbDi1Z5Ifdv1FODMWLUEwy0e/sw36yghzUWm/P3D06x8yXQPQa+uoZCEE0hYv5KNL9mA68It+2t14qSdsOn213yhcGUw1uoYjuSYIonyQLFG25gAK8t15MmLvUZFLcqi48YpW12MC6BL3b+Exttu5gK4i4FNerq3tPHAh0LYLHarcnfhkPg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=0HNWjSgXrs6CB/1c97svEBsVYDj5CKuakmGXyvktvXw=; b=Lk/TC6ftwytTJ1x2XAv3Gm3C98wUpXtHmeRHIB6kCbKvb3jwJm9UTkVI3Hn4o0a5dGEXbms3s3WozITqEsgYkU8sbd9Wu0tnFQTTSLtyH0e+pbhmM87bxB2PV9Da6GQ9zhsuCrlyY7e5POpgHAJ19OZZJsN96k+XhztbFbUMBXw= Received: from DM5PR08CA0041.namprd08.prod.outlook.com (2603:10b6:4:60::30) by CYYPR12MB8655.namprd12.prod.outlook.com (2603:10b6:930:c4::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 12:55:01 +0000 Received: from DS1PEPF00017093.namprd03.prod.outlook.com (2603:10b6:4:60:cafe::63) by DM5PR08CA0041.outlook.office365.com (2603:10b6:4:60::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.22 via Frontend Transport; Fri, 12 Apr 2024 12:55:01 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by DS1PEPF00017093.mail.protection.outlook.com (10.167.17.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:55:01 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:54:27 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 23/24] net/axgbe: improve the false linkup in axgbe PHY status Date: Fri, 12 Apr 2024 08:52:48 -0400 Message-ID: <20240412125249.10625-23-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS1PEPF00017093:EE_|CYYPR12MB8655:EE_ X-MS-Office365-Filtering-Correlation-Id: 7fcf8acd-23d4-4e6a-9138-08dc5aefc425 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: w4N1giZzrA/Fm5tBCkLrKtgvn410iCR4yNaXHcJZUL8dqe/QLoDHW75fOolMwLo48KRA0WZVIVEvwxc2okR1cEQbUW+wT5yKi7sAsMABg+3+uTSthncguXFfQGWhZriGqp2ivS9Q2H3XwGyQntDGDrVAMkUIaer6PIo3hNtptsCGoRO/FswFd4LiUh+RQlsf6x9ihEUNEmHzNI9cUxGe04b5DAJOxyz8aOKnEayP5HKGx9fudN8CXvA+vLR/a+m/esPIKUTyJ73Q0Pr69O/4MG1iJHgcbKBTYufk3L5KwcLC18QCN+77+yk9lCK9boDFbObIs4Y3cta+JsDT15gwhSmzbFcrDqLOUhI6+KICzi0g9ZjuNurH8NPUdRsr8giTxZnAvGpQ6AgKZ5ry8YJLHkYOW73BcW3OTkJuFbu103Wd4aeLtuvkP9XOL7zkRefhl0iEVvAqVpi1rsVtWVtZehYlEB0LQy0r4PNZJqZFVY70Av0whfCYFtno6aYTWa5wCidRKBsAE3FdQJEBSWN4tfsy7lESo7J80kWxDgBXkwle8/++TUy8tIpxzdhmjsl/7g6cpWlD6omjGCfguGKiauFbZbSm67aJpHML5EV+yJxArRPGtyA6exgZ/cngyongPtXHdRqGSjjfBlhrdmzN9HhpwtQMymYm9a7wpmW5isL6UJnHlnVMz/p0R2B0unVdY5co69jevExDhwBnALi0SPllwjhSk3bcUmOmhE7+EpAbVQf11fcYAUM7BCMTO2H6 X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(36860700004)(1800799015)(82310400014)(376005); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:55:01.3466 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7fcf8acd-23d4-4e6a-9138-08dc5aefc425 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DS1PEPF00017093.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8655 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 In the event of a change in AXGBE mode, the current auto-negotiation needs to be reset and the AN cycle needs to be re-triggerred. However, the current code ignores the return value of axgbe_set_mode(), leading to false information as the link is declared without checking the status register. Fix this by propagating the mode switch status information to axgbe_phy_status(). Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_mdio.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/drivers/net/axgbe/axgbe_mdio.c b/drivers/net/axgbe/axgbe_mdio.c index 9fe30e83bc..130a67479e 100644 --- a/drivers/net/axgbe/axgbe_mdio.c +++ b/drivers/net/axgbe/axgbe_mdio.c @@ -1028,7 +1028,7 @@ static enum axgbe_mode axgbe_phy_status_aneg(struct axgbe_port *pdata) return pdata->phy_if.phy_impl.an_outcome(pdata); } -static void axgbe_phy_status_result(struct axgbe_port *pdata) +static bool axgbe_phy_status_result(struct axgbe_port *pdata) { enum axgbe_mode mode; @@ -1065,8 +1065,13 @@ static void axgbe_phy_status_result(struct axgbe_port *pdata) pdata->phy.duplex = DUPLEX_FULL; - if (axgbe_set_mode(pdata, mode) && pdata->an_again) + if (!axgbe_set_mode(pdata, mode)) + return false; + + if (pdata->an_again) axgbe_phy_reconfig_aneg(pdata); + + return true; } static int autoneg_time_out(unsigned long autoneg_start_time) @@ -1133,7 +1138,10 @@ static void axgbe_phy_status(struct axgbe_port *pdata) return; } } - axgbe_phy_status_result(pdata); + + if (axgbe_phy_status_result(pdata)) + return; + if (rte_bit_relaxed_get32(AXGBE_LINK_INIT, &pdata->dev_state)) rte_bit_relaxed_clear32(AXGBE_LINK_INIT, &pdata->dev_state); From patchwork Fri Apr 12 12:52:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139272 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id CFF6843E52; Fri, 12 Apr 2024 14:56:03 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7AD59427DA; Fri, 12 Apr 2024 14:55:06 +0200 (CEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2081.outbound.protection.outlook.com [40.107.244.81]) by mails.dpdk.org (Postfix) with ESMTP id 528D14161A for ; Fri, 12 Apr 2024 14:55:04 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W5Q0FJNY0MmZGiEiLKof0bR7PGhYkntv3hP1E04JfYwQ2AR5csoZoUIOfdwDtfd52u4IXOi0Z0jFYMsHG8237m8OnusppJUNWwGFmsIOisdS5BHo3GVtuCW1np8aGpTMtAi/cEelckngNLhIq0CGMXUytGJYAawFDl1n7KF/paOId0CPXL4mqL3vSyOX/LyjN1DmKP+HKYaCQ4cOFyeg/VfMcOQ28n3uq9YQyxGcIWIGlEBCaEfXTsf2oMIoCOchcgvtxPAdxvE/cXLypIiIQA1skOF6/z+pcLHo4ZSi1LINmOLHgrFdkW2mBUuxCi8F2VHpAWASOmsiG1zQMpNEiw== 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=72OOJ/+iKW1G6xO6VSmyMtB642k3zSc7hLG3aV8konY=; b=E45WwX6w9qofPIet16k4nWkRLyOKaC3DY+Ks1QEyAzKSDj1I4b4koLr6PiZgAF6oEFnx2qNwG8t5fyXNjqvSjCHn1cxvf7n3DUYYqPcOpcaqI1R8rNI+Hjx9E3NfMnj1eg0a7UOXhEd1BtApg2wRm7MuPQCvfURXQCIRzYD7xq/Wnp8/HMSf/wvX230aXozkfxH7gDW+as+4L4pMpQhVB+EDs05NiKxcygux4VtbJztSo3gWeJTjqhIpRsI70aU3rhWWGaWQZq0CNvpw0nWebXeRXJk1GP6TNlI+C8dr2e74qBjAM4ZoDoNKw05lDXgp5JYXtWRL2PDOKfM4eC9vzw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) 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=72OOJ/+iKW1G6xO6VSmyMtB642k3zSc7hLG3aV8konY=; b=ncFZOxz6633ct/bH8sz496RLdGMP0PwBipzLOK2bl2HgVAjpEqvRnxkng0O796ucRGR1fHXbSm8AvPbGKwvzbDYiD4fGuwSVOvYPxaGQ59O6Z2/V2Tn0F/TFwC8p8STQvM1EFl4I3OSClRx1/BY79I7lEP6nsfa9UzIwGhQMxzM= Received: from DM5PR08CA0044.namprd08.prod.outlook.com (2603:10b6:4:60::33) by SJ2PR12MB9162.namprd12.prod.outlook.com (2603:10b6:a03:555::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 12:55:01 +0000 Received: from DS1PEPF00017093.namprd03.prod.outlook.com (2603:10b6:4:60:cafe::e2) by DM5PR08CA0044.outlook.office365.com (2603:10b6:4:60::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.26 via Frontend Transport; Fri, 12 Apr 2024 12:55:01 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by DS1PEPF00017093.mail.protection.outlook.com (10.167.17.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:55:01 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:54:29 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 24/24] net/axgbe: extend 10Mbps support to MAC version 21H Date: Fri, 12 Apr 2024 08:52:49 -0400 Message-ID: <20240412125249.10625-24-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS1PEPF00017093:EE_|SJ2PR12MB9162:EE_ X-MS-Office365-Filtering-Correlation-Id: 042991d9-346d-4b82-674b-08dc5aefc45c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: BBJZeJmkDt841txQT2nyouuE6qWBl9lwGm/xxDMw+o0/bxd5HHYNXRezOYh3hcEpwRdB1QvaXScR65xY/SrcY0Zo2nO7N9W/4ipFVAQ/G5N7ianutObZuck2k8HxZN0Y8SOefjk94nM5HWJiHapK/Y6UBlOQHbq0Ln8qubEWuBjYIkiGZkpe0vjaL6OZh+mlK5ZwSPXqhiF//OoMA9TpYbK7nLw9KzOHDwEK//O1ScVtdZz6FxOSpId/m1sf/IRU6B8zCznUelGG0c3KaV3UajtobtUSkT/LfJcNPoalyjLZHJV3dWStS1UUZbpTukP0eFPvnvepmyjegux3DbQXECdhjj0+cC8jwnFHcHUCxZVhpP5Azcn6EG6xVZ29U22dXNYjn2IdWfvqT8I/u1oe0Fy0yKnVO7XHyY1yZ/Zw9C4h6EErvhzgUDOaLWNF5IV3Z6I9ZadP5HnPox7I3Koq8Tk1fN9036wGcttYFrpTUSXaYOFsJJ84otDD0wpwvwJPtmhR8fU6oZ/lKxBnE+IS39vk0N5RNTyRrVa6u4BVDhFLXFTie8PpnnUbubSarG0N/Z4nlEn6y8KwnDpWFdIAHvMr4fjp6iMJhqvUdm78BufJZ9cmqJlJySIPeYsuLHk1QJw/eJuQBu/pXpZKA2PCJefzmLa+aCVeBGfXdMVkN3OkYJwDk1zN8nQh/DfFktsQMLlpnf4f+5sympKdRir2ieBUHgsQQggDtFfnTJywHyM56I/HyIvEBsj5vQs1hv2s X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(82310400014)(36860700004)(376005)(1800799015); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:55:01.7060 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 042991d9-346d-4b82-674b-08dc5aefc45c X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DS1PEPF00017093.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB9162 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 MAC version 21H supports the 10Mbps speed. So, extend support to platforms that support it. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_phy_impl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index a1c42b7dd4..d41c6e9bc7 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -2012,9 +2012,9 @@ static bool axgbe_phy_port_mode_mismatch(struct axgbe_port *pdata) struct axgbe_phy_data *phy_data = pdata->phy_data; unsigned int ver; - /* 10 Mbps speed is not supported in ver < 30H */ + /* 10 Mbps speed is supported in ver 21H and ver >= 30H */ ver = AXGMAC_GET_BITS(pdata->hw_feat.version, MAC_VR, SNPSVER); - if (ver < 0x30 && phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_10) + if ((ver < 0x30 && ver != 0x21) && phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_10) return true; switch (phy_data->port_mode) {