From patchwork Tue Jan 25 12:17:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selwin Sebastian X-Patchwork-Id: 106511 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 0523EA0352; Tue, 25 Jan 2022 13:19:38 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EA6FD42941; Tue, 25 Jan 2022 13:19:37 +0100 (CET) Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam07on2045.outbound.protection.outlook.com [40.107.95.45]) by mails.dpdk.org (Postfix) with ESMTP id 036D5426DF for ; Tue, 25 Jan 2022 13:19:37 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j9RslYuVqbJyDDgJEwcYRagHeZZ5aQ/+1ATKgZqrML8D7AbodI8DK138A3cNfe90Ger0C0Ghoy1QKdXi8tMgb6tHvddpjesaVLAtFdXg+Bx3lNye31I+MPhe/lU3HtNQvjQJuvGDi314k8hImmtuQrT0xWiwVdSZv+Q6s+5C9QMpfWU9WZ4CJf2tI8oRBzNcL4QTppc03CI+v20E6Sx+35LujbG+BpRJJDmIfm3wJHCOxH6gM36AXdXZlT0V1bbfdwwiv9ug9/bS1MoGDN9ZLJB7Hj1VVJl/kUKwgC/WoMlxbsLumvf3CBRLhLUJhpbh9Z+w1bg2eBT+m5Wvoo67/w== 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=EMsDDkQxzhDpzNkw20lBX4wbQ7YchxTBMJUnaMGyqAQ=; b=ZC8OgQC/VCJXb+fvHx7z6SGKSPc4M9ED0Tf2l/L6+/DoKqT4cgObpeJI4siF0TVbG04IEuJxvhh1mIslP2NcNWP+h4o53ptLg+NOlg5E5ia6VaxIbiJ7vggtdebeQyKUDOAg2IIBy8Nn5+6RieqzMgX6UhGkRD5KveCdmNgRFISJJRS+61fHbt3MOzLgg0Am7biOd2PkuQrUgQ7tyDj13qNkDVd80qzhSaPUHwyxmD5FN9BUagWmS9wtqmpOTTFwITkH3wj5Bo1gEned1WSZeMErQmfqAonWcM9YPw8nQlSM4fLzOEOlD6lTr6u5Nzq0KKJklnIq/5BB+W18y8/flw== 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 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=EMsDDkQxzhDpzNkw20lBX4wbQ7YchxTBMJUnaMGyqAQ=; b=iFzPZ2SNcO+InK9yBsAJCTl4yNJ0LQQZn6w7GJuGqscWoGNqlUqNAm6K9rRe2dSbCDlhuhcq5jLoy9OLQflunZw/i6Wg60ZYsnJmc+W34NC2JESo3PoG2kFEVjOgJybVxgWZgHPfd1V7np0aO/0jfYg/nBxfjIedmDNHHNVwzZw= Received: from BN9P222CA0002.NAMP222.PROD.OUTLOOK.COM (2603:10b6:408:10c::7) by BYAPR12MB3478.namprd12.prod.outlook.com (2603:10b6:a03:ad::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Tue, 25 Jan 2022 12:19:34 +0000 Received: from BN8NAM11FT055.eop-nam11.prod.protection.outlook.com (2603:10b6:408:10c:cafe::18) by BN9P222CA0002.outlook.office365.com (2603:10b6:408:10c::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10 via Frontend Transport; Tue, 25 Jan 2022 12:19:33 +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; Received: from SATLEXMB04.amd.com (165.204.84.17) by BN8NAM11FT055.mail.protection.outlook.com (10.13.177.62) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4909.7 via Frontend Transport; Tue, 25 Jan 2022 12:19:33 +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.2375.18; Tue, 25 Jan 2022 06:19:21 -0600 From: To: Subject: [PATCH v2 1/6] net/axgbe: always attempt link training in KR mode Date: Tue, 25 Jan 2022 17:47:42 +0530 Message-ID: <20220125121747.344631-2-ssebasti@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220125121747.344631-1-ssebasti@amd.com> References: <20220125121747.344631-1-ssebasti@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3e281238-dc64-4712-83c7-08d9dffcf1ed X-MS-TrafficTypeDiagnostic: BYAPR12MB3478:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: LSO/5/NzqA4HZAWkxdLeolfq+fKxibXZF8rv3WpNotI/gHBRMNsVVWgOMFe41tmkpCQvhYRsSGgb1yWGKR+37Q6Z2yYsk0ZR4VGR/DABPLOLK+1wQANTzNDHUpfUiCHV+60p7GpwerUyZpkdlsWaW/msGiVsFVs+QAVlf5w7g5NciTyZVN9utdJa5YMyRsi+bDhE1vlxFVtNBYx9FAJJuAp70iyVr8fXbZYqZAMPMyQkZb2VeqKRqVRC3ycs+zhymvz6VnoMC033HOL6FnQLazsh8pqqVEgSW8L1mEfN/EbEmJJd9JenZqUoryGVH16Wo9zDyN7tTDMnMxIIikbnz3nPbz+CWoG4hmpOlPq6Ws5HnGlWrtVSCkgCtZYvhW2VKPmc1DVQzv27KCBL/gcgpu8foUcdfADFUfq9bsos+efEwzc5rg5By0JlFvIihFU6TqBC7hMXXCjeC/O/Vu8EsYNqhGbC/fNce557Jg67HHe9ZVDr4MviJl3XpbGUTas//1N55h6DA62jJoFz2jqur9D1rcJwd1mJaoHKOEP5G+PeJe8/wtyihNeuhiasCoF6gXZc9AScbRd31MuGmnLFNBVORlA6l4VspHrGfFs9o0Y3rduteZi70z8nSTR0BirdzC5c3pVnPVL6yABjorYuOqvHvNadVNJzSmk+7rnPtDYg3aQ06sHyUqqZDSugiGJ0Aro6Mpe4tH3M5HZfi6tICeZLM79rbkSiOSeYNxIBPA6Fa2Bl2nHyuBl77BauvN8UoDtRsQ/rHTb9Yoduty6PkuGVBhPDQA2zAH8ohF9vKqE= 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:(4636009)(46966006)(36840700001)(40470700004)(8936002)(8676002)(36860700001)(5660300002)(26005)(336012)(2906002)(36756003)(82310400004)(2616005)(47076005)(6666004)(6916009)(356005)(81166007)(2876002)(70586007)(70206006)(16526019)(186003)(508600001)(40460700003)(7696005)(1076003)(426003)(316002)(83380400001)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 12:19:33.2794 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3e281238-dc64-4712-83c7-08d9dffcf1ed 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: BN8NAM11FT055.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB3478 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 From: Selwin Sebastian Link training is always attempted when in KR mode, but the code is structured to check if link training has been enabled before attempting to perform it.Since that check will always be true, simplify the code to always enable and start link training during KR auto-negotiation. Signed-off-by: Selwin Sebastian Acked-by: Chandubabu Namburu Signed-off-by: Selwin Sebastian --- drivers/net/axgbe/axgbe_mdio.c | 62 ++++++++-------------------------- 1 file changed, 15 insertions(+), 47 deletions(-) diff --git a/drivers/net/axgbe/axgbe_mdio.c b/drivers/net/axgbe/axgbe_mdio.c index 32d8c666f9..913ceada0d 100644 --- a/drivers/net/axgbe/axgbe_mdio.c +++ b/drivers/net/axgbe/axgbe_mdio.c @@ -80,31 +80,10 @@ static void axgbe_an_clear_interrupts_all(struct axgbe_port *pdata) axgbe_an37_clear_interrupts(pdata); } -static void axgbe_an73_enable_kr_training(struct axgbe_port *pdata) -{ - unsigned int reg; - - reg = XMDIO_READ(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL); - reg |= AXGBE_KR_TRAINING_ENABLE; - XMDIO_WRITE(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL, reg); -} - -static void axgbe_an73_disable_kr_training(struct axgbe_port *pdata) -{ - unsigned int reg; - - reg = XMDIO_READ(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL); - - reg &= ~AXGBE_KR_TRAINING_ENABLE; - XMDIO_WRITE(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL, reg); -} static void axgbe_kr_mode(struct axgbe_port *pdata) { - /* Enable KR training */ - axgbe_an73_enable_kr_training(pdata); - /* Set MAC to 10G speed */ pdata->hw_if.set_speed(pdata, SPEED_10000); @@ -114,9 +93,6 @@ static void axgbe_kr_mode(struct axgbe_port *pdata) static void axgbe_kx_2500_mode(struct axgbe_port *pdata) { - /* Disable KR training */ - axgbe_an73_disable_kr_training(pdata); - /* Set MAC to 2.5G speed */ pdata->hw_if.set_speed(pdata, SPEED_2500); @@ -126,9 +102,6 @@ static void axgbe_kx_2500_mode(struct axgbe_port *pdata) static void axgbe_kx_1000_mode(struct axgbe_port *pdata) { - /* Disable KR training */ - axgbe_an73_disable_kr_training(pdata); - /* Set MAC to 1G speed */ pdata->hw_if.set_speed(pdata, SPEED_1000); @@ -142,8 +115,6 @@ static void axgbe_sfi_mode(struct axgbe_port *pdata) if (pdata->kr_redrv) return axgbe_kr_mode(pdata); - /* Disable KR training */ - axgbe_an73_disable_kr_training(pdata); /* Set MAC to 10G speed */ pdata->hw_if.set_speed(pdata, SPEED_10000); @@ -154,8 +125,6 @@ static void axgbe_sfi_mode(struct axgbe_port *pdata) static void axgbe_x_mode(struct axgbe_port *pdata) { - /* Disable KR training */ - axgbe_an73_disable_kr_training(pdata); /* Set MAC to 1G speed */ pdata->hw_if.set_speed(pdata, SPEED_1000); @@ -166,8 +135,6 @@ static void axgbe_x_mode(struct axgbe_port *pdata) static void axgbe_sgmii_1000_mode(struct axgbe_port *pdata) { - /* Disable KR training */ - axgbe_an73_disable_kr_training(pdata); /* Set MAC to 1G speed */ pdata->hw_if.set_speed(pdata, SPEED_1000); @@ -178,8 +145,6 @@ static void axgbe_sgmii_1000_mode(struct axgbe_port *pdata) static void axgbe_sgmii_100_mode(struct axgbe_port *pdata) { - /* Disable KR training */ - axgbe_an73_disable_kr_training(pdata); /* Set MAC to 1G speed */ pdata->hw_if.set_speed(pdata, SPEED_1000); @@ -284,6 +249,12 @@ static void axgbe_an73_set(struct axgbe_port *pdata, bool enable, { unsigned int reg; + /* Disable KR training for now */ + reg = XMDIO_READ(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL); + reg &= ~AXGBE_KR_TRAINING_ENABLE; + XMDIO_WRITE(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL, reg); + + /* Update AN settings */ reg = XMDIO_READ(pdata, MDIO_MMD_AN, MDIO_CTRL1); reg &= ~MDIO_AN_CTRL1_ENABLE; @@ -379,20 +350,17 @@ static enum axgbe_an axgbe_an73_tx_training(struct axgbe_port *pdata, XMDIO_WRITE(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_FECCTRL, reg); /* Start KR training */ - reg = XMDIO_READ(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL); - if (reg & AXGBE_KR_TRAINING_ENABLE) { - if (pdata->phy_if.phy_impl.kr_training_pre) - pdata->phy_if.phy_impl.kr_training_pre(pdata); + if (pdata->phy_if.phy_impl.kr_training_pre) + pdata->phy_if.phy_impl.kr_training_pre(pdata); - reg |= AXGBE_KR_TRAINING_START; - XMDIO_WRITE(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL, - reg); - - PMD_DRV_LOG(DEBUG, "KR training initiated\n"); + reg = XMDIO_READ(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL); + reg |= AXGBE_KR_TRAINING_ENABLE; + reg |= AXGBE_KR_TRAINING_START; + XMDIO_WRITE(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL, reg); - if (pdata->phy_if.phy_impl.kr_training_post) - pdata->phy_if.phy_impl.kr_training_post(pdata); - } + PMD_DRV_LOG(DEBUG, "KR training initiated\n"); + if (pdata->phy_if.phy_impl.kr_training_post) + pdata->phy_if.phy_impl.kr_training_post(pdata); return AXGBE_AN_PAGE_RECEIVED; } From patchwork Tue Jan 25 12:17:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selwin Sebastian X-Patchwork-Id: 106513 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 35A98A0352; Tue, 25 Jan 2022 13:19:50 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 394BA426DF; Tue, 25 Jan 2022 13:19:40 +0100 (CET) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2060.outbound.protection.outlook.com [40.107.220.60]) by mails.dpdk.org (Postfix) with ESMTP id 1B107429A0 for ; Tue, 25 Jan 2022 13:19:38 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OFctedVR4/oI6srUvX6C7l5QpuVe6KZO2Gshwxadzk6yAbSmzCyqo05Oc25NMUWiRkx6Mv34wm+jFartxmlB0WzNw9Ks81Ncdj2YzGsVhIsw/cZiu3uu9bARykIULuwbM3YXZSTnL1fd4nuVXVxKS7WKKLH+xEEzC51qvX8m/6Tbu5JN/Ps5Lesfsbq8Rj8DiAmy/qmsKCZmSliniuCqJo8ZYLxWNee3QbxJWTXYwkRMpd0e4gdojqZUF5Q0c5BDJd+K7rY4tDLXZp2T5xbkXL+TVKryrY942TQM0IIorGm4MFaqPj5W5E5/uR8nYhBOAClo+ke2woS5eeDmWAJyGw== 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=r6p6ZCaGbynuImT6bwd9HhRAPPyZ+v6qhcudK8eoOJI=; b=KFgQe71QWcsxTqNu25D3opuMz0VgGdLdf96qErloacmezCvpp9hxGatfR7D+LeAHk8fuQoF/oAPExcrY7GenRFBcUbEz3Miw5SXQVA9KugqOAG6qE2pAV9+GO4qId/Iwe9TLXONP1fm29Zjh8cN5up6/TZH+iq6hpa0IvM9LixW70sy0qGKbrScrTzbp4xgGGPY/3rr6P1fSdWL+Q7tSKdzW7MQWPbxJ9l9WXXY1zeqzSNzD6w1dPU3kwoBW5cMVhjRi9gmnXNeu4SQam01/b0Q/N/H2dreGMFbihwBWZrZJObGrdJ/LS9UAB7BhfyUjsnJQkco4McAuLX1J4Fehtg== 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 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=r6p6ZCaGbynuImT6bwd9HhRAPPyZ+v6qhcudK8eoOJI=; b=Gs3ut1ag9ve/oQSEuoJdxKVAfTea4GBaaPfkCJHlsqFsQn+UBhQpohFXf/+tnGXpbkQGJ93MdoKa50tGCVb/e5sQIDg2o7QBJzA3kulgUmjiHqUiloOTcluN9b7qXNGPruM3vdmSR1KQhdH8aKNJVTEdBFQbKoar/IZOU+dCT0Y= Received: from BN9P222CA0016.NAMP222.PROD.OUTLOOK.COM (2603:10b6:408:10c::21) by BN6PR12MB1841.namprd12.prod.outlook.com (2603:10b6:404:103::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.14; Tue, 25 Jan 2022 12:19:35 +0000 Received: from BN8NAM11FT055.eop-nam11.prod.protection.outlook.com (2603:10b6:408:10c:cafe::73) by BN9P222CA0016.outlook.office365.com (2603:10b6:408:10c::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend Transport; Tue, 25 Jan 2022 12:19: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; Received: from SATLEXMB04.amd.com (165.204.84.17) by BN8NAM11FT055.mail.protection.outlook.com (10.13.177.62) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4909.7 via Frontend Transport; Tue, 25 Jan 2022 12:19: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.2375.18; Tue, 25 Jan 2022 06:19:33 -0600 From: To: Subject: [PATCH v2 2/6] net/axgbe: toggle PLL settings during rate change Date: Tue, 25 Jan 2022 17:47:43 +0530 Message-ID: <20220125121747.344631-3-ssebasti@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220125121747.344631-1-ssebasti@amd.com> References: <20220125121747.344631-1-ssebasti@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3fb3b8a7-e090-4f21-7191-08d9dffcf304 X-MS-TrafficTypeDiagnostic: BN6PR12MB1841:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4xrZ7VSB3NftOvnB3ms6FHddIyrkPWmJdlCGKNV2qKDkPLUGJN1oV8+IIMPAphCx4LRzfLgNf08XFu5EjKp1M/KbvsPsBH4yGcnSxQct97VjBXagSiSlRGroYfdNsTrroMfOPq55a5R0wlhlT8gCD+Dp8+7Ts84p9zMBVnfmU24G9bzJiuGGNwO1zspKPblfu8PN+6niRwlpu4iF6+hUjv4Z0tSyeZCG+01YU7K1j6xqDuhvjqOW+pi2SLS1eEublUjlJVXveXXvTO7oKjeWQTj5q22l0SvbHB1aJNvD3KL8HpRVF+MSdeHSgsxsTgqZfgs73RSDxZBFh+Rm+hWKJLlcRV3DrZj3RWQz0gBZCYsbTQNeb4qkRfVKyKvwfl8BRBfx+guhdO23JLkfO3AxwR3EXCUGXCqLh92okjknH+9NO1z4jXdNaz+ysUkBLI1BZeq/Kk88SEZn0dbT6BNvQ3fK0qgs1xBmC1V+uOS878v3ViZa1+Tnn6ATw/XjP77JHjrPzTC+V1eeZ6ibcCsHPCFwxn8ko2GVOPNyz7AeffJ8yNN99FK+PLliouQVxRVdvH8EErGSXtn70nSxtdgjL/aN957ckQfr/2E23SmlSkE2kV/EZ7sZ8YChli6Vd+FSAfGv9nUhW7LIIU7GkCwU10EEambTYrYLXgDOdpQ2Jr6IHMuYQGRbRyCtpVsFueDQYSxr0Ds+pBCOVhE0XG4zKEipU4ku1KTQBRhrsbmk7NAIcjvx20NgG3YEHIusdLryf+uCXci3OdJ4UFVshF6uHFg1yO35QRr5ekrRt/sYGss= 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:(4636009)(46966006)(40470700004)(36840700001)(7696005)(2906002)(186003)(47076005)(36860700001)(81166007)(8676002)(1076003)(16526019)(82310400004)(2876002)(316002)(356005)(26005)(40460700003)(508600001)(336012)(5660300002)(70206006)(6916009)(70586007)(36756003)(6666004)(2616005)(426003)(83380400001)(8936002)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 12:19:35.1074 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3fb3b8a7-e090-4f21-7191-08d9dffcf304 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: BN8NAM11FT055.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1841 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 From: Selwin Sebastian For each rate change command submission, the FW has to do a phy power off sequence internally. For this to happen correctly, the PLL re-initialization control setting has to be turned off before sending mailbox commands and re-enabled once the command submission is complete. Without the PLL control setting, the link up takes longer time in a fixed phy configuration. Signed-off-by: Selwin Sebastian Acked-by: Chandubabu Namburu Signed-off-by: Selwin Sebastian --- drivers/net/axgbe/axgbe_common.h | 9 +++++++++ drivers/net/axgbe/axgbe_phy_impl.c | 22 ++++++++++++++++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/drivers/net/axgbe/axgbe_common.h b/drivers/net/axgbe/axgbe_common.h index df0aa21a9b..5a7ac35b6a 100644 --- a/drivers/net/axgbe/axgbe_common.h +++ b/drivers/net/axgbe/axgbe_common.h @@ -1314,6 +1314,11 @@ #define MDIO_VEND2_PMA_CDR_CONTROL 0x8056 #endif +#ifndef MDIO_VEND2_PMA_MISC_CTRL0 +#define MDIO_VEND2_PMA_MISC_CTRL0 0x8090 +#endif + + #ifndef MDIO_CTRL1_SPEED1G #define MDIO_CTRL1_SPEED1G (MDIO_CTRL1_SPEED10G & ~BMCR_SPEED100) #endif @@ -1392,6 +1397,10 @@ static inline uint32_t high32_value(uint64_t addr) return (addr >> 32) & 0x0ffffffff; } +#define XGBE_PMA_PLL_CTRL_MASK BIT(15) +#define XGBE_PMA_PLL_CTRL_SET BIT(15) +#define XGBE_PMA_PLL_CTRL_CLEAR 0x0000 + /*END*/ /* Bit setting and getting macros diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index 72104f8a3f..08d3484a11 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -1196,8 +1196,22 @@ static void axgbe_phy_set_redrv_mode(struct axgbe_port *pdata) axgbe_phy_put_comm_ownership(pdata); } +static void axgbe_phy_pll_ctrl(struct axgbe_port *pdata, bool enable) +{ + XMDIO_WRITE_BITS(pdata, MDIO_MMD_PMAPMD, MDIO_VEND2_PMA_MISC_CTRL0, + XGBE_PMA_PLL_CTRL_MASK, + enable ? XGBE_PMA_PLL_CTRL_SET + : XGBE_PMA_PLL_CTRL_CLEAR); + + /* Wait for command to complete */ + rte_delay_us(150); +} + static void axgbe_phy_start_ratechange(struct axgbe_port *pdata) { + /* Clear the PLL so that it helps in power down sequence */ + axgbe_phy_pll_ctrl(pdata, false); + /* Log if a previous command did not complete */ if (XP_IOREAD_BITS(pdata, XP_DRIVER_INT_RO, STATUS)) PMD_DRV_LOG(NOTICE, "firmware mailbox not ready for command\n"); @@ -1213,10 +1227,14 @@ static void axgbe_phy_complete_ratechange(struct axgbe_port *pdata) wait = AXGBE_RATECHANGE_COUNT; while (wait--) { if (!XP_IOREAD_BITS(pdata, XP_DRIVER_INT_RO, STATUS)) - return; - + goto reenable_pll; rte_delay_us(1500); } + +reenable_pll: + /* Re-enable the PLL control */ + axgbe_phy_pll_ctrl(pdata, true); + PMD_DRV_LOG(NOTICE, "firmware mailbox command did not complete\n"); } From patchwork Tue Jan 25 12:17:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selwin Sebastian X-Patchwork-Id: 106512 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 81790A0352; Tue, 25 Jan 2022 13:19:44 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 37D4A429AC; Tue, 25 Jan 2022 13:19:39 +0100 (CET) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2088.outbound.protection.outlook.com [40.107.93.88]) by mails.dpdk.org (Postfix) with ESMTP id F0DE24299A for ; Tue, 25 Jan 2022 13:19:37 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XHV26t6gyaNihW1MUjQzPV0Wnh/43NlvDWqF/am9KsC3A4SzKcmOMB9eFrtITFclPLO9u329WvBrKymQWoIySy53KViU+U+By7shXO++cgweKMHS87qE2tNlc0bZMPz3GJU7emdag2Pf96xnL9aeBxw6USJTaTon7z2k1CmRWBClVxhSSwQ6UIiQ9FCBe43Iy/7tjDC7bU5l/BMqcMadJrA87tuvdLc6UzEVcEL5wr83enqEZ8jbPKlP0HY78+XdA8kS3UkQId+aRAdPpgQ0p+QXLAAHZ5+luEZm0DKEXwqbtMXEp5JR5Fuxbjfkx9uO8z5uXcR7Y9nCFKOFmj7nRg== 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=DDSuDUH13SGrPiRjcLAKjD2f/8+0gzKC5ZBVgVv3awQ=; b=ZwE8L6s7RZkJW1Q7gbNODToqZ9JtMyit4TKCJFOrm6WznUrAc83MFYIV8oSXF1r2Z8/Mq84qkvLsKwgQi/vRy+t2ZE5CY51jxIttz4xWDkRfTA8pLrltYDLl4HNah1rHXYZHQ37XpP8hEaGHZ7XoJE7a/ahyI3VHqyJa488r7rx198t7d80p2MPwn0E2joEvTwk1F+Fds9NBm7TI9mqNPINB/x/nmD+meSbOTIXvD6Jv4efjeUd0QfZUkVCOlOSN6onxjk+W3dldYOEPMHC9FI5i+pv1LDlf9bWMUkzdieq30Qp32v8amH7nAlaQ0uUVHZDnlxPZdaUEvkM0JnAdng== 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 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=DDSuDUH13SGrPiRjcLAKjD2f/8+0gzKC5ZBVgVv3awQ=; b=s1kLD/LBjj4nucZzu0Ay52UV0jjHMM6Fw55Y5M4rLCBRYJ3jdN2vsgI2KL5m5v5XHF/hMczbR95wbCtJc+g/LZS6U1LAboRqaZ8rnoZxPP7h3ZvPevVCmdM4yzPt6qZ81/2fLp2L7bbXhFNgWQMdIbZvIveqx9T1FSAmH407B9Y= Received: from BN9P222CA0017.NAMP222.PROD.OUTLOOK.COM (2603:10b6:408:10c::22) by DM6PR12MB3435.namprd12.prod.outlook.com (2603:10b6:5:39::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.13; Tue, 25 Jan 2022 12:19:36 +0000 Received: from BN8NAM11FT055.eop-nam11.prod.protection.outlook.com (2603:10b6:408:10c:cafe::5f) by BN9P222CA0017.outlook.office365.com (2603:10b6:408:10c::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8 via Frontend Transport; Tue, 25 Jan 2022 12:19: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; Received: from SATLEXMB04.amd.com (165.204.84.17) by BN8NAM11FT055.mail.protection.outlook.com (10.13.177.62) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4909.7 via Frontend Transport; Tue, 25 Jan 2022 12:19: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.2375.18; Tue, 25 Jan 2022 06:19:34 -0600 From: To: Subject: [PATCH v2 3/6] net/axgbe: simplify mailbox interface rate change code Date: Tue, 25 Jan 2022 17:47:44 +0530 Message-ID: <20220125121747.344631-4-ssebasti@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220125121747.344631-1-ssebasti@amd.com> References: <20220125121747.344631-1-ssebasti@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2bb4497b-8eed-4542-3014-08d9dffcf366 X-MS-TrafficTypeDiagnostic: DM6PR12MB3435:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5797; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: U0ReqVq5t3P1hnXV+Kw7JxbSPMXKDucGz/Y1cKlFcm9K2GrewJ1NIJI1TJ6XZm3C5gtS0MSGnVHRIPasyUki44bfRnpzYP3uOffM2SsXzUz+IvzZWzh6t9nYWCQ/cTZzLpN4llAQhaBEbSq9SdGFXNx0RKvbBju6vAkrbn0hkKTvrizPVaosdFqpRpHNq/xy0yiIXdhhsYPo1//Ujrg4rVc5iNEvrBHrZfrkCjEv6xOC4BR15gAzhbp5l6hbgLoXC7gvsCXcuNiYBlqz3eXMBS3i1gQ9QsvHoLPe3c8me8neRcDO2W8K2ekNMTlEf8QfmMKZnPykJfl5fv+1m5hBTxlUdKdravY83WG0SOszxJ3WIaCgzDdBBevpxombMJuuvAZrLdvw9AL0Ahtn2cvnqIHcK2G6DtUATT7sU7E64Tlj57nlm9+g+vf3DYQ4fRBIsu/1inxmUmxzncdeUCrGQhIUEcM5a+qkgTyt53UIe0akXasp4AoiMkct2Mj5fmOCVK+iU56ItVq+kqqi/EOIBDQGb1+sneixLg7ZEEhnSDzS1zQh5XzYtN9ceSitMr1gf0JE7sr0qlaQq0zWTN6CI7JxiA6vfWZ0SeW25vxqGMO4hr+sm1MeopLPW8NkzMHzclhwcTfAFLUw0j2TR1h8t8y2GvoP29Urvdky/NeXerLw2xaF4VaPX8CLeuOb+5JNyBoBAv2QeY22fGwQwEvITI4JaeEohKDHwySHtAwQpg0+tKhTqslKQ81WJWmrUtyXzM1l9pEXyAEbDYcHPUW/0aO404b7Nkv7JVwjYz+Fvm6gfVtE7NqUFlge+duIEsqqsSRfXYiAuCrhP7VBfTyVXNXpfN92zQldI7rhaSidr1w= 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:(4636009)(40470700004)(36840700001)(46966006)(1076003)(83380400001)(508600001)(186003)(5660300002)(426003)(15650500001)(81166007)(6666004)(8676002)(36860700001)(40460700003)(2906002)(7696005)(356005)(2876002)(70206006)(336012)(6916009)(82310400004)(16526019)(316002)(36756003)(47076005)(2616005)(26005)(8936002)(70586007)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 12:19:35.7480 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2bb4497b-8eed-4542-3014-08d9dffcf366 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: BN8NAM11FT055.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3435 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 From: Selwin Sebastian Simplify and centralize the mailbox command rate change interface by having a single function perform the writes to the mailbox registers to issue the request. Signed-off-by: Selwin Sebastian Acked-by: Chandubabu Namburu Signed-off-by: Selwin Sebastian --- drivers/net/axgbe/axgbe_phy_impl.c | 95 ++++++++---------------------- 1 file changed, 23 insertions(+), 72 deletions(-) diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index 08d3484a11..2ed94868b8 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -1207,21 +1207,26 @@ static void axgbe_phy_pll_ctrl(struct axgbe_port *pdata, bool enable) rte_delay_us(150); } -static void axgbe_phy_start_ratechange(struct axgbe_port *pdata) +static void axgbe_phy_perform_ratechange(struct axgbe_port *pdata, + unsigned int cmd, unsigned int sub_cmd) { + unsigned int s0 = 0; + unsigned int wait; /* Clear the PLL so that it helps in power down sequence */ axgbe_phy_pll_ctrl(pdata, false); /* Log if a previous command did not complete */ if (XP_IOREAD_BITS(pdata, XP_DRIVER_INT_RO, STATUS)) PMD_DRV_LOG(NOTICE, "firmware mailbox not ready for command\n"); - else - return; -} -static void axgbe_phy_complete_ratechange(struct axgbe_port *pdata) -{ - unsigned int wait; + /* Construct the command */ + XP_SET_BITS(s0, XP_DRIVER_SCRATCH_0, COMMAND, cmd); + XP_SET_BITS(s0, XP_DRIVER_SCRATCH_0, SUB_COMMAND, sub_cmd); + + /* Issue the command */ + XP_IOWRITE(pdata, XP_DRIVER_SCRATCH_0, s0); + XP_IOWRITE(pdata, XP_DRIVER_SCRATCH_1, 0); + XP_IOWRITE_BITS(pdata, XP_DRIVER_INT_REQ, REQUEST, 1); /* Wait for command to complete */ wait = AXGBE_RATECHANGE_COUNT; @@ -1240,21 +1245,10 @@ static void axgbe_phy_complete_ratechange(struct axgbe_port *pdata) static void axgbe_phy_rrc(struct axgbe_port *pdata) { - unsigned int s0; - axgbe_phy_start_ratechange(pdata); /* Receiver Reset Cycle */ - s0 = 0; - XP_SET_BITS(s0, XP_DRIVER_SCRATCH_0, COMMAND, 5); - XP_SET_BITS(s0, XP_DRIVER_SCRATCH_0, SUB_COMMAND, 0); - - /* Call FW to make the change */ - XP_IOWRITE(pdata, XP_DRIVER_SCRATCH_0, s0); - XP_IOWRITE(pdata, XP_DRIVER_SCRATCH_1, 0); - XP_IOWRITE_BITS(pdata, XP_DRIVER_INT_REQ, REQUEST, 1); - - axgbe_phy_complete_ratechange(pdata); + axgbe_phy_perform_ratechange(pdata, 5, 0); PMD_DRV_LOG(DEBUG, "receiver reset complete\n"); } @@ -1263,13 +1257,9 @@ static void axgbe_phy_power_off(struct axgbe_port *pdata) { struct axgbe_phy_data *phy_data = pdata->phy_data; - axgbe_phy_start_ratechange(pdata); + /* Power off */ + axgbe_phy_perform_ratechange(pdata, 0, 0); - /* Call FW to make the change */ - XP_IOWRITE(pdata, XP_DRIVER_SCRATCH_0, 0); - XP_IOWRITE(pdata, XP_DRIVER_SCRATCH_1, 0); - XP_IOWRITE_BITS(pdata, XP_DRIVER_INT_REQ, REQUEST, 1); - axgbe_phy_complete_ratechange(pdata); phy_data->cur_mode = AXGBE_MODE_UNKNOWN; PMD_DRV_LOG(DEBUG, "phy powered off\n"); @@ -1278,31 +1268,21 @@ static void axgbe_phy_power_off(struct axgbe_port *pdata) static void axgbe_phy_sfi_mode(struct axgbe_port *pdata) { struct axgbe_phy_data *phy_data = pdata->phy_data; - unsigned int s0; axgbe_phy_set_redrv_mode(pdata); - axgbe_phy_start_ratechange(pdata); - /* 10G/SFI */ - s0 = 0; - XP_SET_BITS(s0, XP_DRIVER_SCRATCH_0, COMMAND, 3); if (phy_data->sfp_cable != AXGBE_SFP_CABLE_PASSIVE) { - XP_SET_BITS(s0, XP_DRIVER_SCRATCH_0, SUB_COMMAND, 0); + axgbe_phy_perform_ratechange(pdata, 3, 0); } else { if (phy_data->sfp_cable_len <= 1) - XP_SET_BITS(s0, XP_DRIVER_SCRATCH_0, SUB_COMMAND, 1); + axgbe_phy_perform_ratechange(pdata, 3, 1); else if (phy_data->sfp_cable_len <= 3) - XP_SET_BITS(s0, XP_DRIVER_SCRATCH_0, SUB_COMMAND, 2); + axgbe_phy_perform_ratechange(pdata, 3, 2); else - XP_SET_BITS(s0, XP_DRIVER_SCRATCH_0, SUB_COMMAND, 3); + axgbe_phy_perform_ratechange(pdata, 3, 3); } - /* Call FW to make the change */ - XP_IOWRITE(pdata, XP_DRIVER_SCRATCH_0, s0); - XP_IOWRITE(pdata, XP_DRIVER_SCRATCH_1, 0); - XP_IOWRITE_BITS(pdata, XP_DRIVER_INT_REQ, REQUEST, 1); - axgbe_phy_complete_ratechange(pdata); phy_data->cur_mode = AXGBE_MODE_SFI; PMD_DRV_LOG(DEBUG, "10GbE SFI mode set\n"); @@ -1311,22 +1291,11 @@ static void axgbe_phy_sfi_mode(struct axgbe_port *pdata) static void axgbe_phy_kr_mode(struct axgbe_port *pdata) { struct axgbe_phy_data *phy_data = pdata->phy_data; - unsigned int s0; axgbe_phy_set_redrv_mode(pdata); - axgbe_phy_start_ratechange(pdata); - /* 10G/KR */ - s0 = 0; - XP_SET_BITS(s0, XP_DRIVER_SCRATCH_0, COMMAND, 4); - XP_SET_BITS(s0, XP_DRIVER_SCRATCH_0, SUB_COMMAND, 0); - - /* Call FW to make the change */ - XP_IOWRITE(pdata, XP_DRIVER_SCRATCH_0, s0); - XP_IOWRITE(pdata, XP_DRIVER_SCRATCH_1, 0); - XP_IOWRITE_BITS(pdata, XP_DRIVER_INT_REQ, REQUEST, 1); - axgbe_phy_complete_ratechange(pdata); + axgbe_phy_perform_ratechange(pdata, 4, 0); phy_data->cur_mode = AXGBE_MODE_KR; PMD_DRV_LOG(DEBUG, "10GbE KR mode set\n"); @@ -1335,40 +1304,22 @@ static void axgbe_phy_kr_mode(struct axgbe_port *pdata) static void axgbe_phy_kx_2500_mode(struct axgbe_port *pdata) { struct axgbe_phy_data *phy_data = pdata->phy_data; - unsigned int s0; axgbe_phy_set_redrv_mode(pdata); - /* 2.5G/KX */ - axgbe_phy_start_ratechange(pdata); - s0 = 0; - XP_SET_BITS(s0, XP_DRIVER_SCRATCH_0, COMMAND, 2); - XP_SET_BITS(s0, XP_DRIVER_SCRATCH_0, SUB_COMMAND, 0); - - XP_IOWRITE(pdata, XP_DRIVER_SCRATCH_0, s0); - XP_IOWRITE(pdata, XP_DRIVER_SCRATCH_1, 0); - - XP_IOWRITE_BITS(pdata, XP_DRIVER_INT_REQ, REQUEST, 1); + /* 2.5G/KX */ + axgbe_phy_perform_ratechange(pdata, 2, 0); phy_data->cur_mode = AXGBE_MODE_KX_2500; } static void axgbe_phy_sgmii_1000_mode(struct axgbe_port *pdata) { struct axgbe_phy_data *phy_data = pdata->phy_data; - unsigned int s0; axgbe_phy_set_redrv_mode(pdata); /* 1G/SGMII */ - axgbe_phy_start_ratechange(pdata); - s0 = 0; - XP_SET_BITS(s0, XP_DRIVER_SCRATCH_0, COMMAND, 1); - XP_SET_BITS(s0, XP_DRIVER_SCRATCH_0, SUB_COMMAND, 2); - - XP_IOWRITE(pdata, XP_DRIVER_SCRATCH_0, s0); - XP_IOWRITE(pdata, XP_DRIVER_SCRATCH_1, 0); - - XP_IOWRITE_BITS(pdata, XP_DRIVER_INT_REQ, REQUEST, 1); + axgbe_phy_perform_ratechange(pdata, 1, 2); phy_data->cur_mode = AXGBE_MODE_SGMII_1000; } From patchwork Tue Jan 25 12:17:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selwin Sebastian X-Patchwork-Id: 106514 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 7D72BA0352; Tue, 25 Jan 2022 13:19:55 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2F03C429B4; Tue, 25 Jan 2022 13:19:41 +0100 (CET) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam08on2058.outbound.protection.outlook.com [40.107.100.58]) by mails.dpdk.org (Postfix) with ESMTP id 12FCB429B4 for ; Tue, 25 Jan 2022 13:19:40 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Kzdf2dlKuRfEMJrLteevD2k6UVHh/BcwvN6X5fGjz12oivTvjQljE16lCWwmvrKHwKs8rOVWPecVpxnfdrrhL+NC7qoNQaEomn9+YlYS80bd+1OuicwQtfFWfIAsNDE14czAvkfLxuP8HMQ3Ih8kfs5SM52hnj/XMVrUp6B4kVlW7WAGGrYkuwKLS+VGWVp0ffsFE8dLaGmwRMW3Fp4APUaEt8zEJEHDxNHj1xwRXHU05DJjOQEEjG5cODPkNP7fE96KaxnEC/CKizqJyvWMFjqJuPPP2q7/obPgmEM4p3Y47E+l5tt7rp9NNJpJxf8nhQipn64GpDwSblD7MdiTtA== 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=v1CNl3WLC8XSbjp2mn4nAAmUc8ocLJNe3euxZieVINE=; b=gnPHiydcXt3lenhJGrYIjOsPUiTjgFfaUwPwoqleS56LWHsAZzIskQQ9nc/FvLcAKVqDrcDxzW8zpKgHSTn9NnedNla60OG9ImvX5exC01MMFVefmRJCLX5kLaGy0qPv3N1jHdD8Wj+1KuDniJyfGk+Dlq+7k23m3trLp3ZvnNyD+XLssKBeXp9fwCDXAf3nPxAb5ZVjXoTxfjM1gLv2VTFFWlVwSA7kh4BxQGJJfFvntdXF3O6AsRFPr1VnwXfJr9d3bf9s5LNuWjbgJXNC/jljE9l6T0iRe3R99mlr5ae7zJKRMlsRTxn/JlhxoCpHuBSzavmwA3kDumWnednH+g== 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 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=v1CNl3WLC8XSbjp2mn4nAAmUc8ocLJNe3euxZieVINE=; b=CmY5vNEsMZ2VOIScLXIgpOaZAn3GbVqQ068TIUvTCd4soYVybx64C65W4kr51Vdfs2d+jVdiWsWUOtJUjOHClLGC6xyJ+LvazMSKl6EIdY3H7SMaLLyvfWQJz5KrcGiMo6d+aVO/PaxrRUyiq1KZ7I1UYm1Ii0rn/2tEEOGhiLs= Received: from BN6PR21CA0013.namprd21.prod.outlook.com (2603:10b6:404:8e::23) by DM5PR1201MB0011.namprd12.prod.outlook.com (2603:10b6:3:e4::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10; Tue, 25 Jan 2022 12:19:37 +0000 Received: from BN8NAM11FT028.eop-nam11.prod.protection.outlook.com (2603:10b6:404:8e:cafe::f7) by BN6PR21CA0013.outlook.office365.com (2603:10b6:404:8e::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.4 via Frontend Transport; Tue, 25 Jan 2022 12:19:36 +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; Received: from SATLEXMB04.amd.com (165.204.84.17) by BN8NAM11FT028.mail.protection.outlook.com (10.13.176.225) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4909.7 via Frontend Transport; Tue, 25 Jan 2022 12:19:36 +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.2375.18; Tue, 25 Jan 2022 06:19:35 -0600 From: To: Subject: [PATCH v2 4/6] net/axgbe: reset PHY Rx when mailbox command timeout Date: Tue, 25 Jan 2022 17:47:45 +0530 Message-ID: <20220125121747.344631-5-ssebasti@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220125121747.344631-1-ssebasti@amd.com> References: <20220125121747.344631-1-ssebasti@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 41792b91-b65f-4c00-bef1-08d9dffcf3f3 X-MS-TrafficTypeDiagnostic: DM5PR1201MB0011:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3276; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: n2fKDfL6De8Geouh44Wx0SpDswgNNqJGSDz4COhplyV3cRlgg/07oj3DJ6ZDJBqLc2JE+KJjEDLQFlPmpLkIsPZ6uysoUriUmijTuJjBPrUzMORIkDSfOITjJTIzBLxoBMFfRdA5wflCW8mXLjrzSGHPvR939foiiiyWHn0MGbbTbf7Q3FShOYJm2TVbzus1Sa9avBc7vnQW2MIIdSVAEyOq2JrGV86O9Z0BGML9w192bNL0aqmREQ5by3J7nasyFdZpZEMxF0I2NDVgNZAXyVIVAybNEwRcALpowSB0GdIlXNfdEtj8SPmjsD85T3ypaZTYt5cQ+ghM3h2RCZSH/cLTEkj8Tl+4qBTSdBPn+FTvLI4LMoNGknZqLNqgXi9vV6495lCARER4O5Es0aHDHL67pHizu4+VpdMY2CFeAhDRlGMkFM6GcsMtmQLNi4UKhcaM7yocLOBn7tS7WVcbTjcLXXRwD/QE/oBknVJWwLjX72zjDDp6uw6sE2FZq/M4Ir0iAjZLMaTO+0+j7mg8Oqmhv3hH5j/+9uuvOYmVv+BdWM34AlE8xmk1numwjetRwxLvQI3WHGLvKXsiWKV48pqVhRhcnkGeMeHepBwqdyZZk1HvjI0cuE17Vlcy3D2s3NPn2HnxRuSnQO99raEIkcrsX/uQgiu94iIvfizF8Mf7oCeeU1rTwEAKBj28J/LdrudbNlRD8UlQxRoJ6YNheEkEmG9yhBlNgkjPiGL6LrSRu24/m2e8q3pTjl2dIOYRGjnPelj7zXSRLtWSc2Iajg49kEK0EjicWDvKqFj1sKQ= 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:(4636009)(46966006)(36840700001)(40470700004)(81166007)(316002)(426003)(2906002)(26005)(5660300002)(508600001)(36756003)(83380400001)(186003)(82310400004)(2876002)(70586007)(7696005)(16526019)(47076005)(336012)(36860700001)(6666004)(8676002)(40460700003)(2616005)(15650500001)(6916009)(70206006)(1076003)(356005)(8936002)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 12:19:36.6913 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 41792b91-b65f-4c00-bef1-08d9dffcf3f3 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: BN8NAM11FT028.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1201MB0011 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 From: Selwin Sebastian Sometimes mailbox commands timeout when the RX data path becomes unresponsive. This prevents the submission of new mailbox commands to DXIO. This patch identifies the timeout and resets the RX data path so that the next message can be submitted properly. Signed-off-by: Selwin Sebastian Acked-by: Chandubabu Namburu Signed-off-by: Selwin Sebastian --- drivers/net/axgbe/axgbe_common.h | 14 ++++++++++++++ drivers/net/axgbe/axgbe_phy_impl.c | 29 ++++++++++++++++++++++++++++- 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/drivers/net/axgbe/axgbe_common.h b/drivers/net/axgbe/axgbe_common.h index 5a7ac35b6a..a5431dd998 100644 --- a/drivers/net/axgbe/axgbe_common.h +++ b/drivers/net/axgbe/axgbe_common.h @@ -1270,10 +1270,18 @@ #define MDIO_PMA_10GBR_FECCTRL 0x00ab #endif +#ifndef MDIO_PMA_RX_CTRL1 +#define MDIO_PMA_RX_CTRL1 0x8051 +#endif + #ifndef MDIO_PCS_DIG_CTRL #define MDIO_PCS_DIG_CTRL 0x8000 #endif +#ifndef MDIO_PCS_DIGITAL_STAT +#define MDIO_PCS_DIGITAL_STAT 0x8010 +#endif + #ifndef MDIO_AN_XNP #define MDIO_AN_XNP 0x0016 #endif @@ -1354,6 +1362,8 @@ #define AXGBE_KR_TRAINING_ENABLE BIT(1) #define AXGBE_PCS_CL37_BP BIT(12) +#define XGBE_PCS_PSEQ_STATE_MASK 0x1c +#define XGBE_PCS_PSEQ_STATE_POWER_GOOD 0x10 #define AXGBE_AN_CL37_INT_CMPLT BIT(0) #define AXGBE_AN_CL37_INT_MASK 0x01 @@ -1401,6 +1411,10 @@ static inline uint32_t high32_value(uint64_t addr) #define XGBE_PMA_PLL_CTRL_SET BIT(15) #define XGBE_PMA_PLL_CTRL_CLEAR 0x0000 +#define XGBE_PMA_RX_RST_0_MASK BIT(4) +#define XGBE_PMA_RX_RST_0_RESET_ON 0x10 +#define XGBE_PMA_RX_RST_0_RESET_OFF 0x00 + /*END*/ /* Bit setting and getting macros diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index 2ed94868b8..eefb03e94e 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -1196,6 +1196,28 @@ static void axgbe_phy_set_redrv_mode(struct axgbe_port *pdata) axgbe_phy_put_comm_ownership(pdata); } +static void axgbe_phy_rx_reset(struct axgbe_port *pdata) +{ + int reg; + + reg = XMDIO_READ_BITS(pdata, MDIO_MMD_PCS, MDIO_PCS_DIGITAL_STAT, + XGBE_PCS_PSEQ_STATE_MASK); + if (reg == XGBE_PCS_PSEQ_STATE_POWER_GOOD) { + /* Mailbox command timed out, reset of RX block is required. + * This can be done by asseting the reset bit and wait for + * its compeletion. + */ + XMDIO_WRITE_BITS(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_RX_CTRL1, + XGBE_PMA_RX_RST_0_MASK, XGBE_PMA_RX_RST_0_RESET_ON); + rte_delay_us(20); + XMDIO_WRITE_BITS(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_RX_CTRL1, + XGBE_PMA_RX_RST_0_MASK, XGBE_PMA_RX_RST_0_RESET_OFF); + rte_delay_us(45); + PMD_DRV_LOG(ERR, "firmware mailbox reset performed\n"); + } +} + + static void axgbe_phy_pll_ctrl(struct axgbe_port *pdata, bool enable) { XMDIO_WRITE_BITS(pdata, MDIO_MMD_PMAPMD, MDIO_VEND2_PMA_MISC_CTRL0, @@ -1216,8 +1238,10 @@ static void axgbe_phy_perform_ratechange(struct axgbe_port *pdata, axgbe_phy_pll_ctrl(pdata, false); /* Log if a previous command did not complete */ - if (XP_IOREAD_BITS(pdata, XP_DRIVER_INT_RO, STATUS)) + if (XP_IOREAD_BITS(pdata, XP_DRIVER_INT_RO, STATUS)) { PMD_DRV_LOG(NOTICE, "firmware mailbox not ready for command\n"); + axgbe_phy_rx_reset(pdata); + } /* Construct the command */ XP_SET_BITS(s0, XP_DRIVER_SCRATCH_0, COMMAND, cmd); @@ -1235,6 +1259,9 @@ static void axgbe_phy_perform_ratechange(struct axgbe_port *pdata, goto reenable_pll; rte_delay_us(1500); } + PMD_DRV_LOG(NOTICE, "firmware mailbox command did not complete\n"); + /* Reset on error */ + axgbe_phy_rx_reset(pdata); reenable_pll: /* Re-enable the PLL control */ From patchwork Tue Jan 25 12:17:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selwin Sebastian X-Patchwork-Id: 106515 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 65680A0352; Tue, 25 Jan 2022 13:20:01 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 101F3429C0; Tue, 25 Jan 2022 13:19:42 +0100 (CET) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2057.outbound.protection.outlook.com [40.107.223.57]) by mails.dpdk.org (Postfix) with ESMTP id 1CF89429B5 for ; Tue, 25 Jan 2022 13:19:40 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OAdPaR86U1VSjZ2jRlmDwMkqjRBs989BRdeidhyRZ5a1g7kQ6addBEyLOowcnzH8WfBRC5oa45I5PRv1iUiyM5r9WWvkfT4AJW86s0P7oxxT5b+2u1YYc3e6hXv9dZh9j0dx/zZy5kBqVi+DTrpcLb4kgvnV4SKnVgti7iRLD4bZolkRufv6OpVkkgxcSlGwRjx2t4seupxdda2CITSWiUQOWHcipMHFaMaemNtUZ5zhdUzreIfVrJY5oqo7lCKkXbJfeku/KTbObMhNIGSJA+xK4mUkqaFD+IyD7UOyARELhHXPzO1bYR84LEvu7tFq/eRNebmH7F3/Sw9TcV3pZw== 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=XCW3e/QnxKAPeuWqGOkEPsxvkaQC/u5dOFeyczExS8Y=; b=ft90aDYGjbZI0H9vEZxvHRKWWiRjqfpVPKpJ3EIyMNVTpT/lpyb0ARTPK6OiPoHmL1MXQNSBjygYNn3CaSKfGLtiRG0AwUdKLuTgssMCPPkKx+xTBeK3uGdGqxLepmqZywRUD67Qu6D8BJtb9wzWO5mIyk1EIAjsKB/t68GC2MOrv7ZGM21JnizbYLX4iqNjL21NxF9iCCaTbG4kf6oobULV7V9h66qh/mbAIbqghXFnJCRzhIen0OJg0RJu3OfOpJY7tTtRJSx+UvUurOSXEAXTjCTxtthC03qwzjpFVfxGr8j/2nCUxdBn9OiOfD+mbR0EQ7V59w4/AE1j91cukg== 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 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=XCW3e/QnxKAPeuWqGOkEPsxvkaQC/u5dOFeyczExS8Y=; b=WG8H6YuGY+QqMRoH1Ku9LbYnU60xOgMNyxJ2/5eXjuFxgOKuexr6doMJgP25xFRYiuTQKgkteKoEdNYCFJH+1togoqAwRGvkjwbwoPngNThXiYKcPowfZlnaW29+D4SiUfvWBQNh11ruy8aluN7L6vGzPmPmbEpFZHzHlReWzCc= Received: from BN0PR04CA0060.namprd04.prod.outlook.com (2603:10b6:408:e8::35) by SJ0PR12MB5634.namprd12.prod.outlook.com (2603:10b6:a03:429::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.13; Tue, 25 Jan 2022 12:19:38 +0000 Received: from BN8NAM11FT051.eop-nam11.prod.protection.outlook.com (2603:10b6:408:e8:cafe::9c) by BN0PR04CA0060.outlook.office365.com (2603:10b6:408:e8::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10 via Frontend Transport; Tue, 25 Jan 2022 12:19: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; Received: from SATLEXMB04.amd.com (165.204.84.17) by BN8NAM11FT051.mail.protection.outlook.com (10.13.177.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4909.7 via Frontend Transport; Tue, 25 Jan 2022 12:19:37 +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.2375.18; Tue, 25 Jan 2022 06:19:36 -0600 From: To: Subject: [PATCH v2 5/6] net/axgbe: add support for new port mode Date: Tue, 25 Jan 2022 17:47:46 +0530 Message-ID: <20220125121747.344631-6-ssebasti@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220125121747.344631-1-ssebasti@amd.com> References: <20220125121747.344631-1-ssebasti@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 53c568e8-c4c4-4c1a-8903-08d9dffcf4a2 X-MS-TrafficTypeDiagnostic: SJ0PR12MB5634:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1468; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: T1vaGXM901XSKsG6B3th8A7J6jLSJgjYeHvjm5dXcC6f5Bujx4uNXRVlc/32+ZHKuyBeR3lU8hIPuujc5PpRGrPjfu7ySVqUONGOIgWN+aP8cKb29C2xwbpxbDSf2moINhrs8NvXT6VezlIbZu+XrdD/SyOYnnRJqcVJy0oVW14ZbdDHQt9amNU3JC2T4f46J+5a2noC1VullFhvSZXtOYD3vpoD6/2073HG5lA2ef5C8ZWqyAhQY3XTQo2cWLaWFwpqjNmoMvo4bFFSbMyQXYpxqfxgCIZpJTqmbfKtplm49OWIJ385lPshvG1mlj2NZfde0jmMe+oU+t+ilOim6IfucR9g+bTNUjKq770MiNH0RX2HVQjK4kd72WQYXcYibEkCyIFFckVtDbZyeCbSpreYMfUBBlkZD4qfeeBUFRIgqXmy7To4DXCtpilz33WbLQBmdHSKo+w/tZ5eVbo4gnI7Zqld3R+MkzEvEPvzVvlnFolU7SVzZNT8xG4HceqFLFG4fDc2e6qUwmbO3UQe1Ypdvi9Z/rffo4TeFItyM2fLi5AKr/S5E6kRVavPYN51uAq0P/RwgBMwa959/FSbrmsf9VtfkDhKPsRpkRafbh+ZLuIagOb2+gaoBMsjPtvfvux9Z12OzqcEZFBJGMgj+VDvGRU6LEmWbgF2u03MywxSPwvNAEghrIVgmYo0QmYKD9jFAEiEdgnrKTdJcJEQSnAYsNfBeTdBHTMmoBKJNVMIozVfgGWnpHJRMkFUonIs1r+ABS1z9GKjbh3/6IMTMpfqCwUS6+TqbE+AGEiMWcY= 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:(4636009)(46966006)(40470700004)(36840700001)(2876002)(6666004)(6916009)(2616005)(36756003)(70586007)(426003)(81166007)(70206006)(316002)(36860700001)(2906002)(82310400004)(40460700003)(356005)(336012)(8936002)(7696005)(5660300002)(16526019)(186003)(26005)(1076003)(508600001)(8676002)(47076005)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 12:19:37.8368 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 53c568e8-c4c4-4c1a-8903-08d9dffcf4a2 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: BN8NAM11FT051.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB5634 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 From: Selwin Sebastian Add support for a new port mode that is a backplane connection without support for auto negotiation. Signed-off-by: Selwin Sebastian Acked-by: Chandubabu Namburu Signed-off-by: Selwin Sebastian --- drivers/net/axgbe/axgbe_phy_impl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index eefb03e94e..b0e1c267b1 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -46,6 +46,7 @@ enum axgbe_port_mode { AXGBE_PORT_MODE_10GBASE_T, AXGBE_PORT_MODE_10GBASE_R, AXGBE_PORT_MODE_SFP, + AXGBE_PORT_MODE_BACKPLANE_NO_AUTONEG, AXGBE_PORT_MODE_MAX, }; @@ -885,6 +886,7 @@ static enum axgbe_mode axgbe_phy_an73_redrv_outcome(struct axgbe_port *pdata) if (ad_reg & 0x80) { switch (phy_data->port_mode) { case AXGBE_PORT_MODE_BACKPLANE: + case AXGBE_PORT_MODE_BACKPLANE_NO_AUTONEG: mode = AXGBE_MODE_KR; break; default: @@ -894,6 +896,7 @@ static enum axgbe_mode axgbe_phy_an73_redrv_outcome(struct axgbe_port *pdata) } else if (ad_reg & 0x20) { switch (phy_data->port_mode) { case AXGBE_PORT_MODE_BACKPLANE: + case AXGBE_PORT_MODE_BACKPLANE_NO_AUTONEG: mode = AXGBE_MODE_KX_1000; break; case AXGBE_PORT_MODE_1000BASE_X: @@ -1052,6 +1055,7 @@ static unsigned int axgbe_phy_an_advertising(struct axgbe_port *pdata) switch (phy_data->port_mode) { case AXGBE_PORT_MODE_BACKPLANE: + case AXGBE_PORT_MODE_BACKPLANE_NO_AUTONEG: advertising |= ADVERTISED_10000baseKR_Full; break; case AXGBE_PORT_MODE_BACKPLANE_2500: @@ -1122,6 +1126,7 @@ static enum axgbe_an_mode axgbe_phy_an_mode(struct axgbe_port *pdata) switch (phy_data->port_mode) { case AXGBE_PORT_MODE_BACKPLANE: return AXGBE_AN_MODE_CL73; + case AXGBE_PORT_MODE_BACKPLANE_NO_AUTONEG: case AXGBE_PORT_MODE_BACKPLANE_2500: return AXGBE_AN_MODE_NONE; case AXGBE_PORT_MODE_1000BASE_T: @@ -1400,6 +1405,7 @@ static enum axgbe_mode axgbe_phy_switch_mode(struct axgbe_port *pdata) switch (phy_data->port_mode) { case AXGBE_PORT_MODE_BACKPLANE: + case AXGBE_PORT_MODE_BACKPLANE_NO_AUTONEG: return axgbe_phy_switch_bp_mode(pdata); case AXGBE_PORT_MODE_BACKPLANE_2500: return axgbe_phy_switch_bp_2500_mode(pdata); @@ -1495,6 +1501,7 @@ static enum axgbe_mode axgbe_phy_get_mode(struct axgbe_port *pdata, switch (phy_data->port_mode) { case AXGBE_PORT_MODE_BACKPLANE: + case AXGBE_PORT_MODE_BACKPLANE_NO_AUTONEG: return axgbe_phy_get_bp_mode(speed); case AXGBE_PORT_MODE_BACKPLANE_2500: return axgbe_phy_get_bp_2500_mode(speed); @@ -1644,6 +1651,7 @@ static bool axgbe_phy_use_mode(struct axgbe_port *pdata, enum axgbe_mode mode) switch (phy_data->port_mode) { case AXGBE_PORT_MODE_BACKPLANE: + case AXGBE_PORT_MODE_BACKPLANE_NO_AUTONEG: return axgbe_phy_use_bp_mode(pdata, mode); case AXGBE_PORT_MODE_BACKPLANE_2500: return axgbe_phy_use_bp_2500_mode(pdata, mode); @@ -1806,6 +1814,7 @@ static bool axgbe_phy_port_mode_mismatch(struct axgbe_port *pdata) switch (phy_data->port_mode) { case AXGBE_PORT_MODE_BACKPLANE: + case AXGBE_PORT_MODE_BACKPLANE_NO_AUTONEG: if ((phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_1000) || (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_10000)) return false; @@ -1858,6 +1867,7 @@ static bool axgbe_phy_conn_type_mismatch(struct axgbe_port *pdata) switch (phy_data->port_mode) { case AXGBE_PORT_MODE_BACKPLANE: + case AXGBE_PORT_MODE_BACKPLANE_NO_AUTONEG: case AXGBE_PORT_MODE_BACKPLANE_2500: if (phy_data->conn_type == AXGBE_CONN_TYPE_BACKPLANE) return false; @@ -2122,6 +2132,8 @@ static int axgbe_phy_init(struct axgbe_port *pdata) /* Backplane support */ case AXGBE_PORT_MODE_BACKPLANE: pdata->phy.supported |= SUPPORTED_Autoneg; + /* Fallthrough */ + case AXGBE_PORT_MODE_BACKPLANE_NO_AUTONEG: pdata->phy.supported |= SUPPORTED_Pause | SUPPORTED_Asym_Pause; pdata->phy.supported |= SUPPORTED_Backplane; if (phy_data->port_speeds & AXGBE_PHY_PORT_SPEED_1000) { From patchwork Tue Jan 25 12:17:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selwin Sebastian X-Patchwork-Id: 106516 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 A9345A0352; Tue, 25 Jan 2022 13:20:06 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0A09F429C6; Tue, 25 Jan 2022 13:19:43 +0100 (CET) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2064.outbound.protection.outlook.com [40.107.92.64]) by mails.dpdk.org (Postfix) with ESMTP id 691B0429B4 for ; Tue, 25 Jan 2022 13:19:40 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VqovlyXJSh4OrLaTU92O0I8ZZ06xalRKhOgA1nsl2npyO5nmhzriRp1e1QqqfLzlSTr7vbkT65zFcLbctD7IxXXwDIJuyKzaU8Ki7/6e8lCHKJe2+IxzZRgLePBmKonVMTWtz6SaC4pnM/b9v4p+DR43zMkl/+Nk1GwO3yH/ggK0h9/rVA0OtilIhDeaFXnbi8u5G8tBNxAsOnWxatGcc/r4x2pyuNrG6ifOE91igcfT+NuGyQBvbAmfS7oTUMz3b4F11mi3hUcK6jtD9Lc8+uy+SvRiibZWgOcBLvJsZAdSGujV9vrDk3HwGkfQeC74z76mwPbbF0juG+AquObC0w== 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=PhgD1idLyQZK8E5d+/B6ee7TfiVqxGc3dtiZoNCPbD4=; b=dPi4G6Ig+TUT/aCk0LGHkOQ/S/zxaA7WHKF4txGp8bCgAXwnKehM6M34ebhdxSlhE823wIqjyCcaShQEdofap2/sS9UWmR29tZaYnT/ew6/RrBvxvy0iGDYb6iL/PnSszyRPAgtpXNKbIeZh5chUUSpT0odZo592o0pglsjgdf10/oUf6P0n6iHxA0xES5+41RcHu4j7bLcnvv6X/pH7nIbOPkSqaBGCgDDiEK2CM99sxeX/By3wth8ABcOKFNQf2pUtTNedBlSJUX9303b26d2a6X2XGzfkA6pmnz+vFmWEs7NpBFcjx/NIUswI0Z+nAIM2eDqt+9KN8CGAMdCa4A== 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 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=PhgD1idLyQZK8E5d+/B6ee7TfiVqxGc3dtiZoNCPbD4=; b=fA9XEJIZRf1+hqchO7iB57UIeVGt30pZ/iIzLOsqCRHfIVgeTFyZ4axhA8KsXzc+NssSuidDre/RsCrjaWBtFit1/lYHXjZNfHDpJtHHTa4HH/NJnArOT3oOXh8ukaX5O4799NJbQkCj6npks4DMxXd7IR/3/h/w4/R/6biCrTM= Received: from BN0PR04CA0045.namprd04.prod.outlook.com (2603:10b6:408:e8::20) by CY4PR1201MB0215.namprd12.prod.outlook.com (2603:10b6:910:1d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.13; Tue, 25 Jan 2022 12:19:38 +0000 Received: from BN8NAM11FT051.eop-nam11.prod.protection.outlook.com (2603:10b6:408:e8:cafe::fd) by BN0PR04CA0045.outlook.office365.com (2603:10b6:408:e8::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10 via Frontend Transport; Tue, 25 Jan 2022 12:19: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; Received: from SATLEXMB04.amd.com (165.204.84.17) by BN8NAM11FT051.mail.protection.outlook.com (10.13.177.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4909.7 via Frontend Transport; Tue, 25 Jan 2022 12:19: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.2375.18; Tue, 25 Jan 2022 06:19:37 -0600 From: To: Subject: [PATCH v2 6/6] net/axgbe: alter the port speed bit range Date: Tue, 25 Jan 2022 17:47:47 +0530 Message-ID: <20220125121747.344631-7-ssebasti@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220125121747.344631-1-ssebasti@amd.com> References: <20220125121747.344631-1-ssebasti@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a6fad619-5876-49b5-b930-08d9dffcf538 X-MS-TrafficTypeDiagnostic: CY4PR1201MB0215:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5516; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: j+DELffewcCqkFzPaoZmenzMte7OPV5FN5j/yStOS+avMyKPxG7+AQ0EBi8DNtJZbprKhDyYu51L5SGFHyHJP7RYcTYsBO8r2xauxCjIoZAMTNDQ64CnT5QhvvEcI/tqEiYLBy4mjPLxgd7afbnO10G/PPlCnWoXxPMUlYdNSqUyPmsSWKEgxePuxr7MXUCPzouw3zItTNL+z3MrX3XRZhxMUud7tnlMiPfTCgCG0Z5x2l+7IFFdwFFYKvKU3aw+9AtLgXJCmTX3Sa/9ZBKtSPMP4id32HmOTTeroy/gzOKR/hdnbWt3G+BCV6cUmX5cnDldhvvp8lcLc6SQGVUA+hbAgaKX3pbz9Qq1q15fNWlVnufhV94EhTOFyKWSf543p5abLcXpDGMQW5l4Wut06qBREH1FX38b8j1ZlVOs6u7s94e1pRtr9Jc5lAZ9DaPrCuaLE2nrlRCTrWsm9OgV2SlyAr5aRG2pudR+LsF1BmUIQoNDensesGS3rrDI1e2v2eL7Lm8gRXa5uUAqVmYRKzDB760OLXrrfrP5ONK/Nzt1RszqUdpxlXTqfeb2yqRNKxePmorYBpTMFrfOQiXNkffkZEh4w3b76lITtthm3M3uJRG0tnG3phJK6/Foli9VmMY6iRv3w0n3fgmCOw41MJepcfNq3lOHhjYoMsTtPAZTmbYp7M/H/6ySfRrXMrHAtg2U1QBJa+70uEg7vW66lqGUPsgZZsp8DBgngojojWZukzdIYzmf1bxzAjtHswE80k5TZykPaMZBdrH2K/MtM+COZ9NwYlNMCb6+fg5+Qew= 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:(4636009)(46966006)(40470700004)(36840700001)(8936002)(70586007)(70206006)(36860700001)(7696005)(316002)(83380400001)(1076003)(16526019)(82310400004)(47076005)(426003)(186003)(6666004)(356005)(26005)(81166007)(2906002)(36756003)(336012)(40460700003)(5660300002)(508600001)(2616005)(6916009)(8676002)(2876002)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 12:19:38.8055 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a6fad619-5876-49b5-b930-08d9dffcf538 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: BN8NAM11FT051.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR1201MB0215 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 From: Selwin Sebastian Newer generation Hardware uses the slightly different port speed bit widths, so alter the existing port speed bit range to extend support to the newer generation hardware while maintaining the backward compatibility with older generation hardware. The previously reserved bits are now being used which then requires the adjustment to the BIT values, e.g.: Before: PORT_PROPERTY_0[22:21] - Reserved PORT_PROPERTY_0[26:23] - Supported Speeds After: PORT_PROPERTY_0[21] - Reserved PORT_PROPERTY_0[26:22] - Supported Speeds To make this backwards compatible, the existing BIT definitions for the port speeds are incremented by one to maintain the original position. Signed-off-by: Selwin Sebastian Acked-by: Chandubabu Namburu Signed-off-by: Selwin Sebastian --- drivers/net/axgbe/axgbe_common.h | 4 ++-- drivers/net/axgbe/axgbe_phy_impl.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/net/axgbe/axgbe_common.h b/drivers/net/axgbe/axgbe_common.h index a5431dd998..5310ac54f5 100644 --- a/drivers/net/axgbe/axgbe_common.h +++ b/drivers/net/axgbe/axgbe_common.h @@ -1032,8 +1032,8 @@ #define XP_PROP_0_PORT_ID_WIDTH 8 #define XP_PROP_0_PORT_MODE_INDEX 8 #define XP_PROP_0_PORT_MODE_WIDTH 4 -#define XP_PROP_0_PORT_SPEEDS_INDEX 23 -#define XP_PROP_0_PORT_SPEEDS_WIDTH 4 +#define XP_PROP_0_PORT_SPEEDS_INDEX 22 +#define XP_PROP_0_PORT_SPEEDS_WIDTH 5 #define XP_PROP_1_MAX_RX_DMA_INDEX 24 #define XP_PROP_1_MAX_RX_DMA_WIDTH 5 #define XP_PROP_1_MAX_RX_QUEUES_INDEX 8 diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index b0e1c267b1..d97fbbfddd 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -7,10 +7,10 @@ #include "axgbe_common.h" #include "axgbe_phy.h" -#define AXGBE_PHY_PORT_SPEED_100 BIT(0) -#define AXGBE_PHY_PORT_SPEED_1000 BIT(1) -#define AXGBE_PHY_PORT_SPEED_2500 BIT(2) -#define AXGBE_PHY_PORT_SPEED_10000 BIT(3) +#define AXGBE_PHY_PORT_SPEED_100 BIT(1) +#define AXGBE_PHY_PORT_SPEED_1000 BIT(2) +#define AXGBE_PHY_PORT_SPEED_2500 BIT(3) +#define AXGBE_PHY_PORT_SPEED_10000 BIT(4) #define AXGBE_MUTEX_RELEASE 0x80000000