From patchwork Fri Apr 12 12:52:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139255 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 107DF43E52; Fri, 12 Apr 2024 14:54:01 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EF737410E7; Fri, 12 Apr 2024 14:54:00 +0200 (CEST) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2074.outbound.protection.outlook.com [40.107.92.74]) by mails.dpdk.org (Postfix) with ESMTP id 1ECFA402A2 for ; Fri, 12 Apr 2024 14:53:59 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=F/Hld/sa7cPg9nqleUdXoS78xg3X5ghzS5q7j4QBNsVBTDwCh1kv/lk8672fAuB5ju8oHT8CcWa+U5z9t2O3U4yMKHpc27JB8rbs2m+vj0MswBZWInHbxLpnrk9EC4NtVY7nOxL825xlabgJPw6GOxNJDce+Zx45N+sHpQuGX92El3aS8IkQAxNbOUjoerC5nI0RCtTASi4wtM4DYWeazkO8wO522yNCOYuI50l3NYMOwocE9EIW28S3JmhqX4mGb65SEmL1yaYTe7QtP9kRK5sIgs3LLmSHUsIyVXDSV3OF+eMyv9IMIn2mef7sZyDEDdwKS3eH294C9XStMen+3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=VQjHns85YtttoxKKn81iuuCQmTvr+acC0U7smYN5RUU=; b=SWT7t7Sy26KYLoMQh/KUJzuSLSGYzEKVlnOZTOunomLUQ60brfuR/8+2LNCCtup0rilr0pNh3scEs1N+0U3avMINwobil93RxFURgqlzGAdoakNI/YjoA3+qmVVBOQiwnoaVxEKX5sEc+rKOF9nTEbg/kyvNX4vsYgTyCK70FYVudMzxjPY519otUhe2f8mGYkdFcDWK+35E/yCmi4kJBs9fwNvyXADufn/VOb+M4LsKHSK1bIloLeRolfh4dFiyETWsw9eZZ2Cx/2WBhy0951qRTEKR6TdGaY9kiRq6ILgeFq3Sz1nF7PWbZ9EYEP+0CgpHCHOGAW4QEklnE3VEmg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VQjHns85YtttoxKKn81iuuCQmTvr+acC0U7smYN5RUU=; b=ITPXS0Rzuy0Y9S0fiyXUVIRgNAaofXUeaSdhyUwRoJhwCtdrTjxevtOXb5fMtRgSHGc60yEqEJDRSW+/hhUWtqXgyU7BW+4Vvkz5usBr3Gmnp+4ja23zSkIaM6uphBquikUF+IqGuZHy46oGcMeNGgCpojCULMvGCJIBx3iNZP0= Received: from MN2PR22CA0030.namprd22.prod.outlook.com (2603:10b6:208:238::35) by CY5PR12MB6204.namprd12.prod.outlook.com (2603:10b6:930:23::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 12:53:57 +0000 Received: from BL6PEPF00020E5F.namprd04.prod.outlook.com (2603:10b6:208:238:cafe::91) by MN2PR22CA0030.outlook.office365.com (2603:10b6:208:238::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.26 via Frontend Transport; Fri, 12 Apr 2024 12:53:56 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E5F.mail.protection.outlook.com (10.167.249.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:53:56 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:53:45 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 06/24] net/axgbe: reset link when the link never comes back Date: Fri, 12 Apr 2024 08:52:31 -0400 Message-ID: <20240412125249.10625-6-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E5F:EE_|CY5PR12MB6204:EE_ X-MS-Office365-Filtering-Correlation-Id: 724ffb69-d98f-464d-1ff8-08dc5aef9db0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /G1bsjpZnnOJD8OehEWOtIyK01YPhKhR9JTkXiHIbAlxm4l5iaA4dDLbSj5ZLHpvyHoHzZ/AYPJi6IdjNh1OmP2trHV8ZSWTxPNQJWCtdc5fIwX8hqf48IrDCVLOAy+EYXrp8+uADbpykdvo2Wg5w6FQnQQNQ4Y7GefLroCa7HU32wofzW2de9VllVhRqBw1ATBl+RKDTQ00nSeY6tsMjfduUv05ifO/R3p1qB7R9B1rCPqz/qi/vy9Br9RB3c+TTnMhnJjMisOUftJuGugX0haG3MnNqaNbynVpMI3uqbkakEde7p8nR+euFUzeGPAxzUWiVxYwc4pBF9FOPCBrNzUDHUfW3Ht1KnNOyw+tztfoaOfv6vjluLV1coiUS63u7Sf4ghftNkrAsIhrP69/7FETL5xX1vIflbFJ5x7hVj39MXYsdgv2+Popcp+bLg3mcg4VFE65sUibKOgjG3Z8JUY2TvuyDcQ37sgkMvGTbqXYZ2eqQ5di9ydd99OezNF3ndjQOlLYc8iPz0PyfQ9jmay7oK6HBILK5BsFatHNqVSWfFSZDtewFzaz6bPaVpKWqOkOSzkyZHj+TN8wn14VUBVKuOUM6EYaGsC8B4JR1X/z89Ye1tpIV6y5Kn7ydAT8dpE1UxB9g+pYw3Z9/7IFJu09Tz8owSj2DonIpL7dg9jrjaCpgLei4Ok60ZYWFBQUm0c1arbUV9LwqB6SQK7RkuVMB3n5kNmxXNRroF8F7aPjoGltek8AfO8mHrFGMo01 X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(36860700004)(1800799015)(82310400014)(376005); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:53:56.8548 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 724ffb69-d98f-464d-1ff8-08dc5aef9db0 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E5F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6204 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Normally, auto negotiation and reconnect should be automatically done by the hardware. But there seems to be an issue where auto negotiation has to be restarted manually. This happens because of link training and so even though still connected to the partner the link never "comes back". This needs an auto-negotiation restart. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_mdio.c | 2 +- drivers/net/axgbe/axgbe_phy_impl.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/axgbe/axgbe_mdio.c b/drivers/net/axgbe/axgbe_mdio.c index 0beeb1d0f5..151b30e2ab 100644 --- a/drivers/net/axgbe/axgbe_mdio.c +++ b/drivers/net/axgbe/axgbe_mdio.c @@ -1058,7 +1058,7 @@ static void axgbe_phy_status(struct axgbe_port *pdata) &an_restart); if (an_restart) { axgbe_phy_config_aneg(pdata); - return; + goto adjust_link; } if (pdata->phy.link) { diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index b5796b13e0..968ff1f867 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -1676,6 +1676,13 @@ static int axgbe_phy_link_status(struct axgbe_port *pdata, int *an_restart) if (reg & MDIO_STAT1_LSTATUS) return 1; + if (pdata->phy.autoneg == AUTONEG_ENABLE && + phy_data->port_mode == AXGBE_PORT_MODE_BACKPLANE) { + if (rte_bit_relaxed_get32(AXGBE_LINK_INIT, &pdata->dev_state)) { + *an_restart = 1; + } + } + /* No link, attempt a receiver reset cycle */ if (phy_data->rrc_count++) { phy_data->rrc_count = 0;