From patchwork Fri Apr 12 12:52:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Venkat Kumar Ande X-Patchwork-Id: 139262 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7B54243E52; Fri, 12 Apr 2024 14:54:56 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1EA53427E0; Fri, 12 Apr 2024 14:54:18 +0200 (CEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2081.outbound.protection.outlook.com [40.107.244.81]) by mails.dpdk.org (Postfix) with ESMTP id EAB80427D9 for ; Fri, 12 Apr 2024 14:54:13 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kmZd6+53PqZ8KFwS7NK/7WkKAcT1PmMpcNe/pGSrjuOMTI7F8v7QXttUDq08JIvuwLDDxtSMH09/VKH7LITZna3Exf3zuwyvPse0Qh2fw7cYIEOXrfyyzQSgUjQHHiaPTkPaUB66jGVbLWbaReCRRjgMRdheipXR8D/spEM++50BlV/x9wCygRcNZGFeOPAnOl3Fxqddw4+Da0oJT15eP+Yi8IkT5b1hUGWZ4YPWLpqzaOg3IwILoq32EkIZwfszmuLpNgUdPXpg0CjdyjJr7GOv+M31kWUMWGKLKkv2rtMpqJfl83ZP1yxMnIFbBSAwG1UoxNUrHWvTVS5czo7p9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Jt/H9dSWSSVGJmhAnuWdjcqj5wfP7BL6cEIEzW9/3aw=; b=Eb9lPg4xWyzj41BtJ/6H1Yzw4VGdL8+Rb4Wep5PnHd5OUxibjTSKv9ov/UE+9BA0qRCsfcPi3O0WaSTkXJQu95psGbPJjzocfPitaaAU0EWDhLehkETR7akPRGwR8z1wkYQL5H9DgHZno0bu6QLXOhZCm3ARDQ+87ZJN0RMz5EO698mcqtayHCzV8y1TrRcFUUI9pM6NrDgNcv+klIery9l/PNaGI+uzkySzb+kxPn76E7mVyMFiL+YMfgUw4m47IMEuz4tfF0LU+ZnXEQqlOMgYPJ8Yb4TLlOhVheASiMzJVdHil5MSFHKW/FEHr8q0oi/JZzRCjIT1il/go+4EBw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Jt/H9dSWSSVGJmhAnuWdjcqj5wfP7BL6cEIEzW9/3aw=; b=Z3y2Uv2JLC6PPLrUSJhFNIEPW8O9N2huSW0JLei3cb6N2eCJRUbkA1GaJSXG8vLxCdJsG/0LdrENEU86QAgfNcApBRZ7xTOUU3A5sjgfwjNwRW5EgMhYN7lJvc0OjqL682VHXy9M0DLvwfpOdDLG9PFFH3jWi9JiAJpG3QpzpCY= Received: from BL0PR05CA0011.namprd05.prod.outlook.com (2603:10b6:208:91::21) by DM4PR12MB8475.namprd12.prod.outlook.com (2603:10b6:8:190::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Fri, 12 Apr 2024 12:54:11 +0000 Received: from BL6PEPF00020E5F.namprd04.prod.outlook.com (2603:10b6:208:91:cafe::60) by BL0PR05CA0011.outlook.office365.com (2603:10b6:208:91::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.11 via Frontend Transport; Fri, 12 Apr 2024 12:54:11 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL6PEPF00020E5F.mail.protection.outlook.com (10.167.249.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:54:11 +0000 Received: from cae-Lilac-RMB.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr 2024 07:54:02 -0500 From: Venkat Kumar Ande To: CC: , Venkat Kumar Ande Subject: [PATCH 13/24] net/axgbe: improve the SFP codes check for DAC cables Date: Fri, 12 Apr 2024 08:52:38 -0400 Message-ID: <20240412125249.10625-13-VenkatKumar.Ande@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> References: <20240412125249.10625-1-VenkatKumar.Ande@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF00020E5F:EE_|DM4PR12MB8475:EE_ X-MS-Office365-Filtering-Correlation-Id: 79e7b453-194d-49af-8b1a-08dc5aefa67f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: k+O0cG88C5WRc3OAbIVSmyW5g3v8QcfFSGb4rVfPr6ANprAp7TnPf5ZPkopj+uV6JjZObklU6LTPpNvyU6W9W66N5n4UaPkmgWRxWsGy+OisN82TyKu7Msh6D1RSOTkrQ3pU3o1gScyVaRYixtVFGxSFZGitCG8yDw/gsV41Svh28zS1YRTm5f3NpDfSCUIka4PC1S7H+fdOuOYSUMgg6USj0NIGmv18RxeJN689I8Nt2FiRif2cDluhWgd8gDmXFfS5IOIP7JZ0TeZj0hQ/2lDI0+dSfPy/tqn6//6A8D4r70LBalLpcJZQ71C3IclKEaTl/N8dAut48RJs5OKlIf+TJeXyeUnlwfsZV0SfkweQSS69UIL8pVQGMxZr9EzbUrYy9XKS7p0oXFyn8kwD0nGm1wOKoSBCSel/7OPC9D9sbeVQyqVRJ1J/7EWweDzDucbXKbRdW384Y1aSCpK2I3qcKfL4O8JT7T9qanKua/AHquBGTm5LglUX5XcaRSwE6pCc1/ZPza3fJz2XHih20pR/m8W0BRoPqzp3lKqnpUA/9PFFGuZ+FqOzfahdthV+fDfZAr7QxORsAkfdomAu8SDeHm9l5Sc7r4EMrWNY7txwP3+isHixSrdxJePOoGPwbHG1KzjgZfOsA4hD9TA3gdP0CRJAIZFkGtxPEr1Fst5/QNYN839yTGfBock32hOx4q5TwP0uBe+jBPFGc5glnxuqsW4YDcPxuAv7TVLKbS6IT8a5LOr2bQ7P8r7Bc6D1 X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(36860700004)(82310400014)(376005)(1800799015); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 12:54:11.6359 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 79e7b453-194d-49af-8b1a-08dc5aefa67f X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF00020E5F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB8475 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The current AXGBE code assumes that offset 6 of EEPROM SFP DAC (passive) cables is NULL. However, some cables (the 5 meter and 7 meter Molex passive cables) have non-zero data at offset 6. Fix the logic by moving the passive cable check above the active checks, so as not to be improperly identified as an active cable. This will fix the issue for any passive cable that advertises 1000Base-CX in offset 6. Signed-off-by: Venkat Kumar Ande --- drivers/net/axgbe/axgbe_phy_impl.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index ceff36df3d..b5b962151d 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -610,7 +610,10 @@ static void axgbe_phy_sfp_parse_eeprom(struct axgbe_port *pdata) } /* Determine the type of SFP */ - if (sfp_base[AXGBE_SFP_BASE_10GBE_CC] & AXGBE_SFP_BASE_10GBE_CC_SR) + if (phy_data->sfp_cable == AXGBE_SFP_CABLE_PASSIVE && + axgbe_phy_sfp_bit_rate(sfp_eeprom, AXGBE_SFP_SPEED_10000)) + phy_data->sfp_base = AXGBE_SFP_BASE_10000_CR; + else if (sfp_base[AXGBE_SFP_BASE_10GBE_CC] & AXGBE_SFP_BASE_10GBE_CC_SR) phy_data->sfp_base = AXGBE_SFP_BASE_10000_SR; else if (sfp_base[AXGBE_SFP_BASE_10GBE_CC] & AXGBE_SFP_BASE_10GBE_CC_LR) phy_data->sfp_base = AXGBE_SFP_BASE_10000_LR; @@ -627,9 +630,6 @@ static void axgbe_phy_sfp_parse_eeprom(struct axgbe_port *pdata) phy_data->sfp_base = AXGBE_SFP_BASE_1000_CX; else if (sfp_base[AXGBE_SFP_BASE_1GBE_CC] & AXGBE_SFP_BASE_1GBE_CC_T) phy_data->sfp_base = AXGBE_SFP_BASE_1000_T; - else if ((phy_data->sfp_cable == AXGBE_SFP_CABLE_PASSIVE) && - axgbe_phy_sfp_bit_rate(sfp_eeprom, AXGBE_SFP_SPEED_10000)) - phy_data->sfp_base = AXGBE_SFP_BASE_10000_CR; switch (phy_data->sfp_base) { case AXGBE_SFP_BASE_1000_T: