From patchwork Thu Mar 13 15:38:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 14015332 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6BABEC282EC for ; Thu, 13 Mar 2025 15:42:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=MD6obUYyabkRBBBKyx3KwDiZhXHhwe6nCrrs1df7P+E=; b=1MH5jV8NIxBu8u4vtqhMwSfLab CoKyLwmO4Dv1AO9ZOvHf6QCQMaT7eE+Y/jpvIjPFqIXJuwQ7haovuIeBTOaQGierqcRoWiZZj9gg0 OsCD1lKcBdf95OK0yx4J/9/GFjZRQpaZd2XpUKWmZySTtiAsQmtfzNzBeukAJ5df/PfnYiP99ODjS kAyviD0wBaOPFqLsMul8mNWgnyFuP4XfIC18PxXOEw0Swc+RwZJxg7rOxwUyLh6owxEJJFz46pP30 SegkLqOUqnSPRh+ziNgAqzPdwM8l+93L/OWjNkoeTs9kqumQuvgG7UtSTjXKswHWutPUwwAX0PPTx nv/KvOvA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tskhZ-0000000Bh8m-2cNh; Thu, 13 Mar 2025 15:42:29 +0000 Received: from mail-francecentralazlp170130007.outbound.protection.outlook.com ([2a01:111:f403:c20a::7] helo=PA4PR04CU001.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tskeH-0000000BgVm-3oUP for linux-arm-kernel@lists.infradead.org; Thu, 13 Mar 2025 15:39:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XD7vc6vyOVdUSQ8T6jMiFfZBmgYuGWccjPB9K0hyKd8g21jisZstUVmCZjMzipah6uFJq2NTwAkSN8q3NEXqlAkdpsP60vPoxp2yL7F4GRPrMWcMvMzsQreubEhUPVe+JDBLBjj8+0jvnFCFT7a3EzeoD20OMDpDKNjtub2xp6gRgSKXW2JuXZEvby1MaYJJWfwbeq8O/UKEvURva85pwgARg+6JBc1AXUioQb3QBvY3eZ9yM/ZHoHJitPZHQaoKDD9JKE+7303srudwVD8djFyfIX+8nNlsxk1qAW5OkUvQYLgez2eh6tun2+bhcgZi2dUZ1T/vU/Dwf/0pOLt6eQ== 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=MD6obUYyabkRBBBKyx3KwDiZhXHhwe6nCrrs1df7P+E=; b=NA5ZdS9d1xzJ6DrAv8HxwsrAswUHSVDltUr7DIY4cTh4L3SHk89IXBahWMgZ5Ig47K1elAe3328sp5g6UTlOQDPESHIGDPcTYb1bsMoIcLHURNgnFubvUtct9udSJhsTePB7y6BF/eWrdqVEvnMD+VfoOAlYUHRFvxNdwFRK6DLIFt3jysSbOJd94GezUZ0s7+g8vyReydgj6Z0NVtC2rA1BranAzyVnQl23/j67tSFmHfLwlU2rYqtENKib0wcVC/7T+ogVLuRwQLUD26hVyRZUh+IcM+njRzGlmOwgOR2zkwxFejAZDyIVaNysmC1GZGYEj2cmV8dupUXYetBJ/A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MD6obUYyabkRBBBKyx3KwDiZhXHhwe6nCrrs1df7P+E=; b=Cy9q8FiaqOzmVmPWOOCcjT4yJq0Vk0yXKHjGJ1QQCdw05jr3EtRCcHdw/EZ7LRhmjPTDLyESEsEnYZeF7ETx+GW8Cs8PYcqlr1k9Lo+85VxSvXyc0eGQ27Uk59v8twrqyJ9Q8QQyPCF9irBIXuK2oOMw2jqBbOTCYwn6/GxKUyRUtXfQDohrPqEs8vpBZQo3hpBae9UJQmIjS08jMsZ/BBJ6e8k70Wp+pumJnze8qCdJab2vT02L/MWuMjPtzgWdAj+2wHEly0eeFBWifzTO2V6+mIu9E8WoPV16q1a+yZcIdpaAdnD8AooOUFTC/poGxcgdK+z7fz0wgtEVWHO9aA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by AS8PR04MB8119.eurprd04.prod.outlook.com (2603:10a6:20b:3f9::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.25; Thu, 13 Mar 2025 15:39:02 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%3]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025 15:39:02 +0000 From: Frank Li Date: Thu, 13 Mar 2025 11:38:37 -0400 Subject: [PATCH v11 01/11] PCI: dwc: Use resource start as iomap() input in dw_pcie_pme_turn_off() Message-Id: <20250313-pci_fixup_addr-v11-1-01d2313502ab@nxp.com> References: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> In-Reply-To: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> To: Rob Herring , Saravana Kannan , Jingoo Han , Manivannan Sadhasivam , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy?= =?utf-8?q?=C5=84ski?= , Bjorn Helgaas , Richard Zhu , Lucas Stach , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Niklas Cassel , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1741880335; l=1398; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=fGknCafYNnH1QeTy4gIeyaSkKKRcngp/TKUtFyH3iuA=; b=9PnwmOe7/c4YFdCLeILPgOltk1k3JaUflkBvrre9T2Qi/VklLhKbqZZFWKDcoRSXChlOGMWM6 za8d20vrm61A2QsKF7lQqZ+IEJr8J7P2YBtEnoubMhIqVXOa2xmfogc X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SA9PR13CA0038.namprd13.prod.outlook.com (2603:10b6:806:22::13) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AS8PR04MB8119:EE_ X-MS-Office365-Filtering-Correlation-Id: 19f93b16-afac-4bf6-665a-08dd62452dfa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|376014|7416014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?/iirg56i2Bh2fNEjqPrsdc5Wa5YGACa?= =?utf-8?q?ZJKdcUyhHPocMvHNXGRyuR28+oOwOiRJTDQ6E7TmEekNz9MJyE9YmFOO2/RUIldd2?= =?utf-8?q?Zppl+q2QIlKAFaUdONsc+3hXFrnDIjqFKTiMiiELPeoEQb33u8XcI9g3IqWnxKGEC?= =?utf-8?q?fwNo3OhbXQc3WYV4vPcyrrpqSukWj+9Et4yTRM/PE4YM9O55a0YSyYhMRznNvcA8g?= =?utf-8?q?Kvff6gIvzjUfHi+1LHsNtq5+GcBIAr3RosQaDVWHLfjsupTl9R3vyi8knBzY2k3J2?= =?utf-8?q?X8VnurW9H+SoWxOc56rhhGvxGmymQIl4cgyYGDeh5wVcG7gNIJ7ZBfCU1sWMgcPln?= =?utf-8?q?jc5V6cecXhnv7l18Z15fUoq5hw4jZAcglzEUIxeJsTYMFpZ1zKcxjZJctQSgzkm+2?= =?utf-8?q?dSEQSl0CXxt++dlYKn0+9EecDYeFG2OxB/5RSK0+awZjw0oV40GIGznXGn2oo0+P5?= =?utf-8?q?fheAxj+LxLvoqxX/c+a2RPj7pQlzdX935QZtcuF2BHwP+SDBBZNYwbLKEpVd+OEiu?= =?utf-8?q?//I5QpdQVIpfuTubI6f6u9GcA/mJC5YFzmlXeuIrRY5Be+tsV2e/iB2ooHjPSCHZn?= =?utf-8?q?DA0/Yv3XbeHache+iiiKAVX/H/6LNYv3u4Vj927pCF1kal6IrZ1eXBlFS5Tf5T3gd?= =?utf-8?q?47PmbO2WkbgXsa+0qTTBwH++FRk2+ewdrILHBQBtMbE4uIlmDtuVcCOZhKyH/j2qI?= =?utf-8?q?t3LAojFUYYS4UByQ4dXT7BcCLyeKWbFkvk+lXTPpRtN1/L5t2AIvWKD6+Mpq6YmpI?= =?utf-8?q?YCwuJGEMLOG04dnCpUWIdihvd7EZRkVR2wflTHumqZLeY+DkJCB7umJgZ7NzG9NjX?= =?utf-8?q?j04iZXgnTtscLAEf1uqL4zSr3NgQURxO9dspIYbZqcMRVNtLhOFSgZOevMfz/4JNC?= =?utf-8?q?RR7Aqwqh8Q/XzAePFwazLJmAG7m2MfhfGfyeSoMjca96b6PSaWSBJhV/GzIFSEp+D?= =?utf-8?q?enRLyV9IYQlClDQZl+z+9MtGjXzJRo8LUiY92uY4lVvo/X5Ekmu5kkwDLhTHH7/Ml?= =?utf-8?q?lyxFhd0GdFHwmlCcjTouXhVQDY+SsjWxM4zE0AX5XsQ7BXXR7SFtCnZJnLJV3zOMM?= =?utf-8?q?Z5Y+R7ct1uaXADLu8Parf3iRKLmlA3vPuDUu7rn4DBOwgSrWzSsun3/08FKaLhrUE?= =?utf-8?q?hZxzlZcAfkK+26ZV611RSpYr5IbD+XgLXPQGanntIeJlEWRqc7CxqUwndAEKcB7LY?= =?utf-8?q?rUkrp6kxOc5KsqKVyHQdx3Gj+dZRvmhGumO7GglPlOqo2FPVGZ9qdgP0HS+Ax1SmM?= =?utf-8?q?sbU24qCXm2yujf2yffysYoHVcEUdPMVxhJQtSnpwPgglVGylpIih580hlyFUB7/R/?= =?utf-8?q?DZ/lGbqvsyldSefR6oqBzlZF7BkeEoKRxSyfEav4jlSFZ4SQXi2eG7SjLF9LoLeDf?= =?utf-8?q?I1Cpp8wbLTk/vgdHmARhf2G1ZwPfD0npw=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(7416014)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?cJ3q2R/n4EZP4gXTW9F+tDdl0QYB?= =?utf-8?q?rqgI0DbdE0bZhz93SQKzp3rVWc/gTkTVsA0DbbWoW3e6BG0Xj982C5LolOqJfR7su?= =?utf-8?q?fzRnWU5JbyAKTeE7pj8wFloogYBPGnQbZbx+ZVXvl7BJiGOErDJqLByHMDo1sg+Ca?= =?utf-8?q?nDEuaSPmXpfGhE+O5xrVZ5jk1Lckx6d+Q2QCuGPoiiMulxJJByRwSEBwiQnoBUALV?= =?utf-8?q?pVPbRstdFL4T5xKSR6FLCKNkbAmdGa3B5N8tH8yeZaIjQGZcZxpekeiOaCbBnjV5m?= =?utf-8?q?euayqLZAHcYkMGLVh5zgzkxJQX8RYw9m9CJgBTC+EqfqfxTgGiMbbgTzY3sKu7o3F?= =?utf-8?q?l1tgNvM7BAT3Fyqz/VOgHwZLkpE2Eq15WMHhb4K8Dj9m6TTe3zcq2zBLZOzKz0uVq?= =?utf-8?q?AljO9xd7/zxO7/iaIARdCt704jGQ9vqb5+7gCisGX8KaRQWxHsax5k8TWopmOrlWp?= =?utf-8?q?lymUqxojnc0o+vvfKJBdcoxvW062A5RiJUlFWshfuWst8/FTw4K7ggDWORBMG6QJW?= =?utf-8?q?PSGcBrkZlhOD1vVDGl5lzmY/3vlOoLMsIQOL8+fHcfN6qnLi/9a6TKue9XHRaiiiM?= =?utf-8?q?R58ZZ+S5e50vfZi1vi8BwXNdxPA2b727jfthhe6YI5ikeIJo78ZLIl+gPBNofEsw8?= =?utf-8?q?cRDIhDkWHicxa6ElL3nxPHf1Smrb9G5PDQq/6QXLS/U1jZ1hHQ0p/sjDXey+X4RKz?= =?utf-8?q?O+nHzmTlAUnfL9nkmi+Che0wXNWT7grWWVKeGSs5wTZQ3Vco6izn1hWTBqnHp/rzr?= =?utf-8?q?0gj+qYQ0ZZVi3D25TK8ru13FLYo/AaDvQzSmq1TFJU3FCm980WL6+l2NdmORr38sF?= =?utf-8?q?HiiqH0v0BSi8xz15goi+O7dDO4bvRjBdpaJYiEuZzoC/UPvmKtX91262u4Lj9QP40?= =?utf-8?q?pZyDoMRl7Wc79vOjGY+owEm7UflsBpTYgJjVOCvoIVxXMau41clKc/bKgl8/bhiqf?= =?utf-8?q?UpI6ODQy2iLJnlF4d5ZUCiozk5vIvVj1FiehOe1CI6SJbXACf0wTJdl3ZwXxkeXSz?= =?utf-8?q?WovlT4K48MYpupw/oQ++GwNGwu02b569UbbBIjZ0mlcSEMT7Eo/GvRlAL99yfUIN6?= =?utf-8?q?vbuLWEZPk4v1O3QVxy59FzKM1yMuA0nvwyewQww9WhBG2zXbrGNUr6jFyhfdPYLnX?= =?utf-8?q?qFqmLc39HGbZw7exwgfd9L/yUhQTvt2f2gyoaQpAmGyirQhkAj7l+7b8fmsyGSfjA?= =?utf-8?q?AUgGRMA3UdZ09Alz9Xqe29cn9sZX/JKnxCbThF4a/x+Rggdeua9uQgY0BUP8USiKN?= =?utf-8?q?A4tisj26Kep0bROVc2TCPV1gZD61mkodcn3nhfboq4kO8Em7QeUHpWr3zu9koRNvz?= =?utf-8?q?IOXAcGd+lVVwYscfJccvAH8AJKqZzQhYYbF9R8+/PP7tulAAU67QdOinRrTsa5bez?= =?utf-8?q?4We+FYz1dX6b0gCwjnZcWR8oTT7ZB7+wCtk7xnJ7Jg8szMLHNNFNIm+tbuyIwRXus?= =?utf-8?q?1AKpCq8zOqNBvPNbfN5Tz6CNAMKHTpK3by2GuyJH/KxNJEujKhaF6GVs=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 19f93b16-afac-4bf6-665a-08dd62452dfa X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 15:39:02.1878 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: hgALZqwDWRbtXV1vNceLBWNiFDo6LlykiyvN+VJMxY7H53JlKmxQ5kvnRFgQpORnftGbY3zxN8FJL/zoH3tAEQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8119 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250313_083905_953575_7CC0E928 X-CRM114-Status: GOOD ( 13.96 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The msg_res region translates writes into PCIe Message TLPs. Previously we mapped this region using atu.cpu_addr, the input address programmed into the ATU. "cpu_addr" is a misnomer because when a bus fabric translates addresses between the CPU and the ATU, the ATU input address is different from the CPU address. A future patch will rename "cpu_addr" and correct the value to be the ATU input address instead of the CPU physical address. Map the msg_res region before writing to it using the msg_res resource start, a CPU physical address. Signed-off-by: Frank Li --- change from v10 to v11 - none change from v9 to v10 - use bjorn's suggested commit messaage. change from v8 to v9 - new patch --- drivers/pci/controller/dwc/pcie-designware-host.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c index ffaded8f2df7b..ae3fd2a5dbf85 100644 --- a/drivers/pci/controller/dwc/pcie-designware-host.c +++ b/drivers/pci/controller/dwc/pcie-designware-host.c @@ -908,7 +908,7 @@ static int dw_pcie_pme_turn_off(struct dw_pcie *pci) if (ret) return ret; - mem = ioremap(atu.cpu_addr, pci->region_align); + mem = ioremap(pci->pp.msg_res->start, pci->region_align); if (!mem) return -ENOMEM; From patchwork Thu Mar 13 15:38:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 14015333 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 7B559C282DE for ; Thu, 13 Mar 2025 15:44:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=7ONGAFiozC9KlAWHis1y3vg6b89w9u0ST/SSVfxNNR4=; b=KcGW0YyBATRYV99psicbqSxKfO IH6ZN7PbS2JdnR3OGbfNyYliOj8fbZFg3vXpUZ7Py6l0txw84pXbnuw+9HSo4q+3G/uexnsr/0UHb XYTzrwJZQFxaW/7HZUNXyvcZJsgljPKLAgQ0lDY1J+Yn2Os1xrgXmDPV32ldzyIzdJkeS0lqCfbB3 v00c/ST0ef/EdwH0h/UiYz+Ty4QelIlCg0qzw1ACicsPSvMJnsf6b+xzX4ofEzkmAUfvjh/XPwMvE NlE0TZYP820Nj1Fhi0wl30qgEdUuVBmXY4ZtCDCcv2/wSCjMmcL/Lm8qlNrfW2KgTP+WJk2HMzxGp gCpDZM5Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tskjD-0000000BhTl-1ZA6; Thu, 13 Mar 2025 15:44:11 +0000 Received: from mail-norwayeastazlp170130007.outbound.protection.outlook.com ([2a01:111:f403:c20f::7] helo=OSPPR02CU001.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tskeO-0000000BgXT-0oea for linux-arm-kernel@lists.infradead.org; Thu, 13 Mar 2025 15:39:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pbKQjQ7fRxMqNiPH3h9zpdyD/Z3YwuuyL2d4gDYZiHZaDBV5IkhJUGlcRAEcc30H3lYD2fbgxB3OaPivJJSZ6YnuwK8q0aDW+H4DZXN+7n+EO/wWcUcDSXn/0YtAww1kaUackUwRoFuMmcjcR5t9OmGEWcmaB2K/DW5XTXMYTTT4RDtGTtAdpAUxuWmxbsqhVIN4pFv24BJVU0R2kgZi/A16aafe3nGRWWU14wkssfXsVWb94MPgQq0S7fXfADKOMDoz1VLWRiAYv6DbzNVtmswXr7JIevqeO2zYegmQGFO9WYPGBtK+IG++AlQkx6C9Inq4gNFca0SWGjMK8m5Jbw== 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=7ONGAFiozC9KlAWHis1y3vg6b89w9u0ST/SSVfxNNR4=; b=rH0C63nb5oV9TnMC1KGrOamYpZn31/tNhuHCkH0Z91mv2uKccIB4Fepjds2uBgD1/4l+52lNaMSGGaG4NYmF5438yjnc/D28D03rBE4SXbB8oI7VaycsNZYJlGvr5+UK/N98o1Jpc15MI36pen0NLTlVuJq8Jn6Vkz731uEzb+eL1ezEN7cIh0dWHedYRZXjiGrFUaq4qA05YwIyiJRfM4S50N9CQvEpArmeT2x05T2ThaoYhzRqn+u1vyKgufXNm8C+pLOLyEAmr1gIDkfpY0L0BGWWExa9EPVXQkUCfE6Jt2z+B/CtAP8scYXv18wcoNdoRcf7H7zh8IRHzjfJ6w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7ONGAFiozC9KlAWHis1y3vg6b89w9u0ST/SSVfxNNR4=; b=Eg9LDaO81mvSlyNyqI8res4aUB10cLicwcdV93ZSaQUmuMSDR6v9G6lRdDu0heXCiFbT+EluuGD9i/cPZgnzPcfDYXDm0xNVEVCG0EzpE3PHh6Y9gENPSmCdhf3E3x3gOR7JysyxAQPb6lh5mroiJXZrESrF/U+wPwIoci0xbjDCDYUs5/+EB25qbVgswaRUXkza6ggPCPxtXvN2kcOTSGwaAspeezJaKHPb3+3A275i6UxHISQAai+CGoqtlEMMHbHOL2ADNmElz0KeugYtBfEN4wMceTnphIM552rAo0HmHXKmWAIQRqXr2E9fdcm8oJz5Q7ZEZiyE7JWD47Bi9g== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by AS8PR04MB8119.eurprd04.prod.outlook.com (2603:10a6:20b:3f9::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.25; Thu, 13 Mar 2025 15:39:06 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%3]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025 15:39:06 +0000 From: Frank Li Date: Thu, 13 Mar 2025 11:38:38 -0400 Subject: [PATCH v11 02/11] PCI: dwc: Rename cpu_addr to parent_bus_addr for ATU configuration Message-Id: <20250313-pci_fixup_addr-v11-2-01d2313502ab@nxp.com> References: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> In-Reply-To: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> To: Rob Herring , Saravana Kannan , Jingoo Han , Manivannan Sadhasivam , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy?= =?utf-8?q?=C5=84ski?= , Bjorn Helgaas , Richard Zhu , Lucas Stach , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Niklas Cassel , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1741880335; l=9728; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=L0tHE6Uv7Ntor/hSxmh5b5ZqhUngTfokw6PJp+gdRVM=; b=uOedPlWlXN3hFasb1tnf8Auz1/8lTTjkq3xjyk11oUCVev5Wdo0cGK7qOp0odEKl/ravh82pm P3v8XuOZ6wKARfU645xv0hi8cNrha1w6WN81PLzec7TzbwC5hc0IsBh X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SA9PR13CA0038.namprd13.prod.outlook.com (2603:10b6:806:22::13) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AS8PR04MB8119:EE_ X-MS-Office365-Filtering-Correlation-Id: ecd51d36-482b-42cc-5f1e-08dd6245304a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|376014|7416014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?FGiJkG5A5AEX6hGSMWrISn7I+wwswDl?= =?utf-8?q?GxZ1zHZvIKCZZl0WaiSFa0SgIuArZRyMRT0jeyonB+2GlsoD7bA36CrYThhDoEDb0?= =?utf-8?q?GkM9fhcAoDefDRUSkBKRLMx3FW6yDkpmPgWvkpBns3cFA9lrC4MR7Kd0Kkm+v9z4R?= =?utf-8?q?dficYgDt0Lmeeu+DrfV+SzreaLAtaKTc/N/K1gja0fJBGD5CxzeSxK54omqkvH1Pm?= =?utf-8?q?T/g/Y/jL1j5vScX9zCb4bMD0NhKEmuonKLLu0l5WnFDGYuZbj5h6RVq/ukycAPM30?= =?utf-8?q?Zi5+UnMog+7sDTSLSa9MMyQ5eiQ2qODMc13nUu3G0qkiCHZM/bdD6lu+Yyz/16FKq?= =?utf-8?q?Y8IY+aJS6x33XxTB/SbMJ0oLGLSRLyfweynSjqeYb5Wr0lpKluhZtHzO889Z4eTf/?= =?utf-8?q?v43uBbQIWpOrGeUurJVksu8OEuKy+zXAYLi17hGvC4vSk+xpyzdlyQdavgRA7LDBo?= =?utf-8?q?iULfu3/EsYQks1zacLFP1zS0+IeMFN2Bd+gPbaBm1pOp5eAS5U//65wLDj1V5lIfw?= =?utf-8?q?k2IkSoTVQI8wNKqyAFupMMUGw7/oIRJdunNmLS8i+k0WwIEcwBa9AQNW6jPeRdYow?= =?utf-8?q?nj2bP98yMgsV259CRfrxYCUWEPC4y0JInPV4DsQKuYA62Ns9hkWO7C1SKT8AANa2o?= =?utf-8?q?KuUgtsJ5ffT4VTcbwqitWCMB5nWfd7abp0btV/T5YickQMRPOMAsG2EzY/Yp+UagQ?= =?utf-8?q?wlj7vNTEla/ExKGknuCzYjR2KcB4EIW4T0KAmaO2xqvVGZM6O2Gac/aE+2n5NagSu?= =?utf-8?q?jgJqePQkQUQsHRvbdQ625elOMtYlOIC6I/BxYyFhogoCxRVsDKyxwt2xspY3UnSVH?= =?utf-8?q?/F0DOso/oX6gW24VxRVmuqpy/vSd/tWcysUIkCtMZNVzhR30fcPUuEGx/uUnF/Na/?= =?utf-8?q?FgQeg1XsOUgTkBwFr976/iYwZLdwqgMC3PR5D1gA2CxnyK0y78NnaqM2vQXLR5AzG?= =?utf-8?q?qeRFj1Xexhxg1/6aMvItXHocRZtSP8SXeijfbYr/D5QL8giTIcZnfzVYhFA9/GvlG?= =?utf-8?q?wtvF7OauLs3Vk6ocZle03zwt57Q+b0ZKABg32tiscggAuhCWDRwQq+ZyGZ72iGLLD?= =?utf-8?q?YwSSo1/ImhCTYUAlLG56tpo8gJTvsCy8ehYVi8lO090a3wln450cskYgmCE1z2Rgr?= =?utf-8?q?zV4xhH44WXkqWe/nwaRekGY/EDbhmf6AL6fLq9KXer/1bxlHfZ59BRMyLvrn3Qo2q?= =?utf-8?q?G0gRwsHAwsoGNfiTuyAq5wnpDz4+cbnxo3Ct9AO7GyEr3joXoXtUBGLVS7flVReIP?= =?utf-8?q?RDF7GmpkwamIL1XInpiXUuYkQ6ggwWaqvprTharza3qL86rrihOD3UPJOlQuzP0wt?= =?utf-8?q?/A58WZMPavo6UapMWxpdHiHGEG/xGIaEqLtb/xBIhs+uwpUDX2//riDijt069mVAZ?= =?utf-8?q?m/AvIIH+G0BY0VkuXYwmz6557zGFXIlSQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(7416014)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?uNeiLT0u/Z0fRqFKpf4OItfBz8wc?= =?utf-8?q?MdrgZd8TyG/SPrjU4ozsOfewvwpZ7S2F6xDcMljKnUT2ekyql1u81HHxWEDaP/IQK?= =?utf-8?q?fa9dFEDx8fR6UB3mGS3SUUsioOzU4BEGf5lMP6nvY0Dqbk46GtsoDgYvH9sebUVUG?= =?utf-8?q?Wh7tfGtZioF2xVF6iHUvxN9ipRUzlC6SU861zpDQBj424NsZkxzwL3YwP9Y1vZ28w?= =?utf-8?q?28LKXkHzkilWKXAW8ZhGRfAFJxl6I9/qgktT5iZTAzuTE3fuxW7BugmRyYUG7/KFq?= =?utf-8?q?XCW/m6eXUrpuyOgOh78Rqg+h4dyrISbB1l6Il1AgfOErF73Py/HV3tOUvr/j25Cn3?= =?utf-8?q?sMxeDrNxHntkNn/vkI+bkpQizbs4TQ4cVWsWvPkGWr24rzq5rB9PzaDoqnx7tWCFQ?= =?utf-8?q?NubploxjpTXQVVTk/yUuc/ZWb42CPeXC9haNP7vdGwFDeyfnl6mxmA1m6SXak/1Z/?= =?utf-8?q?t3EjI/UabYKgSv7hMsIQC0MJpYEs1KEux/+1xKrUA2KAKcbPlLFa+/n/NrNbdJ8Lx?= =?utf-8?q?fT0UfPOARjqAA/Pge1xrhhqedghUvwtcBKJBLhQTAHa/Bwm7xli0xx4b3c9pfJwg7?= =?utf-8?q?/Hdr39hsJiG8/U32nUML7AcUGXNu2mGgskvR3uHnnwRVd9zmYkJ0/uH3fcaYY4l2G?= =?utf-8?q?vIZYu8/K1T5SLIovBpfVtJgtZq5S5G0FZrUxoY3xhs32Twu3QZKYWxHdjcbh9cukL?= =?utf-8?q?1k2yS6VZ2gMGYfWl5PEpSzgFoVzYKtCes2vhKsrKtbk5CvP84cDyhW+ooblR9fksB?= =?utf-8?q?m8TMgWVyYYIj/sfcvWRSrTP/l8OrxFdQfFAQ8u5/awUlkUXPXFxP3Bt6XIZqpSKOU?= =?utf-8?q?cR7X/1ep8Js2FvXWDXT+u6LhRAxwgH/EhUl2uAhzbRLTlpf7ewbO3oBMX/iYApFAX?= =?utf-8?q?/hTgOj8R6UKTOLFxkejSMwK7zPZM3v8UkSZzH4gFOJZkntae91M/D+t8YJYB+juFA?= =?utf-8?q?aFnf5xGC9gjuIgUNpcn/tTSsRjUh4oELaACxxrqd8kTCEWRcwyhX9OjmqMfip3N1l?= =?utf-8?q?57W6hajSqMur/muHf3arAiYcuYHlO0aA5PdvwGBCZV+piCORas2S3zt5OuXvQyglu?= =?utf-8?q?5G4MJ+/xCNeDg4LNKWMe9/Hlaf9WFHWSO1v3DiL8ZmHX91MhxIe2N/qX/PDSprfkt?= =?utf-8?q?/CsGfkrHmv3CYqVwt88C3kX58FqW2XmvmJc9II5vE5Xrr4TnJceJf9Jz7A2UArGh8?= =?utf-8?q?Fii7B8rl2zAVYHAheQYJxxpqqcNvqnDdqTlLlPd6QbdDfe3IqcwlFYNNozzxhmt+H?= =?utf-8?q?k9T4fjMKQZo34NtFQ569llUprHlw3r7xul5VLZFVkg4NxoYwjd/Vl4umCBgTdjZQm?= =?utf-8?q?x1ZL0GZKATpB4Ai4AgNEXUNPxDQ156WYxIYVxqyq9IAD4FObB9irccuF+QBaGidh6?= =?utf-8?q?a92bAeLR0Q6rFqKMFfILOFO69l7lS24vdYOBVVwV+Znmao14qb71Blh9e4NYd4Nrb?= =?utf-8?q?lxbVhqTO2MZy5KkzdpWfHpKIPhgfuZF80i0r/+Qg61V8+LZQL9VJJXE6tUOhYJOho?= =?utf-8?q?kefy9ARcBa9Q?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ecd51d36-482b-42cc-5f1e-08dd6245304a X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 15:39:06.1986 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: BFzdyDjsJorq/UWpT5zYzohbuw6FP5KCcXNejwVU48nnGz0K+8ZEULuZDciQXeSsagKgVCmNjrMrEkogZOVTWA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8119 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250313_083912_403076_E8F8E5CE X-CRM114-Status: GOOD ( 13.70 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Rename `cpu_addr` to `parent_bus_addr` in the DesignWare ATU configuration. The ATU translates parent bus addresses to PCI addresses, which are often the same as CPU addresses but can differ in systems where the bus fabric translates addresses before passing them to the PCIe controller. This renaming clarifies the purpose and avoids confusion. Signed-off-by: Frank Li --- change from v10 to v11 - none change from v9 to v10 - rename header file's cpu_addr for dw_pcie_prog_inbound_atu() and dw_pcie_prog_ep_inbound_atu(); change from v8 to v9 - new patch --- drivers/pci/controller/dwc/pcie-designware-ep.c | 8 +++--- drivers/pci/controller/dwc/pcie-designware-host.c | 12 ++++---- drivers/pci/controller/dwc/pcie-designware.c | 34 +++++++++++------------ drivers/pci/controller/dwc/pcie-designware.h | 7 +++-- 4 files changed, 31 insertions(+), 30 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-designware-ep.c b/drivers/pci/controller/dwc/pcie-designware-ep.c index 8e07d432e74f2..80ac2f9e88eb5 100644 --- a/drivers/pci/controller/dwc/pcie-designware-ep.c +++ b/drivers/pci/controller/dwc/pcie-designware-ep.c @@ -128,7 +128,7 @@ static int dw_pcie_ep_write_header(struct pci_epc *epc, u8 func_no, u8 vfunc_no, } static int dw_pcie_ep_inbound_atu(struct dw_pcie_ep *ep, u8 func_no, int type, - dma_addr_t cpu_addr, enum pci_barno bar, + dma_addr_t parent_bus_addr, enum pci_barno bar, size_t size) { int ret; @@ -146,7 +146,7 @@ static int dw_pcie_ep_inbound_atu(struct dw_pcie_ep *ep, u8 func_no, int type, } ret = dw_pcie_prog_ep_inbound_atu(pci, func_no, free_win, type, - cpu_addr, bar, size); + parent_bus_addr, bar, size); if (ret < 0) { dev_err(pci->dev, "Failed to program IB window\n"); return ret; @@ -181,7 +181,7 @@ static int dw_pcie_ep_outbound_atu(struct dw_pcie_ep *ep, return ret; set_bit(free_win, ep->ob_window_map); - ep->outbound_addr[free_win] = atu->cpu_addr; + ep->outbound_addr[free_win] = atu->parent_bus_addr; return 0; } @@ -333,7 +333,7 @@ static int dw_pcie_ep_map_addr(struct pci_epc *epc, u8 func_no, u8 vfunc_no, atu.func_no = func_no; atu.type = PCIE_ATU_TYPE_MEM; - atu.cpu_addr = addr; + atu.parent_bus_addr = addr; atu.pci_addr = pci_addr; atu.size = size; ret = dw_pcie_ep_outbound_atu(ep, &atu); diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c index ae3fd2a5dbf85..1206b26bff3f2 100644 --- a/drivers/pci/controller/dwc/pcie-designware-host.c +++ b/drivers/pci/controller/dwc/pcie-designware-host.c @@ -616,7 +616,7 @@ static void __iomem *dw_pcie_other_conf_map_bus(struct pci_bus *bus, type = PCIE_ATU_TYPE_CFG1; atu.type = type; - atu.cpu_addr = pp->cfg0_base; + atu.parent_bus_addr = pp->cfg0_base; atu.pci_addr = busdev; atu.size = pp->cfg0_size; @@ -641,7 +641,7 @@ static int dw_pcie_rd_other_conf(struct pci_bus *bus, unsigned int devfn, if (pp->cfg0_io_shared) { atu.type = PCIE_ATU_TYPE_IO; - atu.cpu_addr = pp->io_base; + atu.parent_bus_addr = pp->io_base; atu.pci_addr = pp->io_bus_addr; atu.size = pp->io_size; @@ -667,7 +667,7 @@ static int dw_pcie_wr_other_conf(struct pci_bus *bus, unsigned int devfn, if (pp->cfg0_io_shared) { atu.type = PCIE_ATU_TYPE_IO; - atu.cpu_addr = pp->io_base; + atu.parent_bus_addr = pp->io_base; atu.pci_addr = pp->io_bus_addr; atu.size = pp->io_size; @@ -736,7 +736,7 @@ static int dw_pcie_iatu_setup(struct dw_pcie_rp *pp) atu.index = i; atu.type = PCIE_ATU_TYPE_MEM; - atu.cpu_addr = entry->res->start; + atu.parent_bus_addr = entry->res->start; atu.pci_addr = entry->res->start - entry->offset; /* Adjust iATU size if MSG TLP region was allocated before */ @@ -758,7 +758,7 @@ static int dw_pcie_iatu_setup(struct dw_pcie_rp *pp) if (pci->num_ob_windows > ++i) { atu.index = i; atu.type = PCIE_ATU_TYPE_IO; - atu.cpu_addr = pp->io_base; + atu.parent_bus_addr = pp->io_base; atu.pci_addr = pp->io_bus_addr; atu.size = pp->io_size; @@ -902,7 +902,7 @@ static int dw_pcie_pme_turn_off(struct dw_pcie *pci) atu.size = resource_size(pci->pp.msg_res); atu.index = pci->pp.msg_atu_index; - atu.cpu_addr = pci->pp.msg_res->start; + atu.parent_bus_addr = pci->pp.msg_res->start; ret = dw_pcie_prog_outbound_atu(pci, &atu); if (ret) diff --git a/drivers/pci/controller/dwc/pcie-designware.c b/drivers/pci/controller/dwc/pcie-designware.c index 145e7f579072c..9d0a5f75effcc 100644 --- a/drivers/pci/controller/dwc/pcie-designware.c +++ b/drivers/pci/controller/dwc/pcie-designware.c @@ -470,25 +470,25 @@ static inline u32 dw_pcie_enable_ecrc(u32 val) int dw_pcie_prog_outbound_atu(struct dw_pcie *pci, const struct dw_pcie_ob_atu_cfg *atu) { - u64 cpu_addr = atu->cpu_addr; + u64 parent_bus_addr = atu->parent_bus_addr; u32 retries, val; u64 limit_addr; if (pci->ops && pci->ops->cpu_addr_fixup) - cpu_addr = pci->ops->cpu_addr_fixup(pci, cpu_addr); + parent_bus_addr = pci->ops->cpu_addr_fixup(pci, parent_bus_addr); - limit_addr = cpu_addr + atu->size - 1; + limit_addr = parent_bus_addr + atu->size - 1; - if ((limit_addr & ~pci->region_limit) != (cpu_addr & ~pci->region_limit) || - !IS_ALIGNED(cpu_addr, pci->region_align) || + if ((limit_addr & ~pci->region_limit) != (parent_bus_addr & ~pci->region_limit) || + !IS_ALIGNED(parent_bus_addr, pci->region_align) || !IS_ALIGNED(atu->pci_addr, pci->region_align) || !atu->size) { return -EINVAL; } dw_pcie_writel_atu_ob(pci, atu->index, PCIE_ATU_LOWER_BASE, - lower_32_bits(cpu_addr)); + lower_32_bits(parent_bus_addr)); dw_pcie_writel_atu_ob(pci, atu->index, PCIE_ATU_UPPER_BASE, - upper_32_bits(cpu_addr)); + upper_32_bits(parent_bus_addr)); dw_pcie_writel_atu_ob(pci, atu->index, PCIE_ATU_LIMIT, lower_32_bits(limit_addr)); @@ -502,7 +502,7 @@ int dw_pcie_prog_outbound_atu(struct dw_pcie *pci, upper_32_bits(atu->pci_addr)); val = atu->type | atu->routing | PCIE_ATU_FUNC_NUM(atu->func_no); - if (upper_32_bits(limit_addr) > upper_32_bits(cpu_addr) && + if (upper_32_bits(limit_addr) > upper_32_bits(parent_bus_addr) && dw_pcie_ver_is_ge(pci, 460A)) val |= PCIE_ATU_INCREASE_REGION_SIZE; if (dw_pcie_ver_is(pci, 490A)) @@ -545,13 +545,13 @@ static inline void dw_pcie_writel_atu_ib(struct dw_pcie *pci, u32 index, u32 reg } int dw_pcie_prog_inbound_atu(struct dw_pcie *pci, int index, int type, - u64 cpu_addr, u64 pci_addr, u64 size) + u64 parent_bus_addr, u64 pci_addr, u64 size) { u64 limit_addr = pci_addr + size - 1; u32 retries, val; if ((limit_addr & ~pci->region_limit) != (pci_addr & ~pci->region_limit) || - !IS_ALIGNED(cpu_addr, pci->region_align) || + !IS_ALIGNED(parent_bus_addr, pci->region_align) || !IS_ALIGNED(pci_addr, pci->region_align) || !size) { return -EINVAL; } @@ -568,9 +568,9 @@ int dw_pcie_prog_inbound_atu(struct dw_pcie *pci, int index, int type, upper_32_bits(limit_addr)); dw_pcie_writel_atu_ib(pci, index, PCIE_ATU_LOWER_TARGET, - lower_32_bits(cpu_addr)); + lower_32_bits(parent_bus_addr)); dw_pcie_writel_atu_ib(pci, index, PCIE_ATU_UPPER_TARGET, - upper_32_bits(cpu_addr)); + upper_32_bits(parent_bus_addr)); val = type; if (upper_32_bits(limit_addr) > upper_32_bits(pci_addr) && @@ -597,18 +597,18 @@ int dw_pcie_prog_inbound_atu(struct dw_pcie *pci, int index, int type, } int dw_pcie_prog_ep_inbound_atu(struct dw_pcie *pci, u8 func_no, int index, - int type, u64 cpu_addr, u8 bar, size_t size) + int type, u64 parent_bus_addr, u8 bar, size_t size) { u32 retries, val; - if (!IS_ALIGNED(cpu_addr, pci->region_align) || - !IS_ALIGNED(cpu_addr, size)) + if (!IS_ALIGNED(parent_bus_addr, pci->region_align) || + !IS_ALIGNED(parent_bus_addr, size)) return -EINVAL; dw_pcie_writel_atu_ib(pci, index, PCIE_ATU_LOWER_TARGET, - lower_32_bits(cpu_addr)); + lower_32_bits(parent_bus_addr)); dw_pcie_writel_atu_ib(pci, index, PCIE_ATU_UPPER_TARGET, - upper_32_bits(cpu_addr)); + upper_32_bits(parent_bus_addr)); dw_pcie_writel_atu_ib(pci, index, PCIE_ATU_REGION_CTRL1, type | PCIE_ATU_FUNC_NUM(func_no)); diff --git a/drivers/pci/controller/dwc/pcie-designware.h b/drivers/pci/controller/dwc/pcie-designware.h index 501d9ddfea163..d0d8c622a6e8b 100644 --- a/drivers/pci/controller/dwc/pcie-designware.h +++ b/drivers/pci/controller/dwc/pcie-designware.h @@ -343,7 +343,7 @@ struct dw_pcie_ob_atu_cfg { u8 func_no; u8 code; u8 routing; - u64 cpu_addr; + u64 parent_bus_addr; u64 pci_addr; u64 size; }; @@ -491,9 +491,10 @@ int dw_pcie_wait_for_link(struct dw_pcie *pci); int dw_pcie_prog_outbound_atu(struct dw_pcie *pci, const struct dw_pcie_ob_atu_cfg *atu); int dw_pcie_prog_inbound_atu(struct dw_pcie *pci, int index, int type, - u64 cpu_addr, u64 pci_addr, u64 size); + u64 parent_bus_addr, u64 pci_addr, u64 size); int dw_pcie_prog_ep_inbound_atu(struct dw_pcie *pci, u8 func_no, int index, - int type, u64 cpu_addr, u8 bar, size_t size); + int type, u64 parent_bus_addr, + u8 bar, size_t size); void dw_pcie_disable_atu(struct dw_pcie *pci, u32 dir, int index); void dw_pcie_setup(struct dw_pcie *pci); void dw_pcie_iatu_detect(struct dw_pcie *pci); From patchwork Thu Mar 13 15:38:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 14015334 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9F181C282DE for ; Thu, 13 Mar 2025 15:46:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=4oxuv6bJx1270PTY+vW0lcN/N+3YYVKRePdGbD++6zw=; b=134BXrd0FRJ89JjU6ggdIRN54j 0v+aRDIGbeo60S1fQznOIMQJKsCxPiYvfAMV/iah7VBSW/WHErlD+aCg5N2LtJyXc8m3K0xtM49Jl M9rjqlWk15xjHnwdXMwEte49WiiJ9Bzht3+LJJYZgpCfBp24tbd/PAKdxma1hJtaeSekvdYRTK/Eg XgQhW395fSetm8forkVibdoTaxawht7Y7cdAeX//wQyOg9DLQ24RVdrYKyf5GtEqPuEDQzKP+QLIX Vsjdysu2tZuizbM7uR0i673C2vvcryxDSwd5pZr4ybP5sB667LI6GbHZ7gBvQdEgaa+70bypoWH9Y gIwikBVw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tskkr-0000000BhcY-08HO; Thu, 13 Mar 2025 15:45:53 +0000 Received: from mail-norwayeastazlp170130007.outbound.protection.outlook.com ([2a01:111:f403:c20f::7] helo=OSPPR02CU001.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tskeP-0000000BgXT-3sDq for linux-arm-kernel@lists.infradead.org; Thu, 13 Mar 2025 15:39:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SG2v+vrrF+StX4SZyS0d9IgQI9TvpaV50sInUW5qaRUMtIwXFxRmwsUFAw026QKSBa4ReG/Vdek8lyxU1qr2y2v8np2WHApMyjxqf/Pv8L4lirL9FZajpCWdhPo98pr1eQAJ7cO0wW9esg0jm1WQu749wU2Od77ccuEX/DuQrTXfEAGy7PlSaxyJbuKHjLHcjpKmwap3u9TmhqJAvjfrreMKsX2YDDhXQUADwDXwMEREBJET0ZsLLHOhPA7smV4BuyWxNpjGIgtdOsHfw2m6BapYxfCM4qmyUk7jAMfQDal6t52MxwZU7ylZiVgndn+5K5FXcueYGyFm+rK4AEac2g== 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=4oxuv6bJx1270PTY+vW0lcN/N+3YYVKRePdGbD++6zw=; b=tae40nrLGW5NePmGLIgonI1qc1SIEtkEN4gcyBsmWba8+JO81S1HvS/3wUQ+Fp73RIYwYcBCGVmQc59AKS+EWLWRLOyt3j7Ci2ld0D+cGt65V2y2T3dsvczcWLY3eMzlsPyMFi6hp0HMrAkCGHfkzFoIjlDQ77ByVtLofWmRdgWjOJdLwu3f++7h3VF83jVVQU1pK7GrrJHD7U4yyeqfdeI0uTiw06UnzFp5eAzgsc6wX2zyyUxMv23GU5dYgSk80MVixQtunABkU6OdCGfwgxJOvOmkvdSsGcIJljH+2ARalHPxoD9WUC9R49Ioczi7+Qnei6Z7TVF+SdO6P+JXuw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4oxuv6bJx1270PTY+vW0lcN/N+3YYVKRePdGbD++6zw=; b=cBBqn1COswX2LUDYF7WHfoV3cska7oa4mlPxM2UIfZl1tnih57LbXUiPOeDEBDSQ/L0y0oNaFII3bqg0PIjJG/EzAkWMr+7mIVuFsco+oDDv9UFqHxO3wf7vuinwz3GDO1zR1Yav4oniO4shSS/GNs/kegMLhW95yGdspmFkqbdKn9mbN9i7n0lV/20cycSh6DzLeJhNPpqNcrmqemVdq9gOT/Iiv8xMgVQnoxXdExPtL887icqIJzQN1/SDmoXZOoV6lYMP+zTM2G6O8jCQyGCYH1KqHoaOkXzjs5wyFS1/M9WlzQ8LAdbgaU51YsFvF/fEFuW5aa57TJRm/KFs2Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by AS8PR04MB8119.eurprd04.prod.outlook.com (2603:10a6:20b:3f9::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.25; Thu, 13 Mar 2025 15:39:09 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%3]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025 15:39:09 +0000 From: Frank Li Date: Thu, 13 Mar 2025 11:38:39 -0400 Subject: [PATCH v11 03/11] PCI: dwc: Move cfg0 setup to dw_pcie_cfg0_setup() Message-Id: <20250313-pci_fixup_addr-v11-3-01d2313502ab@nxp.com> References: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> In-Reply-To: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> To: Rob Herring , Saravana Kannan , Jingoo Han , Manivannan Sadhasivam , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy?= =?utf-8?q?=C5=84ski?= , Bjorn Helgaas , Richard Zhu , Lucas Stach , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Niklas Cassel , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1741880335; l=2742; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=oTmyMZfU8537ytBOcf3bYNYM+J10fr3vTNA/77LnHNQ=; b=m/jPcHO21NiZcl4xWUhm/nXHSQNuM50MwSruWaaPH6o6DNkqoR1R3oSrT2X2SQcm7MXZ6Or0+ 9EVjGgHLXK4BoHK3VEoAYuy0y+NUGo6WGMhSW8H5H4iB7lGewKxR93L X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SA9PR13CA0038.namprd13.prod.outlook.com (2603:10b6:806:22::13) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AS8PR04MB8119:EE_ X-MS-Office365-Filtering-Correlation-Id: 6549a310-2b5a-44ae-0c0c-08dd6245324f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|376014|7416014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?iR6dAF26AXVxVRgx19r71BfnQXAg/k8?= =?utf-8?q?ioJYiPgttEAnQo8aSacbNQLr2t5r8XhFR+TxxjQnOjFZxc8nvRQ3P+yN3iqtdfmKV?= =?utf-8?q?Ro1gsTwZz4NGiW2RkiILIiblmiNzqg4PdvcUkNYCIuZ/gSDr0JXF9RJt4b6JU5NBY?= =?utf-8?q?d90w57x2bdtZTo30v0TbEmgll+1qfmsAijGH8+KCMLSQ6FrhWWz0z0PdqTPUFE7SR?= =?utf-8?q?QofWyLLrIoPDIuXh6c8z19GnhZr38oe7IVDd8w/mJirVJvopeX7gcy+9h6trQJqFF?= =?utf-8?q?nANjE0yhjK6Wj2To8+IcbGiFjNvKZtHb89hQNyw6tt9jkPL6N8HZbHftsafyY1yCX?= =?utf-8?q?QSsfcaG387ep8wW51m/UXVOTRk8V98lxSlaVzyZ84vfvjJwUBdVQl2/OBgJrTVuta?= =?utf-8?q?9ClTapiH/a8UJAgURlbViR4xa9vFK0PsRRhb45VkoYXtdT+JdMHSpsBCzda+XU+1K?= =?utf-8?q?oNJJJU1N4vX3/LHtpYfN3cyXCbX1ULq5C2xX2X84yGb5CA66AnRuOkc0+lmrByd45?= =?utf-8?q?rF8ky5AtRriPDC1WOv4eY3lnfqTMc7EjGBgfUkw5nnOCXFKAkzyUCumVNpPHwsS5N?= =?utf-8?q?zJQWVka2TTZ2b2MdyihagBZh0renPNUBF00px8bd7xz+oIEs1h/acbkqdm5Fyoprz?= =?utf-8?q?aAxTcCZ5a/tELvRuePgMNIRsc9aTm5EW/TdmrhEHJd0c+HAEF9iXRVuOSAFvSc0eI?= =?utf-8?q?SSxaQST1gfz2lF5qM8IRCITenfkyPj5gleKFc2AB3rbZjAx6FKvrkisczwoqcebVv?= =?utf-8?q?nbZwLdJtc7uqgLZlS8aT0IiZdgojzuWFfoFUMeApPAZSQJsKomJfeUEdnS/JM0Bb3?= =?utf-8?q?iAdyxXnDgQcnsVD8JdA27i+SC6w2oFfXWoF25NaWBENklD4lX+mR/y5/N/aKriC78?= =?utf-8?q?kAXqsPqf/G0ogmBu2GYwX7Nd+DPE8+PxDqBPaYkahS3/cqApB0xbbAKAKxIOl3SNB?= =?utf-8?q?JqCfUYAJ1/a1cR/wa9vM7XdX/k0PJnyaWBV4T6LAUgY2HSMntGTCjtKTL2YtWt/WV?= =?utf-8?q?Ff4+6HpUQU54GX8Il0+T1Jg4+hfrJcpaZUh4VGWYzce16uOjMBjN3I4DttvOyUsz2?= =?utf-8?q?Ut2+xksBUwHm7wb+DTBcF1/UDkk7vm34Ey3TI4Jdm9PLIoy0J9o79PzsnWNwlMXfP?= =?utf-8?q?uU8+DNfEw5Lh30yTdxdrHm0xkHPVEE8XmtHP6acnDjkquHFDcydlpcLhYUqwSqGYj?= =?utf-8?q?H/qGecseD2xzbDUAiqKYGunxbgGBhGXEg/7Y18qgc73oexqT7v1yHSqd2e4u6qp84?= =?utf-8?q?zt79KOF+v+jQJBF6eC93tJMG4UNynlD8yv4MkVbMyWwNusUQ6fn3uLI0AnbJyvUrW?= =?utf-8?q?4YBBHzAPuEn/awXqs4BMKhhBUOjt5LKkew=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(7416014)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?/GeWJkvY0LCVqN9sNWVjeWKFCGft?= =?utf-8?q?Jw32TCL0s2U8qdWZy2VEFD/HwmN2xxP29GkiFOOlo+QhMCn690Ja4T71pUZZPCBpj?= =?utf-8?q?csDbTpjsm3KMHrlOpNBqi7J68PBUDgL+T8QJNRB8aQQFWp+/oCIYo/NQqpAAxx77G?= =?utf-8?q?wRl+FK3GAPCReIO6GE/epFp3D0r3oSpFXVmb0WXNX8Oo+mzJntBcZXLfQxCkkvY8p?= =?utf-8?q?bGmPjvZ6tIzhl+3WsFN337241GQK9vpolu+eVZD6E49ebFMoDCWZSX4UwJ7JQuzJK?= =?utf-8?q?AlEzVQhdXPePadcdD4fppPHx/et3faG3m7AT/JTp4ZHujdu1hKHoKX1JhVDlkx9DB?= =?utf-8?q?fHEpz9Ro1kOGiHrODBpMLK/RoqRvN2YmySAquKj0LG3HiHzkjOlJkT8ySasjTxIdq?= =?utf-8?q?4aH8yWZFWAnLsOau/sxLDXzSnyoGuorKj8GR25XpRW+5jfg0KWS0Opr2lks0KI50/?= =?utf-8?q?sf0mvi7aor8j0J47YrIyN82yuA85/OscL2LnXIPAHIzB5TJzBar2+Lwun1FOYrv+r?= =?utf-8?q?tQN60xhOb3zmKU5yviZmQfVb0NHMSfDx5DTpFKu44jPTmb/ll3JDn7GvULnX8gsnl?= =?utf-8?q?b9GriC4KxkClqWSV6xuJrN94ZmY1/dmu3c6hvRfe5pxGTdzWNBRgPUm1wRQ+owAqy?= =?utf-8?q?VOADqS9InukAAmByBp6W9Ulwg7wDMvNeTHmE0blf8zHTY+3D8ix4go4iWcB3HVd/5?= =?utf-8?q?wVvmJGGkoOOAq1XGP/GMT+AKJVPMJgcZQcCh8/8RQtPr170FtZolUSAZ2Fb5ZW+6w?= =?utf-8?q?dElAsR3ULuqXgykOtcxBoVGbH9nGotqlYE4Dw/9CrVfqdIR+A41jAwbbIouulEC9X?= =?utf-8?q?vKMVPMy36pJEsr20Bibe0Y1DIglrGKXRTKUrB3y4KoxkggCRvI8KhM47ufOBydibX?= =?utf-8?q?Th4cjwFkOJCUkd81j09FHr/uRj4eyGqpa5jy1YxNAuE22tOPe5tJ/1kyttT1OiAT4?= =?utf-8?q?pOVXd5jolVrIt8AaF5dgTvrVsfFPKDdI50EUZCV2ICivXY6mysGSD1aW5bqGKsZVN?= =?utf-8?q?w2M/Mi7jIh0YKULl3qjURzc/m9RCe/mIuPAzHSDeIy8LG/HhPbtQ2FMnTaIMF74KW?= =?utf-8?q?s3xcwyBP5eFqDwcbpeNsx5oArE6XE1NnsOUqF33UqgC+EW/gwSf8rt7Wi2aP6+gxz?= =?utf-8?q?OyXDF/JRQbRAHP0zAWXKtdI5v96kCwdSObwEM1JJqt4oF2ZarGmoctmVfSMjqbAnv?= =?utf-8?q?nSK0Y8MvO7gScOkRECiuFlhzpwUbQNtEKSWWwBra1M07cnt802VmTk5TRjqos2xyn?= =?utf-8?q?YX/qejcVFSn+gh1WQy5MvBX/dwRIUbUPLMDbHjLa3xiFFfwiwbROAgHr+iSZ/jG5c?= =?utf-8?q?wwJUlte5bHSgZ8f7MX538ziCjlP1BDQZqJaz+uiAsJNyzatXxN0QCSY1xrxkFkQu6?= =?utf-8?q?Fd55yXZru9dKLHK8T7Qg8t0aHmOJZKp+je7Rr63GU70ZIV5qJM6GMQ+jVG/glZSo/?= =?utf-8?q?ADBUgJ5qEa7K8VJ3cOgvOyhcBtGxJ7M12r7Isn/CoE0PQJiMqV+e97Ouu2L2FX00d?= =?utf-8?q?MxUwbhTMGjwk?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6549a310-2b5a-44ae-0c0c-08dd6245324f X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 15:39:09.4001 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: TZn5L74T7wIOtZ4xjQL6IZJJfNrVpu3GA6iLfG2m3h7Wni2QCZiGGzkdIGiQzO7B8yVoYSJ1C3Oi+vW7QkZZ4A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8119 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250313_083913_970555_8C82193E X-CRM114-Status: GOOD ( 14.10 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Bjorn Helgaas Move pp->cfg0 setup to dw_pcie_cfg0_setup(). No functional change intended. Signed-off-by: Bjorn Helgaas Signed-off-by: Frank Li --- Change from v10 v0 v11 - none Change from v9 to v10 v9 means https://lore.kernel.org/linux-pci/20250307233744.440476-1-helgaas@kernel.org/T/#maa0134c1826bffcccab6028c7732a13f7adcec4d - move dw_pcie_cfg0_setup() ahead of dw_pcie_host_request_msg_tlp_res() to nice git diff and easy to review. --- drivers/pci/controller/dwc/pcie-designware-host.c | 40 +++++++++++++++-------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c index 1206b26bff3f2..c57831902686e 100644 --- a/drivers/pci/controller/dwc/pcie-designware-host.c +++ b/drivers/pci/controller/dwc/pcie-designware-host.c @@ -392,6 +392,29 @@ static int dw_pcie_msi_host_init(struct dw_pcie_rp *pp) return 0; } +static int dw_pcie_cfg0_setup(struct dw_pcie_rp *pp) +{ + struct dw_pcie *pci = to_dw_pcie_from_pp(pp); + struct device *dev = pci->dev; + struct platform_device *pdev = to_platform_device(dev); + struct resource *res; + + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "config"); + if (!res) { + dev_err(dev, "Missing \"config\" reg space\n"); + return -ENODEV; + } + + pp->cfg0_size = resource_size(res); + pp->cfg0_base = res->start; + + pp->va_cfg0_base = devm_pci_remap_cfg_resource(dev, res); + if (IS_ERR(pp->va_cfg0_base)) + return PTR_ERR(pp->va_cfg0_base); + + return 0; +} + static void dw_pcie_host_request_msg_tlp_res(struct dw_pcie_rp *pp) { struct dw_pcie *pci = to_dw_pcie_from_pp(pp); @@ -423,10 +446,8 @@ int dw_pcie_host_init(struct dw_pcie_rp *pp) struct dw_pcie *pci = to_dw_pcie_from_pp(pp); struct device *dev = pci->dev; struct device_node *np = dev->of_node; - struct platform_device *pdev = to_platform_device(dev); struct resource_entry *win; struct pci_host_bridge *bridge; - struct resource *res; int ret; raw_spin_lock_init(&pp->lock); @@ -435,18 +456,9 @@ int dw_pcie_host_init(struct dw_pcie_rp *pp) if (ret) return ret; - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "config"); - if (!res) { - dev_err(dev, "Missing \"config\" reg space\n"); - return -ENODEV; - } - - pp->cfg0_size = resource_size(res); - pp->cfg0_base = res->start; - - pp->va_cfg0_base = devm_pci_remap_cfg_resource(dev, res); - if (IS_ERR(pp->va_cfg0_base)) - return PTR_ERR(pp->va_cfg0_base); + ret = dw_pcie_cfg0_setup(pp); + if (ret) + return ret; bridge = devm_pci_alloc_host_bridge(dev, 0); if (!bridge) From patchwork Thu Mar 13 15:38:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 14015337 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CE92FC282DE for ; Thu, 13 Mar 2025 15:47:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=DZfCysn5S4+XnUcPLACOvSajhoolaGVZluObBWMpN4A=; b=a0M3K8eddblXKhOBmveb+Tpvit LEmw//grh7zcIRv7Dr/FRke/ZmLh1sm9cFRJTkM/ly+2QZVHEDY6ekGZxsp+Qt3OMqDG2aQv8N6+Y pRVbm/zgL8+gF/UboUNnb5+QIxKHBBNp3mg50e3folMg2GY1kquXLFB2ANoerRU8qXGRqxHh3NGmR fW3u6u9LDG6v7TGXbBJurom+hPfr9c8s6VTWx7LAGD511O3BYz5oSg4e2aGcq7Nofy9LnhgDrx5F0 O6aKwZdVXMkiyp57miFcpCTvL9BTfV/FvrFr/eqjd7f/94CvRCzifumZ16A3n86vs24kcxxkzzu5k O8o12kgg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tskmT-0000000BhlW-3H4y; Thu, 13 Mar 2025 15:47:33 +0000 Received: from mail-norwayeastazlp170130007.outbound.protection.outlook.com ([2a01:111:f403:c20f::7] helo=OSPPR02CU001.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tskeR-0000000BgXT-2O1c for linux-arm-kernel@lists.infradead.org; Thu, 13 Mar 2025 15:39:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Zfn8MvGaPhvvtf+QrRo744IfarHruhDfz+umV5cE8tkYoeZ2G1d9xMNa4eIBNPzQijBzzomvihmPkYg+1YA2tTICM2vWYVxZwX041UZv4JGJaWHoAIB2IdcTxSukio9POR1CdeJH+n+fgbwBjFRVpmUs0ZwSZGJWnuZ84rN4PUUwBnD1upXj7xrnZeDUeBu5vJfFvJb4FpHPgzCdrQJZ4t0vCb/sBC6xOZwUEej5i4S9uVLtnAF5YMyVHnthYFY1KZiBz+l2dT9kHuckNL26No4YTUygLLeETq0JzQ8QhFnlXMo3NHy1bOXry2Lv7+4IT4j5u9q3PveCLa16NSq85Q== 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=DZfCysn5S4+XnUcPLACOvSajhoolaGVZluObBWMpN4A=; b=o90LUKJPLpuRk3/YExmoYZbYOzO+YHIGLYoXUAnLFoYXJY6dr0x7upn9SJPyrxY5ZeMWN9s5U6e8vlIrS/9QkloZlReLgtQMHh/EyUu7iyuX4KU4meM5qUOaBBMDbNvUGFSzq1uflnDmbX+5TvjLNdCd10L8vK5fS+ZU+Lc5HlHfgRkvKmHHviGg42VqvcIFROyqEBqIkM73Ulm2xBymqPkMrffAANEx+KTNWTgqyC0sMmcEuv5MEW/7MwgGDkKO+JuTwqPUZstAS11O1c5xeaK6AcW9koxbXYUZkDrEPqYz3OzWH9CdqqS7+nqcmcfziGFXpgmrVjJwiR1bQcwFaA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DZfCysn5S4+XnUcPLACOvSajhoolaGVZluObBWMpN4A=; b=NolOB7eIH/wPC1QcQvJvCMJrkM9Wglg+6DXB65cev9e47He1+yrsnwqDStDqguUjwYFmxOFPh8ogPtDeUG/2WQ1b8vCNxubSwmNeemlOFVsm5rxZT0fKwFyqwoPahOVHRr/cjlYqpeGc0GEDsL+mJn64DyiBJbgRsMkVyzXDqr2guu1YuHrDeygeVZpwfQrR3AzOAua59q0LLWgMlntzBsBjLLi/L3VnYPS97IMAe0tmPcCgfGnephZYxAx8GWe00yT2pV3/PS6+ArtuO/uZppjZomFWWHl/REW8u6U9ShtuL53xIpRWHqaa1dI0tDX+/7U0Fekiam1dpxM2r3z73w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by AS8PR04MB8119.eurprd04.prod.outlook.com (2603:10a6:20b:3f9::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.25; Thu, 13 Mar 2025 15:39:12 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%3]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025 15:39:12 +0000 From: Frank Li Date: Thu, 13 Mar 2025 11:38:40 -0400 Subject: [PATCH v11 04/11] PCI: dwc: Move devm_pci_alloc_host_bridge() to the beginning of dw_pcie_host_init() Message-Id: <20250313-pci_fixup_addr-v11-4-01d2313502ab@nxp.com> References: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> In-Reply-To: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> To: Rob Herring , Saravana Kannan , Jingoo Han , Manivannan Sadhasivam , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy?= =?utf-8?q?=C5=84ski?= , Bjorn Helgaas , Richard Zhu , Lucas Stach , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Niklas Cassel , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1741880335; l=1299; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=AUXtC8H/FTHPcXtiN3EH1E52WI5BlzetCri0vzeowoA=; b=QlC3jIKCFYtP52F64pUzrd/DKyz66z/Cx8FMqRBKXWB5nYKToVIdl9GQjKzpcgUfkPS/f6682 Zpso90T3+7KBJz6RVcLvTAP2iTBouGYgJQLEjKL4qkQj/junDAnDFZf X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SA9PR13CA0038.namprd13.prod.outlook.com (2603:10b6:806:22::13) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AS8PR04MB8119:EE_ X-MS-Office365-Filtering-Correlation-Id: 775f0dd4-b825-486f-d259-08dd6245342f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|376014|7416014|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?9UY7ByoYk1JD5aEsYN2tYpyrepQ6xzG?= =?utf-8?q?orTyFxbZ5erJwKpiy8I/G5Yv2cu20wGaDbcToeqaJBhlSAQO3wddKptMaCoKUmjuk?= =?utf-8?q?gb5mxuqcCE+9m8Awl4c9ymPABO1aw0NUDlFmY4ywfrJIUkTEyq1W7iy3H5yY3nalJ?= =?utf-8?q?lOz1q5X4CEFg5hPJBIN21YpWlrAUTnb9xWGhA4Orzgiech2aYonyJLMvM4seNPmFz?= =?utf-8?q?xV2gCwdR9oahQ5Ky7+PeMSgloRE94R9af0KOz04Ylsf8tJ2iuGjy3LV1u2snXemGQ?= =?utf-8?q?YgwffooFOzXStqRC8LRT4gjz918nZg/yQbIrL0Cl1w59dmq7Y7QVlkOv6XKgx04NB?= =?utf-8?q?Dlpgekl56FyfMoq6zzEt/aCcT8ZIixSMJvpt00e95eXhsWVRaCtOyT+Fmg28DGYRB?= =?utf-8?q?eQ3+R1fqAUUlFEeDEiWgdgNXLqPtLKiJ5zn2PF4TgRPwoc1lmXKp9fRXMKhHbZUUh?= =?utf-8?q?fs48l69WkPvo8IhuP4zJASG3XlRKWp95FjOu1yOFNS3AFYK7WAA9wg3hVborThqWU?= =?utf-8?q?NPMTaT2FLwXWw0yqzhgJA9MMBNRT18hSYqtdiWned3VbIYt1JaNz/yuE/9voDJSZE?= =?utf-8?q?MmGGi3R/gO8OXxyu/S6aI0xqlOB5srd9u0Nc47K5Ml4ntOyMuHlSSz1uQuE0nzQwe?= =?utf-8?q?NQkMDCqvSXJ7nc6atZTaCrFrVRxHTiNrLh6U7mT6Cn6FGZZPYDOYel8f6pASByzOX?= =?utf-8?q?LyLB7KLgsxyQ8TIa3x+WcrFcXgK3tI7urczi23taHZBRayaJFFaKdGgmnOO1nd7SS?= =?utf-8?q?DLZeg6ZlhY+D/xj3TXWjsc48He82ScRL9cWGIQ7EY0zHe0EuovG6UBcAk0GHY0Uaq?= =?utf-8?q?ivNWy1tPG1a/LjpXAJq4RGsxjgd7LUKUNgLWlWvJDMCPj852quSO2li5vsFjX9u0Q?= =?utf-8?q?UGEzbsQfCT3cbr9ReiGTd7gdnKyTdImcA4EpCj1NPFMvhOvax7qt3/odSggYMcR/y?= =?utf-8?q?f5HhkECGjbXjeblwBmeteqiQNtrWK5dK8DYk2rzxEGAUO0QdIZt7/tTNHlLRHQMoV?= =?utf-8?q?2RetPYmBX7JDwHE2TorKshj/pk+XTmGXK5TCzvLnJfoxnvs/IvXxXAb4cz4Xb/eBn?= =?utf-8?q?guSLUFSCIj4cKthH23MITUPclWd31IT1/f+xEEbTMWRL8RRFdWamZt7OZ0T05Gy2R?= =?utf-8?q?P6FXQ3TTXY13DlAhOgq1USozZYYb+xCx8avBAqP9vqxxxmlGxLxGBBuaBkdfVZOdC?= =?utf-8?q?A0TPKwjQiCWoz81jM2E2/O/BR+nECuxQqt+ML1wtanTmpDf1cnVbzF+sJUbasw5y5?= =?utf-8?q?RUxA7jqC36exPA1RZlugqJJW33EfG2/iS9tSqzxQYM0vuDLoyPak78b55zmK4gUx3?= =?utf-8?q?gCeqDQluBnQcYn6BWARjmEjQm8H5BsDgmgKdlBoO6hy8oISjVUYoTWOQ5/1a6FLHn?= =?utf-8?q?D+7TJLhkVrMdf/VrFzJjX+mWudg8aDHjA=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(7416014)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?lgOqfnfqNQ73OoTJXG867mtuqISN?= =?utf-8?q?bywBw9egALwTZbaXunCsFJTiuNZHuXZmCHYPh/nnEU3UsLaw1jTTa1g3MzlscTvpG?= =?utf-8?q?V5WwxmUVqlZRz13kgXDVZvzH6EFNrdUtFv72Y8pXy7wQTWlIry0Gh0F/8qJWZ9BN2?= =?utf-8?q?Mai9nNui7dYNs9swcgzDLNbzI4E7M26awDxAu+EEhte72+Xi9VfeNj/0nqWx4SkIt?= =?utf-8?q?2pXyvPfTeoWyuak/KmIZLrC/iNT37dg+KOwNxYFU/RLcMpaYeNbBoJi4wKUzC2vlz?= =?utf-8?q?mARmMHlvLJij/lpu3/YgPIkOSQu+BBIUoKC1LXxgum1wF/M4dreUkd1EduDXRftxA?= =?utf-8?q?bDoNSaLBS7qA7v02TWULm/zn+QK2ByaHYmcXgmRZl9r9hB20CholY2yF5LGptBqlS?= =?utf-8?q?JUC2A+RCefYV66DcMmn9UFFYf4sh9krJYK+sE/x/p/vOx+bssApBNQckeH9QeDQCP?= =?utf-8?q?/Fi5DGJRXw8hRT8ZfCca4o6YM7bvZ64/3FBnavugu/A2fPHjMrnVIjc8rYd0ww453?= =?utf-8?q?qC8QXubbUowMYys8Th4mIMjt+BK/2+pQSdFPrWUyzekUQqEUU4bwAjOi2HDXLs4QI?= =?utf-8?q?qXzDWBsFUnRZK4LXqnTeghM6Bb/M7M4zMn8FIF+6npakhnoizUuZwNWkeEyNI6vB/?= =?utf-8?q?eYpWFmxh+3UOVbJpYi4IGDTIKLpsghKCu30hpXeo7/ImS/R1JBnxteo5eMCy8rL3i?= =?utf-8?q?2Urc9NlTutHCj7gp/BI3R17nYTnVYcgELdXwhKggMdLxtaDTY/t00iIX16QVkE5OI?= =?utf-8?q?2QYq7jAwyen2ifgimLPvTf0f1rC+6nTQORuVfXKkTgUdrX6aYxKuj56yhxTVJ3L9O?= =?utf-8?q?C2eZmlK0jiE7rqVxUbswJ0aGyRGU4OXEXcC45TV2Ur+v9/ClTde6haAuIwAM6CptX?= =?utf-8?q?3tgK6a5cL9JDn2PjZZfAW7Ek67Qj0j43ng9ZOkE+WTqzuaYesbn9Wi24v8k+TNih5?= =?utf-8?q?Wj6e2+vKRHC/XF5+M0XCnMAgOHFa2rCw3q0z5htNZWa4tnaTIHW4iqNRB311CmIgV?= =?utf-8?q?PfL8QVgsTdOPkP32F6ne0MUNOdFAH/H8LxrsiSwDdnnW2ub/7Pd11nxLtQJdTmpHx?= =?utf-8?q?4XOUOcPd15lSg58P5Avp8aS8XkUzbUNWIr9nu/pHS2H31NZNiPfWrpV4skLX1dt4i?= =?utf-8?q?JwUwg9CLrr8WypRX/h4aHJ9REo2eO85YV8MviJtx9+M6JLRmm3bWZ9IISZUpDPyTq?= =?utf-8?q?K9dtGpdXcbRdYOjCKkpPk6hTrMFu8m2CMRuI7aBWVvNr67Bxid0ZgeR8u7K55y/LY?= =?utf-8?q?rwdU4FTMtCDFdjfdW6LDY1GAle9sIuvA9FSoDdbL7ljhi/KXfDSaJnKQWgyqUZWGJ?= =?utf-8?q?oiBECkZSw8wHL/JMwY4N6GvAiJvRL3u6elxaE7Vw2GsBxcmwRLqb5ye7EB8N82rfk?= =?utf-8?q?MiBmQgu3WuBETYw28/YQvnfScYMMVg2t9NBnk6ne9f550HykLAvF7Sr+W6XSXJ7JE?= =?utf-8?q?GmnmBJSREmx78mWTlFnBagPmRUwqsU1OKSauc02xl2SclrXRHW5iAzUhHkPdhZQRf?= =?utf-8?q?Ewa5dJiHXHSi?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 775f0dd4-b825-486f-d259-08dd6245342f X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 15:39:12.5542 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 7KFmNpIImgNhjhIyashhjzCPHktP06ReCk8skmWV+AfN/LkicGBoYqTeKfzESJkpBAlqu0C2GbHVmnvpQKJ09w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8119 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250313_083915_619150_1B95F7E1 X-CRM114-Status: GOOD ( 11.14 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Move devm_pci_alloc_host_bridge() to the beginning of dw_pcie_host_init(). Since devm_pci_alloc_host_bridge() is common code that doesn't depend on any DWC resource, moving it earlier improves code logic and readability. Signed-off-by: Frank Li --- drivers/pci/controller/dwc/pcie-designware-host.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c index c57831902686e..52a441662cabe 100644 --- a/drivers/pci/controller/dwc/pcie-designware-host.c +++ b/drivers/pci/controller/dwc/pcie-designware-host.c @@ -452,6 +452,12 @@ int dw_pcie_host_init(struct dw_pcie_rp *pp) raw_spin_lock_init(&pp->lock); + bridge = devm_pci_alloc_host_bridge(dev, 0); + if (!bridge) + return bridge; + + pp->bridge = bridge; + ret = dw_pcie_get_resources(pci); if (ret) return ret; @@ -460,12 +466,6 @@ int dw_pcie_host_init(struct dw_pcie_rp *pp) if (ret) return ret; - bridge = devm_pci_alloc_host_bridge(dev, 0); - if (!bridge) - return -ENOMEM; - - pp->bridge = bridge; - /* Get the I/O range from DT */ win = resource_list_first_type(&bridge->windows, IORESOURCE_IO); if (win) { From patchwork Thu Mar 13 15:38:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 14015338 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 04F4DC282EC for ; Thu, 13 Mar 2025 15:49:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=zOfBKRRfaGBGa5Qzq4aqysziCpQia2/6D92XcGaeJF8=; b=eIZFLiyWA4AVm0/bSfLGE+BDYs Z22f2tnlFqtIzr92BFqUdFC5UE0mL8r6LT5BmwqNVFydEXU51kX/wVm8ky+sht3HQZnRbiZjWevdr Yr3e+X6/fMDRakV6XihT9cFfzWAnd/FPTsi45eUK9fZp7A+0rz7cZyQCu0HPX9tfR44mgPAM/xD7M I+zTb/vPtYILILNcDfCC9qcdcUPE+P/XbMHrLQ+ig7rXANbJqUTbPtfsmF1ns3VoK22c38sM5Yj55 lcgPfyayWGB9YVyJIlywRHDuv5M+AidBQiTb8gagCptB8jn+npUUOXuHaCnStBSx4YbgNeH80NB7c xn5U8DOQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tsko7-0000000BhvC-1lpg; Thu, 13 Mar 2025 15:49:15 +0000 Received: from mail-westeuropeazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c201::5] helo=AS8PR03CU001.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tskeW-0000000BgZT-21uE for linux-arm-kernel@lists.infradead.org; Thu, 13 Mar 2025 15:39:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EEVXlMKbrAoKJ5uXpR9N7BybdJMeVsTxo0PdGofbz2zfSsSWP7cY2axBvg150KpZ/eaEDzjVCaHYiAeZKvAwdMkTlPZCCiI3HddF6FYk12dds4mvcwk17PfB4A1jYol2id8IjizWDO/qw0sIDwKbh88Odp6e9bc4SxWaoJSDvbg11weRzDu19Z6dhGYrcJNRZlP5FWBpWvB0m5C0Gnu092AIcbkAXPsnwaclO1TsDaMauB6ZQ4iKd90xMSSsw2nPIjIrkknsw7AO043RDZ6LGtWUpTbhPozdI6IgdVVQweJ+1HVXjEfZr9H24FhzLNlPRk4EQX0tI8Zb3Q32nDGfRQ== 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=zOfBKRRfaGBGa5Qzq4aqysziCpQia2/6D92XcGaeJF8=; b=MrwISYOGj5q/MFRJ63A+hzBRFdYtWYNpbsPbomnJ1cE1VMXRkAK99/qR+on3dL47c6C4ntDQ7zQmi1MA31BtFctJ1SKmg+nWqlxQjunGtfW+FHD3v3y2Pi4T+RB2PULqBcYZkCecAIKoiHozVqaPRxhTdOOKeDKZF9Q+7AIq/eoZpkYr4qH99aaA7sCV2jUuKBfvZd2LjXDZNdgteQDNcmAzHJxFMUPSNYAO8vXQw6SOrhQ5Mlq+7zKSZt6POi3EPwu+B/MM+uTNPSAAakMZHkjfs1oEsn5WX6b7hW55IHji2Uy/KNMJMbsjWqMygIEZDWja3sCTLqSRCEc56MhQUQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zOfBKRRfaGBGa5Qzq4aqysziCpQia2/6D92XcGaeJF8=; b=khYizf/saHWL+5GBOxINlvoMP8hXuxR9j8oLwlih0wJATxxjMWa1l/8xn0qV2hvz+w94Otvg0EKhsQtU9JVBOyfxw+UbDy7Ph1J0lUWx8E+Q9JOricFxR1AyGjVz2mhCmSmOmI9d6QKeg146HtC/4S6edbAg6rY1+l1qZH6R1UPMcLPN09vU7zzFS4HXjWIOUBhrxX6QO8UAhaDjVamUs39kEcYSjgRT30cFPJ45PMza4Nio/fGVdXPl2S7nl/9GBr8LukP7hv6+q3sD42gbTInpsYEyKMROnt/d+ByEgu8cJCTB2nvRqaKVICB/ZT6PZII1Y8Q+SCSZVeJKVSYCRw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by DU4PR04MB10316.eurprd04.prod.outlook.com (2603:10a6:10:567::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.25; Thu, 13 Mar 2025 15:39:15 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%3]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025 15:39:15 +0000 From: Frank Li Date: Thu, 13 Mar 2025 11:38:41 -0400 Subject: [PATCH v11 05/11] PCI: dwc: Add helper dw_pcie_init_parent_bus_offset() Message-Id: <20250313-pci_fixup_addr-v11-5-01d2313502ab@nxp.com> References: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> In-Reply-To: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> To: Rob Herring , Saravana Kannan , Jingoo Han , Manivannan Sadhasivam , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy?= =?utf-8?q?=C5=84ski?= , Bjorn Helgaas , Richard Zhu , Lucas Stach , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Niklas Cassel , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1741880335; l=5220; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=CAZQ8hzaJMLFQywBKM/Cdf0akVJ63bcoavHcEFXFDYo=; b=exG7uAmmXILAEW7Yr6sM5bkARyDOky8PmiUmGOu2CVUllkR43Zyi8H/TstZZ7k8ZgPdgR+Yz/ Y0iKdubZ01VBRyP+jhRQ/JYgUTauP3GwKFlW9oWY8mmSApYMQ9deCtU X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SA9PR13CA0038.namprd13.prod.outlook.com (2603:10b6:806:22::13) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|DU4PR04MB10316:EE_ X-MS-Office365-Filtering-Correlation-Id: be26cbb7-65ef-492f-acb5-08dd62453618 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|366016|376014|7416014|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?931++qt1/Q2TS9HopK9t+3Uz2ZEJMd7?= =?utf-8?q?6CYQ/CNB4fzBKsoBOgfHXnUJPPiBXGERt8cKz+oecagM51R8PzJII0z87Sq38F0PG?= =?utf-8?q?zF/p0ZWS//8MPKaF7g/yHGqqNZrdG5R9NP8H8PstTkmAP3XH8h46q37JAFeaISDcF?= =?utf-8?q?sH/kCkNVJPwRChIrlu9sayhMYL0qm4G/Gi+uHME6luLgu+SE6zenWvBJXAp5S9w0g?= =?utf-8?q?sO95HhrtdZu1m7KvP7ivsstLYh6TQv1JW3lBSfrgIVZZHh5xDHWpFtItsSajEm358?= =?utf-8?q?e6D4puLAo9WLbAF71d93MkXHwc/81CmBfD7IMeJFaz22OM24xQqzVH+3smCYblIEY?= =?utf-8?q?fX+sgRyNDgihNkAJYHxKCxxZHJwNhx3M0v9iHPrrtVK6BXqAOnxRD0G0R8zcXgezF?= =?utf-8?q?gebG41XTQLTYRRW2i+k5xytJXh3YFC9C9ZreUSfYH52nsuLuNbu1h9n4XazI8Un1R?= =?utf-8?q?bC/yTa4d2I0wOpX7usx1vrDaTvbh7nbkCviW1fwJ3KBk+F95EMzqr0G9Bgh2kVrpt?= =?utf-8?q?pbXCkaPMtLNBrFPoFoBm0qicas36God90g5ysudvRDWAIHqF0DcvtW5YedQWBJH/X?= =?utf-8?q?yemGyERx/Eo3yTu3sMafjaSxEuJIcD5Zwktd4oLjaJIFJh9Us3sH8pQderwLgOD1W?= =?utf-8?q?BQdINetBJPAnXPMOHZrCFj6nYASadbIVwkH8sCraKZyzeRcVoKA9Dbkdd/i5gUHET?= =?utf-8?q?cojLkOyjsC98MoFZGT5VwtrgJ9id/q2VZeEfdVd5C783Hcnb0Dt7o9lYw23sVDo+W?= =?utf-8?q?L3NR1kepg5LZS78S7hsulPqztI/jejUGYZKotvUauE1+Cc+w3pmrbrfSr/aRB/9Rq?= =?utf-8?q?TZhNGagQJS6PQiScWYriwBO9TacGx/GWhDmxQJSa5ErQVujxERwpsk/ADrYkdabgg?= =?utf-8?q?H53SoImio8ChWuxGapXSViWrXTvWTPqcEhKLQ2HUjwdlPP7f2vRaRButV1iWX5w2c?= =?utf-8?q?3tu2O6KsQ6XKIsJTYRUpxRbVjnGhKtnu9rYGlEIla+LuNsMpBseqnP9O1TtHtf+KM?= =?utf-8?q?3CSoXaWLTCyEqZLs+6RKGmjv4q4JETlVpTf15YRvSRDy6yOUznf4ZmWeGfegmQH3S?= =?utf-8?q?hBkBWd+jKcedZ8o8QguGiH0fMnE6TpPRCJpR0nu/gRjOIs1jn0uStokDZk/HCUjOp?= =?utf-8?q?zT8nlPg/I/ZTTc9YxuBNZSRU0WgELDxyMn0Tgf4mOkgir/CsoeP1wOivjLXvrFuz2?= =?utf-8?q?4ZgxpdI2vESw3SNF654ChWDtwSlyQAgvLcHVR68as915ScW0aAmlYtLZ6V5+rcdqV?= =?utf-8?q?FYeQ2jEcJJu6YM8slKxF0RGkZC5Cl+5s7qnYHdzb79b/m+wIG8Ilw2qltt5vLWUqC?= =?utf-8?q?/rvGnBawzpJwRbX4+CWPSGaQahULNrO4pZjMnqsuc5GVJk/zqfX7IzUSgIAnNzRRM?= =?utf-8?q?KI2FX3UcG+MTqpWUUMvHS7ugGwwLEahdw=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(366016)(376014)(7416014)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?iawvvkQbu4McjwhX/5+nRJ1aNXUV?= =?utf-8?q?hYD7DvoqmgU0lcy8NlEE3kgrjAc+1r9vuRGsUGcFgTmYMZ3gBgshmlVp6pDGGcwUX?= =?utf-8?q?BIWHg2sEqnQc4a1vx8NOwb/vuQ4K8KXDMRrbvHbUbYq+rUsHA9/peyr4HXtQo7nAB?= =?utf-8?q?Gb1paLCAf4XeGorZrlSACCdiGg1YuLa1QeW3sbf5N/BW50vMLRAbSHBW5NE8pyKNJ?= =?utf-8?q?6v89MvfeXIHJ50jW2Y11XZvnf6CXiVMu/fMw7W+N0iXWBGivjG3eJNPJJ5evuwTdU?= =?utf-8?q?/jmV+/L4I4O82hVPYE6sa7Er+5zDR+UBFOVuPIDvB8wtCgvjOFvpn3vlayorm8QKK?= =?utf-8?q?Q2ObyFwIgaoAV8l76p/SBGTUh107xA+i8qgvqUkb4EP7AyCGwomAQug0i0FkTxPFN?= =?utf-8?q?pSF8VNbyYvmjWamR5k6NZwK7hEvayto9BVRH/59OtfKqQZHU7nkeAP8IzLcI2pCJP?= =?utf-8?q?g9VD7uHIhatkqBRowEcoz8g4MsSTNUTZlQsauvWOdpc1hz+pbE9NxV3d2RCopLoRX?= =?utf-8?q?Y5Amc49CSuoOiYtDG1HkB66BwSIXzAcOMz1YypXGrPstbrroi3UoqDcDy2AA9ZXtr?= =?utf-8?q?i7iLGjk9NCytU17I0uwxvfv8H3PLhqe+QkC3W/CBqN3SgAlOCvV8lPQUlq7bSfIRC?= =?utf-8?q?WaMIuMqCRpzdpKqUGYKWBMG2tP+9G5+81TxrLr6+LFjKgRepBTRxOsLT2094L16nO?= =?utf-8?q?Et7ZaujEn6lqAYpMUpngraBiPrbsztYqxbkaImI/zrRhdMr1mRZ5+CDe4akP2sb2j?= =?utf-8?q?23oXTnNqkF07LYHmnqlMYNg3GAAGsw75qPLEWrXdQliGYU8Jec0UQRcD7GVDZVuZR?= =?utf-8?q?/YlcovbiSqOcLX13/aSp7fEPWCrqgyIG6eRfSBIwuPtqNy1PsiSzYso2//K7c9YdS?= =?utf-8?q?sbYA3WVp2t9/EcyBFY/UF9y39I15nqOkk6pulPiWy8CR44I5uIvi87zNGUdfOdGd7?= =?utf-8?q?7ovGgIFzaVZHImcUa2jECojK8GcYRaDI23uP8KUi8n3S28CO6LEJirlg6s8YX7Y5e?= =?utf-8?q?aoYybRFvwpvxJkATuLJChNNafgJ+YMbPVhB5W4lSMwEKlLKHMqhLijmA/Qc7CuvbH?= =?utf-8?q?zTErbfFj/94qL3rffaP5djV2+Wnsar6GgCRaz2nWbsWXl0WLMEppWc8FrzKzK/Uy3?= =?utf-8?q?I3+CZjm/1PkRfS0yQpb7K7R35+qVBWH56xCwe8+ivo87T/+YA/UlsrLcW22r7BXbB?= =?utf-8?q?zBvYgyOmJjfNB4Kdh6EAw4UHz//xrOIW9zXWZK6KncGKYTXOKN/uMgwmscg/SXc+Y?= =?utf-8?q?EoYq4FPX6vhkWZu4cbdGuW787zCjI/5gyynnQ1ydhGOCNNfts0UeLhjdULMoheC1L?= =?utf-8?q?ubxAraCld6ckwVGl5wYkntEI7lRVu3HuzVnrqAyW9KnU5yd1kri7+1ZX3WT5ph12e?= =?utf-8?q?IxRNIlNoJKz40UwODp8yhGZYwXjamt4cLIjtiOpMPmOUMIq/j52lPvyR+fzJ8eXwI?= =?utf-8?q?1Szc0JAAPssoCx2IT98v5yPGylI9TFpUUSya/n+f86ZmEh5uq+O9q7rMwt4eO1szn?= =?utf-8?q?F0ZNZvent5U7?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: be26cbb7-65ef-492f-acb5-08dd62453618 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 15:39:15.7753 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3f7k8J+eFdBC/xJNNXtwfvu6FTneeNHIKqeW3gX7iVMsqxXTss0zgPTvLkJy4cZZs7bNru+6Z0ZHCKU84PNLUA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB10316 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250313_083920_682198_DA67025C X-CRM114-Status: GOOD ( 19.90 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Bjorn Helgaas Set pci->parent_bus_offset based on the parent bus address from the "config" (Root complex mode) and "addr_space" (Endpoint mode). .cpu_addr_fixup(cpu_phy_addr). (if implemented) should return the parent bus address corresponding according to cpu_phy_addr. Sets pp->parent_bus_offset, but doesn't use it, so no functional change intended yet. Add use_parent_dt_ranges to detect some fake bus translation at platform, which have not .cpu_addr_fixup(). Set use_parent_dt_ranges true explicitly at platform that have .cpu_addr_fixup() and fixed DTB's range. If not one report "fake bus translation" for sometime, this flags can be removed safely. Signed-off-by: Bjorn Helgaas Signed-off-by: Frank Li --- change from v10 to v11 - add cpu physical and parent bus address information when no equal - remove "Using this flag also avoids the usage of 'cpu_addr_fixup' callback implementation in the driver." for use_parent_dt_ranges. - change dev_warn_once to dev_warn because only call once. change from v9 to v10 v9: https://lore.kernel.org/imx/20250128-pci_fixup_addr-v9-4-3c4bb506f665@nxp.com/ - use help funtion dw_pcie_init_parent_bus_offset() because both EP and RC use simular logic. - still use use_parent_dt_ranges to detect fake bus translation for no .cpu_addr_fixup()'s platfrom incase block exist platform. --- drivers/pci/controller/dwc/pcie-designware.c | 48 ++++++++++++++++++++++++++++ drivers/pci/controller/dwc/pcie-designware.h | 12 +++++++ 2 files changed, 60 insertions(+) diff --git a/drivers/pci/controller/dwc/pcie-designware.c b/drivers/pci/controller/dwc/pcie-designware.c index 9d0a5f75effcc..f17a25fe55a5b 100644 --- a/drivers/pci/controller/dwc/pcie-designware.c +++ b/drivers/pci/controller/dwc/pcie-designware.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -1105,3 +1106,50 @@ void dw_pcie_setup(struct dw_pcie *pci) dw_pcie_link_set_max_link_width(pci, pci->num_lanes); } + +int dw_pcie_init_parent_bus_offset(struct dw_pcie *pci, const char *reg_name, + resource_size_t cpu_phy_addr) +{ + struct device *dev = pci->dev; + struct device_node *np = dev->of_node; + u64 (*fixup)(struct dw_pcie *pcie, u64 cpu_addr); + u64 reg_addr, fixup_addr; + int index; + + /* Look up reg_name address on parent bus */ + index = of_property_match_string(np, "reg-names", reg_name); + + if (index < 0) { + dev_err(dev, "Missed reg-name: %s, Broken DTB file\n", reg_name); + return -EINVAL; + } + + of_property_read_reg(np, index, ®_addr, NULL); + + fixup = pci->ops->cpu_addr_fixup; + if (fixup) { + fixup_addr = fixup(pci, cpu_phy_addr); + if (reg_addr == fixup_addr) { + dev_warn(dev, "%#010llx %s reg[%d] == %#010llx; %ps is redundant\n", + cpu_phy_addr, reg_name, index, + fixup_addr, fixup); + } else { + dev_warn(dev, "%#010llx %s reg[%d] != %#010llx fixed up addr; DT is broken\n", + cpu_phy_addr, reg_name, + index, fixup_addr); + reg_addr = fixup_addr; + } + } else if (!pci->use_parent_dt_ranges) { + if (reg_addr != cpu_phy_addr) { + dev_warn(dev, "Your DTB try to use fake translation, Please check parent's ranges property. cpu physical addr: %#010llx, parent bus addr: %#010llx", + cpu_phy_addr, reg_addr); + return 0; + } + } + + pci->parent_bus_offset = cpu_phy_addr - reg_addr; + dev_info(dev, "%s parent bus offset is %#010llx\n", + reg_name, pci->parent_bus_offset); + + return 0; +} diff --git a/drivers/pci/controller/dwc/pcie-designware.h b/drivers/pci/controller/dwc/pcie-designware.h index d0d8c622a6e8b..bfed9d45aba9f 100644 --- a/drivers/pci/controller/dwc/pcie-designware.h +++ b/drivers/pci/controller/dwc/pcie-designware.h @@ -445,6 +445,7 @@ struct dw_pcie { void __iomem *atu_base; resource_size_t atu_phys_addr; size_t atu_size; + resource_size_t parent_bus_offset; u32 num_ib_windows; u32 num_ob_windows; u32 region_align; @@ -465,6 +466,15 @@ struct dw_pcie { struct reset_control_bulk_data core_rsts[DW_PCIE_NUM_CORE_RSTS]; struct gpio_desc *pe_rst; bool suspended; + /* + * This flag indicates that the vendor driver uses devicetree 'ranges' + * property to allow iATU to use the Intermediate Address (IA) for + * outbound mapping. + * + * If use_parent_dt_ranges is false, warning will print if IA is not + * equal to cpu physical address. Indicate dtb use a fake translation. + */ + bool use_parent_dt_ranges; }; #define to_dw_pcie_from_pp(port) container_of((port), struct dw_pcie, pp) @@ -500,6 +510,8 @@ void dw_pcie_setup(struct dw_pcie *pci); void dw_pcie_iatu_detect(struct dw_pcie *pci); int dw_pcie_edma_detect(struct dw_pcie *pci); void dw_pcie_edma_remove(struct dw_pcie *pci); +int dw_pcie_init_parent_bus_offset(struct dw_pcie *pci, const char *reg_name, + resource_size_t cpu_phy_addr); static inline void dw_pcie_writel_dbi(struct dw_pcie *pci, u32 reg, u32 val) { From patchwork Thu Mar 13 15:38:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 14015549 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id ABA87C35FF7 for ; Thu, 13 Mar 2025 17:14:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=KfU0JrPr4MaKdkMfx6JTx2aF8h6E25TXVjReippGryg=; b=JBO+DgPNEaN91WX//p2T9qCpqQ HJDXo96jMXhgS7ubMHtLGpxsolL67EsMMoHFM/npHfVkVBsIWs3kGABr/zBbqZoTD3C1tje6qniLZ mZfrl8tbk8kxXnHkT0fg/O6zoJHHAmw1yCDiFt4pwDB+P/onCkGhEq081BblgsiOa2lXiW4cO+DRu d12+PUmf9RzQnBAq0vouY0EO2BZVv/+HEtc8AnWn56zGRyFxzu0fI2WyJpUPhw3tWV8PxkMYAUAJX kfthlAbPUQm5Mm0FgEwTmRX03JskxVMbeK0oUjzNTJGq22uehr+t2H6bxoOuQRlEDJa0L8REtcwVs oEOfQofg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tsm8K-0000000Bwa7-48x1; Thu, 13 Mar 2025 17:14:12 +0000 Received: from mail-westeuropeazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c201::5] helo=AS8PR03CU001.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tskeZ-0000000BgZT-102r for linux-arm-kernel@lists.infradead.org; Thu, 13 Mar 2025 15:39:24 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=j8TtKyEObwESiM20P+Y41cPSHW2AbfyCN+cbi/DDiB+j3WkgXanXnNVM/buMsL1TBzUvX9vz7Jb1kecGXIcPkkgxPGXBQfxvung70busBPVZkIf0h8th2LejLXqh1k/tTGcSNUzFux6k4xRcAMnLqbPhDzAl3jtbl6aswMUSPTQ0UeKa3b2bc733aOddI2K7xDbCErh4u7HSWrG5hARTqhDxMg1YGL/tovObke58vWHz7Ejte/rFq4cdsTkpBeNc/vjBNk4UMNNFcJ0xt/3Z1+Rmw8hNSoiIFWYhdMkjB68rZPDBuITH0sHNr3ZH2Hb7loPlICaUmDsg1wfFgUym8g== 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=KfU0JrPr4MaKdkMfx6JTx2aF8h6E25TXVjReippGryg=; b=btdDdPRjLsLyZLYC0FEP+zA6GJD+Zv0IpWzWULN4zQfDGzYzOMGB8S26Lj8dCo9tSBxgbnMASvWadIhkXZ5e+tcF4WHlts1UMpvoSA3A1MFkdVMZl3v9frw9whKjQwA7hOMnY6L8GUi/1OpFX+2npJPW1KZVT/VoTGk7JYvYiWQxJP4T/NpVLzedemwPTmHlacdgpnKvuICZbY0Ct2Pz+wpM/Yk6itcp0ZcU2wPUUJNYvZo3T6jyz7+OVGpvu2xfoAsfp7X148FScbyuWPSL2JzCaDs25vumhCwneXvn2SUmeK09oxMrYZ4WV4//4X4itzTbRFAO7UdLV125ZCeZiw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KfU0JrPr4MaKdkMfx6JTx2aF8h6E25TXVjReippGryg=; b=Fuw6Zx2htF/Wxpk2hjwfTLUKB3X+vAuw69FGDrUCzCaFHM37v5PXpnSWENkwD9AZY0aiuVytGvWZ7GSJbW7mEWK3XzKGRR5hIuwWXdR8twYrH4dLf08WMK2ofsYPjCkdU35pM3pZf2cSsV6TpzLzeDpUIJWDrECeM8D/tkEKnTfuwaj5IIObrlv2SRRC0rDLeGNgGGeunmclJjU1221Rny2WeZ0K2IdRK8MdU/s2AMxjj8ayQc7je7NBCvQasMWg7RPvs/PNMpwC1jt2SBCwomY2qGxQXhM0mL/OraAwpd9QX890NEyEba8zvDIPRD+c1500TjIx6oiRJxjO1d8uWg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by DU4PR04MB10316.eurprd04.prod.outlook.com (2603:10a6:10:567::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.25; Thu, 13 Mar 2025 15:39:19 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%3]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025 15:39:19 +0000 From: Frank Li Date: Thu, 13 Mar 2025 11:38:42 -0400 Subject: [PATCH v11 06/11] PCI: dwc: Use devicetree 'ranges' property to get rid of cpu_addr_fixup() callback Message-Id: <20250313-pci_fixup_addr-v11-6-01d2313502ab@nxp.com> References: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> In-Reply-To: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> To: Rob Herring , Saravana Kannan , Jingoo Han , Manivannan Sadhasivam , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy?= =?utf-8?q?=C5=84ski?= , Bjorn Helgaas , Richard Zhu , Lucas Stach , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Niklas Cassel , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1741880335; l=5187; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=T6DcUiXsxiMNKGaSrQrQ6eumahfF/QN5HLNCR1UW6x4=; b=KAaLP5HXS1v9w7jPmyGB2znddDj2l5e6QB452U3OSqHcx/5nOBT/WhUdTe2hKJEj7NpH8o9Vs +3iPyNj+Tv5A+D4/2l0X62OJdwtLT3ybmgmX/sxnJAX5RLldlIAwETD X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SA9PR13CA0038.namprd13.prod.outlook.com (2603:10b6:806:22::13) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|DU4PR04MB10316:EE_ X-MS-Office365-Filtering-Correlation-Id: eef7b578-d426-4ec2-4d14-08dd62453804 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|366016|376014|7416014|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?AZVwg6oMsX1WKMB509GDZHuH97ni+bK?= =?utf-8?q?QTgdEkDHyMRpDbKQ6W6NzlX/J0NRyI2l4MtzMQaeko3HKHwPMDdStX2bPPhlUHT5c?= =?utf-8?q?eF6nOuqaOvviruaCkGu4CcbrpSyjKaFjeeaNByTLbFjqpAND6cQ5+Ss+fqZVjL8U7?= =?utf-8?q?YZqm9VbGyULW6xuUneHNNEijmHurXsdJCIQxuJPPAdzT9v1SVRfZ1amdzRGORkcum?= =?utf-8?q?uHVd3nCG8Nzw8B12JcFCuoCRP6ucKkbRllAFOqriaA9NF9dMO3tWIQE+EgKlSDWrX?= =?utf-8?q?brqSKW6UXx7j6slrmSuMLUhtEh/5itywE3FgS6skzarbYQjV2ghkLyi5QZRnmOr3V?= =?utf-8?q?J482gCt4OtKYs4Xt9SVrtfxXfPGoFnSSEaH8tYgHVPIiOXC0sgBQObUK+rDEvdx9L?= =?utf-8?q?/+2ZhEunntEfS0jiCqNq2atin5ror2MNY2aezIaTmpFOI6ngwnDDHJqvxhGhfvSdY?= =?utf-8?q?4oD6TZ74kcc1P7nfomuX0OSyaRfMtkaTws0vQPgQR0lBcXISuBdwAihNAtc4NRPFa?= =?utf-8?q?h4M/qhoJL414cujUfDdkzGYDuUwviqC8IOGxGsKODK/ZhcO512hRgfNVvuX6fjuRs?= =?utf-8?q?eEAMCuD9fa6N2YBuBqArhBL+iivxykdR05p9NIkLzRradUM42sMDWhzU08PB5Gk97?= =?utf-8?q?Q8MV1kfPGzCNyQbpzSlLPubFmUtA6Xo4rtLNC274f8YNqKijJMHmvXPRsmrVmXIX2?= =?utf-8?q?q8AFfWvaX2F7Yu20pcTRFWOLLCPsySOcBrl/bJwUNiit6PyiJHDjDWTDZVeIshOf3?= =?utf-8?q?ex1ZTYhOruzMZfZQQkKLef1uK/Z4piiKO0F+U2MUxXkLXnPa2YM79bjI3cJo0M68t?= =?utf-8?q?RanuaI/eUFSmelPEQCAsi39iUe6UzOf7cdLG34a7mjwMipmUNyMf1Tmr/xdQY+ZIJ?= =?utf-8?q?58QLYytpP0rMloBxOo5qutfjMiNiLgDZtgwK3+gkikUq434iO6GnztXJy7ZQXPuOn?= =?utf-8?q?xag0NfkSxyD/FcuQdxyw3kWphxqaxQ7gV8QbGNfyVHxGWchFxmQoqy91ipDJaKoT/?= =?utf-8?q?SV73UAzeXM+CEXbs6q8tZFpDsjICQrpoi79F9t1kcw6QRDpe+20MAcZN2iqKALaSl?= =?utf-8?q?iVux/d/pBVBbzUB0QhQTOJDz7XOmQXUXdZ3GjlH5UvRh8QqTKC3yDv4i1duoPRHxc?= =?utf-8?q?QHoxpwc19sLLf5Gzg7oz9HN9Rz+NIHOwnknk8LtNC6/YRcAaycH2d3lDf3FYQbsxz?= =?utf-8?q?cNUjAJsnjG7GZ2Cf6lytqODrddNhVQxkb5dC/QWPSa+xR8ovO1Bn2UiWWLrQSfZ6i?= =?utf-8?q?W8kbTnRtqYPVyPWjsfUZjum3jJvhIvRHaSlMGm2uPN7W2w6C2Dx654r4FwyDgW5NR?= =?utf-8?q?X7dbtOTrzlMcQoo5YKdymsf2i56GvU+3uxn4+IL4n2NaYVuVpq3iASHixTqThrzSb?= =?utf-8?q?7Dej6bh7FUaD8aXJdgEAO6xBFEvyLvn/Q=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(366016)(376014)(7416014)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?Zh1nsYruu8ZSsHOpLm8YVtNWiGkE?= =?utf-8?q?HpJB280r0g2jLXlk42lv/Ry8Xdd14X0Od6QEcqUenqnkcIIXaXbQjVzA86fYu+OyN?= =?utf-8?q?LaWxsr8qRnD2FINTnCnkdxEwX+WngWJgeu1yqe8NsOusZQTp8JFhYptcCw6pPhsEx?= =?utf-8?q?Jor0xj32TW4JnlgAnlYJWTeFeEZn7gkUQYMfQcmqvCuGVP6gYgUJsXYwCGrUcdmTc?= =?utf-8?q?OF9os9mUD1jvDVMWcLCR9fauH/fWasI+b/vpIlDNF8UoJvYtvLUh/NS4aX0DM2T9d?= =?utf-8?q?OW7Y4eAF9gXmEtx0XnoR/95NB68AZbsTV8c8aacPyLHo0xjT+tYBIZ6/qVM01psE8?= =?utf-8?q?GPOdSZ1vN9O0gvMwPvKxUey413EJDZlV/Ly2PEqDCGr/JeZrte8VnR1qp9MgdS8kL?= =?utf-8?q?f3uM1TIH3FC/ZumeAlQGdUBzLQQTFyoEO/sMTx6UVeQgD31t0z+laYzgdxLBKTTW1?= =?utf-8?q?8YF9NRPPdruMuLmG4cYsQzpGT8O3Hz7O5Uzc0E/C7bk4z+HfNOTzSKaiWrbaeMI1c?= =?utf-8?q?HKiF0t9LUjSxX4YjJna1SA22aTgnV8cZKqozsmIeDJUofLzrlImzpuOjY5bo+nZUF?= =?utf-8?q?hKtoN3j4jvDSb6kIIK4c+o4DLKgcMGp5d46PpMS1ZrCyepdPHv2lZuEtZ/orQszQL?= =?utf-8?q?mdWlHK4f/ELsQJAPh/8mYI1xBZ7uQt2H8Qsmtc041lgCNkt3/deDDD5bdAuJR0YIt?= =?utf-8?q?16pmcHGPuYTBZjH3G+ZW/rwg75OAVb6akWLm0r+Bq7usheT9TGYVPi3mkUP8SI3zS?= =?utf-8?q?T3S8/sWG9gMEkxgl+ajg+QpCER9b6hyC6IWMqD5X+1xYAqChfW7rKiosLFFCn0JE4?= =?utf-8?q?evskm3zsjByNKoNXVHfUJGL30xynj2UYlFE0df/CQL23GBgnzuBozJuHSyHp6+qYA?= =?utf-8?q?f2R4mWhwHOvCEhAqVK/TbCmYwcw7b5vQYSNAPv3SO/HpU7i2WovpsPffUOc77YT15?= =?utf-8?q?z+QOTGxY2iUv7wro9WKNV6w79U0i+EKnF6Ti6NVd0QtXkhK04YHzGbp2drmtR5FsV?= =?utf-8?q?9hW9rOKgWc3yNImCDjzKN0jLR1oXxFkJUQMUgjnbuAuUmqNkamT//msL06gecpLyL?= =?utf-8?q?1LY1qtG7A8loDWivHpRy3J6YcDLbLMcl7yAaT57p8hoR7BrSA3DmZo06Wj61xuiQQ?= =?utf-8?q?E9GZRTn7U4LTh1uQqmrwwlaK0ngpXi9Xfu0vOxyR5E5Pd/1+iBRm2CAtf7LFJnkOk?= =?utf-8?q?hKAJ4z3TJg9zMi1F6mOkWklUcBSNEnTw0QLK9yVo13xw59Smi2PpkhVr753STFtYV?= =?utf-8?q?Z1YqQcUqN+psHWyNO1NFujA3pfN++MPejapc3PV+6c1F67BDjUQw0fh8DKvk0YuVN?= =?utf-8?q?Kq+DGA9vmpKN7DJDjgoaD+wpHnbuD2zOyHNmjiecuQcHQ5qGoCDVM11yBYW0hk9wo?= =?utf-8?q?e0wzc4g59Q1CzalOyFKMYZ3D1UO8wC1sSEf7MBC7U9Z2Bd59vobqxLKAAKqx86ejd?= =?utf-8?q?z/+EcRJz+AXkQpVjbk9t4c5A51RxX1WCLHA6oBcZbLYuioCnVOPnfl+XyiOU5RL++?= =?utf-8?q?Q3dIA+rWQsRF?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: eef7b578-d426-4ec2-4d14-08dd62453804 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 15:39:19.0134 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: UYQ1no4W+juig2inG4WdyAX0Fz3P7yyG1UyGGl0ExLm93OuAaUmbK23OREjykCTGsJcKqU4YbtPeLCKaFN+S1g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB10316 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250313_083923_278722_F4B51EAF X-CRM114-Status: GOOD ( 12.74 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The 'ranges' property at PCI controller parent bus can indicate address translation information. Most system's bus fabric use 1:1 map between input and output address. but some hardware like i.MX8QXP doesn't use 1:1 map. See below diagram: ┌─────────┐ ┌────────────┐ ┌─────┐ │ │ IA: 0x8ff8_0000 │ │ │ CPU ├───►│ ┌────►├─────────────────┐ │ PCI │ └─────┘ │ │ │ IA: 0x8ff0_0000 │ │ │ CPU Addr │ │ ┌─►├─────────────┐ │ │ Controller │ 0x7ff8_0000─┼───┘ │ │ │ │ │ │ │ │ │ │ │ │ │ PCI Addr 0x7ff0_0000─┼──────┘ │ │ └──► IOSpace ─┼────────────► │ │ │ │ │ 0 0x7000_0000─┼────────►├─────────┐ │ │ │ └─────────┘ │ └──────► CfgSpace ─┼────────────► BUS Fabric │ │ │ 0 │ │ │ └──────────► MemSpace ─┼────────────► IA: 0x8000_0000 │ │ 0x8000_0000 └────────────┘ bus@5f000000 { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; ranges = <0x80000000 0x0 0x70000000 0x10000000>; pcie@5f010000 { compatible = "fsl,imx8q-pcie"; reg = <0x5f010000 0x10000>, <0x8ff00000 0x80000>; reg-names = "dbi", "config"; #address-cells = <3>; #size-cells = <2>; device_type = "pci"; bus-range = <0x00 0xff>; ranges = <0x81000000 0 0x00000000 0x8ff80000 0 0x00010000>, <0x82000000 0 0x80000000 0x80000000 0 0x0ff00000>; ... }; }; Term Intermediate address (IA) here means the address just before PCIe controller. After ATU use this IA instead CPU address, cpu_addr_fixup() can be removed. Use reg-name "config" to detect parent_bus_addr_offset. Suppose the offset is the same for all kinds of address translation. Just set parent_bus_offset, but doesn't use it, so no functional change intended yet. Signed-off-by: Frank Li --- change from v10 to v11 - update commit message's first paragraph because switch to use 'config' to get address translation. - move dw_pcie_init_parent_bus_offset() ahead of bridge->ops = ... change from v9 to v10 - call helper dw_pcie_init_parent_bus_offset() chagne from v8 to v9 - use resoure_entry parent_bus_offset to simple code logic - add check for use_parent_dt_ranges and cpu_addr_fixup to make sure only one set. Change from v7 to v8 - Add dev_warning_once at dw_pcie_iatu_detect() to reminder cpu_addr_fixup() user to correct their code - use 'use_parent_dt_ranges' control enable use dt parent bus node ranges. - rename dw_pcie_get_untranslate_addr to dw_pcie_get_parent_addr(). - of_property_read_reg() already have comments, so needn't add more. - return actual err code from function Change from v6 to v7 Add a resource_size_t parent_bus_addr local varible to fix 32bit build error. | Reported-by: kernel test robot | Closes: https://lore.kernel.org/oe-kbuild-all/202410291546.kvgEWJv7-lkp@intel.com/ Chagne from v5 to v6 -add comments for of_property_read_reg(). Change from v4 to v5 - remove confused 0x5f00_0000 range in sample dts. - reorder address at above diagram. Change from v3 to v4 - none Change from v2 to v3 - %s/cpu_untranslate_addr/parent_bus_addr/g - update diagram. - improve commit message. Change from v1 to v2 - update because patch1 change get untranslate address method. - add using_dtbus_info in case break back compatibility for exited platform. --- drivers/pci/controller/dwc/pcie-designware-host.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c index 52a441662cabe..482d8ff751526 100644 --- a/drivers/pci/controller/dwc/pcie-designware-host.c +++ b/drivers/pci/controller/dwc/pcie-designware-host.c @@ -474,6 +474,15 @@ int dw_pcie_host_init(struct dw_pcie_rp *pp) pp->io_base = pci_pio_to_address(win->res->start); } + /* + * visconti_pcie_cpu_addr_fixup() use pp->io_base, + * so have to call dw_pcie_init_parent_bus_offset() after init + * pp->io_base. + */ + ret = dw_pcie_init_parent_bus_offset(pci, "config", pp->cfg0_base); + if (ret) + return ret; + /* Set default bus ops */ bridge->ops = &dw_pcie_ops; bridge->child_ops = &dw_child_pcie_ops; From patchwork Thu Mar 13 15:38:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 14015340 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8C850C282DE for ; Thu, 13 Mar 2025 15:52:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=5Jg7Bqg99+PumfB7K6+m5LS4LnRMYTqE+QdU6HQVXQA=; b=Pv/Misl6zJhxA9dvW4ShrlUGcy wO3A+Vne/SA5L8+SvuRQNPQ2SpX4yjtl5BHP9uzHXJD77u79h5ytHyK4FjQ0rOjX3OyRhEy1hFdpI LcqwKsT9zmS7fWuEM470l9sFBWdinHSDZTCoPa0zs56+cewMGCvwHVE9FAxT8eHo18OVzFBtS1Y0u EUoigsA+ZzxXOy1d2LqcMxyh2goRaIaTSbQ8BMis8/tasrAzwY4OIVpLvLAMxLVvPSTgxCRySy4oO YA/3aGo5pP/OVeRbRYlvRyjGwvaWHjeqX2TIF7/N9segulnnSJaflq8ppvL8L0pNkonGFDdN9RMQ7 8+L5lyEw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tskrN-0000000BiMc-2qGF; Thu, 13 Mar 2025 15:52:37 +0000 Received: from mail-westeuropeazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c201::5] helo=AS8PR03CU001.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tskea-0000000BgZT-3Zj3 for linux-arm-kernel@lists.infradead.org; Thu, 13 Mar 2025 15:39:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aAcpw1dEyPJRcOSWJvMZzhE/PAxqbQ6j1CIITKAPYLML/UlPoc/M9eT50NYXfThVN8L4qLmRjvJ5nQwAquEoqRF4c+Qy0Dsp7YnIx0fMtfsSIGErcPr0hZC+jb7WPjKs3heWmsq7oBvaKQdSWZYI0L0P3r1bt/UlfzvToJ7bAsFA8YDsVU85OJIG01EtYoH7XBmdTUwola56p3wm7ti5PupaLvVRVKMv1vgSSmG2+EM7WD+3OPhhtp+woZ0w1QrlgTsas4hfeKpXAijUUHMy4tZAEEM+MvEh+LUlTsnCkxurfgmATsBMallE2Xpev7yqHOYjS2rH+izl7MJrlQogwg== 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=5Jg7Bqg99+PumfB7K6+m5LS4LnRMYTqE+QdU6HQVXQA=; b=j1/G5uxT7O8vOBd83Y0AUdRRT+UXg3k/X2wV/b8G31Z5G3XUuVFtthAJ0mpG33hOnyqiyTVXh68uNSZyg3yt/+k9wSgJNI6uBBRuUV55QUMv+ctU9FgwjTbhZFfrUajvcomOL16ZS29MAHwHyIIfhtSLaq5kt6THstGw2sS3oHbwBJiFxPWayZMBQvtZfkWesRSMHK5FzMf5i5hb1Pxc3vtFR9rBuQXsIJv1fadehKIWPOfBe4KpO41HKyJ8aIPaEnLGsMIC4YHnvKboN9RUQ4ms+M6JmVyI5GZvJ1mgE26JCh4dU+DuN4S48iNMqfUj0DZoyKDziEXfrljEw84PkQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5Jg7Bqg99+PumfB7K6+m5LS4LnRMYTqE+QdU6HQVXQA=; b=bZyn3V9J7ajsbGQPHFYLngDr7XhpKoz03+mSpPxxDrrPAFyMcBeenB6fk2gRcFwfXvkQ5soaWLKGr2qwjeEP4Z/7GRvv7xghi2jnwT2o3ee1chBqj4QAdeFtA1VbE/WlhanPx/spGxLfNq5ow1Q32tsN5A6nrp1dSnmpd8Ep6LPxOIvT/AgmDZ/u28x3PgN/mwLfis0SeC+CVslE7BissBNyTSoqfZoA6A35AsuZ9hjp11ETkV2AUToeVRDnUI+G3p719ubKaeelJj1m+VMOKj1nwuaXuzLd8OApYB5eYg/uBhE2fJf/498+C6MJXvs0SWWbsuHrA442Z7ai1xW+vA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by DU4PR04MB10316.eurprd04.prod.outlook.com (2603:10a6:10:567::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.25; Thu, 13 Mar 2025 15:39:22 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%3]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025 15:39:22 +0000 From: Frank Li Date: Thu, 13 Mar 2025 11:38:43 -0400 Subject: [PATCH v11 07/11] PCI: dwc: ep: Add parent_bus_addr for outbound window Message-Id: <20250313-pci_fixup_addr-v11-7-01d2313502ab@nxp.com> References: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> In-Reply-To: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> To: Rob Herring , Saravana Kannan , Jingoo Han , Manivannan Sadhasivam , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy?= =?utf-8?q?=C5=84ski?= , Bjorn Helgaas , Richard Zhu , Lucas Stach , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Niklas Cassel , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1741880335; l=4533; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=Rva6x6BqQ3w51ZOz28D8ROpdqiDdrolL2qHkT0k4n2Q=; b=RdzZQ0V6glV6tIZglOmaxAC40oo//Gn1GTnLIgoEplCSYDp+IMwjGc/wkV5SIHnjEpue5YGa5 dmuCEWOXdW2Byg8qJorLV8W7TNXcj5R92Vcfk3r+EPWKPmsN3MWTfAN X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SA9PR13CA0038.namprd13.prod.outlook.com (2603:10b6:806:22::13) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|DU4PR04MB10316:EE_ X-MS-Office365-Filtering-Correlation-Id: 7a3f9495-c2a7-40df-f1a5-08dd624539f6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|366016|376014|7416014|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?KLuRSkrp7IOK8+2GY8sgzGnwW7Xbrwh?= =?utf-8?q?Z27Ao05Z1lZFiZIQwVktJg1IukkjJKdwQnI/CL65WXMg52vdHoEoBVPskQ90fgYkp?= =?utf-8?q?0rxK3dRIgjgfaz5T52/cDfe0PDIvMQLY48IxAX59FolQGFgCKB7f8xktPj9rOiCXk?= =?utf-8?q?FxYIOk174rPg69uCb8JI+MoPV1NgmstQHrgLtcLWTEaToDK/OhjVO6w7HC5VtbuTs?= =?utf-8?q?pyrX3k0MWuKTmdvIW0Qp/+/O9seHYsAK27o5UtOoP8Llgs+6gBNqdeTL6+nemJMpZ?= =?utf-8?q?7fONRpC1ps6U0y5CYR/LZvW/WRxCtJP0ApSbIipWkzlykmCZc8g0G9Afxfg/cguqE?= =?utf-8?q?xnDgV/CpED1q/PlheIY2c0x6HoTkUEOH5W7mSV34ktfde0J+TvXYm69Ji2TlWsAMQ?= =?utf-8?q?1+6wTThab5ts5z9FzeUlYZ9/P2CFxzMsbF7rt6iJYi2WTDohdLsMeGX6Xgh83LL/f?= =?utf-8?q?X5fvoCCKbCbVFj1YLseHA7K+dNmmdsE+dhFHkm/T2vZyej+Fd+4jL3RFnpf7zdmyZ?= =?utf-8?q?HTBvMffrOpL1URCcbHi+JXrlqZZwmXSIXEBRmKJ60P3jBb6/yX2ks1DrS0lyLX6Q7?= =?utf-8?q?yvW8aix/bP+yXxQ5MSm1H0ceFbkrfkzNGJ+w7S7TY3mz3zcfIjoXxwxZnQPn1XKFQ?= =?utf-8?q?8beJOSHGywpfw126HZTlI50xWtzFeLq0QkOlZ6TPBFzy4xH0h3+HnC5IJwLzHRkZ3?= =?utf-8?q?PDkt4GTLmCEIvWWQWcsamzgQQ9S0qc5Edx4PPOH0ly8yfDS5Vd6f3vwAxpmziD2zO?= =?utf-8?q?/qiRO9mSP95+j2sxhqNjWMPCOwsitf/uxyXrwSWV1UWwaLixCzchZGGNvH/lScW1u?= =?utf-8?q?oMGnVQiQ8paW/yze5qFr5AzO1Ip5XVTX8mPTRw8OPMJTHNO1+KOK568U+m0n/1CAS?= =?utf-8?q?buSNcCSC9Eba3qRcm3h7FAymbGsj7Dbox+P6ZjUQX1gyKKNDuPmykCi8S5JsuY1pI?= =?utf-8?q?AheKoZUiZusTTaH84zj8hwEJv3Clq1EkuCqkgwuuwHo6sNbQADeGL8HfEWyn9b3ml?= =?utf-8?q?N/T3OM4HlxLlBz3roG5Q7EyEXVDKjHULF7G0Ji5ge4FHAooavePdRfOVQzScruOyf?= =?utf-8?q?h1JkyRSB92mQBkrLokxD/wYlaP896RZ9xqiSTpcWM97Yb/zn6FoZThp7r/NLoiVlI?= =?utf-8?q?0sJum2z7o0VhIIj2x9lYx/u/1pm842gaoJc4AS+H/10kt5v+6iGQLTF+szG3tgsWQ?= =?utf-8?q?CHCrEYCkPqvreox9thv/IJvH4V8MoYwHcbtFYqU5Pc4rCuLdF40DB6QrL39VqUXsQ?= =?utf-8?q?UmTmfKKXHGCYIjQ6UvVXHdKAQI8p4bVCuA4h4oGJcrAsm3FpebmOAkFe9/TJO/NXP?= =?utf-8?q?hxvU5IJEffRmI2tdCO4n1grr+kIql3SmZf738N4MNUx8yaPZAYOmJ6eOWK9d1RNSq?= =?utf-8?q?d03ng7fNkqatwJcwfwnecH9XURh7YwTRg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(366016)(376014)(7416014)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?gsyNY9135IUleSe30ETe/J7ZEWlr?= =?utf-8?q?9Pc7CT8ZO3X4VDJk5XURlkt52F1aZyX8myFuvDvthTPrkVu1C0cFhwz9sSZFpcXD/?= =?utf-8?q?lpIXVYZcRubBdi8KRJyXyvO+MFX61VzG4mbAITBudVu6X8KBQSc40M+kEgxuR6XOY?= =?utf-8?q?o9squIgqJH9qGrKbyFTk7ejRocstBVJvZS1wqP6OJGy46/aOrfWxUsySND/wYsEa/?= =?utf-8?q?Kt39DqNBXXIJSI5Pe6HKUBQhL7bwsA4+XcF32ZkUjUVFLROFdY/H7GsLezcdlalst?= =?utf-8?q?e7oedmpZCXMPo7kLIh1GieqVBzPKIOmvXNB0T7jGBH4gDjs/EmAnTFRPN+tj+cDoM?= =?utf-8?q?QpNuwPOJ833Uxgs6kcWAmO/DxCmfh+CWhYz1T3AydvVVRm5FNsKFZFkDAvlvyx6YP?= =?utf-8?q?fmivMizoLEqUubRR1NdFuYhuSc3R1pp04cSOZ+24qKKYcLhB0k5WDOTLQ+ZSvZWn1?= =?utf-8?q?6r+JAf8TfYS1tbJ9YtABBK2DOkBMQaO9/HpdsUgVnO9s893Js+AmCy3Xxaof/OlbK?= =?utf-8?q?RK4Up7V4xvWdGOF3uzTDz+HRJyFMXrb4W9UhDwxjjUZi4ghPUx55YbAUSA+7qx4Fx?= =?utf-8?q?NpBiej+48JBGvkSjPh5GAK44rs8akOJgaKtPoZxt0IXR9skeFpcxhyxNFbiLUW9Zz?= =?utf-8?q?RqFXJUnnY+wLqddJbup2gRhBzqk/kDLdwpWUlzkt8fJ3ioe+DjW1voirlM8CuEHPy?= =?utf-8?q?pIfIK560qMjzOArlHp3Bwxxd2msQ3kx0TAdKZpCN3PiE96ELZ9Xw96rhmZQOVfzzz?= =?utf-8?q?0nrzEPJ910YsSRsowxUhq+AoLR5ZeWHM98+BiTi6OAiggAW1MwsE/6bbBZj1Rmc+3?= =?utf-8?q?dde6KSLY03+VOV3BueFMBLLlP+wijVm399aMgrc7OQjgO38wdunU3OQxrSMILHphC?= =?utf-8?q?x0QRYkEiFmq/+RH7WrHZDF2cb0J8irxJablmKrLmLBjGiLPlawjKznAWJh02wXdV7?= =?utf-8?q?mSm3N0r759AP9ieauA9/DbmttG8ZhyID20Fxlt6sSXBMtU1+AxX2pSc2ZYXgNocW3?= =?utf-8?q?usOroBAmZ5M4JahvMISg8mKtQpt33Vny8jfuGRMLKtkMT+oQBckb1JrJCHlolJi4Y?= =?utf-8?q?nfiErbP+ajPRtnsdTRLwVyydsQsCa08ck3icc3qmiUpE96LptbzGgoyCjwTLwQq5a?= =?utf-8?q?r3uImEf5xhJjVRftipTcLCRgOkkp+h3oBuhj2fLB9jZr0ITIwhXENvjrygq073iGS?= =?utf-8?q?Rai9zGiHazY9IyPe2ygJKshn2L+twtStvRrMseLEky2AxKNlqTJEg+dYmvspLvXyv?= =?utf-8?q?0oJcOS45cCEwj7wiBc0Y/Bqxsg4aBeh9sWlqQwDe37F3HNR4D6zdEFYDgVtmep4Xw?= =?utf-8?q?yTTU+B3QmDQAwIPp4KTLTvGDON8DnvqCPW2/NAvk9mOloyd6vXG/w5EOV8OSb7U49?= =?utf-8?q?Fh6hygDodaPz/GLTjY96BlMI1Zizbu4+uABVkN6VZTR7NNpS6CSm636McmsLZdb+c?= =?utf-8?q?IIb+TPQL43bX7JkOUlRcXSOAhV1YCDzPoRLH3xa8TllMiyXPQynmjNMFBmyzsHil9?= =?utf-8?q?kNXj/lCYRiaj?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7a3f9495-c2a7-40df-f1a5-08dd624539f6 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 15:39:22.2884 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: bCTOZu9olrO3tBdan+NbOR+awDjYCWh5ToaAami5mdgg1fFm4PMliuCvzyyfWpZ6ncc0p23is7kufHFQhPDuNw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB10316 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250313_083924_892890_8FCFE6C8 X-CRM114-Status: GOOD ( 15.35 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Endpoint ┌───────────────────────────────────────────────┐ │ pcie-ep@5f010000 │ │ ┌────────────────┐│ │ │ Endpoint ││ │ │ PCIe ││ │ │ Controller ││ │ bus@5f000000 │ ││ │ ┌──────────┐ │ ││ │ │ │ Outbound Transfer ││ │┌─────┐ │ Bus ┼─────►│ ATU ──────────┬┬─────► ││ │ │ Fabric │Bus │ ││PCI Addr ││ CPU ├───►│ │Addr │ ││0xA000_0000 ││ │CPU │ │0x8000_0000 ││ │└─────┘Addr└──────────┘ │ ││ │ 0x7000_0000 └────────────────┘│ └───────────────────────────────────────────────┘ Use 'ranges' property in DT to configure the iATU outbound window address. The bus fabric generally passes the same address to the PCIe EP controller, but some bus fabrics map the address before sending it to the PCIe EP controller. Above diagram, CPU write data to outbound windows address 0x7000_0000, Bus fabric map it to 0x8000_0000. ATU should use bus address 0x8000_0000 as input address and map to PCI address 0xA000_0000 (dynamic alloc and assign from pci device driver in host side). Previously, 'cpu_addr_fixup()' was used to handle address conversion. Now, the device tree provides this information, preferring a common method. bus@5f000000 { compatible = "simple-bus"; ranges = <0x80000000 0x0 0x70000000 0x10000000>; pcie-ep@5f010000 { reg = <0x80000000 0x10000000>; reg-names ="addr_space"; ... }; ... }; 'ranges' in bus@5f000000 descript how address map from CPU address to bus address. Use `of_property_read_reg()` to obtain the bus address and set it to the ATU correctly, eliminating the need for vendor-specific cpu_addr_fixup(). Use reg-name "addr_space" to detect parent_bus_addr_offset. Just set parent_bus_offset, but doesn't use it, so no functional change intended yet. Signed-off-by: Frank Li --- Change from v10 to v11 - none Change from v9 to v10 - drop mani's review tag because big change. - call help funciton dw_pcie_init_parent_bus_offset(). Change from v8 to v9 - change bus_addr_base to parent_bus_addr - fix dw_pcie_find_index() address compare, which cause atu allocate failure when run many time test. Change from v7 to v8 - Add Mani's reviewedby tag - s/convert/map in commit message - update comments for of_property_read_reg() - use 'use_parent_dt_ranges' Change from v6 to v7 - none Change from v5 to v6 - update diagram - Add comments for of_property_read_reg() - Remove unrelated 0x5f00_0000 in commit message Change from v3 to v4 - change parent_bus_addr to u64 to fix 32bit build error | Reported-by: kernel test robot | Closes: https://lore.kernel.org/oe-kbuild-all/202410230328.BTHareG1-lkp@intel.com/ Change from v2 to v3 - Add using_dtbus_info to control if use device tree bus ranges information. --- drivers/pci/controller/dwc/pcie-designware-ep.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/pci/controller/dwc/pcie-designware-ep.c b/drivers/pci/controller/dwc/pcie-designware-ep.c index 80ac2f9e88eb5..d69d76c150d92 100644 --- a/drivers/pci/controller/dwc/pcie-designware-ep.c +++ b/drivers/pci/controller/dwc/pcie-designware-ep.c @@ -915,6 +915,14 @@ int dw_pcie_ep_init(struct dw_pcie_ep *ep) ep->phys_base = res->start; ep->addr_size = resource_size(res); + /* + * artpec6_pcie_cpu_addr_fixup() use ep->phys_base. so call + * dw_pcie_init_parent_bus_offset after init ep->phys_base. + */ + ret = dw_pcie_init_parent_bus_offset(pci, "addr_space", ep->phys_base); + if (ret) + return ret; + if (ep->ops->pre_init) ep->ops->pre_init(ep); From patchwork Thu Mar 13 15:38:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 14015548 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 94FC1C35FF4 for ; Thu, 13 Mar 2025 17:14:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=YFAKqG/OAiUEcauNBYo0XC6RY89asF13XTVlK2FKYW0=; b=yDxbYk0Xx0hqxdKbVL0VgiA6pA QWWLSddoOmGXNKhw65lDRIvQhn3UIArIdYdc/vPmYu2A++OvQGVG0S4n4k4yrf17+qz9WiSen4kxU +yx26VyZGWAVfPFNvJBavfAZoJTCCDS+ba9PVHKdlhzknwLTd99ON9+eD4TbU155TCvcFyxaM2x5K IwacCUAL8lD9+Rm6y+o1TRlKgeJ5/LXCo4RcpKeI0lXvteUzqGyKv7y4z781ERS+4VUC6BRfz0FeT bg8nzWyqR13WfUsHH6NGbsssuVEJOjKagtmnPMjR29xojD0CYlGccegDgyqFvjmyICuY8y2Cui0P4 13/ld5mA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tsm8L-0000000Bwaj-2ml5; Thu, 13 Mar 2025 17:14:13 +0000 Received: from mail-westeuropeazlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c201::3] helo=AS8PR04CU009.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tskef-0000000Bgbd-2nrk for linux-arm-kernel@lists.infradead.org; Thu, 13 Mar 2025 15:39:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=v6EJlm70G2rE+r9LCgHd5OSpecmYNo+xipEB/TijQKKYr7WlR9DWccFq3ifV4IUK3vupNycQYFkSpieXAD8sx21He9s3N2afebGXs14llvvBcr8M2fms8yhs+VhKHU1Jo6knN1jmNVkxqX46b/nOGItH6BPNsCEWLXCBgG0LElXuyoeYuKR8JUfWJDi0QrIrucD3IiAyQXj5dk1G30SRfUrGGM0KTLl9nvQmNSaOc2gXdBlm+L2uaZpfFjWQ4/MEEgaTkUuzjVqr5XraK1/rBQrR89Cqa7Hx3zccp97Xpidwbk7WWNch+gJBjQoYdnGHZIjQTjL0GZRBt5ZvHUXnTw== 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=YFAKqG/OAiUEcauNBYo0XC6RY89asF13XTVlK2FKYW0=; b=ZzHfSZHR8yVDuha58DGVWkatkhxgaY1fWtGCmYjwVVOzootZJ2m4sAFvnFwi5wT/nYACD5Q7+66VVazqm21myZXoAPQbK+AHnh+BsyvaYkilxLJDA6jvx8j6PD4zjKhwP0w8K5BAguiIYADeiIHgsaWIvDeMrgNxIs/EA1S8T0slfeSOgK6r5DpEqZAGQKoUkxBMvSQfmRPGl6bh9XkdrrYIdQnUr4PB/FiSxqaWSA3H4nXxIy5NFTyRtuSWL3UvayTuoNrdFKBJHazKJbEOPxZhQ7HccQkGzAXbXhcPa/82YV8Tv7Hg3GV6/bEYxDwOkAmV7tPXVKidqMzfjJ1uFw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YFAKqG/OAiUEcauNBYo0XC6RY89asF13XTVlK2FKYW0=; b=YOBQjDUYkOe2dAAKHHi6jKS/LTWqTJ/YT2DnmKospwvRmyAaj91R14ZsPmKLWJ0UJ0tzOoDWbhoJixyAQwlQYfIqIdP29jwzVd6tr/qiHyzYkasS8KLtU75lxRnsz7twRqXRa6k8w04fpOn2DJIcrxRcNV1fsP54iefHJvi77s0vxqYA6yXwjd9LQt39m323yfjCwWpIcHNPoY5z5vX+OjCqu2p1NikOAsV1homW2kdWriRjac1bsmkLG2G9If0GrEHImSUcVmpp4fOvv0gYgLwU1SRtMUcj+fKh9kLFXtvvusq7Z6vjaOv/Ef5V3s5zQXGn1csB0E7Nyvv0CHkfKg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by DU4PR04MB10316.eurprd04.prod.outlook.com (2603:10a6:10:567::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.25; Thu, 13 Mar 2025 15:39:25 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%3]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025 15:39:25 +0000 From: Frank Li Date: Thu, 13 Mar 2025 11:38:44 -0400 Subject: [PATCH v11 08/11] PCI: dwc: ep: Ensure proper iteration over outbound map windows Message-Id: <20250313-pci_fixup_addr-v11-8-01d2313502ab@nxp.com> References: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> In-Reply-To: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> To: Rob Herring , Saravana Kannan , Jingoo Han , Manivannan Sadhasivam , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy?= =?utf-8?q?=C5=84ski?= , Bjorn Helgaas , Richard Zhu , Lucas Stach , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Niklas Cassel , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1741880335; l=1478; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=AqcDCqP6UFlZaHS0jNKu5fFmLQdamqvz43QCP/CWh/A=; b=V196LLvts0CZlPIzM4HbePyv0rXYwas/XT/yu0lERN46Zz45SEk6HMK2mg3OTNmV0XHzSsNzC zNvwIz1WAXgCm4aLRLd15Z0AeAAJFx75tQTBHMXq6YOSFS16vMmVtm6 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SA9PR13CA0038.namprd13.prod.outlook.com (2603:10b6:806:22::13) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|DU4PR04MB10316:EE_ X-MS-Office365-Filtering-Correlation-Id: 6dd2fae1-16c9-42d7-bd6e-08dd62453be2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|366016|376014|7416014|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?QMorVlrRzQ9aGb5yP7/gWeIwHPulvhI?= =?utf-8?q?GIatf5z6rdshggZ6E08jSg30sjH9Gubr8RRHUneoAGlYNkM+gpuR9iolA3ZBN543D?= =?utf-8?q?qdLr/zt5spmU6tS7CVbZGz3zLZ+WmJD2Cmr3FRukNu1zLH210TP1hNoIpiBZQbHeX?= =?utf-8?q?9jOPwvt7EpJaaNvw9xry6fO/Wl7dcB2cChQY+bG0YTD4xWESfgVxyUund9GdVr5oU?= =?utf-8?q?Ll/uw0Ak8YYX5ot1/Dhdd1T3XA0mrabOT5spnXgvuirRWvCEjI6CeDggMBe0RsrYI?= =?utf-8?q?R/UTg+4xEleiOZ/LNRxK2RtC0VSepixwXKM+qUHUhLO1j2SOg7nQ3QkPY96Zo1Fsm?= =?utf-8?q?cfDvyufsBzvVVTlmTSwBwCUsPTFzawPXOesWdGdM0IqmEzbvSijcM+jaKg0bi1IeX?= =?utf-8?q?Bw3U3m+oWWysL9vT7ShCX2+MDlT6Pt4xlYlC9t6W7PHLGDcyV5kjUysKwbmLbE1sy?= =?utf-8?q?6Rf4cOLN9FAIK+3N4GR4pj5WnIlyUUflu/0ar4ccM0janbCJWUOmIPZJ3LhwpmfzQ?= =?utf-8?q?Py9PB7ekmzxOc+BlI/GhOkTCAmpITbyKT1bsIBX4NeCBT6qmJ5epdeMqRofcZ0Ukp?= =?utf-8?q?2KMZQjoY8Ivetp/tOuVHS/QRg3e59rwODh/Vj8deCSG26cEOKGUM7YykjP1G4OW14?= =?utf-8?q?AmHmKaDhuSJucqg01BfakcGXM8LEgHmikiSNU/22hhOzLYOXctY+GDhulL0RNnNDw?= =?utf-8?q?xE6/EOlbATwok1/ojOo77z6blfxLQIgci9V30+twew0ph0mOLsMNQ7VnsMLLwHsRS?= =?utf-8?q?fCUVnrBu366H/M4tftOZXquByjIdPE6InQ0kF3DRx5Sc3l+d8YL+Dm4ErdbGhhaBK?= =?utf-8?q?sWpiKt6zJ8jaDKh8a0xZxT465fHEgO8LAjrwOyjpbfitnRpohI5Sq4VumelvFZi9B?= =?utf-8?q?N36OLFO8DTcB3h9oewolZx13oVacbpZXnTxnz+pJLmxA6KdxuHUHf2yCk4QMoP35W?= =?utf-8?q?Q0rQg0qS1/eFHuHvI2qjvJcgVdKJ+hgqiLyCak1rXWVcC5vHFY8Sqnftihm9kI52V?= =?utf-8?q?qPRvjzewHmF8jkbP+FQnw0ZvPizJTGHAU4tC6g4+Oi7qF3JbnEsaB3MFO5mLAiPGW?= =?utf-8?q?EgG1yYv6b2h1C5J7EocnGXHVBsIC6Y15M/AjYX4EzK+K/msKnz3O9TlxOO/EFTIk2?= =?utf-8?q?H9wbaqnXecdzGJAFBb5hWww7i4eKSOL7QNP49KTdAClNx8paGjYBvC1lvq0fbCZrj?= =?utf-8?q?ULHMeI76LLG9xzRgrdqN2uX0uBLqH8KWLMjTjVy/W5+vw1dnPiDqdMWrJmErjHOIJ?= =?utf-8?q?ZlNjJmMKDujL+9e1p7lVF+jAHI6AuRC4T17b92cygvPx9uca2X6v4gCKfKf/M0CdK?= =?utf-8?q?l7jst/Z8fbCAdAnAnGpwtk2l2PlgOHzIB8QeRBrtDJwoOpzI9ZI4VXvnkat5pIM7M?= =?utf-8?q?+LsXSrYtAtZ?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(366016)(376014)(7416014)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?MJeOv3HrJAgQ7lz6IcsHx1hfiZ6z?= =?utf-8?q?LqIDFs3BkudLd0UoQD4v2BsW7bGGP8YFSEWp54QhVM2SrAAgcsPLzNf2aR4bylNXW?= =?utf-8?q?yronBsXVhiJNzNoBMUgbX0c7/k3swW2SIxV7c1ES17NVotcSUDFhoikqxn+EpYaXE?= =?utf-8?q?TMlIBJNV/flhKpgHW5iHPFRZ1rH2vv9mArpub0CoMlLpp4eI2F++hlInsAYEvg9Fx?= =?utf-8?q?8SfQNd/65Qm59V0L92VTxdrhFkIXoegb/VrIsSroONNfswExH8VGxh6xjt7Rs0x74?= =?utf-8?q?hH+lg1+FejWkVqyuQL1Z/nTUX2JQ8QDggXHGU4fw3M3iRRb9JAujoEjnqsMGrW7uD?= =?utf-8?q?nBi0Ac7XnlKKvQVEn60FX/qwRZ8MQv0lREK5t/4RdA2qejsNIkC3fgOpTNNJXoccP?= =?utf-8?q?Ceaanxx4/djfow8VSVnocfYJ9NelI3zeFUMdj3d95we3YZeXEy/Wxt5SInuxBqtNJ?= =?utf-8?q?uEBWR9J35kWFxxsRBvHWJC9N4DAnxZq3jaFq/TULyBK6uP07Oap8BBHiu63udHUYe?= =?utf-8?q?LO9E/7sWWY9XHLwmD2ZTJQAlI+R4w6TFA/KRnh5lT4jUl05VpcxBr9qCli4EsboCP?= =?utf-8?q?XLhehARq1TBwoYS2sFpdE23pmOhKZryJ5p3YnuNw5OZ5OoMR8u9k7hDF4Og3pCpDt?= =?utf-8?q?B1flHQyj9/fdr1zouvLEQkDxUBTeWUGE867d3+R8/MMr4x8rAn01I0161FnlZpAto?= =?utf-8?q?rtRfhwZ1tftI5+tFCs6R02cKYRjFK3RySV8u5lAkSelMV00jRcepuD/kQn9AV5lJ1?= =?utf-8?q?tdH3E0wMLzbwsrmc35LmyGw8E16g7pQ27mtzWr7pQFsiCzgCOSIGbpMFfaXBGsghV?= =?utf-8?q?LhNIE2lVCizuWTrygwa8z88MrukKn6eTI5sq5/RUo6TqkG2KfALYyQ7g0cTBrsHyn?= =?utf-8?q?iV9K9Al6NmSYB3lC2shbvkGi0gVP6EDXoDwOqoWB3h3FSCyF+8SAgMmsG3fKTabIp?= =?utf-8?q?wUhQq2pIBbezmKnonG/xX9CKIR028SyBp0w7SvLk3ocw8behaWsJX6SeuXcVQPdJ0?= =?utf-8?q?c4WSmqv2z4OszMgKABzkzoCZp+yeL7SZMR1YagfcteQRLppZcgEglqwM3vZPTk9vL?= =?utf-8?q?o7dwXiB6cNVF7feAaO+sDYkaCFcAYIbMHjTDnSyezj4XfkBTlIDeW/9pcgHemb2st?= =?utf-8?q?z5KXb3o+gYP4cQWvjoAz/OgA+lLdYO0lnt+OOYxTbteU1sX4hu2vEzxjF35Ci3OVb?= =?utf-8?q?yk3TPjTPJ3FTVKq7T+e3B5zJNXBEv6ChoH73RIR5bFitA332hCG3BO8OMqY3wlIEH?= =?utf-8?q?Ft1+eIzwthE8VA0yKOvS28nI9vdcG8fiFqxwmXf/xik1DKvBsApYb3YLdgAv2FmOT?= =?utf-8?q?ZsZNYgDvfIxFMiw2FMvo3RTnd81Q8nXImQ4uZFNx/z2cMGBR/rh7PUCNT6M29d/Ab?= =?utf-8?q?l0FEu7sVIkCEZnN6zYuJ41AjYcvDjDjEDRPHvHufmTOCFQjDHgfTi1kvyOfwelAYA?= =?utf-8?q?IqmcNeAoLeQaBYJf2waTjC2Ff2R2//3wbWkwkhq4KdCr32U42XehSYCaLguVNw+V5?= =?utf-8?q?4ZXPmHO2+m9C?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6dd2fae1-16c9-42d7-bd6e-08dd62453be2 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 15:39:25.4934 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fSl68L5glxPttXgbNn9taZKfRMWZ61f+ucOMMHX0TcqskjjcuUO7LmMFxW0kQwLlRBFKcOfU9IafTSA0lJQ3nw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB10316 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250313_083929_711281_A642D909 X-CRM114-Status: GOOD ( 13.00 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Most systems' PCIe outbound map windows have non-zero physical addresses, but the possibility of encountering zero increased after following commit ("PCI: dwc: Use parent_bus_offset"). 'ep->outbound_addr[n]', representing 'parent_bus_address', might be 0 on some hardware, which trims high address bits through bus fabric before sending to the PCIe controller. Replace the iteration logic with 'for_each_set_bit()' to ensure only allocated map windows are iterated when determining the ATU index from a given address. Signed-off-by: Frank Li --- change from v10 to v11 - change refer commit change from v9 to v10 - remove commit hash value change from v8 to v9 - new patch --- drivers/pci/controller/dwc/pcie-designware-ep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/controller/dwc/pcie-designware-ep.c b/drivers/pci/controller/dwc/pcie-designware-ep.c index d69d76c150d92..4ecddab131b33 100644 --- a/drivers/pci/controller/dwc/pcie-designware-ep.c +++ b/drivers/pci/controller/dwc/pcie-designware-ep.c @@ -282,7 +282,7 @@ static int dw_pcie_find_index(struct dw_pcie_ep *ep, phys_addr_t addr, u32 index; struct dw_pcie *pci = to_dw_pcie_from_ep(ep); - for (index = 0; index < pci->num_ob_windows; index++) { + for_each_set_bit(index, ep->ob_window_map, pci->num_ob_windows) { if (ep->outbound_addr[index] != addr) continue; *atu_index = index; From patchwork Thu Mar 13 15:38:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 14015341 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 697F1C35FF3 for ; Thu, 13 Mar 2025 15:56:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=m262o4h6ra51Rb6Iz/mlzUtPdhX6n9We7m777bDr2MA=; b=b5vOWZXkGzkpVw6SZ1ill0Ej/9 wltFI8tECRmObekq3CsIsuLtBmONufPAkhObWvf13oKmPbbtxmEJFkfHOj6uhp7ZofOUUcJMkJQEp JRn/yAXNFMLvduLT8zmAKyce3gc2p+ZsOS1OBzxqd5G/f6/4/X8zjrdNgAEDMl9E8unvkQarJRzEp iCU6NC3w+ZLvAhcbzy5GFdbLETgD7D4WdBFQD07QlFCV4S4/gopXQU7aVxst+j+pTM2XA7gPVZEt3 7gndCyXSBRDj/02yaPNwSNIGUUQJKil/eEsoYF2KT5tDjjqbX1HK0H1+BG4x8LwYcaPwqlfmkFmWb 1cJxaHuw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tskud-0000000Bicn-2E2E; Thu, 13 Mar 2025 15:55:59 +0000 Received: from mail-westeuropeazlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c201::3] helo=AS8PR04CU009.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tskeh-0000000Bgbd-0GY5 for linux-arm-kernel@lists.infradead.org; Thu, 13 Mar 2025 15:39:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VFwVG/45tZKyQse9xgmLGXz01UPdYTPi2VDTwU19dnAXuInCX4bPcqhxu7LoHB9QnAMiGWjoDzrfVGhDgX4VRqDAtAtbtcnY+OmNWTGlajaW2cDGPo1eoNzA3tBDfJ9PR0og/bU04l4r+znx78+sCVqZhXO6tDcM3KbHvXBsIq6sra05K/9KIvnKuZBpTX0U3Q2GA3r0XcCHOdlQ+rw0nqivkLtGkCtINalmN8rzYFxw4ksnWpaSt1vpBfZAljME9aA0+4jeVwYwJtGmCssKK9nhEX/KmrPOdc4WQ66GhjFKocIh9GAkYa5tmSp/GiOu8N8H7rJhN6e/ZvF+vKmyow== 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=m262o4h6ra51Rb6Iz/mlzUtPdhX6n9We7m777bDr2MA=; b=XeSlPuyfl7ZVDSqBaepWkNA7Ha349QKaXqWOlXEZO4+gdzwj/blyU1+lPUj/cZtvHKXTLvQ6XA+cV5QdZaLlvnOyHDxLkl2t5QQWkRyPyZE7XkG9Q7279HQmi5WeDPD3pNrvzBXSSjs1Oa4tXHnUT6zLWUxClEIFTpMboOrF8jEfAlvCRYKRtJ5tuS9N3bBJZ6cpuF+k+S+W7D+1Lxa+HoJm16mV5GKa/3qbzoBod5bwEvCdk7/a/Pl95xhpgElra4ThOqRdEBjMUY5am6hSuK4JyaLRJBREJS/QNC7yh4m+ZAtYh251I4MH6/QZesmFwMcxEv71yXmMFoIhJvJH4w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=m262o4h6ra51Rb6Iz/mlzUtPdhX6n9We7m777bDr2MA=; b=gfTDTDoaipJeuMocF0wXLZmnywyL/XNaLAYf1FKyJlPsiWidfqhZuzkSd/6CJN+E64QyYj6wxvGRDQ8IrpoozClLqqWBxXu+Te9BxAqumst9HLu4l/7/w5BHtefwA/eOPZWb0lYXTl30zLuGqC1Axjekn3o6Weh6EpmP5wMAta89+X+avHcKE+uZ9lu7aGjVSTIxuS6Ajh6fYs9FISSqSUil5P8mAp0bT55GnJ0iUuwZ8/ia5xbVa+qlbjHili0uqYA02VTXVropj4nQdYzbEittsDnh1pLJQ2Iq+OMj6DcC6Nffayt+WwJ6JrjbeUjSVbKtuHVbchM115B6eQwG7w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by DU4PR04MB10316.eurprd04.prod.outlook.com (2603:10a6:10:567::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.25; Thu, 13 Mar 2025 15:39:29 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%3]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025 15:39:29 +0000 From: Frank Li Date: Thu, 13 Mar 2025 11:38:45 -0400 Subject: [PATCH v11 09/11] PCI: dwc: Use parent_bus_offset Message-Id: <20250313-pci_fixup_addr-v11-9-01d2313502ab@nxp.com> References: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> In-Reply-To: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> To: Rob Herring , Saravana Kannan , Jingoo Han , Manivannan Sadhasivam , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy?= =?utf-8?q?=C5=84ski?= , Bjorn Helgaas , Richard Zhu , Lucas Stach , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Niklas Cassel , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1741880335; l=4863; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=ijnbbqkrbm2zGBkdDkKnT9lKB0pwFgDMV6ng/ql8F3c=; b=SGvzDpP9fJQr/iK7ZCsthLVSBVTLUGdJMnpdbGMVwkGYQ8nnA6bBcwr1g4ABl303p9V/AMi4R 9SjFKUzCENaCn25C0YrHgX5IPey2P3AIPvenbhpzPtxxY5BCa11eidO X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SA9PR13CA0038.namprd13.prod.outlook.com (2603:10b6:806:22::13) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|DU4PR04MB10316:EE_ X-MS-Office365-Filtering-Correlation-Id: 546c8954-3c9b-41d8-e08d-08dd62453dd0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|366016|376014|7416014|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?XnEDFX8ALNha91mpYIbmVSFy5oUBsX+?= =?utf-8?q?9nnCURbHwwZE5WyQoG8A7lbum+NeCszRsa9KMaH1chuMYMaUS5DKQMTs1fuEep4k0?= =?utf-8?q?HZ7W9aO9OZqUnIcLqTQjPhcb23vMZo0AzLrujgmBcU75NDIjbMsBMJ/Z9kXB6mZW3?= =?utf-8?q?zXtSgu8BZlWGcDhzN7VtMkzP/F+TGCDoaY8vnYX9dvj+e1QupOyvVVcHX1XsZ3KKD?= =?utf-8?q?2xXWBc+gav41zzyIEsm3efoq9C+CJC76zhd9/+HL2FUjGQeJVxDHnbwwc9XTXAYwn?= =?utf-8?q?YDW8E3zKXU5fD66I6NhV2hmYfbzSp189L0l6QYZeZKbGFTSjqIvocs8lB73Yklu/5?= =?utf-8?q?Dvj0W+ercQ6HL/XFb6ml71f6witek7eSYmAK7lFOlZS7xbKs2WAJldAl4tJDJSyIL?= =?utf-8?q?7NbkC588ruUjsaLHF0AEMdFtXMuEes0zP/sx0IJWgD9PDv4QuTBu6JC1gxIo+NST5?= =?utf-8?q?tlCjyzfWCkI7JpupcplvSpbNAeHLjG9WV0rCgSbFDIQrw6TB8KGcKqhKps5qi6wbI?= =?utf-8?q?jLPlF+vXpgyRALxWgeyVkbr19nLlXK8djkR/bJxDiWI8D/VSENUEZh5DtvCwXS1Qu?= =?utf-8?q?M7eN1M6bx8p5YrdkLrLAh7u9qK2fgwBAuCu4UFIbwQAPigQccwsyg2ijKWDq3lA2r?= =?utf-8?q?DzeR7VopLEE/mmMtRMk9AiLYkf8TM2+mdNeKBv6qcZd4OSbTiy35PkAhWlqbQQUz9?= =?utf-8?q?ztOpe+Jd6VxTA0D1zZ6mFeW4ALhLkh5cJz7pQS5FySxS0nM+JLjPVPdGu+WrV+3cf?= =?utf-8?q?cSofbnBk9mf9oI+0jCWOxU1nO1BSiySfU4OqOkvQmbTAmvhbmF3OBJoKPvs9tCIBX?= =?utf-8?q?8cATxSrLf+yn92KBueE3zmXAd6XF6oA5R3l37x1XmxBUpZekZ/lu2O1oxZGFBUgdI?= =?utf-8?q?PWjwBIWeIlvMl5Rs2i5LzNSh6kUA//BT/T94v5TfVvs1LgLUSWlkoj6/5W90gNybC?= =?utf-8?q?FPMgvfTgcgbz/jMynA+AKlY91AC4Eb+p9g7Wl3VFA1v361C3sBuwYStvD7ToEJLnO?= =?utf-8?q?eTcKXKbIZC0kifsDs7trug8yDHjYRMmCh127HGe00vtrVc81nf9MjZDRBb3JGM1f3?= =?utf-8?q?o1IyTTQCp6C6lNCvPHUeHskqem/AlHUg8jOO+UITGYjAyDKjupO6OAQlgoHzcXeoA?= =?utf-8?q?96hQFbgvrYoqZWMmRg2BVeGC4h/8Ap6KFo7nKXRSplXLAT6sL74jIFDe2ApP2DMAw?= =?utf-8?q?RWJD1EtLbWjGYwMTPPb98tMqJXl2eqmeMKdraKbSyYe6jskn/gB2M6HnxfWWqod4t?= =?utf-8?q?rsZTunWkYV1Agfje2FD24lNEtcndIhcJKQBmEKRd/X8oyUhyi85QUZ7VCrYqzr+7M?= =?utf-8?q?4uBwP8UGgRczAb5UXQBBsRVtZsECI+hY61D41gitburuk1Oet9wGMCd0zoLLLfJLp?= =?utf-8?q?Ia8HwPNlQGhhMs60X2X54YykNr9noAgvA=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(366016)(376014)(7416014)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?EKbVWyIPd5NhMPPyf0tYQYAW8J9a?= =?utf-8?q?fIlpqeHu1vMfb2H7vKE5M6AvKU95qMDJMYg6GKUYB5Me8yq3Q5uJJ7RXKsBwUrg1c?= =?utf-8?q?lk3OR5+6BEgdXRyViJLAawfcSYSd8ansqbs71AfDinjmX8/KEKJ+kEOw0HZN8KlZY?= =?utf-8?q?vBOCcD9WPGs+dtKSnfLayMbdt1OYegUcafs1crBFb57JYfi9bvQzU6uLSDFyYvAm6?= =?utf-8?q?gmSMSlsgh1fBkRwBxbBg/Ko7FgLcm5PlGds+QuXac7XqXGf9d3AmzvTNyZzmFFfzt?= =?utf-8?q?izt+uxx+brQuMWG3pnG/9ng3R5qRavTWHInHrH/EwNPyYC210KzeLbH4yZDRgKCc6?= =?utf-8?q?bWnjhP5Uzcxlz9hdf6bWOZJ+ySms2RQw1XTbsMs6WudedbZUf3ixUVSrOsWRG0hjx?= =?utf-8?q?MmJNH7dGXQRO0rmINqxfi57w4IDO8iQHCtWhoNbBkdnvJzhxOGuFMoWcMFcl+MJb+?= =?utf-8?q?TBL4p+uDbEGV/CZUGBE9Fw8Kw6rVLZjgGLSPiK3nTrMLZD4+iGS2wacMboYzk+0qh?= =?utf-8?q?RqkmFQzkt+wpzd+UsA+W+0JwMlCCBtRs2vaBfJNLLV4j4CQr2dgOzhz7+Q2r9hvU1?= =?utf-8?q?hqeOO5WWmTZphYCe5vKwwpeYjVcDhvhv0j7sDLD6BJ/2fzbuxxX3XJ0RaCsGxKENf?= =?utf-8?q?NzwXddNCKC18q2HeN0aZygaH/ur70VqRrwF+P1aYFl5GPCb963bLN9b1M32S3Txps?= =?utf-8?q?v2yetBp4bsnCYVvCgrY/jjPPzaSlAdO1wITl+fxMQsZkRp7BmMpr2/eN7vDWUaSs9?= =?utf-8?q?2QmIAhHVpy12MFpnoF2OZdlYlM20n8RI9YH85fsdkBqIUR0Ke8w1hYpU37gzzT/LJ?= =?utf-8?q?ohzGLhF6IKJGffduH2CRFYnY7bwSbVw9bKvHD9AAbDjZz7n2O6IbqzxtQsknuFAhc?= =?utf-8?q?6Au7hG/9jC4JcdUNXho9i3DNZa/bRbKsq3X6TPEaCGaVVRnF6tg3YO1JGD58gq1Ts?= =?utf-8?q?mAFadx9RuZLxGckIqLdgmZmgeNXLeJgdJT/Bh4Lz+ekJiOsMtDK5zb8KVZMzGuDJH?= =?utf-8?q?MUt9v6PkSK+BzJi3/naGkdHkvAbbUFOJh+0h1maR1p5kTPAMbVve7RiT7vQLfAlPB?= =?utf-8?q?WTgqFRb6TagaOfuHgyMesRlzov9e8ZCZB4nM1Qp/jP9yS72OHbnnSW8/5cNn0QwAL?= =?utf-8?q?VEMEEqQ+EE/slMoPzfpTS+vmsFNQJp4JwIJ515UahAwqPzF1FS4lPwWiz/d6X3cSS?= =?utf-8?q?UKvJdsiSBmVBnp5Dm+HeXJE/eAP0QyT+J6QsPx6VoNHBzPfB9S6sk2n+JS0Uq+lP4?= =?utf-8?q?CzvSJfFD6zQBDQmZ3KkFq+tFl/nkL/zET/ybegAW88pMVh0Mrmu+oWu98byddn4nO?= =?utf-8?q?TUPTYsRqXmb5FpwqLsYKg0mDBgR6rKdFJqNgKFaIWm99gDf3osxpOzOKJaaiUOzi3?= =?utf-8?q?Z5qYtTQZNXIYz9zsgWJYvr0ORQOidDTk23FhAz5vYUyqg4iuMRV1Kfy4r4Kz88RoZ?= =?utf-8?q?PhUjbNm124pk6eRcwVCQRV08lqqaF3NOgkWjJwHJCJgvrE1cl4bBKhI3udBq3zWqC?= =?utf-8?q?A6vfcc40KwY2?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 546c8954-3c9b-41d8-e08d-08dd62453dd0 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 15:39:28.9370 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: dehnrPJgq5DRDXgSAWtJf95OeGJ6w0HZU86Xe36wQFwc7dzI02vBdZV3W7JandyWITQl4OkyizFu/3pakFjogA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB10316 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250313_083931_115187_6AA4472F X-CRM114-Status: GOOD ( 15.49 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Bjorn Helgaas We know the parent_bus_offset, either computed from a DT reg property (the offset is the CPU physical addr - the 'config'/'addr_space' address on the parent bus) or from a .cpu_addr_fixup() (which may have used a host bridge window offset). Apply that parent_bus_offset instead of calling .cpu_addr_fixup() again. This assumes that all intermediate addresses are at the same offset from the CPU physical addresses. Signed-off-by: Bjorn Helgaas Signed-off-by: Frank Li --- change from v10 to v11 - none change from v9 to v10 v9: https://lore.kernel.org/linux-pci/20250307233744.440476-5-helgaas@kernel.org/#R - pp -> pci - add ep side support --- drivers/pci/controller/dwc/pcie-designware-ep.c | 5 +++-- drivers/pci/controller/dwc/pcie-designware-host.c | 12 ++++++------ drivers/pci/controller/dwc/pcie-designware.c | 3 --- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-designware-ep.c b/drivers/pci/controller/dwc/pcie-designware-ep.c index 4ecddab131b33..e333855633a77 100644 --- a/drivers/pci/controller/dwc/pcie-designware-ep.c +++ b/drivers/pci/controller/dwc/pcie-designware-ep.c @@ -314,7 +314,8 @@ static void dw_pcie_ep_unmap_addr(struct pci_epc *epc, u8 func_no, u8 vfunc_no, struct dw_pcie_ep *ep = epc_get_drvdata(epc); struct dw_pcie *pci = to_dw_pcie_from_ep(ep); - ret = dw_pcie_find_index(ep, addr, &atu_index); + ret = dw_pcie_find_index(ep, addr - pci->parent_bus_offset, + &atu_index); if (ret < 0) return; @@ -333,7 +334,7 @@ static int dw_pcie_ep_map_addr(struct pci_epc *epc, u8 func_no, u8 vfunc_no, atu.func_no = func_no; atu.type = PCIE_ATU_TYPE_MEM; - atu.parent_bus_addr = addr; + atu.parent_bus_addr = addr - pci->parent_bus_offset; atu.pci_addr = pci_addr; atu.size = size; ret = dw_pcie_ep_outbound_atu(ep, &atu); diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c index 482d8ff751526..3e7df3d2ac269 100644 --- a/drivers/pci/controller/dwc/pcie-designware-host.c +++ b/drivers/pci/controller/dwc/pcie-designware-host.c @@ -637,7 +637,7 @@ static void __iomem *dw_pcie_other_conf_map_bus(struct pci_bus *bus, type = PCIE_ATU_TYPE_CFG1; atu.type = type; - atu.parent_bus_addr = pp->cfg0_base; + atu.parent_bus_addr = pp->cfg0_base - pci->parent_bus_offset; atu.pci_addr = busdev; atu.size = pp->cfg0_size; @@ -662,7 +662,7 @@ static int dw_pcie_rd_other_conf(struct pci_bus *bus, unsigned int devfn, if (pp->cfg0_io_shared) { atu.type = PCIE_ATU_TYPE_IO; - atu.parent_bus_addr = pp->io_base; + atu.parent_bus_addr = pp->io_base - pci->parent_bus_offset; atu.pci_addr = pp->io_bus_addr; atu.size = pp->io_size; @@ -688,7 +688,7 @@ static int dw_pcie_wr_other_conf(struct pci_bus *bus, unsigned int devfn, if (pp->cfg0_io_shared) { atu.type = PCIE_ATU_TYPE_IO; - atu.parent_bus_addr = pp->io_base; + atu.parent_bus_addr = pp->io_base - pci->parent_bus_offset; atu.pci_addr = pp->io_bus_addr; atu.size = pp->io_size; @@ -757,7 +757,7 @@ static int dw_pcie_iatu_setup(struct dw_pcie_rp *pp) atu.index = i; atu.type = PCIE_ATU_TYPE_MEM; - atu.parent_bus_addr = entry->res->start; + atu.parent_bus_addr = entry->res->start - pci->parent_bus_offset; atu.pci_addr = entry->res->start - entry->offset; /* Adjust iATU size if MSG TLP region was allocated before */ @@ -779,7 +779,7 @@ static int dw_pcie_iatu_setup(struct dw_pcie_rp *pp) if (pci->num_ob_windows > ++i) { atu.index = i; atu.type = PCIE_ATU_TYPE_IO; - atu.parent_bus_addr = pp->io_base; + atu.parent_bus_addr = pp->io_base - pci->parent_bus_offset; atu.pci_addr = pp->io_bus_addr; atu.size = pp->io_size; @@ -923,7 +923,7 @@ static int dw_pcie_pme_turn_off(struct dw_pcie *pci) atu.size = resource_size(pci->pp.msg_res); atu.index = pci->pp.msg_atu_index; - atu.parent_bus_addr = pci->pp.msg_res->start; + atu.parent_bus_addr = pci->pp.msg_res->start - pci->parent_bus_offset; ret = dw_pcie_prog_outbound_atu(pci, &atu); if (ret) diff --git a/drivers/pci/controller/dwc/pcie-designware.c b/drivers/pci/controller/dwc/pcie-designware.c index f17a25fe55a5b..8b546131b97f6 100644 --- a/drivers/pci/controller/dwc/pcie-designware.c +++ b/drivers/pci/controller/dwc/pcie-designware.c @@ -475,9 +475,6 @@ int dw_pcie_prog_outbound_atu(struct dw_pcie *pci, u32 retries, val; u64 limit_addr; - if (pci->ops && pci->ops->cpu_addr_fixup) - parent_bus_addr = pci->ops->cpu_addr_fixup(pci, parent_bus_addr); - limit_addr = parent_bus_addr + atu->size - 1; if ((limit_addr & ~pci->region_limit) != (parent_bus_addr & ~pci->region_limit) || From patchwork Thu Mar 13 15:38:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 14015343 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4BC07C282DE for ; Thu, 13 Mar 2025 15:57:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=3lMdycSzHVi7TmNXrf5R3RNJ5OHuWF6EM9/6AqNYAlc=; b=0czYazZFnccdG1/2NpvruLFY6L vjWRmqJvPLuSM2+s8dLOp54cN0JwAVXvhUVBDcbSHaD8VnvUdDNfkbxTrOVyMGZRrnSjyZ3Snh4vK 6TDACg3MAhWxncrfsit1doFDeC/bGxYlwJjnQc5+XuAkV3pLJo8s8SnLwX9843maYr657zSls7otu YbqlBFf9qiAcFLovIdnSKSftl7YQcg67SBtK1/xlY4AgpdmmNVJlGBY325hSe2djFqcKxPnGjRJZ8 meHRc9e1q+nE53pksOMN2x4TSejQjYmmmffc012IN3VzfqKRlE41oJuUoOw2e9RsPttKula+XJkCa DsWMS2fA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tskwG-0000000BinL-15XG; Thu, 13 Mar 2025 15:57:40 +0000 Received: from mail-westeuropeazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c201::5] helo=AS8PR03CU001.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tskek-0000000BgdG-3Xa5 for linux-arm-kernel@lists.infradead.org; Thu, 13 Mar 2025 15:39:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QnTlgkEIy4joqy61WKa+jBHc5AxVsCzAmeDGZYqqmYatVTXN8UJ/3mS7SGaD55JWjgjnyjUvJSMFu7xjkvw+yd67rXCDuLoYv4UznL3ebWR1p0g+PASHN1WOpE/egJbTKc3yGiCHGNQYjv9mLLmNgrpf65/IeggPkezinEXggGHzstWtFtLjCaDZGpS78FhvmYqIsqs5VnpHewZOJBrdy9jm1dncfKrKiYWbSCkxcVBMfp9mcdpSCijNnBZZWziGNmNfi2jJwBMqNoglQWj6WSC0Io9/kZJBDFeHti/tWfndFjssPZf4qBb1YEinHnkNJOjE0R3SVwikx7J28f2MSQ== 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=3lMdycSzHVi7TmNXrf5R3RNJ5OHuWF6EM9/6AqNYAlc=; b=aA0eFWSEa5A70wK4k9SFhNhzv8edEGDh1XKtW4v1Y02DO1sx1a/Nq+Nf71xRAo1K/xq9/JMhXaZrrUaRmanl/y2F3t22zkrimC1sW2/gbYGwmqRFEZlGaU6KTu6VibMCDomBmouMww8dJhAp9AN73dV7fuWtEbba0ymmPtpty7I5sQ7IW4kAKrRbOxgQSHyhpWN6u64Jlvr6WQWZvM95XKrlwGJf5SgBZyBJS3nAml47+kdbuR4doekoKP/3w4KrCh2/jc56Z4qnjoIS+C7yMv4uU0W4lk0ekomBd25CkcWc631UMyPx+HB+f3beCHsdFBAkoWxa7PKyoyGPLC82zA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3lMdycSzHVi7TmNXrf5R3RNJ5OHuWF6EM9/6AqNYAlc=; b=DTKu7N7huYZuSYcNgaD6VSpZGPjJ7x8+sPFN82vxgsJgVRQomM4pstXQsOeGHxRIAlbRtjnSU6iCS3f3mruQIGzH1W+AqDzwOhxNgT7gdFvB0wYJr1muyLtfEoRww3ataYBooFrRa9xJJnlOj5C1/kUElTeNG2mGmb99T8jUb0BWF4RSmoMtAFR2H2MB7JdwwRWBgO7ln3WTIMmDea/+iwUao6lEzezhbaO/4mk2vbC9vLaBS+FKGfCRkUm+RY4E1y9W6XTiF3/fOKylzpC62y5GHzqXKvJOkKRv73XtukQnkIEsh4OMh8lK7TeU++8z4i6ORRJP6KvHNqiX6pTo/A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by DU4PR04MB10316.eurprd04.prod.outlook.com (2603:10a6:10:567::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.25; Thu, 13 Mar 2025 15:39:32 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%3]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025 15:39:32 +0000 From: Frank Li Date: Thu, 13 Mar 2025 11:38:46 -0400 Subject: [PATCH v11 10/11] PCI: dwc: Print warning message when cpu_addr_fixup() exists Message-Id: <20250313-pci_fixup_addr-v11-10-01d2313502ab@nxp.com> References: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> In-Reply-To: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> To: Rob Herring , Saravana Kannan , Jingoo Han , Manivannan Sadhasivam , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy?= =?utf-8?q?=C5=84ski?= , Bjorn Helgaas , Richard Zhu , Lucas Stach , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Niklas Cassel , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1741880335; l=1207; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=Rq8Oa5GkIvvTxUyjodFICpLbFy7bZ36pcZaWNAcB/XU=; b=vI+hXahYOEQ3oIGUt8me3kTp+t4ilhPvnJiXMhd7UgzU8W/AKxH6zooBxrMjwtKgT7oYIjLps zBRzXqZX2hBASCv8bsKu+tPX2vCtxfnYeA5HLY+zseK3cB6NNeuvF6h X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SA9PR13CA0038.namprd13.prod.outlook.com (2603:10b6:806:22::13) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|DU4PR04MB10316:EE_ X-MS-Office365-Filtering-Correlation-Id: 2b0c4e2a-db3f-45bd-6499-08dd62453feb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|366016|376014|7416014|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?4W2IgTJ0svdPz366x8pigwmqOyUxnO9?= =?utf-8?q?CnwovuYbwQOOJUrdgMTANGosLy3Qo977v4G6zw1/Y2aTL3zqhqBGU8vAVYBMewe0v?= =?utf-8?q?fAXOzRJQ6WzNYnUW+ezUOakhnVcgIT8ZF4l+rmmYI14BhMuPUfdwBi37UQSpkc8Kd?= =?utf-8?q?MQkEBCvXxmfmusjUzaMZwqJVxL57zH8gslIUx6BgAeRjxtym3fpGfg8HFu3TgNcnZ?= =?utf-8?q?cNI+6O7FsCymeDOWyQPvrOJGJW3HxmZ5haiwoYGksieoeFKbKrg6TIoIucWHAEYVC?= =?utf-8?q?CV66nYxX1Ai0gUuWkD5IsWz+YbtznkrEihfC68uGj8xRcznofVqEA8dl+Lq5hpcXs?= =?utf-8?q?C5lrVzez9RVhB++0NV5M5qM1V+CRRlks9Yj/KVH+UcqgbJ6EB4N01z/uHvD1BM/xv?= =?utf-8?q?CuB59VEBnD/nbwoP0wB+1KyO+W98BiSNeSSN43AA7DhI+71S1QlUVcKPEuCfNr1Br?= =?utf-8?q?NuWocqzmC3oHm64PnZbuYvk6MuJyEB1PmdFTQHiWxfLpoIMiksbbwyyhA6ascR3Gw?= =?utf-8?q?eGvvcSOW6C/pjodbofkZ3GQZGg/EmPcudloZORn9vTuT1U70g0Ujf7h+H9nOP5P0F?= =?utf-8?q?AQ5OA5PCc8K7eF1oSziiuHTUHUtnZ7G28oGP3WFRXqtBLgww+D1o5h2PGUrgQjWkC?= =?utf-8?q?vg2ZPglssUhs4H29JL9+ieKtdEpWOovW1aeYtDiw24Tf/NrEAB+4F+bDVrZd4KnK2?= =?utf-8?q?fWKsJSvBzMZE3lE5HIhDLk97qbmsDLRRTHCqJMbCfcTjTjHZ88X5/FEw7M8zxgXcP?= =?utf-8?q?NVZIMoLo54dY6/BXDDvfbNluf6a/4+6wX07PvcRAxX+0aWA9xhT9G2aIOgwTU/waL?= =?utf-8?q?2IePDHk5o8PMYEqj0GFM1QtDpANRHqkc6Sr7b0/jBFFhkTSXnz2D3LyKnPVcvhx/U?= =?utf-8?q?bUJTYMAPbyW01Du8duXYeS25gGQq5vd3BHl2GWc4g3Os3FQeFh6Uqi2Z+bkn8prde?= =?utf-8?q?jT6+v1fXQZXksKAUxN7ppzn8NR2OzxpyjfD1RS9bLjsO8MgaHI/NXDg8JQXpasA5/?= =?utf-8?q?a8MyAXbBlfdQZsiJiFj2Un9rxp5RFCZAIH1cwf2+5sbFg9uMIsORve77DEAsxw3l9?= =?utf-8?q?6g7MyXxlyuuHGmCAw7EyAWH4KQwekk6iHSmP9lAPwAKP29v8SLDGofG4e8ZgEcW4i?= =?utf-8?q?cvDLnh08c5Y02hHeiFhOvAtPWeyXOYxnGLnhYnkULoOZTV5YGssVK4BOs7V6Ud9d/?= =?utf-8?q?tI3vikknn1fl6qJ9VMc6esrNmXA74u5eDDSCAF1o9QvEm8+cMJ210zatvEZwkm+3e?= =?utf-8?q?artoeQNnvqSUf3Nyp8O+jGpVDOdxZqOdeiYoNCpll+PfM0ewsGqjRSNs9ivl7jecr?= =?utf-8?q?VRPKbzXhfqbKsTIBPSokmfyk/Ag++PIxPgCw9+tg3jGy+DX+gHNkHnP88BzLLvkpL?= =?utf-8?q?2pwQc2OcJ8LlAkkxxC/bN72cdrOYXAqQg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(366016)(376014)(7416014)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?uZPSoGWmlXclbfz98mjRks42QRjF?= =?utf-8?q?A5ui7rhe8QHdvr/ltTmqaPAv14x+dAruXKIGDxDQQawWOVQDsBxoPIG1OTieIRaPw?= =?utf-8?q?KCZKBznYYQL7C5wC0RYk4/Tw8HBlYfBR41QxUa8mbCcwQsSNTsYmuxjrX54cdRyYE?= =?utf-8?q?I40CmsEMheCvxWEZ0wDB4ALGM+xkPQm91+gdHgyiNi2mKfavUFyApsPHpfHjH1a0r?= =?utf-8?q?1G0WcWkNvsCwZA1P6l4N80C8Iz+TKyx7QiFL1yLJ2H93dXe8TD3QX+6DhQIYwN1Qp?= =?utf-8?q?WVjQP+iA0LrS/8ali6xLjTgbzKHtwmByGZNnfTEdagLUd0DWgLk2rythEHHEmTHI8?= =?utf-8?q?Okf0LaR8HPZr0D7qDXgOksxanLP+oOEGV0OuFC/+zYeyXBfgOw5uj8oajMMsxLQdG?= =?utf-8?q?cCxJQ7lCyLDwpJ0YSqi705GTWClyrhD3DuPCJYGaZjMPN2EupbFEqIDznZ4ScYEV0?= =?utf-8?q?UfCWIE5IHtFPuVzhfycxqNgE7hhWa89UpFDQ06kvNPg0W214d7jynl4K0YwACgrwr?= =?utf-8?q?2lh9/IJB36TnATH0u+0Ul4JgR5zCUstcNXbHN4faqsSlHKYWh3zCqYbiPSn58F5bw?= =?utf-8?q?u7k0aiO97nrrAcwSrNTuSN9OBMAkoLS1xrfTFh6o3u6sWdQYMsdfHohDWR2GRQQpY?= =?utf-8?q?mN/IUqfOiDqlkG8rLMWZZZR5AWbt6SR/FJI7mHyvX4XRK1FRULJyAWnynVZxhy82+?= =?utf-8?q?PLKfvq+mUEFpauFF6tEEMJM3Tc0XjpyAVQLGcDcjVTT64GAMaflvFnzg5d2iPifGz?= =?utf-8?q?o7hcj5ab4bYf1gDvhNkShq4daY5qJK/n7Iv3PQbMYDIP8SLWrSQP05/7Aq5dJJ6DW?= =?utf-8?q?rkrj1Q7wr7iwWEMikAbWdFyo7lNCuFiIsKvihnMaRPC8SPCSJis2IlPax7s2ZN5Ri?= =?utf-8?q?8JpDqOzKMb7V5iln/dFbmF6vL21rkbkck3oxoosKmDWj9d2vwxTf2kjkS+e1wa+nr?= =?utf-8?q?kOuYZwxHAn1MjTL682rIsEUwhP9ZhjN8OmH2guGNNb+2tgUxZpH1q7Y24lScMxKms?= =?utf-8?q?jSAkty4/3RldgP/Ttlg/TnX7p7qlc9TbTFGbAsxXCGP/+zU6to+4qgK2AbWXVaQqE?= =?utf-8?q?Jdxnp6gFZ7/T5/KYuI/UAtqaWrT2vCP5QDxcQ4lr1GFHwMPzOurm0X5nrZJdWcEvT?= =?utf-8?q?yGgABODaUMfQb11O663nMQ6g+X1rnB5E6pGVL2Z/ryzltCLmxS+DpNDfBtswVul+x?= =?utf-8?q?lQh/2oMrTUgLx0v8YgnVyRlV3cSwczZvTemN+xo3adVLrsniv9OquoUCuX5uqvk+/?= =?utf-8?q?khJXIFdetlWIkTazAep4iRcIAva+C5DoLFuwzYPWu21D5r0pjj2Tk1MU6VQ7FT85z?= =?utf-8?q?Pb5rnJKgWgyK+oyy40TscifKpCThUJKmi1V3ajD4wQVEGpcqRWZvF82TxYoFrs0vp?= =?utf-8?q?TbdwKXkO32TSdAgUmHyQ7K6OoHzUPnKeZCnAVssi/LeIAEBhMuHBq7rDwBB+vxiMr?= =?utf-8?q?nxL/YpksXAhha6DGC2yHaIITBdE4F0HiVyAeTyDAlJqHRrHy38JwUrnXDcJV+2aQK?= =?utf-8?q?FuEESI74f+4X?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2b0c4e2a-db3f-45bd-6499-08dd62453feb X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 15:39:32.2798 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qMdQWhPLeSiCgBSwDGCEXxPD0yPWClvr3r0vOpbQ/WLsoOckY5XmoTluXapCLSxSdanW2ZnXvyFdYxulzTN3Yw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB10316 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250313_083934_889292_76E9547F X-CRM114-Status: GOOD ( 10.50 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org If the parent 'ranges' property in DT correctly describes the address translation, the cpu_addr_fixup() callback is not needed. Print a warning message to inform users to correct their DTB files and prepare to remove cpu_addr_fixup(). Signed-off-by: Frank Li --- change from v10 to v11 - change to dev_warn() - Bjorn: this is opitional patches to encourage user fix their dtb file. change from v9 to v10 - new patch --- drivers/pci/controller/dwc/pcie-designware.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/pci/controller/dwc/pcie-designware.c b/drivers/pci/controller/dwc/pcie-designware.c index 8b546131b97f6..d4dc8bf06d4c1 100644 --- a/drivers/pci/controller/dwc/pcie-designware.c +++ b/drivers/pci/controller/dwc/pcie-designware.c @@ -1125,6 +1125,8 @@ int dw_pcie_init_parent_bus_offset(struct dw_pcie *pci, const char *reg_name, fixup = pci->ops->cpu_addr_fixup; if (fixup) { + dev_warn(pci->dev, "cpu_addr_fixup() usage detected. Please fix your DTB!\n"); + fixup_addr = fixup(pci, cpu_phy_addr); if (reg_addr == fixup_addr) { dev_warn(dev, "%#010llx %s reg[%d] == %#010llx; %ps is redundant\n", From patchwork Thu Mar 13 15:38:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 14015344 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 7B89EC282EC for ; Thu, 13 Mar 2025 15:59:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=g6QSNG6/x6BFtXs29wKQYVSNew2bOwYe9Nnss9hQbRw=; b=NVWltwNTsD5BG2rDd6GkcKn/Qx 7fEeGq2IFF2eUNnIdVCm3l82LzAwBvufrmK9eTvppKC2LtbC3ASoaWS9gDbX6Gag02DvEooNsfYqK f/fEURxECxsAiCi8GLym8dMrqrOB3RzgttfL63V+qVaMiMaCeawHUZGNnse9FG7qfVljfPgK8BqsG a2hd+sic2u41x7l7TrfmotoCfoaTsM+Kb0mivsfqhaJWuffwHpXUSswY7MJNZM07F5fvhMQ5XYMNC Sw/sMydZETbU4iLl4pm2zUC3tORuoj96v+7iCcRbRc3FHP5EK0zaemBB0+icoi4xbLwm3f+KwwpGh D/8i4e1g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tskxt-0000000Bj29-3u9y; Thu, 13 Mar 2025 15:59:21 +0000 Received: from mail-westeuropeazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c201::5] helo=AS8PR03CU001.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tsken-0000000Bgdq-3LtG for linux-arm-kernel@lists.infradead.org; Thu, 13 Mar 2025 15:39:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LI8cN1zURP3BD8oTkiyaWJFW/Gl0//2uo4AwNrgErXOhm3byVywvrHwayvP8zoXCvWYiRfSN9f/192qLkV6U5jWa5tcBJnTKHBqYT41lYgKSKzpt2xLS3gJzRohKhKXWjMoS3NQXnid2u/kEpz0b+bBqZfZLM1aIkbjHVmxauXN3cgM972K5dAyfzDUlbZk1MttTQyI6QXNinhirjBHMgw/h6T78Oncl+6IaeX2TBuWbChmVuq4AXxHKTEP+ilw2Ju7My4nx37Ld52utldi/TXqthcPGPefAkwvNgY4+f60v9Ecxk9g1SalcaGpz/X1WkaiptD9z6xF14VYNPH2JWQ== 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=g6QSNG6/x6BFtXs29wKQYVSNew2bOwYe9Nnss9hQbRw=; b=WXXJ+j73Pgofsg0kzjiD66BCl5RxdFH+WOhw5YS+B6ZYXTNuwg0RbAPwmFB+xlBaz19h6OSIQU9WzHMfWgsdvhKgoE9m0J6eUlxjwFub3s3Dp2PcrFMZDCXnOc1GEe1dZ7hRWW3opoBwN1HtQk7gCdrduWJdrPgzimVo/pMJh/OU2W2WZGCcWHrEqmnM7vqdt5EcCKJ76bb+WCYz7ZFkJftZwaabySmeijiOlyggTPcjOcK0F5hgrfForm2KHPEYXb72UM7w4RgXN0YcOyXFKPWzsPyEMLqrQRjc4j0I7fgsJ/O7PU35Fm/dsBeFFxlPfcj7q9anGRa58FXkvP32tg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=g6QSNG6/x6BFtXs29wKQYVSNew2bOwYe9Nnss9hQbRw=; b=NCuhXh6/17V737xdEua7gyITYVg897MuIO3tCYGYQmdvu/WDZnax7Zseiq0Mc3briAlme41+IxvMX5ozpFQ05eTKMRficegURRpeLT7qNDXix8nIRRvuEcpcfmWeR/rIfQ02amWOqa/JUYeTJ0XKBAY8r4rSj8aieEVa1MSyFSLicGE217NFW4MoCvSXEZCOQodGKMn1MjzLMhXTcu+oq/Ngg98QkN4WBmZpuHlGLkt1AnDp/U5AIXUJnEDaWGh0fwgjaRH0jWjV6IQEwlcxshh2Uw/45tgjbvgauoq86bbeh7GaXHlmCW1xvrYQn8vu61C9RnvE/BomPKcAGLEjXg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by DU4PR04MB10316.eurprd04.prod.outlook.com (2603:10a6:10:567::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.25; Thu, 13 Mar 2025 15:39:35 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%3]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025 15:39:35 +0000 From: Frank Li Date: Thu, 13 Mar 2025 11:38:47 -0400 Subject: [PATCH v11 11/11] PCI: imx6: Remove cpu_addr_fixup() Message-Id: <20250313-pci_fixup_addr-v11-11-01d2313502ab@nxp.com> References: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> In-Reply-To: <20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com> To: Rob Herring , Saravana Kannan , Jingoo Han , Manivannan Sadhasivam , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy?= =?utf-8?q?=C5=84ski?= , Bjorn Helgaas , Richard Zhu , Lucas Stach , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Niklas Cassel , Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1741880335; l=2220; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=QkQe+24nf1SiQxBPNOVWAEG60VZcc9QC3yjg/IDPRmw=; b=0fhrxrfdB45wq+zOohNBgHV80XvuzXRX/fMgjTJ5dZPR7nT7Vnljb5CEceyYbu1xTNGu2AOe3 DfQBPavRDqUBp3uaZUvp3dqfG3sWrwXCOsERHaK8rNaISHFEC7EWc3W X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SA9PR13CA0038.namprd13.prod.outlook.com (2603:10b6:806:22::13) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|DU4PR04MB10316:EE_ X-MS-Office365-Filtering-Correlation-Id: 6f21427b-4654-4ae2-c052-08dd624541d8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|366016|376014|7416014|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?nZ2aTBgyTOU8v1KOFN4IzzBhzYf6cAJ?= =?utf-8?q?MWlrPvibCM9zioo1uIpgfY+soK/VJFab4OmQ3RntRFNJqUeNUIlV+MdyEgmJPNNAK?= =?utf-8?q?rOeVVhaFQcr9eePVJSEjVahyGkI8qJWqQlH3QyK1NZgaRs6ojz02mGls9ASm31rQa?= =?utf-8?q?5P0NsKLD9JKBUbhOTgA9qm0rVsONPYnjX1526xGNcDayodhc72IxAeok7GJkfpCmv?= =?utf-8?q?2U+mijEG2foPmWLIoPiJ5YbfMVVG+gqffWKXgc7j5VBwkZjMvwkhB68COH2A2WVxU?= =?utf-8?q?GV4GtQSWVznXGmpuPKdy7D2Oc8cOqe2MqBFiRuyrLztlrFyRw5lcPBHKftXFHn4tN?= =?utf-8?q?LRMJhVhEVB1cRoAwqPdLa1yX18N1n1vOuianT8jDriL1iuAgrOkAdGMnuv0PYlij1?= =?utf-8?q?LYzlVrKJfP3Cp71DQ48ci3HzLi508ydWi6W2S5Hu4N8pCYMX90WpTzCaiQo0kBKMY?= =?utf-8?q?P8crSvoMFXCKY0Aw68StX673+TSpj1QC60StAGuzanUded6srNSkULIFHlcOEBxmy?= =?utf-8?q?2iV0YWDMcFsOfgTc9J5EzxQ7tcUVP++WfRYGYBMK0l4c+WCtTdYfDjIfXj9Mlm2bH?= =?utf-8?q?XIdeHw3xmpYOeBKd7auHcd5tbEIQ7NahMKHvYl7Fh0+ULHe6u4d3bkmfJ996lf1e2?= =?utf-8?q?lcEi9GPs26el/0hVrbtB+N5lid/jUMwAEIkJz5OuWCpP6g1iOtk5WD5C+2pb1czMr?= =?utf-8?q?oFFkopcEJpCdFK+LM50df3LdNNlph1EKSCLsiEtFiNnKfxV+8UvramKol/JHZ2fZc?= =?utf-8?q?EV8pur+W1ItiGrM66oP/7GXZq1l2kBemP18nGDjId/ZCDfajzV9nZ6TeReTIoH8Kc?= =?utf-8?q?FQyImxtPI3P4niWpUsw7cyY10+cFoh7BAwH7/2TRV1eT4LeHdAJ2piNc1IclNrkZp?= =?utf-8?q?WPDCE3nSR/7z0hgzOLKWIqFc9X1aH8AO/3/W0ctZr1/XeV99JWMWH2JXp4IitTZqK?= =?utf-8?q?lGZyikrcwy03xmegEY1A8LGJY30xYgRSMldBj1neMsWrQMA2JOoNCqkXQkwSdXN5/?= =?utf-8?q?ztaHIT0kxq2qKPGvOnwCBro/REpnB4Pjy82J+E46WhFQr8sCi5YT37iGgLQogWZnZ?= =?utf-8?q?qF8gcWYIYYElGUMLBQB6vpFHihfvYXZ6IfxOU171BPYVOwLnj4TVzFK6Muj2lK7NN?= =?utf-8?q?z19n97SjHCoqiO1UX5gIAK+rGjsG8rhNshuRugBB/4vTebrU+UiZhuyav3EmQEo0z?= =?utf-8?q?kBVbb5VC8HbLEt4PpDMPfmQvrm1iI+oIbFKG6odGSr4wddtrkIlqNp976WryeCAA+?= =?utf-8?q?V1Cx2A+bEAvTPzMpsjx517jlT5iQwhcl7ycIH5tpxn39OlBz4Ho3S99eFTNYZPldl?= =?utf-8?q?K/GBk47CngIFH9FgJOt0m7YAIoCcJnkzrNjtW/ZQwwz4eSg//8Q9J1/t3dNU7K6Xj?= =?utf-8?q?OpWWyySRimw?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(366016)(376014)(7416014)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?4F7POPy5qp8TH6eOntkEhfjjh1Ve?= =?utf-8?q?98+t5KXarQXBE8bTRV09IC+S/j+jfLHZEXkhPIu0U9WFleljlH7Ot1tI9IssDFt11?= =?utf-8?q?gQ+IOoPvEYMyuWuIiKh5BOHWcUupTAP3zVy/mAbG7WhvV3DDIv6i9rqeAvcckiptc?= =?utf-8?q?yrdlcnR8VyjsLWYTo1VWjd6s9xLPUdO4XatA5kV+LlHxwFFaJDx4bnGVNNtc6yFvi?= =?utf-8?q?11RF4VpK5tYfW5VTi0/tJpziCSB9w463Tb2xZ0ZtL9qPVjPxSRrvv6XbFXq41ghIU?= =?utf-8?q?WT4RzeX53mE0pC3ndXcD6C0km+K2xoSG87UrV5TNBdis8JJ/8hF3KUWkYAnz3acyA?= =?utf-8?q?+mf0hrgKMypI+tBLBItAYcY160Bafu6ZEbMyVmdzYrb009rDvjo4aMez3cSkgxHIf?= =?utf-8?q?MU5fW5DA2JscXBU0XhYGF6y3l9a8JGDjVlPXCCiBy3c+b004CD+Yq4iGAEok709lj?= =?utf-8?q?n5JsmaYnKgYvlrKyAeSp3/o1gMix2SL/PmJcHDaA8/6YjMAGqAnhVr+qy/V53gweY?= =?utf-8?q?8av6RGAdaiRkIQ11CVZXfLlpIq42ZeydxEo2ZptKkuccL3glj5nQFLYuelFUS1e3h?= =?utf-8?q?wjIMNi/K3OwRx8D+ilLqynw/yl3D8x08oPwzI2JpNrw4fbx+bmyNpe7C78q7NFkrG?= =?utf-8?q?x1FVkSLvj/n2cFg4bU6SXQSj4YlKquVRIoWgK6O591fQjbPhVRunQE+HHIDVPpcGg?= =?utf-8?q?37pxr/uOoEzV90u3vjtgL2qh1eOkAT4zv5GVhU9MTmVY4atIavRgTMOcm4mZcM6Xq?= =?utf-8?q?zM5E53CRYOqqdPdyL629/YZ0Bi1cKL0K3o06fCjTKwt5CK4ZxbMS9a2rpltRBTc3F?= =?utf-8?q?sGTgddlYlit9yoMFAgq8uX0LXKAMHyQIpLJRcHbu/q1vmUr1lu8pYX84b3ydceY4s?= =?utf-8?q?bTyeiO6AaLwoZb/qq/pDaCIew3Rt9DOBBg1kn61ETCOHVrcLA5Dqw54By+7zkj/eZ?= =?utf-8?q?hGNX2WUE+d+Bt8nk91FFDxuIIjwFFotjXJwchi/F7M6QVMteg24r7Bl5n8KagwRzF?= =?utf-8?q?oMNZlJ9Pjoymh0rAt6aXKrxW1RWy8FgBcQpf4ArxQUSms3QtiIyfm3B2LgLMZTLuN?= =?utf-8?q?vX0fgRMRMgf89p8KMnTOcVboQPW4aiCrtxNZMdr1WjG4AjT8rW81XYrV4MvMEni8g?= =?utf-8?q?bYtHAdBDwPMyIZWYZZYhqG/dKebXEYAQKYJslUw9hbRGbb2W/ZhQgFYRMv3XxH4v8?= =?utf-8?q?r+PLqo5KrQi4NX6tDPxywfGcDb/nOPf5G03/RQBpvF4NnVb2yPAmZRMYy2Uet5cgB?= =?utf-8?q?RTAw/SHvWU4GLck5TUqUwbq4u2CAXpYbBEBA5p9PQ3EZESpb65ge3S8HG6OiLfcbd?= =?utf-8?q?CaGmC3zllVSLr0UlJdsLt/fFIcIoAZTaOuisPuybz64O4GGXyjFJPLD51fFH6PtiS?= =?utf-8?q?K32qLWvRCqXrTsigQUKksbP7EKcpEPf6MHu2xekFIVKwiULhtYUeZUpKZC+ZCiupC?= =?utf-8?q?f4r6ntsLkfmqO0fbjnytWdDalnYf19SSYW/32rou071DGojtYaEVhzB6GXj9EUrwB?= =?utf-8?q?NeigMIM8l/9E?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6f21427b-4654-4ae2-c052-08dd624541d8 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 15:39:35.5434 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: kbXII+tdMGxKlg8fYxbGN8NXQERxvJmKfZHaOPg8kwmwzauOq+dt0w6ZN3r4mMopDpm1eIbG2CHcnWizKzcf8g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB10316 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250313_083937_855991_AA4D343A X-CRM114-Status: GOOD ( 13.54 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Remove cpu_addr_fixup() because dwc common driver already handle address translate. Acked-by: Richard Zhu Reviewed-by: Manivannan Sadhasivam Signed-off-by: Frank Li --- change from v9 to v11 - none Change from v8 to v9 - rebase latest linux-next (close enough to v6.14-rc1) Change from v7 to v8 - add mani and richard's review/ack tag - use varible 'use_parent_dt_ranges' Change from v2 to v7 - none Change from v1 to v2 - set using_dtbus_info true --- drivers/pci/controller/dwc/pci-imx6.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index 90ace941090f9..d1eb535df73e1 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -1217,22 +1217,6 @@ static void imx_pcie_host_exit(struct dw_pcie_rp *pp) regulator_disable(imx_pcie->vpcie); } -static u64 imx_pcie_cpu_addr_fixup(struct dw_pcie *pcie, u64 cpu_addr) -{ - struct imx_pcie *imx_pcie = to_imx_pcie(pcie); - struct dw_pcie_rp *pp = &pcie->pp; - struct resource_entry *entry; - - if (!(imx_pcie->drvdata->flags & IMX_PCIE_FLAG_CPU_ADDR_FIXUP)) - return cpu_addr; - - entry = resource_list_first_type(&pp->bridge->windows, IORESOURCE_MEM); - if (!entry) - return cpu_addr; - - return cpu_addr - entry->offset; -} - /* * In old DWC implementations, PCIE_ATU_INHIBIT_PAYLOAD in iATU Ctrl2 * register is reserved, so the generic DWC implementation of sending the @@ -1263,7 +1247,6 @@ static const struct dw_pcie_host_ops imx_pcie_host_dw_pme_ops = { static const struct dw_pcie_ops dw_pcie_ops = { .start_link = imx_pcie_start_link, .stop_link = imx_pcie_stop_link, - .cpu_addr_fixup = imx_pcie_cpu_addr_fixup, }; static void imx_pcie_ep_init(struct dw_pcie_ep *ep) @@ -1645,6 +1628,7 @@ static int imx_pcie_probe(struct platform_device *pdev) if (ret) return ret; + pci->use_parent_dt_ranges = true; if (imx_pcie->drvdata->mode == DW_PCIE_EP_TYPE) { ret = imx_add_pcie_ep(imx_pcie, pdev); if (ret < 0)