From patchwork Mon Jan 10 11:35:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selwin Sebastian X-Patchwork-Id: 105709 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 445A9A034D; Mon, 10 Jan 2022 12:35:43 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 82BA641150; Mon, 10 Jan 2022 12:35:37 +0100 (CET) Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam07on2070.outbound.protection.outlook.com [40.107.95.70]) by mails.dpdk.org (Postfix) with ESMTP id 7189C40041 for ; Mon, 10 Jan 2022 12:35:36 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ked3ggAcWkihMBL4EmH69/JcVRJIPpnrfCe4TyjEmKx1fTXR0w2KIB6nW34oPFHkW1pX7g9uKBSxztH5u+pTZ2KMmLNzet0XrSDyKPn5cqQ7rb9A4l3GUwZ520QYYuGCx5ELRTqn9OkpRYUWyUDlwcGm1yb1nQArc9Czq9A7BQL17wm1aEbLCnNTZ0fL36bLw91QppKAwLPP1QLzQF7D0IZYA5IPvY76qjvis9lHuM0HSH4UW+pWXzSd0D1fa7GeDueor+M4dAIWzFIKS1GV87rXy8cAuFrSS5yViJN8DNiWuDP+U3pyPHZ0JJxrG6gJUbh7yJOY0B5NP7TaA2G8yw== 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=esx7DLm4quiUJDN6TrOJwaNa6Jb/5bEYvzlNl2waFPqk2pqHXbuR9sOLwBtMtShDd400A1021GlKdPoRuVqKrMWeBJvSaqNSOtAl84471EbGCHmsqiMuLuzJnRBI/0lTq7l6xCrhNOT3BDjc0xpoDwx60Et+sotfhCu6qO0e+5h/djDIjCeQBrlk85hmszVZQm3Q6u/7iaRlzECo+8liH0njNJeYSHXbLCek27UE/t+vzrojzxBCN6vL4ieYiUZ3kGQ63FES4SluiMvZE8jlv3U0nfB5l+qqLtKvQOeGRflTTJ6ivEkE1jZsy9K/2SZH04cPHSdgQKcq3qLEps+d+Q== 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=kPe4FcJGQdTdPnYdSrS1Ai6wPCxfMokWdn4joOybvav+9kucog5YBP6nNGsFe6MrrrNbRRojwNuTMzXwfqjW8t33ZHSJqdRXeLjnsPOJ5/QCDXqsU1YWA4jxAfob7cKZygHKgyZ5LGeT+alTWSOnyu1Dueq5OgBWMeFi/CUCHVc= Received: from MW4PR03CA0163.namprd03.prod.outlook.com (2603:10b6:303:8d::18) by BN6PR1201MB2545.namprd12.prod.outlook.com (2603:10b6:404:b1::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Mon, 10 Jan 2022 11:35:34 +0000 Received: from CO1NAM11FT022.eop-nam11.prod.protection.outlook.com (2603:10b6:303:8d:cafe::f9) by MW4PR03CA0163.outlook.office365.com (2603:10b6:303:8d::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9 via Frontend Transport; Mon, 10 Jan 2022 11:35: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 CO1NAM11FT022.mail.protection.outlook.com (10.13.175.199) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4867.7 via Frontend Transport; Mon, 10 Jan 2022 11:35: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.17; Mon, 10 Jan 2022 05:35:31 -0600 From: To: Subject: [PATCH v1 1/6] net/axgbe: always attempt link training in KR mode Date: Mon, 10 Jan 2022 17:05:04 +0530 Message-ID: <20220110113509.553184-2-ssebasti@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220110113509.553184-1-ssebasti@amd.com> References: <20220110113509.553184-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: f17b68d1-080c-44e2-b61f-08d9d42d5019 X-MS-TrafficTypeDiagnostic: BN6PR1201MB2545: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: bKCbu6QxAX8raCed3nFE6+VQ1ooeAFIIoaPUZ5BAubTLTwN0Q6SbGnf+huqT5h4y7vaImq8Cl5ZCn8P+V+wgh1tgYOwic7/i73IBl4v3YhhPS/nQpG68hprymTg44aKRal+Y48gTOPoyFn9ERkSOij0WIVSb78lkpcnfK5RV33l9ueX+dM8gPogkA4FBkEJySjNBtWuvvzB5jky/Er6UhXBmL3N3ubBLzjmYwKAgWOKFGIP0Zx7cqdhvOY7stk5wR2K5XqlSJyyMXKLgmOujner8as8eA8ZkfhSM5mI1Q+e3pOcBZE25naN8GvkOi9iL8xQxvolD3wCH9IrU7fOSf0ou/0OZA6+sLIH7TWYJsPJudI62JOTU5zYhobWzTA8vo/RrIlFqke469aE3WiJLD0KL87j7V2MQSegX1S3q62f/oU6PcU+yWiGuJPU4UaqcK2pRBqshEFeLIqlMCnNpiuaxotRF6cOiydSrjXyMPx/tadReKUwZZF1rSmV8gqhlDtaJ11a9O08hREi1c/Mlb5ma6HF/NIzl6gHVgPF5i8oaQ7bsChjzHZJmmI0qYiOzF0bghAJmVRi4qSElFVlDVIzhlG+9645aVMDCJ31sM6Fo6HexHqL7LqFc8mPcUR7IyMAv4+jQWYBEeIyxAe6rgd4ym8uI9GVSHC2rLMEX2dw4ozDYJJdPFn7CS2eALPRtnaXF3toJhiXocNdUOfjqFqqSMgcC83zXZMGOjpU9InbJisksuIVffsj+UWXLPwm1n42GnutWYJeFPHVjwI+dOnBraW8u40DyXsaGzp4S9Cg= 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)(36840700001)(40470700002)(46966006)(7696005)(1076003)(70206006)(186003)(508600001)(336012)(16526019)(6916009)(47076005)(8676002)(2906002)(8936002)(5660300002)(316002)(40460700001)(356005)(2616005)(2876002)(81166007)(36860700001)(26005)(426003)(70586007)(36756003)(82310400004)(6666004)(83380400001)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 11:35:33.0396 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f17b68d1-080c-44e2-b61f-08d9d42d5019 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: CO1NAM11FT022.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR1201MB2545 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 --- 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 Mon Jan 10 11:35:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selwin Sebastian X-Patchwork-Id: 105710 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 EEB0BA034D; Mon, 10 Jan 2022 12:35:50 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B2F5641169; Mon, 10 Jan 2022 12:35:38 +0100 (CET) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam08on2076.outbound.protection.outlook.com [40.107.100.76]) by mails.dpdk.org (Postfix) with ESMTP id 1CA7E4114D for ; Mon, 10 Jan 2022 12:35:37 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iKMaBLWShbbjNlhwGc+cNz2z+2qnCIqg5PFBBXEhXJFl1VvPGihrtEhFTcRmGRM0IH4Qw5vcHMD3NwtCziXkO8GmM3ZeDIZsE9ACsjqy+Crb7pHC8Ig5+4dr5UU93ENwnhfbVMpvLKKp9EgFVXgs9dD0E6MVbWljFVbo5/3dVRKOEUN4fk/biI5/bEfZbkgcEbG4EbnOQGfbXLV4TsR2RufTSrWlroV3fmDPqWv0dkwT+SSRVNyA0wCvEFlfMTva1pKs83ArsuFdqDk8EP08nhN3DhZpLbSJeh+GXFK1/tGhme0ce8IChN51y9ChD4rbFLHsd8ubH/mJ7poG7nFSWg== 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=U6SsUlebNCOLojVCc0nEF+szVML+gsOIhsQI0TJmZJE=; b=JwqnI7eaNnSj6MHKf8rWGpqFS4Nf6bc9mlkRN7HArbfOhDCkDl3s10KRSt2nYV3ZxMGumtQv1Esmw7X103u5TGBhj2Cx+3xQlrpnWA9N6qzI1IU24URSI01JeFJQ1j0VcgOJXv7NIRVuYRTLWyByENvRWCLsMuVEXUVvVEuJF9bbQkMkNbshH6aFa+t6rnbxTpXOMUhItJJHAXc9MEr4Zn+pAwQ1tlK80WJlX51a9L50Uj4bqmb//yDhZrD2Hz7VFQrfHSKQMzU+jw1za5IyjA3thbJb929JTs1QRNSj3tC0nalHSHOXoiBn9Ir7WAnbj0xwM9wwqfIGS10tkrF0hw== 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=U6SsUlebNCOLojVCc0nEF+szVML+gsOIhsQI0TJmZJE=; b=4Qz397lnNHP02qMoa8pAec0OY3va7ySINgXK0mcg5L4R8Wa4n+VJgxfTuT3GdvQd1yfqDNHWLxtjcqm+jEh/MM9cOrEQEcMW40u9nF5x+n404sqhUKMWBqIgzPdEC3JegPlwFjMcD0buJLXr4zdxuz0JhSN/V9Dcqj7NP0S7c+k= Received: from MW4PR03CA0172.namprd03.prod.outlook.com (2603:10b6:303:8d::27) by MWHPR12MB1136.namprd12.prod.outlook.com (2603:10b6:300:f::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11; Mon, 10 Jan 2022 11:35:34 +0000 Received: from CO1NAM11FT022.eop-nam11.prod.protection.outlook.com (2603:10b6:303:8d:cafe::c0) by MW4PR03CA0172.outlook.office365.com (2603:10b6:303:8d::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11 via Frontend Transport; Mon, 10 Jan 2022 11:35:34 +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 CO1NAM11FT022.mail.protection.outlook.com (10.13.175.199) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4867.7 via Frontend Transport; Mon, 10 Jan 2022 11:35:34 +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.17; Mon, 10 Jan 2022 05:35:32 -0600 From: To: Subject: [PATCH v1 2/6] net/axgbe: toggle PLL settings during rate change Date: Mon, 10 Jan 2022 17:05:05 +0530 Message-ID: <20220110113509.553184-3-ssebasti@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220110113509.553184-1-ssebasti@amd.com> References: <20220110113509.553184-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: e0966755-0d01-42bc-84fc-08d9d42d50b9 X-MS-TrafficTypeDiagnostic: MWHPR12MB1136: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: YgvZiU8uTYEm9TMEWQEFNDtWAUxNJFjkx5jKHc8AfeOSrrL0khrN0DP+vXcSpO9iVBVTxBiOYLQQT8VBrc58ocJaZh7FmEa0jb7XV/Bl8tQKN3Crx8JMMOZf01149jIBCjlFYm1WpTnBNvZJfLAMlnftHwm7wqk2U0Klc9bBfCVEqcPJbIvhz7Po/wetdFxXcPUQ5f8yQdHPwEhiTnCDOluCwv6CIpf0pMpJWq67+8PGS+6YjuE0gG8rA2HFPwbud7dsbRdQuNrtRWm18b4iCgE6n5NPPpifNJLxlvsTSNAKcUxtYTTXA4wHjB9WmswZ4abZ4fQG7Mg0uXOqdouyy5OsmVKMpx1qPiMrnN+pyfESvT5r9R10LlJh6vRiN0ELcq5/jsCZxYkex1t9VQ0/VLPWl42ylQUgvbMGsOkTS2oGpkWU+zp7nXDbP2g8oR2nh3/Wgox3sDVmtYakYY8GxOAYh9qBiYG2Iy0fiwE1uhQV8KKtNygKr330xKNblkGNatYi2FuJrP/vl8qPa7jwagBBZ2N9OzUpzriY0zm3Z3Vx9w61c37kVqW6QM68ztqcAjloQjdB4e3dFp3I6G3TnGeENLTPRBDjdO+f0aCexeFpyFEtLCnt62WLEow4sfymXABDl1DoZtL/sVjF9n4jDt1IkCLXIP0/Waw/wiKG8vZMiF6z/JvN1mpHrzLMxtOvZKKU2KtsUoPp+45HW7YsTZImHTyQjixOXcy6fZyjfdcHKqiAFhnBG5qB9MOoeiQNozxDcqoaVv3Y9ePs1BYEYXd/5YSem6aS4LSs9AfxNAQ= 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)(36840700001)(46966006)(40470700002)(6666004)(26005)(2906002)(82310400004)(6916009)(426003)(336012)(186003)(5660300002)(356005)(1076003)(83380400001)(2616005)(70586007)(8936002)(70206006)(36860700001)(16526019)(36756003)(81166007)(47076005)(40460700001)(2876002)(316002)(7696005)(508600001)(8676002)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 11:35:34.1025 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e0966755-0d01-42bc-84fc-08d9d42d50b9 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: CO1NAM11FT022.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1136 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 02236ec192..dc9489f0aa 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 Mon Jan 10 11:35:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selwin Sebastian X-Patchwork-Id: 105711 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 7E02FA034D; Mon, 10 Jan 2022 12:35:56 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 98AA541159; Mon, 10 Jan 2022 12:35:40 +0100 (CET) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2052.outbound.protection.outlook.com [40.107.220.52]) by mails.dpdk.org (Postfix) with ESMTP id 5380B41174 for ; Mon, 10 Jan 2022 12:35:39 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FpR/JphyBjpkSKVj2uKyZaaGmONrbPZ+kZgg7U64YyMtAChp1yzLyXn7++YgsTY8aMvPA11Nx8VlOLB9VZ7Dmyo+07EKSTv4XfeVxLsz1m+mbqHsSmZ+IkY8xE5WitNcmjEY/woeobpAdCj75r3HeAk1SE652o4wSD7JLbNVWfkN8ewz1AcugVRaj/efGAOU4X9UAQuA/vothmJ/c6bATotSXv330vrrctpIBlquKuN16NwEMgOnscC6z9mSOrn7QKeN/aRI+Bk7EumiZ0/iRbNVlwEaRuVrKcXLsPJRPpwyvSbjB1ppur8WOlxUghjWZr0/qIHo6iBhd6jP+Chdnw== 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=EDNq/bUaboLX1syhoRERxWGpOwl5JGhCkcks2RDjzMY=; b=GdlIJkNTcusV2sDWxGumQ4Z6d3oetMQAkrVxJMCwhaJcK4EH7PXj6ZKN+o2y/rEHPA/427qKpZj5OazBYIJcus3NYLpOVzusbmlXDk0FNoDYfGFFbTNkAE8ibBlKGMRgyXifQSaAs2c5w7l4rXwDAYXWZO4n4CrNsd0qptMpgboyp+W2ePNbEtZzyN28JvV5VI104pXkVakDcMEU1AFkby6d5VgRVz6j9p/RqR9EB+fMLYNzxFMPt4/KwTIka2Pn072gK5w853dGZ7DeUET7Rq2/2UM619tsUXdAhtzrTSUFo3za//Y/SnVY/vpAnwqkLGNr9pRe0uUEv+kOQYj1tw== 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=EDNq/bUaboLX1syhoRERxWGpOwl5JGhCkcks2RDjzMY=; b=a4/aYdZwOGafhwQIMtqEm4GrLzLA56eL2XhsitWJWX77qH5UD35rj1/AoYVGtW9gyxSNLHK5YhWTmITJ5EfKvLm/+AoQnPCMrXWeMFTaZydx+9SXx/T4vS7wMsvAb1LqYcGw1qx9waS8NhLdQQ5xDpWjr2GkNnv0TdoJDtXS9GA= Received: from CO2PR04CA0152.namprd04.prod.outlook.com (2603:10b6:104::30) by BN9PR12MB5383.namprd12.prod.outlook.com (2603:10b6:408:104::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9; Mon, 10 Jan 2022 11:35:36 +0000 Received: from CO1NAM11FT021.eop-nam11.prod.protection.outlook.com (2603:10b6:104:0:cafe::50) by CO2PR04CA0152.outlook.office365.com (2603:10b6:104::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9 via Frontend Transport; Mon, 10 Jan 2022 11:35: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 CO1NAM11FT021.mail.protection.outlook.com (10.13.175.51) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4867.7 via Frontend Transport; Mon, 10 Jan 2022 11:35: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.17; Mon, 10 Jan 2022 05:35:34 -0600 From: To: Subject: [PATCH v1 3/6] net/axgbe: simplify mailbox interface rate change code Date: Mon, 10 Jan 2022 17:05:06 +0530 Message-ID: <20220110113509.553184-4-ssebasti@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220110113509.553184-1-ssebasti@amd.com> References: <20220110113509.553184-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: fb3d563f-2a14-4922-5d40-08d9d42d51e6 X-MS-TrafficTypeDiagnostic: BN9PR12MB5383: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: PQ0ByDEdBaGnRMx0cIOC91lKxgHiTEiyb3+K6cKmJiuUiX6/7GZW3kM2HHPjroAE3mg0o0l3ViRzanDb7H4mjrVF0n1VrMxunMiXO4Js2ZqIHFkfOL/Zq6PxDNylBciZnj57i90WXrrskK33fVzYogycURIh+sWi6IqCZ3l0Snw5HrmgjAP2EUMh+KGtmJSZYeKHjx/2r1CJzEnPJ8iTuwDwCxxcqUaQsSamJuVr40sCe09OfciSvZ50psUpEj+VXlFZyqvK8q1qOhv2fICsS+3KCg4G2s6nDaZF/oCTL4wWUor5bu70qOnLMDm4cGo2LGlD4KSiq+T7DLZfSmzAVJt/VS+vi50ktd2IoFhJkO2QnR0sxIHXbvLzTdZUSpXnKiLBvTQdN9AmQjgJ40MhnrqiHU06q2rMmM1vdgN0ZGaZsmCiYNJrXzthqxOcN0HKDr8Kby7Uh2tjkM3/+FESA9JJwHUXmwr51hvOGKsfwDYnByMYFCO8fi+yBL8FPxEtz2THeYQ6cniSw/11dM6enqiyNcPs435X/0uvnCpICKyZN5863EUA1xwvjSYOpeWpaf2LlS4ZhcgC+DNaHLtkFabSmjv3L6Utp6xNgAg8Y/8DIEDGqTDbXmGmnjZCFSwGo+AtpeoCPDkSDPO5ISorObY/Mn5S8/cPnAThILCn2T/eU92eyt1Cd73CaHvd4ZWQS4lg8Ku0mRsJzyzcg2SKtsTcxnPnJOYYBIYdwq7xySqxyDAxPmzoTV2RtK7WXTA8HJmUVI/3M8qtIv8J8HdhCgHBhbVpd9dW/UB0NM9hR3Y= 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)(40470700002)(36840700001)(46966006)(6916009)(83380400001)(6666004)(8936002)(2876002)(8676002)(426003)(5660300002)(26005)(336012)(7696005)(1076003)(316002)(186003)(16526019)(508600001)(356005)(36756003)(2906002)(70586007)(2616005)(81166007)(70206006)(15650500001)(36860700001)(47076005)(82310400004)(40460700001)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 11:35:35.9960 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fb3d563f-2a14-4922-5d40-08d9d42d51e6 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: CO1NAM11FT021.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5383 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 dc9489f0aa..0894dbf74b 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 Mon Jan 10 11:35:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selwin Sebastian X-Patchwork-Id: 105713 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 480D7A034D; Mon, 10 Jan 2022 12:36:07 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 605324118F; Mon, 10 Jan 2022 12:35:42 +0100 (CET) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2052.outbound.protection.outlook.com [40.107.236.52]) by mails.dpdk.org (Postfix) with ESMTP id 1458341174 for ; Mon, 10 Jan 2022 12:35:40 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SzVQqW80/OWRxJH+yXekDeVTbSV8ukaLZolrN6vHsr6L+vn3iKrgmXgFFpn9jVXw1iccF0n9UHfaz8+42NIFDoT/WJ/jdipuhIfGyGCFX8aLW13qdEdNJqvJKc+GiY3Dpu8OVD6noQUfOrOsOFYnlhHI8EDDwoCzg6x49vkKcUuFbXOszzK5Ryk5g+dxyk0tctls/zyNy/X7/GqXxj9eM8TrCBbBPfheUgLOgmV3sGrH2+oqpogvkE7yGny3dY8JAiZsThXWYl2ek86/29vypxiijsTW7t9+IoE9zjiULQgUqi5XANv94bhiVWmiUFtloIQ2DLX/7NLieCaN2vV5Tw== 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=rtlDyAYoc5IUo+7At9rU/YkfZ9g4g7VwtW03zoa7lBA=; b=Ga+VhZhElS9nn7v4UMmPdVqOK6GkHZ+4OLV0yfRYRH0rcC/btc6e3nHswKOBlJp1gy5p7s7QLHQVHwa6TIWaJdLl1WLWkYXugWeo7H76FobMbnAY3qH1gPfUm+XeZtBD0VqJCO6Tpc8wcvgd1u0t/O9BQs5A8oKqeOPL0nPWPqW33GAlCKhHxPY0z5UQFaRfxxUcfmAREewTmTd0xivZCpqlbNJ5aeOI8hBSmL+J+EtIeh7uGRBpYD/uovymuOo6QFPVI/KbFVvOeSnZNPJTM7LBW7EVQVObzUaCagGI4zy0vrbCmNrgm4sKxnERK4RaIR3J2nb/EtWdsex8cxu3bw== 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=rtlDyAYoc5IUo+7At9rU/YkfZ9g4g7VwtW03zoa7lBA=; b=xUCHopYB+kzTeFVNveh59XIx4tMpKjXDRwPIWXAnmQ8xGOomNY2JwpT4RF4zpBpZIqqcYR5ieGTy5Wbusz/cMNRCOcwus/1SdBLCtiwfaVGE9mOj3507lXH2wSzm+2hwCojij6xRE+S6/SwqtnXUAA1kAHAYtJruQC2bpWHX/nI= Received: from CO2PR04CA0133.namprd04.prod.outlook.com (2603:10b6:104::11) by DM6PR12MB2793.namprd12.prod.outlook.com (2603:10b6:5:4f::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11; Mon, 10 Jan 2022 11:35:37 +0000 Received: from CO1NAM11FT021.eop-nam11.prod.protection.outlook.com (2603:10b6:104:0:cafe::dc) by CO2PR04CA0133.outlook.office365.com (2603:10b6:104::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9 via Frontend Transport; Mon, 10 Jan 2022 11:35:37 +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 CO1NAM11FT021.mail.protection.outlook.com (10.13.175.51) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4867.7 via Frontend Transport; Mon, 10 Jan 2022 11:35: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.17; Mon, 10 Jan 2022 05:35:35 -0600 From: To: Subject: [PATCH v1 4/6] net/axgbe: reset PHY Rx when mailbox command timeout Date: Mon, 10 Jan 2022 17:05:07 +0530 Message-ID: <20220110113509.553184-5-ssebasti@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220110113509.553184-1-ssebasti@amd.com> References: <20220110113509.553184-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: 259d0006-2b90-4cdb-05bd-08d9d42d5273 X-MS-TrafficTypeDiagnostic: DM6PR12MB2793: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: v7n/3ftlVAz2YRZkF5BdNZZsWtjAKc7pJLo/BfSZ3K0QoNZhiSaAnBv57uP8ZS+4IB3C+V/w7e1l1DuMfaAHz8kXw1++vr2GNg0yxRtN7k/5cgQ9QPSqlRRXmqJXR5LFG808kwYIOmD72DwArj5wORr22z5kSKGA+R0yA5BeK5CmqLiwENZAQtzx+2JBhADCUUIqZPk3edZPcpbZ69a4n9e9YvXAUtNv3hqZ+GLo8gm82TxbqyefmLvqYF2jrEKuVfpI63HBtD9pBKSo/4zXkCnLsC09gTRN+VEf0afWSK6jOtRSKEclRkFhWk5iaiw0qgT4o2GK5J9Tydyyk0PtL41QVL7SZVpGmA7IJNPsLGja8rPgWzN3VXNLiT65ZpUQxtBTohzI3BnSFsNoiqtt0nG0wt/W4gl4n6id9KLR7pA4d1/1YqqRUZmKyI+TE1MC+r3CHxLHCYU+ykO5loRJEAuxBIfJAYlWV59ZjfxPqoc0ezYlrohoBe2/cCfOfPLhpy9eUEfN1IpC/tt0D8C3fO4kzJ9N9bJ8uxjYHQHLGlopY9Vtugzjbjz4lnHMIV16sdLHsI0jrbc/6Kp65zs7I/HToMG9HL8EFWSVD5ExeUmojkYid/mzyR7DHyEJGOzCvIsobHsU8uB93HeB6VdrR3+zwZkJ0Qx6POlPiEGYkYn//77jXFM/HvEjOcj88KX8AqdAm/pgBFrzIUzoLn8lVwE4B1TOcti2MpTCkQfgpKqQobDZfk+r4ynhtXbKRdGFeTMODQA+ywTpz3FE7hSGd4YYxSLLGDUeRtX0nINZchQ= 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)(36840700001)(40470700002)(46966006)(1076003)(7696005)(82310400004)(40460700001)(426003)(2616005)(2906002)(508600001)(36756003)(336012)(2876002)(15650500001)(5660300002)(26005)(16526019)(186003)(70586007)(70206006)(316002)(81166007)(6666004)(356005)(83380400001)(8936002)(47076005)(6916009)(8676002)(36860700001)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 11:35:36.9960 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 259d0006-2b90-4cdb-05bd-08d9d42d5273 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: CO1NAM11FT021.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB2793 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 0894dbf74b..e52dbb9585 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 Mon Jan 10 11:35:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selwin Sebastian X-Patchwork-Id: 105714 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 E2634A034D; Mon, 10 Jan 2022 12:36:13 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AB4204114D; Mon, 10 Jan 2022 12:35:44 +0100 (CET) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2074.outbound.protection.outlook.com [40.107.220.74]) by mails.dpdk.org (Postfix) with ESMTP id DDD174117A for ; Mon, 10 Jan 2022 12:35:40 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g3DaxQ+UczB6CjWYm625HIkD8RK6mbdO3ckt9wfbTgpg7eo20LdsBP2k67Ctwnpdgd14sN0kAWe11ERZ2OJuYBtb0fgbb3htIjN9VDJ2CyAdOTfBvHVAedwCmEuTWkg2RGF97gSCxpZZmaLJVWTSnDPZNQkgE3XMXkzZSvT7QGdhQLajmcqdG0l8v3HNMYsAhSKv5mXndv0y0ba6sD/SYii+7Wte9BG1FqAnfksNR5SmD6xjOCnfKTjj5AW9UwSjwEu/bMo8dF/v4rSBgW4f2Xrpb/n3lgGtW+dzgVyNme5GNWnzmHIOjj6CF2EnQJzvFubCUVC2fEHm5JmjV6wK5g== 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=azGXpJ5Otn7f/HWzUYEnPa4pJKVL4xCS+CbfFYhIS6Y=; b=cA9/Jy3k0TYBEJXT/P+2rWMP+nfxc0YO0YKjKem/2oPj+H33HEyVqvc3BFqXI3IBGc2hNr2qtDtGNXddMYbrXW7pFX6Sm9oOklkM9DEerypKQ8Da8mEoQJok5bebB3hxpnfLjNR//AW0ZpYGReM2mWTKnTPtDrRQ4UfO34kvUXmwwN95CstFFcHbl5OmfZ3kAmNPnqLTpTObWtMtd6rbxK2Vnb5AQR1MowxUS4IPCdJngL9kIuO3Tb1jmPAUmpdz0Hr2HzmtpNzRBvVj28YBhA9FOWVNDA30kNMrjhYo6FX6Eg3ctED8xGtwaVylHMcc7N19GqKxzgBpu+tVkhPKkQ== 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=azGXpJ5Otn7f/HWzUYEnPa4pJKVL4xCS+CbfFYhIS6Y=; b=Xa7L9aIk/988mWWAgGW80NsVw/QZ0Y6+bf01TZFUXW9kPEf4rzpav2SdDJhB0fowzYGTHi6dyLe9nH97soL2yxBQXPP8zoJQ3BMwL7zig6p55zrBgBy7lALuGT1o/xR1jZYPPx1O/KfLWvvNQFBjEBMAyhVcpaNSbl+ufG4Kkzs= Received: from CO2PR04CA0153.namprd04.prod.outlook.com (2603:10b6:104::31) by DM6PR12MB3867.namprd12.prod.outlook.com (2603:10b6:5:1cf::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9; Mon, 10 Jan 2022 11:35:37 +0000 Received: from CO1NAM11FT021.eop-nam11.prod.protection.outlook.com (2603:10b6:104:0:cafe::5e) by CO2PR04CA0153.outlook.office365.com (2603:10b6:104::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9 via Frontend Transport; Mon, 10 Jan 2022 11:35:37 +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 CO1NAM11FT021.mail.protection.outlook.com (10.13.175.51) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4867.7 via Frontend Transport; Mon, 10 Jan 2022 11:35: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.17; Mon, 10 Jan 2022 05:35:36 -0600 From: To: Subject: [PATCH v1 5/6] net/axgbe: add support for new port mode Date: Mon, 10 Jan 2022 17:05:08 +0530 Message-ID: <20220110113509.553184-6-ssebasti@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220110113509.553184-1-ssebasti@amd.com> References: <20220110113509.553184-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: 95c0c194-0496-4e5a-c489-08d9d42d52d4 X-MS-TrafficTypeDiagnostic: DM6PR12MB3867: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: dsNdcs57qQU069rdPgYc+LRGHfoXo6EEW0/3P2/gxqS6GhgTRSyAKQstpVGI38LntTwpn1vkmFjgGT8ecaSDvPsa9cpQ0LS+P60nwVwvUk6NGA/w/mNsyfcWgQnGV+aYoH/36NnsFdbAF8H8E4z8Mw3146hAeJs2bGcjf0qp7eP1s8/8+80G4AjLBiMYrPy61StfpPJHGfeRt7qHZaN7vSksGENd88ixUzL9BlnqeIePnYvwP0w2LvrxPVGfvnCGT93u+c35jaRvCdzU+R4z45QJPp+Y64qwN6XZC3vGxJmp9V6sBNLeqHvDDoCSwcbGZidWFZmIn0mmhorxdhHJQ4qs45i6D5CDNoh+VXB7C2kNQxiruJH/aqItRynvG7X5jMUA44rQfitYSPmw8cOk0tYQ3XJcWetP21LcWyqW1KDATnQuqM0GAVR+ofesy1OGkzhKM4I8YYuz7XHDfd3OwSuouGR+ufqR+nbSK3pg1ax3L5zEcdUHH5N+4ftWT2rDTak9b5cJfkOS8mo4TrX1jpSrJv/bMHShm7dI8kJKafsUV15fp+8QEkLJi/Mj6uEpqEp0P3nAnlfwWZvFZ1QcuOjpi4pWrm3FM6iGe0yIg41aGYGh7OMXvyWTce0TMLyqt1oEmGch+Kdf+3xiFAgETPd1AalqW5l06bRakidNX5FUa+t6U2vcArbIqmitdGy0695oSPTS0NmnT6u7KJxVKHJFVC7E+SZPNG4zai4zzgOyn3qbgkqXUDwkZQn2XPBEnGV2ERM7kw8iaWNJL3eJr7xXAiirvGDicE4pqQgXrEA= 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)(40470700002)(1076003)(2906002)(5660300002)(8676002)(16526019)(186003)(36860700001)(70206006)(36756003)(6666004)(26005)(7696005)(70586007)(8936002)(316002)(6916009)(40460700001)(81166007)(82310400004)(2876002)(356005)(47076005)(2616005)(426003)(336012)(508600001)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 11:35:37.6365 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 95c0c194-0496-4e5a-c489-08d9d42d52d4 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: CO1NAM11FT021.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3867 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 abackplane 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 e52dbb9585..2aad8babd2 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 Mon Jan 10 11:35:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selwin Sebastian X-Patchwork-Id: 105712 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 DF0DEA034D; Mon, 10 Jan 2022 12:36:01 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7CDDF4117E; Mon, 10 Jan 2022 12:35:41 +0100 (CET) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2089.outbound.protection.outlook.com [40.107.94.89]) by mails.dpdk.org (Postfix) with ESMTP id E1A57410FC for ; Mon, 10 Jan 2022 12:35:39 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DjiSFfyK7J1qaai0wft7jkVI7K75fWhXlQiA50JglPLahxpcYkLxCKuYE9PTG5vSZKkreXstWAwWdtaofcAUl2R6fa1olVCYF+sadlSD1rmVvDPNPiD53TNF9fIqHqr/h8Un6p+CQA8i/pqJ7U0NymRaX7o518h4ckflzNa9WFry9P6TzHjiKIa1RRGWQtxrfILc3EZOjn0uw/n/6B3KMSexv0+5Hm5GO1GzDbJuorQUiA80+jmzkwv+8BNKPLmFdzowe0T3w3EJoe8lAFErtLG4VSQ3bh0cx06mGmjA6NF1IbwFGSMTb803ymmRjdcnDBu+97RJzG7A2kYBfNRaHg== 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=GUu28vnZ9ISIbby5FD7Acu6YBVfFnuluPJLI0vIswmk=; b=XVKPfoS1kCGJ6w1vjMMg+Thm+qLOjTVzkEPtv3BQNH8wEUbuTtzyByKjLvIYFIOi2akk6B4IRQ0ECiv+RpLT4CEPPbqYlfCinHSR2S40i6Wmim2MB7xskvIzHwk8++jfhn/snPN+QFpUaXcWPj0q8Vy81jPi27uUSk+JbCaUZpFZvWSUQmT+pFwA2+VHIbl2POlGmL2m1pvq3YTZLxrClSp3PVywS5PGBW+WCpOGyw6sAN4bgA9lfgZQFbvWaAtugsXjSI7YVcaNY9uw18uHCSc1cQ3VHCutyJZN4RQH/eGP3MsY1ymAoHh/YdB781wXal5AIxBwdkOvPpUiq5q+Gg== 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=GUu28vnZ9ISIbby5FD7Acu6YBVfFnuluPJLI0vIswmk=; b=kXPlIe0TeWAw2MiHiGfFMoSDzE98Nf7+tJuoAyj/Kf5qHvcn5582csr9zkPoSpj5fDWLqL8Tf380AggZuCWw4uMFDQUeTKwkIh0l45swh1YI+dXJwCMqrMe+M7l8qLfFA+D2+iSsJKykw6Hc2z5htNZ72QQV6mZBuM08q4IFt9w= Received: from CO2PR04CA0146.namprd04.prod.outlook.com (2603:10b6:104::24) by CO6PR12MB5489.namprd12.prod.outlook.com (2603:10b6:303:139::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9; Mon, 10 Jan 2022 11:35:38 +0000 Received: from CO1NAM11FT021.eop-nam11.prod.protection.outlook.com (2603:10b6:104:0:cafe::ad) by CO2PR04CA0146.outlook.office365.com (2603:10b6:104::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9 via Frontend Transport; Mon, 10 Jan 2022 11:35: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 CO1NAM11FT021.mail.protection.outlook.com (10.13.175.51) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4867.7 via Frontend Transport; Mon, 10 Jan 2022 11:35: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.17; Mon, 10 Jan 2022 05:35:37 -0600 From: To: Subject: [PATCH v1 6/6] net/axgbe: alter the port speed bit range Date: Mon, 10 Jan 2022 17:05:09 +0530 Message-ID: <20220110113509.553184-7-ssebasti@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220110113509.553184-1-ssebasti@amd.com> References: <20220110113509.553184-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: 4e4c635b-08a9-4632-835e-08d9d42d5336 X-MS-TrafficTypeDiagnostic: CO6PR12MB5489: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: VEBG+O5+Tcp/+oDUFkhMK1voKFN1LBze2oDfkTvOX5+egzZQfGfaFnDYv0pOUJ2B02tDj9f6NKavOCNRunq6UpWhobOAXVDa6faojetGZ6dMUef3ZgRi0lNvL8UEgCi4fHD1ziwwSOsKT1DJ9Be3Rigvjah/WdqHFsL19LSSz9TBn1Xb5ufyMdZTc/OYuXk6uvZiNgObvbe/A1RUUz3wx25ztRksfQbVzWpSzAXlV0scsbhnbDXVyk8X42+WjnawIfld8EUtFf27KIm8sBk4SJ8ofjmy5KZdsZAFg4V7dGeELJ/V9lUTsoN6DAtrOu5F/UUubiOw8JDFis2FVH6114thRWRBsWr9hq4YGzwEIcuYvRdray9oEkU2IojNwsNB2V53GffkDSaT9fgr8cOpFCvc0D0212TBb1IPMGNbQUEqOImCDDYqOrzEyDiTxPy4f6XcMpzzPWHyG9brhY/S8J7c9I/PWMU/G6uE6JIJfnoxfAUxHzVRlwI02JFa8DsIBIlby0u2S4Z6+/lc9bZnBFhcdNmvy+eNCGHl2as8qlA+Xz3Uw6/I26lbOuHjHFMNgXQ8XzpQArXEZMdX6i+pt+aSm1zpgROdat7mZOLej1uwfvYsccEf151WTP5GIo1nYjUtgsfKhHD5vOnwzc9HYPlohCLWYUB3nyDEdcxd2+L6bgbV6cC5Nb0+rldhTpPeuVpf30ZMl9F+WN6kBEuQ0WScX1GGpqd68HqdmF7NrIXGxxg6X9rv94evef7k1e9aJ9WEqh/tgj8NmZ9j/c1K/2FlHCK6sa47UK5+yGnC2pw= 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)(40470700002)(46966006)(36840700001)(70586007)(6916009)(36860700001)(6666004)(426003)(2616005)(16526019)(82310400004)(2906002)(336012)(70206006)(316002)(7696005)(40460700001)(1076003)(8936002)(36756003)(8676002)(5660300002)(508600001)(26005)(47076005)(186003)(356005)(2876002)(83380400001)(81166007)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 11:35:38.2771 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4e4c635b-08a9-4632-835e-08d9d42d5336 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: CO1NAM11FT021.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR12MB5489 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 2aad8babd2..776144696a 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