From nobody Thu Dec 18 14:40:45 2025 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2065.outbound.protection.outlook.com [40.107.236.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A182C23E350; Tue, 8 Apr 2025 18:20:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.236.65 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744136441; cv=fail; b=oF5l45pX9pvNvd26mM7/rRWMdYLh9HDZEj+EP/jeaWmAXpF7BVIHgk6LLAF00orkehpObKPn2mNCaY+pFB9dDQ/uzaqPpKA+S80H4hN8dnPLyykDp1mvZ4jwOGgbi7rvly1XEQTkjSqALlDESY3O47mDHAvMZPVLTS8hGlLs55Q= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744136441; c=relaxed/simple; bh=EkQlMYJ13DIwwIDZIhkrly73F/C5Skw6wmTvgSGS6yo=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=daj9r7tgZyxHQ+0jJMitgS6ADxBCw3fjWyiuYoirbt1C6b6VWd26cWoaaKwO13pePtHX7XqHvDjP321Ry6Zg5M3pMinhYbl2n50DPvG/dYCBoFE1RA4inVr8a6KoN8eLfleD37fhD/Vx+uKLAD2I4vomGQJd5lsqoDoxr9Ff/gk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=XcXs6Bz/; arc=fail smtp.client-ip=40.107.236.65 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="XcXs6Bz/" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=l/LhsmWU5reZgSksON9Y04HahvSIGdJDUfzkU5Ij6s0eOwECRfHBUtRz/HgWrNZNAW+A3IX5APQ1FaZJruInaWDLIpjB8q53GBUuvZ7WTt1kx6M2LFCY4Huy59JzW9QFhdtHW17AZsaf5EdHaL3UJcGR5NAIAKOcMaeellH8XxygBB4YYlg3/8hQs1mlQ4OhuzzxVmh2jmmuRFMz5SE0pC8VbPEa8pCdwMBIgDd0e2m+MQks3WdaQABeTHy4ZJgscAhlxdTY/UAC+FLN/o3i34LnfQJtSmZEeEKYGGK2frP6+LnR1QH3p1IXLwjU0jfX5UgWMMKwn5ro3d22Xv/zUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=5BAJOa9IgvYgxPeYaBTMLyjHiJsZNvKt/fAS3XHirU8=; b=FuJXjART3HWHvgSdLabsaTrcQoZx5P25lmQybAKyxKMckbjjdiCZApwJngKd8nNKVsZyZ2FpSCO8wfYhf7d8277d55rUelD6ArQQ+swLvePVwlLyRd3CvzWpkN/ABYTDDcMR4BxZuFNp6/1kqHHqyzTX1nJAWJ2qpBbRR5kH+795pvzrzbltJ//osr5O7PmgZogbGf4MF1fkv+OK/LiPmCxZk60WtxnoM65qKvW4ZLxpkXdx7kTUxFCX+k+dWkZBV6SnFhVMp8fziKNg/Lzvkx9NXZ50Nbe/Ckysv7Perbyr3ZA85KFie40v3b1YqQiDnbRohA+Jm7r4oAzg+xhTSw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lunn.ch 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=5BAJOa9IgvYgxPeYaBTMLyjHiJsZNvKt/fAS3XHirU8=; b=XcXs6Bz/ACG6KOph2A4YsLXA3hzDuoB6R1N7U9SSlGWFXOc0goZVSRC2p39jKKlxqREb7VZhDPnddTb1NDiTDD8YeU8CBgX2RKztujAK4UMHTilA+QYwueFATcQakVuf0y9z+I6JLiLBy6fd82/5KyZcZbPNQRCCRVY0eQPMCk4= Received: from BY5PR03CA0020.namprd03.prod.outlook.com (2603:10b6:a03:1e0::30) by PH7PR12MB7455.namprd12.prod.outlook.com (2603:10b6:510:20e::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8583.45; Tue, 8 Apr 2025 18:20:34 +0000 Received: from MWH0EPF000989E9.namprd02.prod.outlook.com (2603:10b6:a03:1e0:cafe::84) by BY5PR03CA0020.outlook.office365.com (2603:10b6:a03:1e0::30) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8606.32 via Frontend Transport; Tue, 8 Apr 2025 18:20: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; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E9.mail.protection.outlook.com (10.167.241.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8606.22 via Frontend Transport; Tue, 8 Apr 2025 18:20:33 +0000 Received: from airavat.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.39; Tue, 8 Apr 2025 13:20:30 -0500 From: Raju Rangoju To: , , , , CC: , , , Raju Rangoju Subject: [PATCH net-next 1/5] amd-xgbe: reorganize the code of XPCS access Date: Tue, 8 Apr 2025 23:49:57 +0530 Message-ID: <20250408182001.4072954-2-Raju.Rangoju@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250408182001.4072954-1-Raju.Rangoju@amd.com> References: <20250408182001.4072954-1-Raju.Rangoju@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: MWH0EPF000989E9:EE_|PH7PR12MB7455:EE_ X-MS-Office365-Filtering-Correlation-Id: ee5aa3ad-1353-4dbb-fafb-08dd76ca0da8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|36860700013|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?/cjhh1SZBehre6CUVD3Vr6O40JBQpJQ+Dj7YPUwOnIbxZCDl0Q/X5EPkA940?= =?us-ascii?Q?lItXcC2uJvWeuxG5k40QOnhlKdDCcH1Ej09DL+NF7vxQ7QeX8cNayshtFNvR?= =?us-ascii?Q?SmefqFraNMoGs0PV4EqHSAbZfJlscrdUTEqGlEux1MrAJUHzG2I3deJAUT14?= =?us-ascii?Q?d82JIu1QHezza5nbw+DsAzTvvUY8SwDpfyanHOmFHCXkLWcFZ+AGWtFRXfJR?= =?us-ascii?Q?zJ4EPPXKYzAQ7b3su7KlBPrkp3JdRFQk6WCY/3AeIr5Z2GAUjwv8JyH6XolN?= =?us-ascii?Q?2LafQTEB8jSk11MIKRp/3X4Qq/ziR5jk85gH9pQ4WD/EsYoMwyC4cDxWFdep?= =?us-ascii?Q?tkbKKgJhpkJW2CDzOuktY/FN1K//PEtQVLTzTVfn1Vao41IxXarN7kgN9kbO?= =?us-ascii?Q?JPrqYTPyMEmPmJkVjgxP49EZJ43G0T0njxTWhceDEEL+DNaDWAtoJJ2753jA?= =?us-ascii?Q?qFPXOWbVUdxblEyDyr5a4itdor+iINpbk057tcMBscA24inIQbXNZqACAdKu?= =?us-ascii?Q?o6r6FqWfVkyF6+7or06MFbRzH+8iS82aClqBh+1u3V7qdvD34C7A52TGnFN4?= =?us-ascii?Q?5o0LoTswAKjPPJiOd592Rs8s5Gjkt5VAD10+dfoXI2BehgzYYvAg5M3MWHvN?= =?us-ascii?Q?qJuFqqaKiNxrt0W9Ld+VDBKEX+XTW4ObTWqZISJYF8TYSofmwC4qJV1DIofD?= =?us-ascii?Q?xF1VL2yJMWuZFjMrHUNXXJh/AKpt7fnBZPuwrvhLrPiftnuHZk68QWLxICWB?= =?us-ascii?Q?BIbgcLOkaPyIK3xv506yqNQaYEidjQ1XU0Z0WpavqsVzUAOIUGxx1blvtN4r?= =?us-ascii?Q?XDfohaiyWPPqqrIqjbgQDU3AL/t368uPUQlTeSgWwCdFYjdB2UsibbMyWJxC?= =?us-ascii?Q?QfoCg1uxgeFokU7o5aTE8/79MHHnTuIz+6aa/YJubryxyUEJMWkqdlL4So3N?= =?us-ascii?Q?xySQJ6ubpjUsIdrz7mF5DISLsbs0Cefq08GEEbQifwh/C0aZzkCv6u3TjIeh?= =?us-ascii?Q?6KQUYu2E62yMrHda7gsfYn6zyPlV5MY5G1GJQeXY/w1G0NeT5MYqEZ3d9UPK?= =?us-ascii?Q?P6hOBsky4LsuhP8/O5r9OGF/IU0tUJMKRSM4hmN7v5PkyWymhu7dw7R7gMZy?= =?us-ascii?Q?tLniKS6uzKVcZz+VwPNx/NABgGNoSN6vIjfipfWFz0ZIS9RLEsmrpKw3Dbkx?= =?us-ascii?Q?yjlE0/JAWsALxMjkobhEg+ZamI7IUkF6RNgr4U9n/uhYhT5LtUO2YjRjYT0X?= =?us-ascii?Q?/5VHeg4fRuar52T92S5K8RVUleWG3FenzFImcYRb9hcHePw36H9X0MN8z7co?= =?us-ascii?Q?JoN0fYycL5f5Z2l/34n5UAo9P2eEYyiHSyOk3sMB8llShpwDXE/Js7NFuDPe?= =?us-ascii?Q?m6sCpiTRi2TCnYsz7GX788xybp/+2m4EX+g4HLifYSQyY11otBbvZyky9mUH?= =?us-ascii?Q?nwv1SKCFSGUAU2uytg2YsOiy5LId5d0XZsUhe1Y4xbi6ihTTstSq1LE9FQqL?= =?us-ascii?Q?+i5jgEe2/d5GxAM=3D?= 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:(13230040)(1800799024)(82310400026)(36860700013)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 18:20:33.9721 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ee5aa3ad-1353-4dbb-fafb-08dd76ca0da8 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: MWH0EPF000989E9.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7455 Content-Type: text/plain; charset="utf-8" The xgbe_{read/write}_mmd_regs_v* functions have common code which can be moved to helper functions. Add new helper functions to calculate the mmd_address for v1/v2 of xpcs access. Signed-off-by: Raju Rangoju --- drivers/net/ethernet/amd/xgbe/xgbe-dev.c | 63 ++++++++++-------------- 1 file changed, 27 insertions(+), 36 deletions(-) diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-dev.c b/drivers/net/etherne= t/amd/xgbe/xgbe-dev.c index b51a3666dddb..ae82dc3ac460 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe-dev.c +++ b/drivers/net/ethernet/amd/xgbe/xgbe-dev.c @@ -1041,18 +1041,17 @@ static int xgbe_set_gpio(struct xgbe_prv_data *pdat= a, unsigned int gpio) return 0; } =20 -static int xgbe_read_mmd_regs_v2(struct xgbe_prv_data *pdata, int prtad, - int mmd_reg) +static unsigned int get_mmd_address(struct xgbe_prv_data *pdata, int mmd_r= eg) { - unsigned long flags; - unsigned int mmd_address, index, offset; - int mmd_data; - - if (mmd_reg & XGBE_ADDR_C45) - mmd_address =3D mmd_reg & ~XGBE_ADDR_C45; - else - mmd_address =3D (pdata->mdio_mmd << 16) | (mmd_reg & 0xffff); + return (mmd_reg & XGBE_ADDR_C45) ? + mmd_reg & ~XGBE_ADDR_C45 : + (pdata->mdio_mmd << 16) | (mmd_reg & 0xffff); +} =20 +static void get_pcs_index_and_offset(struct xgbe_prv_data *pdata, + unsigned int mmd_address, + unsigned int *index, unsigned int *offset) +{ /* The PCS registers are accessed using mmio. The underlying * management interface uses indirect addressing to access the MMD * register sets. This requires accessing of the PCS register in two @@ -1063,8 +1062,20 @@ static int xgbe_read_mmd_regs_v2(struct xgbe_prv_dat= a *pdata, int prtad, * offset 1 bit and reading 16 bits of data. */ mmd_address <<=3D 1; - index =3D mmd_address & ~pdata->xpcs_window_mask; - offset =3D pdata->xpcs_window + (mmd_address & pdata->xpcs_window_mask); + *index =3D mmd_address & ~pdata->xpcs_window_mask; + *offset =3D pdata->xpcs_window + (mmd_address & pdata->xpcs_window_mask); +} + +static int xgbe_read_mmd_regs_v2(struct xgbe_prv_data *pdata, int prtad, + int mmd_reg) +{ + unsigned long flags; + unsigned int mmd_address, index, offset; + int mmd_data; + + mmd_address =3D get_mmd_address(pdata, mmd_reg); + + get_pcs_index_and_offset(pdata, mmd_address, &index, &offset); =20 spin_lock_irqsave(&pdata->xpcs_lock, flags); XPCS32_IOWRITE(pdata, pdata->xpcs_window_sel_reg, index); @@ -1080,23 +1091,9 @@ static void xgbe_write_mmd_regs_v2(struct xgbe_prv_d= ata *pdata, int prtad, unsigned long flags; unsigned int mmd_address, index, offset; =20 - if (mmd_reg & XGBE_ADDR_C45) - mmd_address =3D mmd_reg & ~XGBE_ADDR_C45; - else - mmd_address =3D (pdata->mdio_mmd << 16) | (mmd_reg & 0xffff); + mmd_address =3D get_mmd_address(pdata, mmd_reg); =20 - /* The PCS registers are accessed using mmio. The underlying - * management interface uses indirect addressing to access the MMD - * register sets. This requires accessing of the PCS register in two - * phases, an address phase and a data phase. - * - * The mmio interface is based on 16-bit offsets and values. All - * register offsets must therefore be adjusted by left shifting the - * offset 1 bit and writing 16 bits of data. - */ - mmd_address <<=3D 1; - index =3D mmd_address & ~pdata->xpcs_window_mask; - offset =3D pdata->xpcs_window + (mmd_address & pdata->xpcs_window_mask); + get_pcs_index_and_offset(pdata, mmd_address, &index, &offset); =20 spin_lock_irqsave(&pdata->xpcs_lock, flags); XPCS32_IOWRITE(pdata, pdata->xpcs_window_sel_reg, index); @@ -1111,10 +1108,7 @@ static int xgbe_read_mmd_regs_v1(struct xgbe_prv_dat= a *pdata, int prtad, unsigned int mmd_address; int mmd_data; =20 - if (mmd_reg & XGBE_ADDR_C45) - mmd_address =3D mmd_reg & ~XGBE_ADDR_C45; - else - mmd_address =3D (pdata->mdio_mmd << 16) | (mmd_reg & 0xffff); + mmd_address =3D get_mmd_address(pdata, mmd_reg); =20 /* The PCS registers are accessed using mmio. The underlying APB3 * management interface uses indirect addressing to access the MMD @@ -1139,10 +1133,7 @@ static void xgbe_write_mmd_regs_v1(struct xgbe_prv_d= ata *pdata, int prtad, unsigned int mmd_address; unsigned long flags; =20 - if (mmd_reg & XGBE_ADDR_C45) - mmd_address =3D mmd_reg & ~XGBE_ADDR_C45; - else - mmd_address =3D (pdata->mdio_mmd << 16) | (mmd_reg & 0xffff); + mmd_address =3D get_mmd_address(pdata, mmd_reg); =20 /* The PCS registers are accessed using mmio. The underlying APB3 * management interface uses indirect addressing to access the MMD --=20 2.34.1 From nobody Thu Dec 18 14:40:45 2025 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2050.outbound.protection.outlook.com [40.107.92.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 131E123F272; Tue, 8 Apr 2025 18:20:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.92.50 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744136443; cv=fail; b=aDrZzfXFKryzJPer1/HANhEd03ME20QnBUC9nkMjOLVYyYYwqoj27j/I7TDRphWXYpCRL8qiJY1TVj7Em+GFxfJ4fBao6ZRhiGSlsnxKfkgUX4NebJo088hZ/vbLY4ROXruRJxvLEftLQ5BN2hKxPDOndfgVoRO3QYNoLay664E= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744136443; c=relaxed/simple; bh=PckhD1YeyxdD98DKNXKOBeoPevqSAoq+y/8K+P9/cpU=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=LzFNHzpRb+kLHl2RGewB7dWzypxIgvjQPolhq5RQYdXBGqa1VLJTziccK7SeA6o1YxxqSyZgbsIqF5A48uRje+MKJtBuAYGOfrdD2/Dv7twdH0xOv7CkthUh7I6WD4C5AaW64flS+5FI2Kv+V2ZFXQD5DWAiYGjfxA0BMDJYVcM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=eiXqGDWD; arc=fail smtp.client-ip=40.107.92.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="eiXqGDWD" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aPmtWoCt8+YerYEikgy40Q+IssHCtotecBcH1UuIFfwEmiGu2s5+a9vutnl1vDaYiCfwNBirq26yoWctGv2ndzcPbBPa7dx3T86m0z6DIUOTwjlfaf7DtvcxFV4468By9YdZxANV11+OL3+oaVwT1VdAjk7KeG2qAJ6a42GcEtAqYmRTt0/Ywk7qYKCOUI+5oYIm29KhvqdDsjffrYZPWUKfxDf/Q2GD5iKYMfNjSEeuLYx4FAX1qQSOBDGGz9miYLiAw/kuyNFoCwUbGDrvKVBB46pfzlCwh8UnhTTlTz6UEVHF3Fvb6ajBuHHJkI0CK5MB+Vp+HpCxeWe3Ey2tyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=uuFIdXaFTJwNCzGW18qo58ySdJDjN456xS80ytzOHN8=; b=LJs+6LiICX8eccLhLUiSxR/3dwbdwO2D1gR4LGQrSsBGQr0PxSBC5y1VGh/l45BfxsSmvChw0VER+mQknU/dbXQsS4GAe2cKN1qverhLDa/+OB3ZpFImNOahsDd2Ul3lbgUFiE3PC0loT/r25KZV1I8i8W85H6vah02G/PfhaopdaPaUrLpf9Xs2nKk3dD+341yB5FdAcgeS2sr9H+tFnoUYxKcL+M3ijYM2zxGwffXHy+2T8Uewv1b68el9gkVl7xzYh2RWStMNA66U1u0MLEVnzUZreVjpEtXhIiI321sU9uknLFmrgzW/xLfD+OnQLeBXjfqQ4WI1ge2T7TMDBw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lunn.ch 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=uuFIdXaFTJwNCzGW18qo58ySdJDjN456xS80ytzOHN8=; b=eiXqGDWDkP/D9V+UwueJkE+2RtTqnGvWp7maB3+wUSYqXT+auCPW14AsBxC5m5hculqVX3QaUmkeli3kjgIHPW/lJNVp7k3Tpm9b7HlU+52T1s+l58yBKJjhqxbeMmiafIhlA17aULaDiK7JcG0OWJACZnCa0XF0RY06vjgB/zs= Received: from BY5PR03CA0014.namprd03.prod.outlook.com (2603:10b6:a03:1e0::24) by PH0PR12MB7908.namprd12.prod.outlook.com (2603:10b6:510:28e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.33; Tue, 8 Apr 2025 18:20:38 +0000 Received: from MWH0EPF000989E9.namprd02.prod.outlook.com (2603:10b6:a03:1e0:cafe::9d) by BY5PR03CA0014.outlook.office365.com (2603:10b6:a03:1e0::24) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8606.34 via Frontend Transport; Tue, 8 Apr 2025 18:20:38 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by MWH0EPF000989E9.mail.protection.outlook.com (10.167.241.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8606.22 via Frontend Transport; Tue, 8 Apr 2025 18:20:37 +0000 Received: from airavat.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.39; Tue, 8 Apr 2025 13:20:34 -0500 From: Raju Rangoju To: , , , , CC: , , , Raju Rangoju Subject: [PATCH net-next 2/5] amd-xgbe: reorganize the xgbe_pci_probe() code path Date: Tue, 8 Apr 2025 23:49:58 +0530 Message-ID: <20250408182001.4072954-3-Raju.Rangoju@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250408182001.4072954-1-Raju.Rangoju@amd.com> References: <20250408182001.4072954-1-Raju.Rangoju@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: MWH0EPF000989E9:EE_|PH0PR12MB7908:EE_ X-MS-Office365-Filtering-Correlation-Id: 3ea2e564-752c-4a76-7e85-08dd76ca0ff3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?cRe61hGLj0OdUfaMlOHmtLKWEHYSqThci2poShvz9KBxQLnvKvPj1xpkbNpk?= =?us-ascii?Q?TzT+Qcnif+TfxajC/2IKMX8FRRdweWlcF9hKvTsydFR7jzAXblF7h2AdAn6v?= =?us-ascii?Q?CU4ugLws5nRFg4UVo+RLyAOBUhwOZyhUczZ9LevSwiXeACY0L9uIyv0SHHNy?= =?us-ascii?Q?kF5JopjqZBuCTfHVvspFq6K76jwPtcj6rvvgvn45X5VXT0ongahYVPOgtPzO?= =?us-ascii?Q?GYHudSTl962lfsUEJz/kSPgI9BztRg/QAkU3Rqv4D/RugYyl1G2PteEWLqwb?= =?us-ascii?Q?ove5zTYtoT0E9u6sM7rtg2480RGj9YCAs0CJfUUlnpcTRldYzhCEQbAmHHQV?= =?us-ascii?Q?ShOzj0idotx37WwUGlZIw64jfN1o8bu1QRuqvBEYie61YFJk9C7pRrqpe7jQ?= =?us-ascii?Q?1K9zHbBfTALTCByVdmJBztcbkt+JzPQEDd1YEP8QZDOAXxBvWAuphOJycPZn?= =?us-ascii?Q?Jdi1F7wWswVDWb2nNoUE3ojwUqqo77t943WaJXYMgpJc6ceSbIRjiQtdpLv2?= =?us-ascii?Q?4w12nbsvNL5oESTFFQIvSQGolOXYn0tIyYsm+XyS7Ph6Db+96qxsy8ehxBfw?= =?us-ascii?Q?Kg1pjSQ6C7mPKDwoMHpMRUCGNwPViiRhcgmAIuAz9mtJg1pw2PZcdNGFJiPl?= =?us-ascii?Q?+AtoQRniid0r+zap/Azpenbc9mWLfMJ1Q48VDEF2YYjz/u/tT3w3JLKJ51b7?= =?us-ascii?Q?D1DnIRrIIYx8pZWCxptS5hOE2D2XSDt08fSsVwk14FMdfzOD0oAB4q788fvU?= =?us-ascii?Q?sx/XeVscfoQ4/tW3+y7HV66LWboDOOEA06W8b0SNWAJjEKdYgfInCCDEcOvR?= =?us-ascii?Q?4sVuwYN2Bd2whfYAGPLuewSAPLP2l9clOSG2myf4nISojGgurBP44lfmJkJd?= =?us-ascii?Q?zk/X/wT69gdLBJsQFRkJ/NAj9O3xd0I69Jb+ao1j42Y0qK9bqFpF4memP7Ro?= =?us-ascii?Q?ahyb8IuOinS6+45WX4WncVq0xf8lH5YF+tEURGJDUa3KR4qr/phs2LeNHjKx?= =?us-ascii?Q?+XuoaNoujQXZ5dxL5Qwf1xTH8AfV2dz6HF8QvsTzmWUeI4Tk8dVs2Qzl+hs6?= =?us-ascii?Q?wHTd+GD+7KWbhv+JHTelMv030Pc2T/DtLQPLCk+Sc+WAwVtSSqbhqHbqMMNE?= =?us-ascii?Q?DAojGICOLBM1z9skg4nSKAesqtNRvFwow8ojXMv3b/rtc7QLwztFZ/CbUDXq?= =?us-ascii?Q?WMQ60U0q5WsER67vbNzAw25XJnLBAEaFb1Z9VhSFtOXZbupdCshL1r3UEpP5?= =?us-ascii?Q?SNBHfHng1Fp0x4nmhuXCmj5zVwUYsiS78S0whBjf1XDand1XENlzV2BLncok?= =?us-ascii?Q?CQzBC7hEOa1XcMOZQdYobiSi8m+41YfrBd5sDFkzPciOxJd3X3RQT5XEMj3I?= =?us-ascii?Q?l+EQlOYTTI6GJ8KjL05jQ09Cvt6uIhjctxPBgm0TdvR/LlF2Gkkz057PRrMS?= =?us-ascii?Q?dS0gzK2sx+iYGaNieS7n2tH8ykPvvTuJIlz7OYyzUI1ifem+0BBWlw=3D=3D?= 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:(13230040)(82310400026)(376014)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 18:20:37.8159 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3ea2e564-752c-4a76-7e85-08dd76ca0ff3 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: MWH0EPF000989E9.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7908 Content-Type: text/plain; charset="utf-8" Reorganize the xgbe_pci_probe() code path to convert if/else statements to switch case to help add future code. This helps code look cleaner. Signed-off-by: Raju Rangoju Reviewed-by: Larysa Zaremba --- drivers/net/ethernet/amd/xgbe/xgbe-pci.c | 35 ++++++++++++++---------- drivers/net/ethernet/amd/xgbe/xgbe.h | 4 +++ 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-pci.c b/drivers/net/etherne= t/amd/xgbe/xgbe-pci.c index 3e9f31256dce..d36446e76d0a 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe-pci.c +++ b/drivers/net/ethernet/amd/xgbe/xgbe-pci.c @@ -165,20 +165,27 @@ static int xgbe_pci_probe(struct pci_dev *pdev, const= struct pci_device_id *id) =20 /* Set the PCS indirect addressing definition registers */ rdev =3D pci_get_domain_bus_and_slot(0, 0, PCI_DEVFN(0, 0)); - if (rdev && - (rdev->vendor =3D=3D PCI_VENDOR_ID_AMD) && (rdev->device =3D=3D 0x15d= 0)) { - pdata->xpcs_window_def_reg =3D PCS_V2_RV_WINDOW_DEF; - pdata->xpcs_window_sel_reg =3D PCS_V2_RV_WINDOW_SELECT; - } else if (rdev && (rdev->vendor =3D=3D PCI_VENDOR_ID_AMD) && - (rdev->device =3D=3D 0x14b5)) { - pdata->xpcs_window_def_reg =3D PCS_V2_YC_WINDOW_DEF; - pdata->xpcs_window_sel_reg =3D PCS_V2_YC_WINDOW_SELECT; - - /* Yellow Carp devices do not need cdr workaround */ - pdata->vdata->an_cdr_workaround =3D 0; - - /* Yellow Carp devices do not need rrc */ - pdata->vdata->enable_rrc =3D 0; + if (rdev && rdev->vendor =3D=3D PCI_VENDOR_ID_AMD) { + switch (rdev->device) { + case XGBE_RV_PCI_DEVICE_ID: + pdata->xpcs_window_def_reg =3D PCS_V2_RV_WINDOW_DEF; + pdata->xpcs_window_sel_reg =3D PCS_V2_RV_WINDOW_SELECT; + break; + case XGBE_YC_PCI_DEVICE_ID: + pdata->xpcs_window_def_reg =3D PCS_V2_YC_WINDOW_DEF; + pdata->xpcs_window_sel_reg =3D PCS_V2_YC_WINDOW_SELECT; + + /* Yellow Carp devices do not need cdr workaround */ + pdata->vdata->an_cdr_workaround =3D 0; + + /* Yellow Carp devices do not need rrc */ + pdata->vdata->enable_rrc =3D 0; + break; + default: + pdata->xpcs_window_def_reg =3D PCS_V2_WINDOW_DEF; + pdata->xpcs_window_sel_reg =3D PCS_V2_WINDOW_SELECT; + break; + } } else { pdata->xpcs_window_def_reg =3D PCS_V2_WINDOW_DEF; pdata->xpcs_window_sel_reg =3D PCS_V2_WINDOW_SELECT; diff --git a/drivers/net/ethernet/amd/xgbe/xgbe.h b/drivers/net/ethernet/am= d/xgbe/xgbe.h index e5f5104342aa..2e9b3be44ff8 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe.h +++ b/drivers/net/ethernet/amd/xgbe/xgbe.h @@ -238,6 +238,10 @@ (_src)->link_modes._sname, \ __ETHTOOL_LINK_MODE_MASK_NBITS) =20 +/* XGBE PCI device id */ +#define XGBE_RV_PCI_DEVICE_ID 0x15d0 +#define XGBE_YC_PCI_DEVICE_ID 0x14b5 + struct xgbe_prv_data; =20 struct xgbe_packet_data { --=20 2.34.1 From nobody Thu Dec 18 14:40:45 2025 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2074.outbound.protection.outlook.com [40.107.100.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 90FA623C8C6; Tue, 8 Apr 2025 18:20:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.100.74 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744136450; cv=fail; b=swyEVqXC7eVNpP0+rA3cyhUPjIdH17BTZxF9kDB6abVoKv6ZQhuNJO1NyEe4DgO8epdd2BxbWztyC6lT3F2xreRrc+QozEgpTgHhKIxWuTPRx8xFZk61ZMyR8idSYIAFAb/Q9EvWqNZR+Y8QDbCBcQg+rqW5KKmfOskADuc+LkQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744136450; c=relaxed/simple; bh=4R1cp7/416ZWt63LgD4ROQTpnAuCFJL1mgjyXf8C3sY=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=YwMNLo8lECZ4SS5ocNnhavZHiDcyi4He5LH3GHvVs9s+////7g/sZ9dVDXGmzjx3+ZpB1iPc3PhGIMZMMBRx27AF2PJxymBs0b15jeDY7HjVGG6HOuj/uVsmqDEynv4CcW5JdVJfdhDv+sKtTyq8VaYrLG9uZvOGmZRnGh7oIdM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=tK7rMZjR; arc=fail smtp.client-ip=40.107.100.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="tK7rMZjR" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XYRjb8K1w49dDQySecsVRoQuvIEO7Fo66NLoRsT9MBk7bioPEGpO4je+IQiNaaRyhsiRKAKGqGECohZ2Tqy910317oSCQ7ELW/6OObjXHjAwahuHRqACeLs/tgr+WyJBqcAmuqImFhC10L91sSgfHyhGri9XSrVAg/VqY/CuWEfiDZk40NZIKttUD+D9kwZm/qgeioGU0sOCHC03uTduxmLKpnwNKtnIYHy+T+koY/4qJ7xSUxoCzf+4bJ9J7GX5wJ+WXmhoGeaOCcODrqX4zzIAwYpkOmgtMWQeep/XPAjzfAG+cA9BAiodmSSQ1rbXX2ZluUc7kbCogbqo7VzISQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=oY3cdmMRF4yD2AO3o3nS3mLI+mfBp8LyAeG877yLcG0=; b=u5BXkqQhkb2BCLqTTQOkWbZ82bOfYdVHqqKbY/fhjYFOjbtLjMsurau87sFVG+bkLNlIZ+4uw18Adj/g1HiHu/y7hIjZkKNK28o9Qg09TqM37fbHetgasc00EI/x15H8HLLS6MxQeFXEPZzi3deRErgpOqQq4kKjJX0tAT8JWn1ZFOzNWM46h7pkf/Sr61sV2S9sEeAKNE+5+NGfe+0QAJIma0aLtuRhmeiORyUanmsJjOshd79XbPT/SUGupovYThjUMdfX1xNyScWV1pZqWQXCqYmNgtE5bVpGfdamdtOKe2bZR94aVTB0moeem4z7QVCcHGbzx8lrJulfaXgh9Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lunn.ch 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=oY3cdmMRF4yD2AO3o3nS3mLI+mfBp8LyAeG877yLcG0=; b=tK7rMZjROd7vcXboewkiu9YYIXIQ9JeP69KmJfUt4aii/FkOzprxyRSfkYS5fA3Oa2xWNd4hphPn9b/hg6BhCaaa7P3Hk8ETym/jTIvKG7D0nrDpf4rq3zMZ4Sr0HJuuS89ZA8i3qCu6FUslzbYr1agCHZ08xpYS4fZsEuv3OcM= Received: from MW4PR04CA0342.namprd04.prod.outlook.com (2603:10b6:303:8a::17) by PH0PR12MB7789.namprd12.prod.outlook.com (2603:10b6:510:283::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.32; Tue, 8 Apr 2025 18:20:42 +0000 Received: from MWH0EPF000989E7.namprd02.prod.outlook.com (2603:10b6:303:8a:cafe::1) by MW4PR04CA0342.outlook.office365.com (2603:10b6:303:8a::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8606.33 via Frontend Transport; Tue, 8 Apr 2025 18:20:41 +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 MWH0EPF000989E7.mail.protection.outlook.com (10.167.241.134) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8606.22 via Frontend Transport; Tue, 8 Apr 2025 18:20:41 +0000 Received: from airavat.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.39; Tue, 8 Apr 2025 13:20:38 -0500 From: Raju Rangoju To: , , , , CC: , , , Raju Rangoju Subject: [PATCH net-next 3/5] amd-xgbe: add support for new XPCS routines Date: Tue, 8 Apr 2025 23:49:59 +0530 Message-ID: <20250408182001.4072954-4-Raju.Rangoju@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250408182001.4072954-1-Raju.Rangoju@amd.com> References: <20250408182001.4072954-1-Raju.Rangoju@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: MWH0EPF000989E7:EE_|PH0PR12MB7789:EE_ X-MS-Office365-Filtering-Correlation-Id: 1e677989-d078-46fd-a049-08dd76ca1245 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|376014|1800799024|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?5uBTpS0WZuGPDCoWwpfHFamnoFruosHWeXhcS3lZd3cSEe6XWyFsCOKbHiln?= =?us-ascii?Q?lLZa9zvns6FAD7kDOpwKEikZYQJoo6h7ocFWct+Of4szNf7jRCqws/azE1M3?= =?us-ascii?Q?RkgPg46LF7LOB6esKv5NGg9qr+nsRciBPK+CVRhA8UbGJdOtwd/I+JhAhFBG?= =?us-ascii?Q?mCAtwaRg/cMt+sWuI49VIG4sUzIx1ygz6gyX6s7+Ib339xPbHANX9N3nA0w0?= =?us-ascii?Q?08gkfT+nC0ThEmJ9DAwvLCxsK/X2w6tWWvnapqf4U/1H2bm7r73G2d3qzCjH?= =?us-ascii?Q?gdWjsqfDD3pkO8TC3qb4Ebg0o2XWUZ/qZXH3BXx7EsKVP0lfMZV1ji4UKcSa?= =?us-ascii?Q?JwZ16WhVYTFywLJK3IIAtO+YWRcjKC2r9hilxO6y0Tc82MuQ8wpxTvP21iD7?= =?us-ascii?Q?z37YTEe0UrOvQMYbXOhYh/mNilp2iBLra3iLOTad8oJxGWFACbNqY1FjIUpw?= =?us-ascii?Q?PJtzI9uLBz22aqrh9Pub6t6cYu+9JqhJlAYnQqlz498ruYwHFVMY/OFYVjfI?= =?us-ascii?Q?et5OOj3RS1gIFyu6a0FQ1hGhzmhOT2EZ2vnTGJBYvN2b4NkxncJYw6uArIlc?= =?us-ascii?Q?qM0/iBJQsDQJKprgNX+XTjJPYU+UwWSpCddInrV1yMwakxmX8fjWQO6PvKN6?= =?us-ascii?Q?zb2eQkAeWSqerPqvNNJyAHe9pb4O/DbO6SSyIUtr5CicTXkeL25VGZvuqlGv?= =?us-ascii?Q?enlHdF/3MeKh1nHv2OjQjuOIHCiN4ny7RZtrcCFQ+1S0X9NOd1QOTA/SR55Y?= =?us-ascii?Q?kKd//3Nu9lg9ZcOPmH99s6sQE6r6dNLgV1OlFyt5JZf2BkrBFge1+BdiRQ7X?= =?us-ascii?Q?07s7PrVcj/c0KxODHxcLPUskJPS9h4XA/D5tBFlyVBjHDjhXGtyqsuVU7wgw?= =?us-ascii?Q?ZCBjmlyy75ox23KykFLys0F1mJyiXD71e569jGXGb7lw0PPheDslLhppOu7m?= =?us-ascii?Q?PxlTuQ9fiat6KGH175kNyue1Aqujgcr+Dyp0uiE9rsdUarpmD/N2u653MTMH?= =?us-ascii?Q?hZIB8TbButUlI1bikaqA7CWThHu6V3uA35rbY1zm7jxMhs22PtdrRUJ2c8rm?= =?us-ascii?Q?NLbuX5gb+lCAXmvdtsgkh2dqkn4CTLzaUkpEwqQYgv7l5+OhlP2I/TMNc4aE?= =?us-ascii?Q?KfZA/F3GupkEQ8dYQ29xSNhL3JwAG4h/CZKzkle/em31vTbd7mYnmUigik+n?= =?us-ascii?Q?gwipR2Nc6TJp4HAKnq0Wa4SFamXgloDuwys7TXb335p/7yj77fqAeQoJ0XMD?= =?us-ascii?Q?ngavD3C3P26GPmhyfskVozQ/Ie0pj6vQjfokM3XLszcx5iTkGQKC2hWej3gZ?= =?us-ascii?Q?WURfT53MRw5FjtQ58JrVSHJ22vfAKgATE0p/ssAUjurQrfbHSeQRvv2PPfRy?= =?us-ascii?Q?zrWihlmagZC1VaAhS0dkwPKwuN8yE/HLneLnNtXIqeSEi0lFLUr5ySAyporN?= =?us-ascii?Q?8W83sKQ0LzFDwLtLYy8OJBfBmJn/GaX48TmWYJ4FgpK04tTLaSswlx5GfpKF?= =?us-ascii?Q?v6Onnj3aM8jMsok=3D?= 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:(13230040)(36860700013)(376014)(1800799024)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 18:20:41.7096 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1e677989-d078-46fd-a049-08dd76ca1245 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: MWH0EPF000989E7.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7789 Content-Type: text/plain; charset="utf-8" Add the necessary support to enable Crater ethernet device. Since the BAR1 address cannot be used to access the XPCS registers on Crater, use the smn functions. Signed-off-by: Raju Rangoju --- drivers/net/ethernet/amd/xgbe/xgbe-dev.c | 79 ++++++++++++++++++++++++ drivers/net/ethernet/amd/xgbe/xgbe.h | 6 ++ 2 files changed, 85 insertions(+) diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-dev.c b/drivers/net/etherne= t/amd/xgbe/xgbe-dev.c index ae82dc3ac460..d75cf8df272f 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe-dev.c +++ b/drivers/net/ethernet/amd/xgbe/xgbe-dev.c @@ -11,6 +11,7 @@ #include #include #include +#include =20 #include "xgbe.h" #include "xgbe-common.h" @@ -1066,6 +1067,78 @@ static void get_pcs_index_and_offset(struct xgbe_prv= _data *pdata, *offset =3D pdata->xpcs_window + (mmd_address & pdata->xpcs_window_mask); } =20 +static int xgbe_read_mmd_regs_v3(struct xgbe_prv_data *pdata, int prtad, + int mmd_reg) +{ + unsigned int mmd_address, index, offset; + struct pci_dev *rdev; + unsigned long flags; + int mmd_data; + + rdev =3D pci_get_domain_bus_and_slot(0, 0, PCI_DEVFN(0, 0)); + if (!rdev) + return 0; + + mmd_address =3D get_mmd_address(pdata, mmd_reg); + + get_pcs_index_and_offset(pdata, mmd_address, &index, &offset); + + spin_lock_irqsave(&pdata->xpcs_lock, flags); + pci_write_config_dword(rdev, 0x60, (pdata->xphy_base + pdata->xpcs_window= _sel_reg)); + pci_write_config_dword(rdev, 0x64, index); + pci_write_config_dword(rdev, 0x60, pdata->xphy_base + offset); + pci_read_config_dword(rdev, 0x64, &mmd_data); + mmd_data =3D (offset % 4) ? FIELD_GET(XGBE_GEN_HI_MASK, mmd_data) : + FIELD_GET(XGBE_GEN_LO_MASK, mmd_data); + + pci_dev_put(rdev); + spin_unlock_irqrestore(&pdata->xpcs_lock, flags); + + return mmd_data; +} + +static void xgbe_write_mmd_regs_v3(struct xgbe_prv_data *pdata, int prtad, + int mmd_reg, int mmd_data) +{ + unsigned int pci_mmd_data, hi_mask, lo_mask; + unsigned int mmd_address, index, offset; + struct pci_dev *rdev; + unsigned long flags; + + rdev =3D pci_get_domain_bus_and_slot(0, 0, PCI_DEVFN(0, 0)); + if (!rdev) + return; + + mmd_address =3D get_mmd_address(pdata, mmd_reg); + + get_pcs_index_and_offset(pdata, mmd_address, &index, &offset); + + spin_lock_irqsave(&pdata->xpcs_lock, flags); + pci_write_config_dword(rdev, 0x60, (pdata->xphy_base + pdata->xpcs_window= _sel_reg)); + pci_write_config_dword(rdev, 0x64, index); + pci_write_config_dword(rdev, 0x60, pdata->xphy_base + offset); + pci_read_config_dword(rdev, 0x64, &pci_mmd_data); + + if (offset % 4) { + hi_mask =3D FIELD_PREP(XGBE_GEN_HI_MASK, mmd_data); + lo_mask =3D FIELD_GET(XGBE_GEN_LO_MASK, pci_mmd_data); + } else { + hi_mask =3D FIELD_PREP(XGBE_GEN_HI_MASK, + FIELD_GET(XGBE_GEN_HI_MASK, pci_mmd_data)); + lo_mask =3D FIELD_GET(XGBE_GEN_LO_MASK, mmd_data); + } + + pci_mmd_data =3D hi_mask | lo_mask; + + pci_write_config_dword(rdev, 0x60, (pdata->xphy_base + pdata->xpcs_window= _sel_reg)); + pci_write_config_dword(rdev, 0x64, index); + pci_write_config_dword(rdev, 0x60, (pdata->xphy_base + offset)); + pci_write_config_dword(rdev, 0x64, pci_mmd_data); + pci_dev_put(rdev); + + spin_unlock_irqrestore(&pdata->xpcs_lock, flags); +} + static int xgbe_read_mmd_regs_v2(struct xgbe_prv_data *pdata, int prtad, int mmd_reg) { @@ -1160,6 +1233,9 @@ static int xgbe_read_mmd_regs(struct xgbe_prv_data *p= data, int prtad, case XGBE_XPCS_ACCESS_V2: default: return xgbe_read_mmd_regs_v2(pdata, prtad, mmd_reg); + + case XGBE_XPCS_ACCESS_V3: + return xgbe_read_mmd_regs_v3(pdata, prtad, mmd_reg); } } =20 @@ -1173,6 +1249,9 @@ static void xgbe_write_mmd_regs(struct xgbe_prv_data = *pdata, int prtad, case XGBE_XPCS_ACCESS_V2: default: return xgbe_write_mmd_regs_v2(pdata, prtad, mmd_reg, mmd_data); + + case XGBE_XPCS_ACCESS_V3: + return xgbe_write_mmd_regs_v3(pdata, prtad, mmd_reg, mmd_data); } } =20 diff --git a/drivers/net/ethernet/amd/xgbe/xgbe.h b/drivers/net/ethernet/am= d/xgbe/xgbe.h index 2e9b3be44ff8..6c49bf19e537 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe.h +++ b/drivers/net/ethernet/amd/xgbe/xgbe.h @@ -242,6 +242,10 @@ #define XGBE_RV_PCI_DEVICE_ID 0x15d0 #define XGBE_YC_PCI_DEVICE_ID 0x14b5 =20 + /* Generic low and high masks */ +#define XGBE_GEN_HI_MASK GENMASK(31, 16) +#define XGBE_GEN_LO_MASK GENMASK(15, 0) + struct xgbe_prv_data; =20 struct xgbe_packet_data { @@ -460,6 +464,7 @@ enum xgbe_speed { enum xgbe_xpcs_access { XGBE_XPCS_ACCESS_V1 =3D 0, XGBE_XPCS_ACCESS_V2, + XGBE_XPCS_ACCESS_V3, }; =20 enum xgbe_an_mode { @@ -951,6 +956,7 @@ struct xgbe_prv_data { struct device *dev; struct platform_device *phy_platdev; struct device *phy_dev; + unsigned int xphy_base; =20 /* Version related data */ struct xgbe_version_data *vdata; --=20 2.34.1 From nobody Thu Dec 18 14:40:45 2025 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2042.outbound.protection.outlook.com [40.107.92.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 68905243369; Tue, 8 Apr 2025 18:20:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.92.42 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744136455; cv=fail; b=sEYov4k/YVDDBXNQxNnMFjkrso/cDeX9bxcwy6J6IdAnxWeqsS6wutiYuAxsfm9JWZa7SCHtgG38TX7xfQjX6O4NgfYU6tBCVx/jofkzaZ5J2PFMcfAfCi8KP1vuKyNXt9UR0A2NLB8D9nPSPcfUn/Ao2sSxJZTlnQSx0eeetoM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744136455; c=relaxed/simple; bh=8aaevpijU4kNu9KI3hSRGJw97Mx3KaD09TM+jBgOV/U=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=t6EuxzcqGTs4qOLSfFu38zIY6QezaNRamEr9eZ50ws4DGqRl1yH2epcwR3dAn0HVUHm3wOuUO8s7uperdU0CEhPttTDHuvJRapmRSKpFIrrpbdRXb90U21Oj6fCmncTiSeYNUN8IBBojLpO94R3LitSg3XdE2yLGlRt64d3OHQw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=xNPDDZ1O; arc=fail smtp.client-ip=40.107.92.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="xNPDDZ1O" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gJLRwOpFyht/mHby9YJr0wPN0uagx1VLcN3N0j5sk/hnJBhzfub/YaY5jjnf9GdvoUmE3Vdbw6NBcIx9r3jy/PU5zOZTWl5Le39cDKZm3TEizIMEtl0Hp1Sg8QhsUGl5d+/3IKHVBA5YM+XseVahC4DZ5yxzz+Co7nVq2v09aZuRNFUredD/a0CObsw+D9ejsvfUtolABxSEqTUfN5bAEjopv+2PHxbqnloUANkC86PVWMJh+jZgwOERpwpPE79snc8a87jxSSGXCCwxlGtJ/aAncJ0ulk7XpaM7p6wlmlKTu8YMqjWmbwF8yZKrtvmQgT+n2Df6XjCnocKQE2G9Xw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=MS32IGhSUzeuskEbwnGKpwxLOZ4PJdgnXKmLuuWaefU=; b=DIEB6QGfWECOfMuoNbZqF6XEHkHuSyYCWJqSMA4fzUEBepfUyKXsabLL6BWJZY/5tUEG6iP+COG9aHiDL3j9DWqO7/HxrieaEbhv9jeSJS4jhKnmiTRLsKASUMziEBJd9LLu3f+BU9DGMxtsEQYKj0gSMIp24tDHuPD1TlYkclOfT6y+k3biHHE6O5NeB6hzF8Iu4ZhhCRXGqtWjH+wCYEXEqlJQzIBSnP7v1nBLq2wfy+ZrC8V+yFY8pCugY5YXLgLsroxKM28K8aC07sQ00TV2uT60W1orRAfAqQuLCy87hX6c9mzc3BOyCHxE0tiZ6qzdF8CBg7GbvgF3LRZPFw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lunn.ch 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=MS32IGhSUzeuskEbwnGKpwxLOZ4PJdgnXKmLuuWaefU=; b=xNPDDZ1OQkVdk2Z+MwV/ffGP98pR3rgHHgFMtb6h3CtDkmSQ7Dx9qgC64OIlXTjVRt26ZQRTDpZB+79tKU5OD9p553ZPJi92KUUb67DYY3fL5cowRJSAjpsDdh6C5JPBA6vAN+NgtM1lbfc5DBzjj7KgJp9n3gUBKtRdt/TM/5Q= Received: from MW4PR04CA0352.namprd04.prod.outlook.com (2603:10b6:303:8a::27) by DM6PR12MB4251.namprd12.prod.outlook.com (2603:10b6:5:21e::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.36; Tue, 8 Apr 2025 18:20:48 +0000 Received: from MWH0EPF000989E7.namprd02.prod.outlook.com (2603:10b6:303:8a:cafe::27) by MW4PR04CA0352.outlook.office365.com (2603:10b6:303:8a::27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8606.33 via Frontend Transport; Tue, 8 Apr 2025 18:20:47 +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 MWH0EPF000989E7.mail.protection.outlook.com (10.167.241.134) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8606.22 via Frontend Transport; Tue, 8 Apr 2025 18:20:47 +0000 Received: from airavat.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.39; Tue, 8 Apr 2025 13:20:44 -0500 From: Raju Rangoju To: , , , , CC: , , , Raju Rangoju Subject: [PATCH net-next 4/5] amd-xgbe: Add XGBE_XPCS_ACCESS_V3 support to xgbe_pci_probe() Date: Tue, 8 Apr 2025 23:50:00 +0530 Message-ID: <20250408182001.4072954-5-Raju.Rangoju@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250408182001.4072954-1-Raju.Rangoju@amd.com> References: <20250408182001.4072954-1-Raju.Rangoju@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: MWH0EPF000989E7:EE_|DM6PR12MB4251:EE_ X-MS-Office365-Filtering-Correlation-Id: 277eef40-05ee-46df-79a1-08dd76ca15e7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|82310400026|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?O71H5BAQ2VY1qiehnrJPMOJUV0O/AGa50Pqi8/KF6mlFAdPmP6Q+EKtzYcJ4?= =?us-ascii?Q?kfWtICRR2kh6PIvWQdnqyhfRWPPROwZshhODUiV2w6N/jBAq9mDGgSIqsPf9?= =?us-ascii?Q?FmiR0t8J3IWmilhuUB6+611iksLLeOwI8NMi5KPUj6FfiIUw9AipZRll1YdG?= =?us-ascii?Q?PkNduDLKUZGmwlAA06v5brNepkk1x9AiJ6fjl1uaahctABsG3xHHsEsk4qgB?= =?us-ascii?Q?67qsjtp98Jz8r27N1VHaM/lnsPUDxL5KFq3lLoC2iwRtTgL+Fn9TTwOOSTtH?= =?us-ascii?Q?W0JgK652MrDJdmwPjMkpar8AaJ8rspzECiTlasmZMKXDKfbVuDpnSPL8aPZe?= =?us-ascii?Q?MF2o5dDCfuz4BtpfN54AVl9GUVyRR7a+LUnBnLVNA+pzARjNhymzUGf9KMU2?= =?us-ascii?Q?+iFTqUIwNY7QRSmWb9IwaZzkHVnQap+tlMI9qesCR7EQg+zOe/6TDQhEmjta?= =?us-ascii?Q?qt6uK8mrrLeIRggyr12l9ghLH5IKZHLubuiieHbdCImaROZzI1b+KSKh+ZwZ?= =?us-ascii?Q?8VUYw6V90KwLV1NRLoNELUifdRIC7oM7Adl2hfZysgzssLQQXD5GEjiZsaq3?= =?us-ascii?Q?IoWxE0rO4DNV2fDQjYJgoPRqG7g08zPt8XRaXTfMTL6CGhsUjxSJMr16lfRk?= =?us-ascii?Q?S4A6Koq5E6ciDW0yzhwwX7j/qZYLeUOpamVJM5PD3sIaX/50SspuluC2sdC7?= =?us-ascii?Q?ILgYBo2QV5d2DGvNtijZZbeFWaQtDIyF76lDJtXysAmRixWoY25fsERnoplg?= =?us-ascii?Q?xq9mnBtlF3gaSI6ec7Po2AEkDRDa+HekKtZPIZifAB7RPKzphVLrq7j1LqP1?= =?us-ascii?Q?TCexi4pynKVYaCk5P/CImtrGpyj/cGX4sCjELRg5mMpUzCRb2PLOsrT61G80?= =?us-ascii?Q?PSycsxpWixDb8FLKiFQzpA+nbMcMGW2QzjIOBoba31QxcQIQqQu/sWCV239/?= =?us-ascii?Q?lsfz948GokH6QluoYJ+aZonFDnUnQm2rH5dodAFMNJaufE5Y4jAtWQ2mlmvX?= =?us-ascii?Q?NuIxipMrN19WaGKEiLWTO0wWUs5xtSf01UtLWruPJAFSSDaB8tGHCclU8wqp?= =?us-ascii?Q?eqi3g2YQGrQCbpaDkIecHEcz6XLHpUbFJ8hDMvlZA0VEIcY0BiaYb31hpYB7?= =?us-ascii?Q?eP+ObPDob4v19MJBkyE95ltECbpOPzgcSEYlnRM8elEtKRiQvkW9ka7lNU1g?= =?us-ascii?Q?LADRYoGjjKVv09EnEhaeDTXipga+CkO37ND4L1NOfh0ma7hzByzZSFjHzOzU?= =?us-ascii?Q?da3E3Tp7/BYo/2V1MegjFaAHfVm0toLZdtOu6EYmwvUEm8SAhkyFXHkaJqiJ?= =?us-ascii?Q?dQIinvVtaT1gMLJgrICMfwQdLwV5WaJntkYSdlZzexJLc5j8LxlOzwy8avEl?= =?us-ascii?Q?b+ConXckH4lbzVWyPCTG6raTPCZHtkIVBoz9dQiIzXJd41eE5Ami9TS1rIP+?= =?us-ascii?Q?HQ2iRNLz2qD8rDFnrWfn4Gtbqxkaf98aMuACjNMBd3LRMlTJVGGfiA=3D=3D?= 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:(13230040)(1800799024)(376014)(82310400026)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 18:20:47.7878 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 277eef40-05ee-46df-79a1-08dd76ca15e7 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: MWH0EPF000989E7.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4251 Content-Type: text/plain; charset="utf-8" A new version of XPCS access routines have been introduced, add the support to xgbe_pci_probe() to use these routines. Signed-off-by: Raju Rangoju --- drivers/net/ethernet/amd/xgbe/xgbe-common.h | 5 ++++ drivers/net/ethernet/amd/xgbe/xgbe-pci.c | 32 +++++++++++++++------ drivers/net/ethernet/amd/xgbe/xgbe.h | 1 + 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-common.h b/drivers/net/ethe= rnet/amd/xgbe/xgbe-common.h index e3d33f5b9642..e1296cbf4ff3 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe-common.h +++ b/drivers/net/ethernet/amd/xgbe/xgbe-common.h @@ -791,6 +791,11 @@ #define PCS_V2_RV_WINDOW_SELECT 0x1064 #define PCS_V2_YC_WINDOW_DEF 0x18060 #define PCS_V2_YC_WINDOW_SELECT 0x18064 +#define PCS_V3_RN_WINDOW_DEF 0xf8078 +#define PCS_V3_RN_WINDOW_SELECT 0xf807c + +#define PCS_RN_SMN_BASE_ADDR 0x11e00000 +#define PCS_RN_PORT_ADDR_SIZE 0x100000 =20 /* PCS register entry bit positions and sizes */ #define PCS_V2_WINDOW_DEF_OFFSET_INDEX 6 diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-pci.c b/drivers/net/etherne= t/amd/xgbe/xgbe-pci.c index d36446e76d0a..d692f99aa231 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe-pci.c +++ b/drivers/net/ethernet/amd/xgbe/xgbe-pci.c @@ -98,14 +98,14 @@ static int xgbe_config_irqs(struct xgbe_prv_data *pdata) =20 static int xgbe_pci_probe(struct pci_dev *pdev, const struct pci_device_id= *id) { - struct xgbe_prv_data *pdata; - struct device *dev =3D &pdev->dev; void __iomem * const *iomap_table; - struct pci_dev *rdev; + unsigned int port_addr_size, reg; + struct device *dev =3D &pdev->dev; + struct xgbe_prv_data *pdata; unsigned int ma_lo, ma_hi; - unsigned int reg; - int bar_mask; - int ret; + struct pci_dev *rdev; + int bar_mask, ret; + u32 address; =20 pdata =3D xgbe_alloc_pdata(dev); if (IS_ERR(pdata)) { @@ -181,6 +181,10 @@ static int xgbe_pci_probe(struct pci_dev *pdev, const = struct pci_device_id *id) /* Yellow Carp devices do not need rrc */ pdata->vdata->enable_rrc =3D 0; break; + case XGBE_RN_PCI_DEVICE_ID: + pdata->xpcs_window_def_reg =3D PCS_V3_RN_WINDOW_DEF; + pdata->xpcs_window_sel_reg =3D PCS_V3_RN_WINDOW_SELECT; + break; default: pdata->xpcs_window_def_reg =3D PCS_V2_WINDOW_DEF; pdata->xpcs_window_sel_reg =3D PCS_V2_WINDOW_SELECT; @@ -190,10 +194,22 @@ static int xgbe_pci_probe(struct pci_dev *pdev, const= struct pci_device_id *id) pdata->xpcs_window_def_reg =3D PCS_V2_WINDOW_DEF; pdata->xpcs_window_sel_reg =3D PCS_V2_WINDOW_SELECT; } - pci_dev_put(rdev); =20 /* Configure the PCS indirect addressing support */ - reg =3D XPCS32_IOREAD(pdata, pdata->xpcs_window_def_reg); + if (pdata->vdata->xpcs_access =3D=3D XGBE_XPCS_ACCESS_V3) { + reg =3D XP_IOREAD(pdata, XP_PROP_0); + port_addr_size =3D PCS_RN_PORT_ADDR_SIZE * + XP_GET_BITS(reg, XP_PROP_0, PORT_ID); + pdata->xphy_base =3D PCS_RN_SMN_BASE_ADDR + port_addr_size; + + address =3D pdata->xphy_base + (pdata->xpcs_window_def_reg); + pci_write_config_dword(rdev, 0x60, address); + pci_read_config_dword(rdev, 0x64, ®); + } else { + reg =3D XPCS32_IOREAD(pdata, pdata->xpcs_window_def_reg); + } + + pci_dev_put(rdev); pdata->xpcs_window =3D XPCS_GET_BITS(reg, PCS_V2_WINDOW_DEF, OFFSET); pdata->xpcs_window <<=3D 6; pdata->xpcs_window_size =3D XPCS_GET_BITS(reg, PCS_V2_WINDOW_DEF, SIZE); diff --git a/drivers/net/ethernet/amd/xgbe/xgbe.h b/drivers/net/ethernet/am= d/xgbe/xgbe.h index 6c49bf19e537..a21171503ce1 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe.h +++ b/drivers/net/ethernet/amd/xgbe/xgbe.h @@ -241,6 +241,7 @@ /* XGBE PCI device id */ #define XGBE_RV_PCI_DEVICE_ID 0x15d0 #define XGBE_YC_PCI_DEVICE_ID 0x14b5 +#define XGBE_RN_PCI_DEVICE_ID 0x1630 =20 /* Generic low and high masks */ #define XGBE_GEN_HI_MASK GENMASK(31, 16) --=20 2.34.1 From nobody Thu Dec 18 14:40:45 2025 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2082.outbound.protection.outlook.com [40.107.93.82]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9BBBE245027; Tue, 8 Apr 2025 18:20:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.82 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744136460; cv=fail; b=YZNM8BGS0CZKWUrdo/sPfqMOf9YmFyMynN2KVmSdmP8VcJXWTQMwJS4gmYo5eMnux5kupB8BMNvCLov2E69ERQfjQh6U6k5cvuXHSISHu9538iQNwac0aw4YEh7znwrDRHAX//1065F+uOnkeW9YNRCfXCBbjPg68YxjiSvly4s= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744136460; c=relaxed/simple; bh=27VtPvNCkeQDrNlDen5FFYM3PGXz6V+n5WZfnqUWnk8=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=kp4Wg4eOn7pK8xAiDRVF9CAOe8MRxEna8Ag0KvR4f5K+K5V9uWjSVzZRfWA4TE0CBHxs6XVIWIPVfhEgYTnq62zGLo/tOzKSqQJQ9Pk01U+jv329q6vDLne+KU8gpIRiKdMBC33vMWIcdt8RUrAGlVeUD5Rx96e3ubCJpiU7EvQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=OpK2DfAk; arc=fail smtp.client-ip=40.107.93.82 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="OpK2DfAk" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sW89WDe+s8zcYNsk2bL13jIWMHoYuAYIrCLhkoTUZ4fb2qpYW+R9ZPYHMyvUTCzuW/eDalCosh740U+fZX9z229KQ7FRI5lxX6HKr+rwXRAPDRYQ+BukN77M8Cy5TlwNeLr5K0fbsdi6HEHRhx11Pt5mk4LhB2k6A8clIth6X379D45eU1KXzNbvQeu9UZpQYzRq97BoqSoE/R84ocdXebJua9B022OHw92CMvADsQInFePdbY29ksa6ujUKjCGpc2qJadT55fUvtSWC/IhKzCgw3wx4T0KZMJRV/tZN60FdGG/cA6mSFcSP3Xtw+qSJCbosEt3kQqCpcx30B3diBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=+Q57uMkc6U049FD9XLMsJV6LbX/l61H9NLmHLU96VmU=; b=B27GAxGBbYHhsaKtEYa1kJLdVsGkwAFOijNGATu2qgx+8TsK7tQ9thqUNUSvJHpGYBLEyPPjhuB0KIBsDHgYzTCpmcZtRhPyskVfOoSxmXl3fMxu+pZC3n62KQ9JnisxEw/Ba6mhABWmjpnBSQfBpWGQ796XGJRKvBekhrffaLp0iEwxdKB3eugICiKFlQ4Z8buzAWb22tfZFL+FtN4gtFTaloocEDst9E4KzsOk4tOq5nPNO3OuyE+teNJ7g6EwTSjxWAPgktJgMg8SiDZaJaspOb5omDLQcFtc/woUm/d7ntKuJEQc2DpIE9KS6HS+0rG2a2/BOVSLYIMIT1a7Sg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lunn.ch 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=+Q57uMkc6U049FD9XLMsJV6LbX/l61H9NLmHLU96VmU=; b=OpK2DfAkR4+PWzOc0XIOdvubwvq3LasGJ9wCWql0H9MumSEERYXJLnzOxJQk3B/Vy3UVk30+FagLB6fucTRa+wr+2ffIJl4By+SOFltA8QQEkm1YWggMayBZjwtepr8Ofe7YXDRcXKQLzS+/nVUndRjXlu2XOyKr7aqXWNey0WE= Received: from MW4PR04CA0304.namprd04.prod.outlook.com (2603:10b6:303:82::9) by SJ1PR12MB6220.namprd12.prod.outlook.com (2603:10b6:a03:455::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.35; Tue, 8 Apr 2025 18:20:54 +0000 Received: from MWH0EPF000989EC.namprd02.prod.outlook.com (2603:10b6:303:82:cafe::bb) by MW4PR04CA0304.outlook.office365.com (2603:10b6:303:82::9) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8606.36 via Frontend Transport; Tue, 8 Apr 2025 18:20:54 +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 MWH0EPF000989EC.mail.protection.outlook.com (10.167.241.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8606.22 via Frontend Transport; Tue, 8 Apr 2025 18:20:53 +0000 Received: from airavat.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.39; Tue, 8 Apr 2025 13:20:49 -0500 From: Raju Rangoju To: , , , , CC: , , , Raju Rangoju Subject: [PATCH net-next 5/5] amd-xgbe: add support for new pci device id 0x1641 Date: Tue, 8 Apr 2025 23:50:01 +0530 Message-ID: <20250408182001.4072954-6-Raju.Rangoju@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250408182001.4072954-1-Raju.Rangoju@amd.com> References: <20250408182001.4072954-1-Raju.Rangoju@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: MWH0EPF000989EC:EE_|SJ1PR12MB6220:EE_ X-MS-Office365-Filtering-Correlation-Id: 00162291-50d3-4cdd-546f-08dd76ca194a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?QhBlj8RJWdb4m8ospuWSsnwu3AdiLnAH1uVy9qSzvW+qmhWKkwlg+u3VXVDo?= =?us-ascii?Q?Ei0H8FSEVSP0n8qZpCr0qtaJByPSOIwlk25Emosm4xPyJNeCRf8v1LL0ZWWs?= =?us-ascii?Q?q8J55eNYtyuF2FBhsc396dnqXj8zTEmuELGD/2uP/DUysubrjPlqc2K15l3f?= =?us-ascii?Q?+1hfZvdgpEkbMUQarA1AG/UGo14JMgnvuTAYyGgS3Tqw64wv3TgMaqeX/UFr?= =?us-ascii?Q?1hYSV+thH8uFc0PtXSaf53JIGH3dtGMfYAP6bs1XJWMq5TJ091mOH+NyXfzU?= =?us-ascii?Q?LVaeKd9zV4pnUQw+Vz0Xf7ARpDFqLwobDhiI7lcNCM26HQw+TIRFliiwVdMc?= =?us-ascii?Q?Khd5w6qC8Ox1Zg8FKjtNMctYVvkeSmHKYs7/vhrHVTArtSGC8DQq3szoHKjP?= =?us-ascii?Q?nXCkxpvkjf777eVwflfmb01CNHv1uC1aE5vvDxdA+C1xHam8HwLbl0tmtVOU?= =?us-ascii?Q?d6ZQ6VpoCC+HrSZ6hO1DmsL+HfE8ELX8CwPtuMJX6TBcMA0X+q+YENmtG6Nb?= =?us-ascii?Q?a8Ko2PSgk8t2VIVABysxxmqK8Lq9I2RmKwX1/Qw9UMh1KEVjlpTHD0ecK2Q6?= =?us-ascii?Q?nX6mmKASv5ud1+xqUsOdhyQLJdmLuwSzo65dGd3UWK6iR+ZltxE3V8RDUNmR?= =?us-ascii?Q?79d8oaNcWQyoxAGvo8eSlpVSfj2nb/G7Mwrb93eUI+1U1gESBQTnla0XxjFy?= =?us-ascii?Q?G1u9UforfP7I0WO5WZM7U54uU8odAV/LR63v+u1XP+6RHZB7P7WKVVGfkqZ3?= =?us-ascii?Q?o6tckvyieKZRxWjKVgEYB/0uFe3MD+n6dfLC0ZW04rVvVDwA0gvt4FyrLF9p?= =?us-ascii?Q?vUapAtTauoEsSlduzkZ8Ycl97KGRNGVM+17Xx4FG+C3n9wgoKJ6+HSNeeBz8?= =?us-ascii?Q?U4VKb9RotX5YHnMvjahhjvF3KhGqWxqhM12YsztIxHIM6EDdJDQuWPqMU57z?= =?us-ascii?Q?mcniHHAavNFjTl3VTC+SLIST4TZB0ZsPYszXfio2R08vz5waAYiTRU2KDn+c?= =?us-ascii?Q?ntjiWU4Zl4w5b1S+tLkSuoRvl/6u6PALrdLZAilCqORN7U5Dr3ZHTzU3NQRy?= =?us-ascii?Q?rJT5eRHyym7I14vD/RbyEWbcCI58miwsj7ymfbUBtZll9n7YgiQbchAYhEZ1?= =?us-ascii?Q?7UUW5bwtU/T028cKAsh1uCvUy87abdq9wdNrJAhnqmkLRfkjpEweg3h5UC5L?= =?us-ascii?Q?XM46R2F19D1Ne9R7zGc6WvVK4EFiFusBMGlffz8LsozWVWJD64J6cczwFYiM?= =?us-ascii?Q?2UddidwGL6d443mymHgJSF5oPvkTju3ExBmB+c/3e3bzA0lmOTJFB7ERe4pI?= =?us-ascii?Q?2OZO0ycf78L8fcGdQubyq/o+YCKjwOuVK+cTPYl7DboiAkKtnDQARrK56z6F?= =?us-ascii?Q?K/zPY0zRSNIVfRrQRWHSniVma0j3HwVcI/wkIDjIP+3wnwUePE5bpRFREUjR?= =?us-ascii?Q?eRh0Q4lUKsBnIifGybq67QOf2Na3Qgxb7RhyN/iT3vOQzg/ZNJWKsQ=3D=3D?= 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:(13230040)(376014)(82310400026)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 18:20:53.4845 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 00162291-50d3-4cdd-546f-08dd76ca194a 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: MWH0EPF000989EC.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6220 Content-Type: text/plain; charset="utf-8" Add support for new pci device id 0x1641 to register Crater device with PCIe. Signed-off-by: Raju Rangoju --- drivers/net/ethernet/amd/xgbe/xgbe-pci.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-pci.c b/drivers/net/etherne= t/amd/xgbe/xgbe-pci.c index d692f99aa231..c6662dc1a25d 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe-pci.c +++ b/drivers/net/ethernet/amd/xgbe/xgbe-pci.c @@ -387,6 +387,22 @@ static int __maybe_unused xgbe_pci_resume(struct devic= e *dev) return ret; } =20 +static struct xgbe_version_data xgbe_v3 =3D { + .init_function_ptrs_phy_impl =3D xgbe_init_function_ptrs_phy_v2, + .xpcs_access =3D XGBE_XPCS_ACCESS_V3, + .mmc_64bit =3D 1, + .tx_max_fifo_size =3D 65536, + .rx_max_fifo_size =3D 65536, + .tx_tstamp_workaround =3D 1, + .ecc_support =3D 1, + .i2c_support =3D 1, + .irq_reissue_support =3D 1, + .tx_desc_prefetch =3D 5, + .rx_desc_prefetch =3D 5, + .an_cdr_workaround =3D 0, + .enable_rrc =3D 0, +}; + static struct xgbe_version_data xgbe_v2a =3D { .init_function_ptrs_phy_impl =3D xgbe_init_function_ptrs_phy_v2, .xpcs_access =3D XGBE_XPCS_ACCESS_V2, @@ -424,6 +440,8 @@ static const struct pci_device_id xgbe_pci_table[] =3D { .driver_data =3D (kernel_ulong_t)&xgbe_v2a }, { PCI_VDEVICE(AMD, 0x1459), .driver_data =3D (kernel_ulong_t)&xgbe_v2b }, + { PCI_VDEVICE(AMD, 0x1641), + .driver_data =3D (kernel_ulong_t)&xgbe_v3 }, /* Last entry must be zero */ { 0, } }; --=20 2.34.1