From patchwork Mon Mar 10 20:16: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: 14010642 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 31171C282DE for ; Mon, 10 Mar 2025 20:25:15 +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=5HxuOEZVhNafxiCmkc/toHtjLW4vDiGTAjHZhLP9vTk=; b=BFvruPVnjdBKtrsmSklZs233tn L+oRLCzwXt7Vg/KBi4cITZfpgkRKF3PoeB9o4jax1T7cjl6Aemhzc4INAcNpXc2nMPwYdriXp1Bm0 LlHR5xA7Bvhv78CcDAfAOyF2jcZbUD9q8kGDd5ca6mvRW85SjXc8MDjM3pl7P8BwEqK2yiPp33YbK 3WL2m4zIBSjLoCeSreua5Opoe2HYHnCDqma1Tr5BjkoAF2tz/cmUUAjdlBPeEoBFur4p3cyTjy4xx J+rbHHF7Unxf245qJuZjpzgd7BQU0923zXUdi8HsrA8c9gWYVPIeX0lJu8lVnbeKR0fbohkt2uZf3 Pcu+W6Kg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1trjgP-00000003s38-3Wuo; Mon, 10 Mar 2025 20:25:05 +0000 Received: from mail-vi1eur05on20624.outbound.protection.outlook.com ([2a01:111:f403:2613::624] helo=EUR05-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1trjZ0-00000003qRu-3nwk for linux-arm-kernel@lists.infradead.org; Mon, 10 Mar 2025 20:17:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=soz2c03uUnKZL2jhyktvtmYgtPpMWqXZ7xJ4YEY2kswTCjKP7bt/n1f6NbZNjcE6OaOfKadokj0+6a0ytP0qJ2xVrRASuoljG4LzHyiYPQ49R7+4rk5B+fxabaQjv3Bm3OadkIj/5a6htSNV1K2o6SFp6RHF+CFdlXkMmiKQAsK6lIOUxF1MOEgJ6tLhSGejibvB14F+sHcZHibC0+UHFHwJUKxzdfBPxdTYcCi5I0ATAlXUtaQoAhpzgK0dEEj5pr7979Skhl65Pk/hi2yyhKqBCzsEgXh/d42VAneYTKGSwT09RabyLmZ6MhxWUGDBslC7UaMSYte2eBAl8loCOw== 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=5HxuOEZVhNafxiCmkc/toHtjLW4vDiGTAjHZhLP9vTk=; b=nZktdXheesE0DSBP5rGCSrm4bWr/+VghYlhC5L90pUb8390kxEPXZJcHbWt6UPLh1nM+JxMHqr/v8WS6SpLMpSwkVZ1mQeLSWKO9/ODq98Nh3mAHaw2EWiikm2jWR/nJlrCM09JNEuyqdex22OH59zNTqz13oLgaIF7zLA1ZVsLvgdpK9CEIdbrhHdJIptlg4PvkwHqssT4Dw/8gpRGnq7o3/WIBN8So7xQaGI5zsEqN0sgyyROU3vEp3UBEfXKiTDXIDdxWTPajeboijogRMVGYC/mbxCY+HPULZLKJiCnaCOHCv3Lo4NuiWt1jmBAhNYIsH1HNC7gwvCW8AB32vA== 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=5HxuOEZVhNafxiCmkc/toHtjLW4vDiGTAjHZhLP9vTk=; b=MEDKCh0TCzpvy9XBvK6O3FsH6GoTBoZ196QblYaT2s9ViZ6Izm8MQErVyXWesAYPWG+Zvt84eACIsVjxpJuQAFWQiuabaZTS83kXexyzGaM7B67zSqUIHgoJbIpIzwolnZNlFBOz5tPcX5BDVw9RAPCZf9/40+hnnA2uQUn+2FoICyUsqfHTijXFIKZqxKVAirSr68D8WuQ6oi3clWc8k3HFoqoo+dzHUxaYAyeBSRrTkHhAbUOyd50jaav6/9BMyikHd5EJykKx2uqF60j+s0OjqfMShjs3ArdsvZ7GhO3GAqTa1fHUguEOM4d0bUAj8g+XDgyGEAq1BMqsKyORXg== 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 GVXPR04MB10682.eurprd04.prod.outlook.com (2603:10a6:150:214::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Mon, 10 Mar 2025 20:17:24 +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.025; Mon, 10 Mar 2025 20:17:24 +0000 From: Frank Li Date: Mon, 10 Mar 2025 16:16:39 -0400 Subject: [PATCH v10 01/10] PCI: dwc: Use resource start as iomap() input in dw_pcie_pme_turn_off() Message-Id: <20250310-pci_fixup_addr-v10-1-409dafc950d1@nxp.com> References: <20250310-pci_fixup_addr-v10-0-409dafc950d1@nxp.com> In-Reply-To: <20250310-pci_fixup_addr-v10-0-409dafc950d1@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=1741637834; l=1364; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=GhWYz5HcYm3OAMKz2PmWS29ZgS7yWsv5STiuxZVCogM=; b=WLcg7Pn7NMuD65venfBLnLYrGCBpC6jQLImm3BJIMxDeMMQS3o8c9wyYnRfN/OGiec//cTcdc R72DrgiHLRgAcSV19ztKwivUGQXtosNiUFEJl4yNGmpRSOwA9ys+9WV X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BYAPR08CA0058.namprd08.prod.outlook.com (2603:10b6:a03:117::35) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|GVXPR04MB10682:EE_ X-MS-Office365-Filtering-Correlation-Id: b9087607-f00b-4a2f-f6f4-08dd60109206 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|52116014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?lXrxwtTV2Ys6Wdqvlzbyt8KPYHynACa?= =?utf-8?q?0uf/qzx36qPbiKwaBDW4lBhWVyLMewls3EcucyOfKIFdU9ozEWNCD2tky101EDdeV?= =?utf-8?q?FXyPfsM61A5IKtml8MHPuZi00pHb1eesKW38WMbWE3xZRyF6Mo+YJQSfazfQNXR2K?= =?utf-8?q?JhBUU4evTCoDQnD8uJxqLQf76mCWUl3yAYxiMDaRV+ep0cs3CaOGeA0ej09XErTiz?= =?utf-8?q?+BppzdLL7rgpEI3kgRjg5aZUJJLk2PGZtT9k8NfzLsGYDofa4eJ1EUK/mqc3iGIIh?= =?utf-8?q?tM5KRiAwM674Yd4S5Ol0LwDrJjTyHc0m062+WPuhRfQheNBcwDXUvK2DJBF0pJqzT?= =?utf-8?q?dnT3KC3MgtoErhPo7f+KQJ9Wwr1eJrPJurcNPZhUFVsm8/UT8fPihnA5BLkVI2YiK?= =?utf-8?q?oMg+HaEDW9nz+OA1wRnwrDUWvC+hJ6nyvmqESz2YgWahB31vrqzad/+QrZlXPQEYd?= =?utf-8?q?plsvhwUPMf66aSIyOh2BrxYXAe4PG7wT0pkcR8BUFivuTEmj4vSmtAna1azGiefek?= =?utf-8?q?PelryuFATioSYuz5g9DFVEltZU8VaEUYiAnRdO2tfGf2qZOx8EU05C9kr4QyYtLjR?= =?utf-8?q?/RZuU1uJ4ZfpBwEBoM0J4K4qDxX3DzWvj6z7MV4RNFQ8KS2o+T6PN5vGr9c1jbtkC?= =?utf-8?q?7nf1oiDd6qriyiBq8AONkx8X/WmYvXEG+imcePbC1jycomzLxTZvSNy5A/CJzG+NA?= =?utf-8?q?HIXeRkckQ8Ngnzgl2B2FYgJDXDooT3FvYaM7inmMsdKQojvuGL0GJQY0aRm3AXcmm?= =?utf-8?q?QnM77XJlKgTvZp8pNvDy3wXPBUNmLWTTr9x0gPEc+MMvogU3MIeWPsEOD10Q1j6Fn?= =?utf-8?q?Vv7spSAFrKv/Va/Yqd5NtogFq+k7mz7l5y3ROxztgGuFrkp/+nSUZ133f2yXR5X6w?= =?utf-8?q?pZZh5rBr9TZQDiDtoIxbCi9N5U2QNg1r78K71M4OO6AhfPM/jymjftVyYCRDKD3Sc?= =?utf-8?q?0dnCqUp0pjjasueKgbd0tWYj4yDGjNCIj013w3sT1al4RTqUJEWPcO5yKYS1vT//6?= =?utf-8?q?Kzh/q5th/HY5KGIJ6WkIG8t3Lg1d1QStWWRwHIlKr5JrLd8Pw9LoJhepyImXoh2ex?= =?utf-8?q?QujB5czDzw3n0pSgKwETNLnWtY7Wi3j3CdHAgcmV34LNwHO9mMAhZ/0lQmG2DiYJX?= =?utf-8?q?9Ed4HeErjhOrLQx5wkOd6fLWG+ZSybQJakcnA3s2HEB5xshxmX5Gig1MzPbQLjdxR?= =?utf-8?q?lKdSruVtgd+nhejX+i2TwiQ5EhT2hgI3eVLJQGv03eJNnrkJKsN6WvDQ31Tlfkwl8?= =?utf-8?q?eiHLvjZnckWVgkwuaY1XbGY02G+cBsgNxDG2mHchaQSSjUHOfI9gfvxnIFHqO2L/7?= =?utf-8?q?py4tlxitubuuJt2602u+gpWq8bYsTsxAb4spKsxcTj3wq5dDh3eEI8t5erRXGQrb0?= =?utf-8?q?h3MUmVZymeNr+iaGCLJCAjOQdbg5nMvDw=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)(7416014)(376014)(52116014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?FVEiFlzIYBkIq4UaD0AzbHPEVm6+?= =?utf-8?q?8uEG7vXW3WXyzVbU8JyiOhGVhVOtL+Aw9AuE1q/wpzcY9FAVcrbUz/q7mGcBIw+zw?= =?utf-8?q?q7wF+DuGnF5Wqt4O6N4OMMdUKt+NdrYriYrSqACGfgURmC/IT3E0h+Q/aUNecxKt/?= =?utf-8?q?YPyGcdUFfUFK/dMmgHcsqTLuPpEiSIT52b1+IkcVS8TdGVX9JmGzZjR7dFAj2bPI6?= =?utf-8?q?vguG0QjPDVADn3y/Z2aAXiL/IXz6gSu0CYLqk5KW8CAe11W42fmRbHpofwdTSoH0/?= =?utf-8?q?VAPt7E2yFUuNIrBPsnQYJ7aMw9fByfI/WT/kGv7eyqZyKlJXh2jl27x9V6fLulAQ5?= =?utf-8?q?X88JmWCZc14ot0Doo5TBZzLm6WdyzJmfY6bVF2/BCPBXuW2y1fQx4by78mHxtF+9M?= =?utf-8?q?7xBBwqK8cnbAdOLNg/ZWXAy5fqn6NMhp4mw9PrR8gLo+RTj6gaqMZdBSobKiAXYvO?= =?utf-8?q?Aq5ZGoEJDlfUBahOW8+7yGyBzGgF25j9Ij9lRdYjpggOJwPA5wuX4r3ctXN5klaIC?= =?utf-8?q?f2AqLiNBYXStv+pgw1CdHocCls2wofsyCfiWR0XoSN4MV+2YgW3m/rDjtqpMW+Lai?= =?utf-8?q?HatVy2QiFidEWQqjEe/e3N7t1bdJnreg16kJc9Rgm8HAXYb3c666nOCSv9CxDGU5q?= =?utf-8?q?ywejABssbEgOVq3cubJk9FUTZksoZJpbXrKxwWcA2xNCaPjaJ6XyuIknR1iYG5DMQ?= =?utf-8?q?k883+yFOPS/vDnSTvIfFGSAXxGHtmXxbHUnz5h5TNGoocO7iXiu20YIxkPcp9X2y2?= =?utf-8?q?VVpPR8O1WZ/Xvui2I7xgyd4nRE5kgpQuisFlUE+M6fjGVjVhttd8dTsfDTgVmH+94?= =?utf-8?q?Vr+fffClHsr3PWGO0ijdcy750ZmvckyUebnGbWopaa9Ij2QGRVLWVxnxGJeDm5GbE?= =?utf-8?q?Km93IXE+MjBg0ZjuEPU7bmCL6KbHsWsriB1xhVLtAFdXSNwULPtYlY+fyWjpU0PnA?= =?utf-8?q?+qLye3IJmN/eS3R7mJBXc8jCJovIGf6HQ1VfPj5/rMC8SFd0Mc27EFPuNmlSu8la6?= =?utf-8?q?e1lpXZs4sJ4j/MdUij3XolNC5IpT2xSpYMlUDbpzJet+s8OP544sT7FpjAiaP2ppN?= =?utf-8?q?0bn1Oia2ZaC+ffZE8LyZn76y/3/zza3sgX97esQGAx3iPRAUXv6fexBQMv6xnVFXK?= =?utf-8?q?ZBy+PIHy36hjkUF61g6LOM0hdHyMZKS0B+F7yKE/kxF6nYTG+0NKNJZckvYHhZ3Av?= =?utf-8?q?axJ3MqlQPdUbBNvesUS86JfL5CXCioXWQP3Hrqx3adaF8a/FK+F8Wuc4OFoQQv1ke?= =?utf-8?q?9r5zOiEc6STrhCCx0I6HnPgO9nV3b4qlC4vVtNSBt9z87dh5QGWUTeyCZJ3Fkuo2T?= =?utf-8?q?XG05u+dcHJkQrs2Q15o18ai5d60XxfyrAIIwBx42oWFVUxrkMM4eWOvG3/RrONR6t?= =?utf-8?q?hxLIw5EuV9vG9Uq3jdVQmIEFigxE6fEFANVUapWxKr3mrDVFhy80ZDR+W9HV+1u7W?= =?utf-8?q?IOsVu8JYJowcOICzC3nlX3IkVy8TVP+upGEGlRlW5QUebviGUmjNL6cY=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b9087607-f00b-4a2f-f6f4-08dd60109206 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2025 20:17:24.3312 (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: fBs2XbWopM5yj/pxDdTsOmKASDkt9gv8r1YJoBPJ5WxsAt+GceOQzMnk0dF+hAOY9eMhKwPtWv67TEQgCbe0qQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB10682 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250310_131726_956140_45FB27B9 X-CRM114-Status: GOOD ( 14.31 ) 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 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 Mon Mar 10 20:16: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: 14010643 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 CBB6EC282DE for ; Mon, 10 Mar 2025 20:26:57 +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=9b00wJ8U6+8e+wjMwEgaC2piKfj4aomHf12Y98O3/aY=; b=l7HC8ggykdRGSlwLJPgeJsQI0f AnZ3b30zTYbuFi0IWOBNk3PSIiL/RqN+y8Zim95MBVxXvf1w9y5a5kgQ0cKE1V0MuPEw+oQJifah4 Hxd+SYGVPvmHflsQNWdSYYRcTxEqfD3jqjlxPRbI9FuootU/iHdAWneUllM/aR+1BPDD9xUd4Otgk MQqJQtPTbma5wTBZK5NzWHPlLsVq6DW2MnGnGJxzmb8Sw2EnpVJtPqnPrhoiQTo+ErTbhubim7gf8 6s14lSkaYvU3GvLw9F4s7K+qsLqJ3x7pcHuK2lMpG+HP7ojtlRiMTK3gIXFPamvQizn8x+z4jD0gJ UCgthpUA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1trji1-00000003sFV-2Jak; Mon, 10 Mar 2025 20:26:45 +0000 Received: from mail-vi1eur05on20609.outbound.protection.outlook.com ([2a01:111:f403:2613::609] helo=EUR05-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1trjZ8-00000003qUW-0KkU for linux-arm-kernel@lists.infradead.org; Mon, 10 Mar 2025 20:17:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TBkcj/1v0P4PLi1fLVbQNHakQy6EPb2y9dzrfwVLo4TORQZZVrmWoZepzDXT5eXKHjcOFhWp5jz5RMos4lwVCP6xwKqTBMdnQQGgq1KBqY3OV4svfQkVOpCjurK/9QUtcpzRgMMitaUCfKEAXr7ZLEEJtT//+0j+26c8b0vJoF1tdilsr5+CympNYQqH8yrW91M/04knUMsjg1O12H5a69KQJX6s7/4psPk7PzaWGBly710Bj8SwplZjnydi3Pqyn01CIWbL9kl6Sw/ERCQckZgdvJXl6nU2hl+59fz1j5fFA8muf75VZRqVm1/QJag8jYaaS45jw5xCZqhfJRC9uQ== 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=9b00wJ8U6+8e+wjMwEgaC2piKfj4aomHf12Y98O3/aY=; b=hsFIWGOk5nS2PoiVN608x+Czy5lVldG1TctVzbLJm4aNmFUx6wgbRFVEcYe6FdGohhswwfvAY482e3IhVDXM8KZH79mwdGJC5LaGP4ETvWkdZlwvg43hkfv071RT052CJJGJ9RH1rOIrQDtt4xW1O2OySLZ9BWx71PKz6hfbW4EJ5Y0y1/V/TTgjYhsVb8vdk1C4hKfEB6xyI23Ke2U3pDgFyV09a4LDoJd8oETtJMLXOpcJaCvPjCV8QmFhC7gtYnL0cdkaQFZ+SJuiXFSnF2ZkuryOinYsIe000QgrOS73BOpawPkQIzmtEAjC0cAOQuHMR4FUdQHJZB9HUr6+rw== 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=9b00wJ8U6+8e+wjMwEgaC2piKfj4aomHf12Y98O3/aY=; b=f+AYrJld7Oq4vvgguWG4Bd7GphHHe/MjdFiiQgvZzZ5zGRSFyK23XcO8te+MgMm7zxK1TBXLh91XUTBBdCrTpN1PKf6SiztAPo2vOWQdYJRzOVPZE7BgT8QP83NgcaDnaIlQQAwnRFmgSu6XaK4Xfn9UUg1qSxnLqdKfz4Swd97YCaigajcX0tnTpVlk1eZWGkkG3NV8jlYNTudRrWalGUSvyOIJikDnXnLIIDAold2bplsgPl13OzlvvszABUFp6Lalk11cwfSz5QWT2COtL82FfTZCkjG7EBxMKEVYae/eFkJTkxPqY0FfD/CKogCHztYMpyU3OkD7tVB2aDZdxA== 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 GVXPR04MB10682.eurprd04.prod.outlook.com (2603:10a6:150:214::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Mon, 10 Mar 2025 20:17: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.025; Mon, 10 Mar 2025 20:17:29 +0000 From: Frank Li Date: Mon, 10 Mar 2025 16:16:40 -0400 Subject: [PATCH v10 02/10] PCI: dwc: Rename cpu_addr to parent_bus_addr for ATU configuration Message-Id: <20250310-pci_fixup_addr-v10-2-409dafc950d1@nxp.com> References: <20250310-pci_fixup_addr-v10-0-409dafc950d1@nxp.com> In-Reply-To: <20250310-pci_fixup_addr-v10-0-409dafc950d1@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=1741637834; l=9694; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=0KsQBqHbfFNCq9QD/+whO422n6pj/IJVLtfGCE2rv7c=; b=ql1vAlbXaA+SsVxAkTqL9u5LO9TPROTP64+cuOWA/uORXxTAbyJmeHGR4jQFAo08mAItPb3oU R5K0ysp94noDNFmPVo2aTjM+uhyVJ8FYH5gkVjI1hyoIOLG6uTnmrA0 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BYAPR08CA0058.namprd08.prod.outlook.com (2603:10b6:a03:117::35) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|GVXPR04MB10682:EE_ X-MS-Office365-Filtering-Correlation-Id: 1eff8700-1c8f-48f5-e456-08dd601094e6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|52116014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?G8ltNYCBxw0NItAjoHpRznd7ArChQK0?= =?utf-8?q?LgNBoiU5In8bezjbsQiwJod97FMgp9FqEX4cGD1XvEOE5+amc70fYZtMg/tgTiVuG?= =?utf-8?q?Q+sSQh5RHIqnw2spsWyom8TfoudtXvsaPldkDKfhHEDDJguxc/npIfdJlDxZ3jRpZ?= =?utf-8?q?Irc+CTRkvpff14M1dJLyyf5hlXH+EA5kzcHjTPfFxp/a9yRWjoeVrCooG/7/zx5On?= =?utf-8?q?DstrT3BY5oGJsZN9clY9h6yc/6xb30JSWv/Zz5zps1KDaQLVhx4me3XRD39p/uukm?= =?utf-8?q?SmQgy9iwGDg5c8RPRgq/tJwlz7yaRGy+++0wd063EuazDqxqyL4CqHNVxQA341Lbn?= =?utf-8?q?BTH+d6/oJiu2m+sQij6CaPqOhD0EolbiAg0Wcb/LcHLoJtl6tbCsJnKCNIOaFffz+?= =?utf-8?q?T5JTp8csK+aBkULs+lUSYZTAXFNRwOqCTcqupaafpUtGroB0YM6/R/3m6OEKAAur/?= =?utf-8?q?CXhpCEoIIiBn624E5x4bVg5oAf9ulo1toDmpcwvPFkuDIAiHEOGV1lXv+mll+zhEb?= =?utf-8?q?iovA0mtXE3dKWJCZ7v6BFfkY+sVPN3zZztDXWBoQEHD07zacyKZi3QVnW7QloWRlw?= =?utf-8?q?SeV3Uk1G/tp2JbAYZu78QNvHRsbf/XBiXa9/DnNFeDfenvCcrQofKLD/DaJrYoVSI?= =?utf-8?q?KkP4Z6FkihRzBlSxBS2i2B3K3XMEI0zvQT+8d1Tqf/JHATy/sMnBigOJHHyrzmcfD?= =?utf-8?q?P888dEVSjRhZYN+H9OxoVnaIm4YpL9KsOX+GH6niztxXivaE3dCiz52KQ7NS5YL0+?= =?utf-8?q?qt2GDazrBURSCFFthx5bn/ZPmBo8Uc9HxlqO7N8UgQsJxSm4cPFq/RzddsVApDOpL?= =?utf-8?q?dmbQ8cUtF0WPAaOnEcPmFPGp+W+n9MjOLZDqkjURcWd7tjD6ee7yrgkHvzG8tYmrq?= =?utf-8?q?8et8+jFUAwvsS9Omd/6UPS1oLFzjbu0/FaJi8crIZh7QhgqRxj6KvuCT17YSMtH18?= =?utf-8?q?qRkDaa7e9cKAELo1s5D5pG5dcDrEvd4KY4rxYC1X13eIw/cgZKMXeXUJaHdVlFUq2?= =?utf-8?q?9ZGmF0mS4uH/WFE0sZhtU3C7sChJIRDtTeQ02oCnrMs2eM3vfU+gqfW9ht12kGNzR?= =?utf-8?q?o+PAuTktbiNNy7vjEr4HfR5uoj9Pxy2b/UOtQq8QtmsyLSb8DhI0PQsuP4bbwCrAb?= =?utf-8?q?qzp72m4K/LdUrf9kjgha5fMgLzzXSDbFxePXTdDxut8T9t+Y8dQEP3fQ5MYYVgA9T?= =?utf-8?q?nI+OY4mHcD7B1Ek4OhjBsg834QlLMNrfbV26CCFvP7nW2+3Be1eUFOXVtPFTn39kb?= =?utf-8?q?OzM4ipT8Z/k5B5fLWx7aMlAY6vL/nyUH/J4ulXu5/KtuLoZgXful125wqC9A7m1ds?= =?utf-8?q?8eDOBPmxehZjCw7IKKWCBRNKs9Pwp+kFC0pZMIQhk2TCzaPhrhHPiDXP+w35IeOb9?= =?utf-8?q?9tomPAIeskJipnYP31YWdoFbLmzRKx5jQ=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)(7416014)(376014)(52116014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?dQlmoXrGgkWdV16eV4xuuYtyYx8G?= =?utf-8?q?awKYgY7hmf4XtmR7rV6ES1CdeetuPRjP1CX0NTg+TocNXtQt0XazpPLzV8PN1B6AN?= =?utf-8?q?X4JxdE/g57qktbnFfLuTGHqw5LHJFzudDfIMWN6gbql4PEeNA0LBi9MWvdq3n9fJK?= =?utf-8?q?X6PD70jMJ6A9dqrX4P4Qex9zUpolVRISe1w6ONMTV5PXp9T1JslyB7nS+h3hAKPF4?= =?utf-8?q?xBAJLmujEew9oFaQEDLgUhxMU3c+JiVnW+gyOR7LBFGp3DCpy4y9n8Okw1LgjeZBb?= =?utf-8?q?t8IY9BeAGOv704N+tHkyis3rL4078ZuzD/wlTIYWuDF28jJjNiA0I5RBE5rugBM87?= =?utf-8?q?K9foclOot3kKNCnHCinkg5nxvLP1g5nmFMoGFMFrQ3PhPXOaB+SSDsreBFj5BYWt7?= =?utf-8?q?rhTZR3UZWDZ2gwwuNfluGhYf0qRn6NNqahz46gb6y6mfsk/iqXv5KMX56UQQBBp4k?= =?utf-8?q?5vMNvf4gJa0mQ+OkdEIGmHXFVSZO5/jp+VE0F/aW7iwpOE2q9PimS5RPt3Z97UfSW?= =?utf-8?q?Nxy73S2G3OYFMkrJkW0v0F1ChX0RFVBL/Ru4T+aZWnmdB/FRYftuWASk/AplHbt1z?= =?utf-8?q?aODbm0z+zyWb/6Ji4aeNLk1JFoCfqnLrwf8g1GjUh+IsrQVXJ9Rhc6qEzynlTecHC?= =?utf-8?q?CsmmNy4XzOeflq43jvfKGMwNLTOMUPfhAYsa2ocuwzWiS5ryb05BLh3iiutiPoviB?= =?utf-8?q?a3oEV4gGUDN3sw9LQ7rKND3q6hiYE7sxyHvIJHAxqZZXVG0pdxlFO7br39cCf1+AW?= =?utf-8?q?UZEbmo35hRo3PlSA1cfqfurLZ12MnqPdOYiOQ6YelBEMR0vXNu/UIOURi0SV1rzQ8?= =?utf-8?q?18gVZVN6RQD2fOrWmqixD0+IKbniHCk+CRxWfX/0+iWa7ENEsDkxZTWv5EyCL1rvR?= =?utf-8?q?0Zm6jgeQSUFQuPosPpmVWyIwuMDLZc1n0yHgBRW4j4aw0qLVxxETjrySVV2lu5YeP?= =?utf-8?q?fhh83dSUpFzSfPjb/iuwzdeNW3LmWqZ82YdbNQ4/WTABfXle9EJLBDyx8N+oGGLOC?= =?utf-8?q?C9yUw3EFwTPjrwEQgX9l+1o43pCAgETDopPboIpUs+xxurBCOnNMZISRhZLhBEd2G?= =?utf-8?q?V+C9xT0a90J1ADs8yv90tbm35/5cIedTca/JhLyhNs5qAZUhTC2pbPmebWr26bfiI?= =?utf-8?q?GK4UxF9JXNXdpvnk7Wz1SSpGjkMDR4j1UwdePIWfUDlKgYIYpv5Aay7bfC5/R57QM?= =?utf-8?q?FSf+ies/Yc5bkrJ2JIHaRq2+PwTBpmzNWDByXh90ETIYff2/y+E5nFg58qsxdm4MF?= =?utf-8?q?/MU/5e2IckkY0yq/IUjZfkP5ar7h45GgLi+2kqjOwCOZoxIu9OUI8AV8rTy4MonEM?= =?utf-8?q?21vLIOTLWD2/TUZXc9SwjJ62V5SJZQ//eEuZd/OXSqO6Z18CrqfpbjuVk4HrG1rdJ?= =?utf-8?q?WOe3URGoGZlYjwIfpRDmNPVA+BiWXOjTQ+FGhOe3GE1rCm0W77aNdGduFkS0O40RP?= =?utf-8?q?wwu/uJJAs+byqsKazjZRL+/oGK4EMNEFcxQvimHDaPPNpGZQgnkaleQ4=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1eff8700-1c8f-48f5-e456-08dd601094e6 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2025 20:17:29.1720 (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: UZGNDRLNUSlAYRzkFiOzwE9ZFVh6nYguGoQuFWmJdCwX/gL1Ol32KQLKYnqyRLfi5Biqkhuy/elIGtyvJPSTIg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB10682 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250310_131734_297281_A2659BBF X-CRM114-Status: GOOD ( 14.37 ) 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 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 Mon Mar 10 20:16: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: 14010644 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 C918FC28B30 for ; Mon, 10 Mar 2025 20:28:34 +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=rTHKefLycHMhVtsdhP+f8dmoDvue/YvM2QNFOGG2uKc=; b=niwokqd3+d8EF/g2fwKLdx1JHe tzisZTAbD0vi70z7uXEZrb31WtIsUtRgzuQa4WyiP5yIrBLV9j2g4n7o4+I6Z2LAwJ2Xz4mN4r8Cl ludpSc8UJEntLW8AfDgBOdV7N+wXNeKyCYypkPPBbmFzB9HgVpwtpQWeXTLLtW+ObQtr6K1GTaY2X EmXePwjw/EsfccSmwJelS1kwygykc9dbhsAkEmQB5ZF5Q7xvusLwl5jKeqoH0EMTAAq3l4zddxFkj 1is9q65BAq7PDbJY3fmHskbKMp9UdWFDRtqHQEC2JzMD/s5x9T9PmiSVz4bTkK1Sf5cwDgQkjx5Ad HJ+SPyVw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1trjjd-00000003sWF-0xaL; Mon, 10 Mar 2025 20:28:25 +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 1trjZB-00000003qVL-2JDq for linux-arm-kernel@lists.infradead.org; Mon, 10 Mar 2025 20:17:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kHj30AsYz7a/H9UidcFG3tGOR/glsaZddcr0wE4be39J/MovqQDimK2DjWiAVMxERXP04IKA+Ht1yiWMcjBg/I0nblARk7NW1wUJuu0I8MU/HOK8MxI/p0eV/di375mLc41fDJk8xz1bbVfEr7vO6ggkhtUQOCGjawCJMuKDzDj4eFnc5dovvGzvVuFP3uFGx0yZ+QawI9jFtW/dGXxmDTCn0/Fd5zuU5Wevu5mvD+J6IRVmYyiYmYQxfawHxYcoQTwyeWkuEjj+CKA/lb6b6Hs0dWljTDAMbzhy78PmcW2ZzQ+IJo1GsP9yI/vTgi/dMdfARodk7KBjTP8yvtxRVw== 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=rTHKefLycHMhVtsdhP+f8dmoDvue/YvM2QNFOGG2uKc=; b=emL1i+0XUe9RKs5D2OFPPHLGx8oLp3HiZmlV4QI4HkCiCo4WIIZDsiJd+UL9Slq+pBa9xCFU29JG5bzWckr6hJ+KrgzkieZHtW1DVFJKWgy4IQYa3VK6wrkOvNH3k91Cp14zKTiWpIq6n0xh+HEUAW70Nq5cmSGGpO4oQ2MsFhCppXm775E2zSpNf242yo/oXB+qwJt1sVxMJU3GPWY+f1Rm5s7O5cnQHc31dPNV/LnzANmriNXI4JrzNJYR9m1qhlBGJBVblE6rFfjG37Dqe/Avdtzz+P3D1fExq9KaTMoyNhebxW6J/yXY2EdA+KQGB5Htfn17Ope4tTZLDqoRyA== 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=rTHKefLycHMhVtsdhP+f8dmoDvue/YvM2QNFOGG2uKc=; b=GGOzA3m1Y1c/3ENWnY/XTOVPExbFaZuMFm6bj0Vy5q4UysGDWghO/kCOzeeRTRofWd1qsZYYOsheP0DyndA2iQUYDIbiqXu9j9AIS7IJ9H7RJ+2YnWRqy03G/jiNSy8V6+B7DJL7+kVb434Oz8YxxwPDSZ1UBXoliSwKbcAMvUtc9R4oB85rRbviPMdE+2+x2qEGBd0vNtuMSSbWOQKvZEj2UKEk8p+eLt1CqIFqr74EEnKVB+2nv8YKH8PfbFs/9Ryi0TIBkaQdUtq7v2B56By7FLUE48bJTye9cOJVNT/3O9KgvhrTaGiy1p6xEZZ0WWOydSK+c0JKU/rO3AY9wg== 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 AS8PR04MB8261.eurprd04.prod.outlook.com (2603:10a6:20b:3b1::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Mon, 10 Mar 2025 20:17:34 +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.025; Mon, 10 Mar 2025 20:17:34 +0000 From: Frank Li Date: Mon, 10 Mar 2025 16:16:41 -0400 Subject: [PATCH v10 03/10] PCI: dwc: Move cfg0 setup to dw_pcie_cfg0_setup() Message-Id: <20250310-pci_fixup_addr-v10-3-409dafc950d1@nxp.com> References: <20250310-pci_fixup_addr-v10-0-409dafc950d1@nxp.com> In-Reply-To: <20250310-pci_fixup_addr-v10-0-409dafc950d1@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=1741637834; l=2708; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=x8RA+x9r9JuWyFDEhuMcFraJYfJMz2iE/r385KKEfTw=; b=rn34KzUVyIAvWAZIONyJQBCvqOOJxYdjVC16WYZ8Vhd6B7srKqHKl2Btn0uHMV4ipvrgrSQ8L E35tZn4eKELCyepn/aG5uqSqJZ/a4u3na8iedPa+gExXh31ap9xXTiE X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BYAPR08CA0058.namprd08.prod.outlook.com (2603:10b6:a03:117::35) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AS8PR04MB8261:EE_ X-MS-Office365-Filtering-Correlation-Id: 79bef7e5-3870-4528-0fb6-08dd601097c8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?ky4Zw8Z8MoyIip2U8YCh5OWsGOlyloZ?= =?utf-8?q?cQJlXqc7Z6Wh/s0SxwPCXOx03qTO8+LvZJGnPFA8SQaZnfumPQL1YCEi9Q/tiIKW+?= =?utf-8?q?AibabW3FJLDJYK5WD2qr23xT4o2151UFAMoJFZB/ch6v4FZxHWCs+pKW7bH5F8uyn?= =?utf-8?q?3hxz+B72Ts49frE+vY0fNsyYQctcn8ZLZx0MxVNgCYyLXVHW+X7pbKHGeJTIU4JnU?= =?utf-8?q?5ggqS6Da2GzhhKKJ2HrPnfSogR36yLbxtpq52RyoeJGaOLoPBPko3N48aa2dfR7BH?= =?utf-8?q?b2VkDGXwKUMALVlcZcXSsEO/LfMFhaUz93POEZQo9YtX8y983ubK9T66uflUdOUjb?= =?utf-8?q?BvJDB+Azq7lMiUAZgCU9VKbu97wA1hOkKik4imLvqCNYg1L4/nuMA9y4BFZEXkTcb?= =?utf-8?q?/2+wOGupM47c6mHXda2SlWg4+LmNQQJckEy8qo3Z4iDmt/jCRE2uUkEUbJSyecFnc?= =?utf-8?q?g7MZuY0Pe+SBCk2tKRkzVCBIMcRw/BUjqATh2/hvSxROMjFMA7i0++uYf2kGi0Q/O?= =?utf-8?q?REFn9oV+VAldkUb00PDUr/Ux5mBqaz2Ee+P9UNWMVUc+SNvM0Rz5lErsQu7T/bl1W?= =?utf-8?q?Vl20IwQRpFijzmirQovx+qo4Ii+pC4CD3btttzDQEixGceluPWIPdgPvoEeRdMfBc?= =?utf-8?q?8X81KRQ3IkGdSQAyzb8GAJjiZqQkZi21FVX0Y5E0MGUYeyNc5+gFkjhuPnIy5a6a3?= =?utf-8?q?+XXsyXNIEjM2ieAEonshNn3NHHPjjPxpo2oHieVcuxrNo6aqkZ3AlG1tGp1rbUV1I?= =?utf-8?q?qcEFSiwgl1t7ABHNAK/EhekjGZK5rwUvu9Ti08NT/jJqXRpnq0QWdOrYQBqZ3imad?= =?utf-8?q?anP5ObRo4U0gh/3z+35Be/v+fdaBE+EXjGGu+xuP71Avrt/LI/DoU1hEI1ClUPnaQ?= =?utf-8?q?wmF4c6dNv3hU+EcapvDUJwlZ8fDye87J7/8MG2+N2Zo/ODFdcbLo4j12AfIldfHum?= =?utf-8?q?tvQIiOE9TyfUWUuSimd1EfZg2lOQVN6uYdoqS+diZ7FDyZPMqZ30dXBYwiBaBE1DH?= =?utf-8?q?wi5je2OxvHJ4SV8wGZeeM3DhTH48BcjDhZY666XEIfA1DzhrKYMtY9mHP+FYx1tS9?= =?utf-8?q?q+EimcnExrkFCWXgwF5Hv13XfyJHkVNKRSU7VOHoF1uNEQZG+TJ4l6ByTLGWzWlrT?= =?utf-8?q?XyRp54+SMTCV9b4axzb4Y+2cgWdqc/3FSbKJHNA3cXbgyO+EPG7txuhYnKrJ/x8Kn?= =?utf-8?q?6V222DiFscajF57vOHgma4h+3GYPP2gEzM9eBM8i08/hil1Stw02BtD1a5AnWepW2?= =?utf-8?q?8jQiFZoXuQ8yIgVV2SuzRpiSOublYPwV292nL2kuqZ16V8hs/NgEOJrsb3YQ44YH1?= =?utf-8?q?KeiRRfvLnMMLSgnRY7HysCuXhDTv6pe5tw=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)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?Mq1wX6JAY4diLKiRqi/3p1gfYVWZ?= =?utf-8?q?6sv2b6DC7v7M23VuYEjdLqBEmsrCxB13YAJd7OigOQr4uG9NMJFgDKJyRfxJMmYyN?= =?utf-8?q?enzSAAWiV5oA9YbDYdQWKTigS5vSvd4D7KEl0/+hKQK6DpBqzKyeXU+b2yam1Oj+t?= =?utf-8?q?JWsA586+0Ku9D3cto5VOYnFr7sJ7WvNOTm0LhNPGz/cmG262ot/w5qkcD32MMWA4E?= =?utf-8?q?/k2QkoC91fxTIpNEvjEaEDTUg/5jGTC95Nhtg3l7Jtz1bo247HPMtPz0fErcRqqyb?= =?utf-8?q?6yaOpTEXS0pU2X7Mrcw/nHr19uS3eH17QO11LolOOb+afc2SKFavHGGUnv06YvRSk?= =?utf-8?q?32DSmS/umr5q5cOoBYQZwA6i4nVbicTKdTA+RaSJXC2lJuawJf7ZTQn8ScCefV1rA?= =?utf-8?q?ZqfVt1Xmtt0foIjVwymBIUcTYFpdRpOB3x9T7UEtbtsOxf2miEqqsk61rV09404rr?= =?utf-8?q?TSIdz0RtqrwDJZvpMKwYPyRa+hp7TDVCNgeopUC42vlLDKC7WD5zxSYGuI/we7xoY?= =?utf-8?q?IxJ/OF63AKyNfvqYE1C3N0T8EuoUvUCSo5m2090wdADqyWjrg4UYWMso5LbPg/2GW?= =?utf-8?q?54Dd7YlJWueFneO4pj47pg8pg5s0KodiQXYVrp7NyQA5CupDjcK05vpFU4B74EDmz?= =?utf-8?q?s6oPbWFxwm5gW2Ifsti0rcOOiH2HhXeKXxCwxMIFQ6owjYskmDL7MyNDln6k6maQ8?= =?utf-8?q?Z+2ZTEKA9g8KvmK+gBMOzlYYGPmnN7w4eyHKSUr5e5tJNRwLz0wghzxo5T7Y4SkEy?= =?utf-8?q?Iqw2ilm+ToaBUE8QRFNyKvZn5xBL/TBvt/vLuMkgPMwN2vqiXoQo5teX5zwubAtt/?= =?utf-8?q?gj7bb+fiDfRaBgjwcvhMJHsLKxryJrooLruDEr7wscOSEgkzP46sH6Nar2e1j0TYG?= =?utf-8?q?KLl+TWbJUqercBuSrEj5OIm5GYYSu7Qtvr+EEe1wE123TBQJC5WLZ/KBvOKHeI1y3?= =?utf-8?q?V7UOdiw22RxJdlIKgWqY6tgWvfgThTiCQVTeyeuE34xIBKSY/fWzX+qO4pu/R6eOT?= =?utf-8?q?N+bADbY10Mhb0/F5JhzhOw7gP5S4fQJy3ZVGLwe5JAZPDiLTJSP1dAF9xsMcAFX9N?= =?utf-8?q?XNvsd9JS9Rp02M434lGu9cKY78zAY4wHhVAqpvcG1ZbI5caVTjqNJl7w63N40VORW?= =?utf-8?q?cY3Su/F/MraFvrTW3GAYMrPN+kzsrQKI+FMVvGktLqOy0z/cE7cyLOClTK7Y0c3ph?= =?utf-8?q?GVmdZbPZ3ReX/kEjn07819oNUZOCpFVDXj87YSB5u5gULZsRzhtFvLCcxU4bS+856?= =?utf-8?q?58wlX+mbOezLAb8D93rpYPxq7AcdNfLnfWAqvTsjWnldXpNJlWoA393HnW/dqs69x?= =?utf-8?q?Yy1564nY/+Fk3oeZDFcAdzOOUz0BIY1YyZhsccuIjHiduMdT5nXMxalDOqOvt4j8j?= =?utf-8?q?XwkdYCeb1ZuBGNEDGGg2/+/XNNppovpeMTF65WeFsYtOXoGXbrVXi/nmVvpJozw2m?= =?utf-8?q?bthjpKH6AOTMZoVAnaaIBSLNNOH0JPHenQjZW9iEOezd15EcavS9JG5k=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 79bef7e5-3870-4528-0fb6-08dd601097c8 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2025 20:17:33.9988 (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: 3no/caYU2jUW9k5Ww9XjWShTOl4ORt5vg1P2FyMNU8TxyTHEtF5ukUIcXBVB02F2OKySS7T62NRukXkdqL8E1g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8261 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250310_131737_603891_DE4F1048 X-CRM114-Status: GOOD ( 14.48 ) 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 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 Mon Mar 10 20:16:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 14010645 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 E8EF8C282DE for ; Mon, 10 Mar 2025 20:30:17 +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=jkUUith3lCTaKzBGlHcayPTbQSKqnnP97ibVcnry8a8=; b=oztgcvWBwEvN4D4B15nQcaebvn y3pF84iJVjUUjXmJ6hNhg4r2xofHwIpiPtst1DQSyPUA3Ozl6u+hFzN4UPXy7nIXM1QcKtkMxSP0l 1uRMuSvpcUWXPvXTWQclLFWWNA9bbo3cnRvbeSqkVAxMUGcExwaC5Yi/Bo4BfmyXsEgbwjw7OM3/L 2P6boVV4WP207WSoE+AnGMpJgvEsGIHFgM9jaKs080wQ+WQqOyBsAySKQMjIdyZJTfZ7ydWrsgbkD yP5L6jBKDx/ay4Hcbp25ozbNSd0IOG4dz7WRGtO+81A5w3MQbtXH/AKlr2+ba/jWOhnP1kMI79hLd Bg5V2U6w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1trjlF-00000003sik-45vm; Mon, 10 Mar 2025 20:30:05 +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 1trjZE-00000003qVL-0dSz for linux-arm-kernel@lists.infradead.org; Mon, 10 Mar 2025 20:17:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OtHktoh+t4TsbNfSF2V9nCm/Slw1qCK6T0wmaglIBIk5/5mCBqvWEx6hm4VRhVLC21qUObCPdpWUxWxbd/aWF+YpADRZW9Y28d9X0jU2tCs1/564B1AyHYLQWxLlgEzdGcbztjw/qZKsHVOa6t6O/8RKkLRDkq1qfHec/UVz7+mOGycWGSbwuzy1ON9ad9gpdMl/hvmJZM+/vYHJmld/5paWPtewnWbhHB1YK3PQ0Wt4Df4kHNSryf6XRKEsuBZ/aFZAT/m/I+DWqXm/QKEXYmPZ8sWVu6hd7RevTn7wZbSicYerGLvlzRJOC5CpPZL1InUgfuLN2r4J3IGxdJh1xw== 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=jkUUith3lCTaKzBGlHcayPTbQSKqnnP97ibVcnry8a8=; b=DwHSQv/pNePQPg7GrFDSvTURlujaETaHSjj1Oq1lyhyb4djRtnKFGAxoi4haqd5ws31C3lylsVsvh8GTCZbqSwbk3ADq5838ygykJgspwo44TyD7Yuk/MElDzFyy2FuyRNCVdJEvuB5ODlRnmjEeitm7dhgcvCKZrdgV6B7lWugSyfdNhou2BrcN3q6JJMnYTJfHPSVPjE7pjaPaoMMKol9M8SutviYhh4fjsGsreax6aY/kZ4skOMzs4SDwQMZgAZiulOeIChVvmTpg7UzHp//gKWMrppALMShqCtUB7zBQ+ZoxO8+rtt6BEkQLxMO37g0NPDWKNOKZi//Xi4+vrQ== 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=jkUUith3lCTaKzBGlHcayPTbQSKqnnP97ibVcnry8a8=; b=ML5z24e2287iKQS9fh+uYbx839mvYtuhvAqbKMlDQ/2sZckK/YdVK67oqn01j83OjNPZArB5JUq7lS8a1DV2uzq8CMGjF+VjDDXCHE6qDxBll8Y0H1tdobzOP2fuw8St0dvzeWQp02Hk2vs8Ku1qOw2zKk7oBBRSaJpyTMrOoCfEP8iHQc6KKxegLQnxACg0UanPsRMdsUFXF3oNilQ3ltgMlQJ3r9MQIViyZnPwHKj3DbuzwiGVVhiIoX321XHBLRt/F3GTEexokOl1IAs+F5QIfEdOjKroQp8PQ5vAM4+zUIHl6tdfoyfDdpwV/nxijiQoyOUCK9c8+DVDIcRCcw== 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 AS8PR04MB8261.eurprd04.prod.outlook.com (2603:10a6:20b:3b1::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Mon, 10 Mar 2025 20:17:38 +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.025; Mon, 10 Mar 2025 20:17:38 +0000 From: Frank Li Date: Mon, 10 Mar 2025 16:16:42 -0400 Subject: [PATCH v10 04/10] PCI: dwc: Add helper dw_pcie_init_parent_bus_offset() Message-Id: <20250310-pci_fixup_addr-v10-4-409dafc950d1@nxp.com> References: <20250310-pci_fixup_addr-v10-0-409dafc950d1@nxp.com> In-Reply-To: <20250310-pci_fixup_addr-v10-0-409dafc950d1@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=1741637834; l=4967; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=IPCgPMxURCT5SP4DmpiD1a/kBvD5HOawwcntFnZ2L6w=; b=Q7cI6XnU5mrbda5d67jfiZJ8MOB/6zdDKZOgtpHFx8IF7kOhAJzqcdMy+/3bRxjMGQB5WmLec f3dc+03VlQeBRtvk8LS/HNM9Suy9KMQWepqqjeU+7HeW8hdYFjlVHSZ X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BYAPR08CA0058.namprd08.prod.outlook.com (2603:10b6:a03:117::35) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AS8PR04MB8261:EE_ X-MS-Office365-Filtering-Correlation-Id: 66eca2ab-5f3a-4819-4ff2-08dd60109aac X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?rGGkb5elYCcEsaBBN67xqVWlH5YILd6?= =?utf-8?q?FD3BQZnwjeKL49ZpFax8hPy4eceY5BDVoIU2yWtvemfSgDkiBn1kUfXbMOmGk3PQL?= =?utf-8?q?zJw2ekrzAqK6mbAZu0HU/+zrlTa1v/Vp6XVOtDj/WoXIi4kU7Zf8urhJ9DCBMC8zw?= =?utf-8?q?6PH2hFBSjnNcLIcP67cP6ousoeQhx5iMKszrfCex4deEamaS8xUKy7Tka/uEdZCKY?= =?utf-8?q?MRlX62zZzo6hjPHLZVFfwoFZEErON45wDyrA6lSn4egwg86RHasFzGLFdOnj341oJ?= =?utf-8?q?tE42RFcCqpIMR+P0TdNhVdFLATGsbXVZZOMhUMxrnW5NOmSOsSl87myrTzR5vIf1s?= =?utf-8?q?dtR/L7JxbsG4oKmwNzCbi6JOn9BnEcTzXL4/kwk9GL7NQeYl0hADHfcgFv5sEzsZC?= =?utf-8?q?47AwuXX4X7/aOlOReb3R71FhF8v1jgcIj9U+C6fwQQeLwCRL3eppSAxHbjlZvAM1r?= =?utf-8?q?/NfBYwN1jY7CuSDueHZl5cCV/wWmcaicK1k9GSfM2WiJMqutH8o1v+vMcOo/FbgHv?= =?utf-8?q?kCoR96nNxCSFJb3Qtq3vukAvVo0nZNpY30/q5ng/+5i2hN1rv81N2y13x2XK5KsLL?= =?utf-8?q?Mba84XYSkF407x1Wzyirth9/eht6HOJyAeCPPKOYGt5Qmfdscm3GKs437swQYvvye?= =?utf-8?q?WQiV75nZIuPIurLmmkZn2fRXsvOaxEIRb0Ir/jt+dt3wWQeXbDxpIPtlfencIUgfX?= =?utf-8?q?FTrPG0jvqqyYnEYeY1/FwVT8h654OiNIqdHxLkXAmIRYkGkXuxx25MpLVnSJr8EGn?= =?utf-8?q?jRrauOxlq9WDqZCFNrOVRPoET1Vb8md42qOwtmQdRLrF13INfvav7CKfrCkWv+nbC?= =?utf-8?q?taPQs79C0iPez+o4jiG/mmvUPiotxOnA2Bq/ExZpiAHhIEob4HvEgLddWZjBp6RT1?= =?utf-8?q?ex8DNlpGrZSH8LdjSJiLFzchd9uxLxqxZovxVOaMeA4w4xfJRZmn/MLcfu24GtlJn?= =?utf-8?q?PLR1dvkvWVaoCffqjp00PrGmN69+NAGYRQIvoR9nBdGvUP0IyaY2mSpZvyJ1gDm/W?= =?utf-8?q?AzgZH72EWy3HZqYtJRgqrdb/GlykUBWamtU7HhqePcr0mzUH+dA8TEygPUjdnx/rd?= =?utf-8?q?H5uxdovBwdHKydJm22PX0KS+D89g3B7HsN6Xqw3zqZHXLy0oEVCMT6YmgbXep7d84?= =?utf-8?q?uDOHC8BTycu08fsMRzE2qtpQC3tr8Na+OGRjdrCgDhXZQNavPkfIq5ud3NgYovTJh?= =?utf-8?q?5CNApkgWfUtOdTpPHp/EDRPI7dguM3Q/aXZE/hofy/76jlsWxr7Vs5zY18rDnSq3P?= =?utf-8?q?YN8ePEUMZJTe1S11FJ9DJMBX1h+kwnufr4epbh6Vcb3YVM1J0DShVwh1PIFFugdgS?= =?utf-8?q?fWOvNXHjnrrpy/HlMxOVqUHo/2NwmrzWGtMeQf5uOhG4ClbNM9f8FyURtfxncoktK?= =?utf-8?q?SiDlY2XzUOVW39KIKnptBcL/5qf5xUKqg=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)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?QITQBVucvnSIem44vBAUtxj+xpjK?= =?utf-8?q?iWxbLfFlMHfEcEIWUxj8AgDNxbWm2Rdimlun4Pyw6ufT6/10uyBjdMy2BghmVsNRA?= =?utf-8?q?4VUqe/urUEumv1xbFIa1woVq4U58xCyvwX6VsVoqfDjrrPeDyJJ7N20A0PVCCm/3N?= =?utf-8?q?+4kvw5UZRFrRZiHY6koID3k9T1XUkmbdHtJsNmms7uFppG0Kf3/Ql0Z/EQxiK7PdN?= =?utf-8?q?4zxy59Frw8M7Ah4Get+VtSarduE5uFIpDUPSI5ckTkyzyC7EuM6LoQS+ce9lJwx9O?= =?utf-8?q?hJAnrX4dAdGvfCpBMAtRuMO+0LVayZ2CabqlPiUYJkzM9mMwjLYzJWtxJr+17aGw2?= =?utf-8?q?WXCPmymp6TKNqonKiK3ma+Ec+rlnSNTWaUt/LLh2HY3f1DwLbyVrUx1MJRQNT7Vqw?= =?utf-8?q?XDIbWpfS1Rx7RCN7JSdErZQOtfB+HepyKXBLl8co6p1cJiUJ9ZihxcfSjjtTXh+gv?= =?utf-8?q?QDZES8yZ+LDzuivwAWasN3PFLMWcsBq9KwNU8Q7URw4v8h1w5OEtrY4+VglkFMXUt?= =?utf-8?q?hbPbV2cyo0/zLzir4auEAiVejAY+tLazGtmhrIXy4VlpPhyl3OsrFcsaHAeRQJE0g?= =?utf-8?q?Af+RzCSZDfOK8euW1zmaYMksBCVSv3S8v65fv1l3qy3L3tSaAsjLBxGgFx0invJsB?= =?utf-8?q?3XFrbgp+7l1oLWA3CdpLFsz+nZ5QbNDk6lBad7oGDRfkXMe0RjNdpfc455xj0n+F7?= =?utf-8?q?oQOYrZl/brIW0CZQHUrN4INXy38E5wvvWFV+VY+sMCERGnHJh39N05XF2ZH0JhqWZ?= =?utf-8?q?SDC+KtJdibMm//ox/Ys8z0I9j9Y75hTtdVWWcaE3r+DTJCW4FFVv0jCamvm2Lv72P?= =?utf-8?q?B3Ux6Ii8WOEArUCtddUjaf2+wqlrAbXyR//L1yDq2Sl2mSWTUlF5OktQjv+hCTxL3?= =?utf-8?q?e+soXKyx1lLSgV/aHQn+4R0Wp4UU/RHtcIqg7oGOdRE4HB5fTpayl7WXySMF20+K0?= =?utf-8?q?OuyP+rVhFWLNy09CLIxuFs3+jIfAbRePehPR+AWSAn4k+5xi7A7/qrHx+w7HE84jn?= =?utf-8?q?9eErwM8+LVBYw9bxnF9RyS0phXKlAQgWu8JweWfRibdTptSlmaQthwL6Y9oh5KR0g?= =?utf-8?q?J8TiDYDra6qwnPtu+dzni6EH9Ck99Mt2dZag0il8ZBsUmSRMFq8nVU3pgPG9hsCUG?= =?utf-8?q?GE/wQmZPvsi+PS8/qu9oESH78OtaRLc3HjjUDR1r+w19OgedookXv6w9LHjJR2sao?= =?utf-8?q?/X5on5SB7bUVug9/WM/wo5JdEs6IKINLBe+2bySB7J7F6ABEQNTJZ7K46Qy5/v3FK?= =?utf-8?q?2snRgiVHiaY58RUVFyheybjiByXV1y8YMHMVIIOGJhyqAn+3P/VshNiG08u7SNQg7?= =?utf-8?q?bAFOnIgJAKX1+OGjPMzL0M0xrMqVPgPpDo67iE9OC6xt6ecvNTWIr2T2+wFu1H5gQ?= =?utf-8?q?vpjQlc/xEI3RkxXGGPfvWQxu2GYeLS9cN8uZmdmBORPVQcoP2vog8HLMogKEo9biU?= =?utf-8?q?OyRy1k6rXL9VpAM1vElOf7YO/xe3NvE+opXp3UoRUME4nyc7yKsFIaZI=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 66eca2ab-5f3a-4819-4ff2-08dd60109aac X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2025 20:17:38.8107 (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: AZ/Jv6hNweJW2gtP2Tk0XjVvMjWRLCQJnQdrb5cDMvY6B2ZZ7iDLwUi5T6aE6+TeXDHmnTwA/KtAPWCDvBksRg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8261 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250310_131740_210135_78166144 X-CRM114-Status: GOOD ( 20.61 ) 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 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 | 47 ++++++++++++++++++++++++++++ drivers/pci/controller/dwc/pcie-designware.h | 13 ++++++++ 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..70b4d3369158a 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,49 @@ 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_info(dev, "%#010llx %s reg[%d] == %#010llx; %ps is redundant\n", + cpu_phy_addr, reg_name, index, + fixup_addr, fixup); + } else { + dev_warn_once(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_once(dev, "Your DTB try to use fake translation, Please check parent's ranges property,"); + 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..5f941eab57110 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,16 @@ 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. Using this flag also avoids the usage of + * 'cpu_addr_fixup' callback implementation in the driver. + * + * 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 +511,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 Mon Mar 10 20:16: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: 14010646 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 077A9C282DE for ; Mon, 10 Mar 2025 20:31:56 +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=I46nKxQBiSzsvmNacEJWpnMZVMsbjrmSRod/YrWic9E=; b=tLxCJBtSOqpujDFzajojIAjaib rHqOR/04d8zGPVtriQiYsgyv+kFgDITROHc7RhIrI/gterT5DD0y41odMIvoYfzMJaPMzmQdGrbbn EwoRM6KtpmV43fsKzeTDN15dmY4WyfzzI5MpKLQRrU7HhlbUziMh0ftZVNI9/Y6mXsBJPgNmqbZvz HbB3x3d8+9HXO+OHxSSVkC4MBP6hNEL7oFcUB43q5vJ8OE1phsggo4q+LO/eQEdjSsnsc0FNfHfev QI7aS2lROuvrHMc2GEYXeueToU2eFfy+q1Qor+9A0sTP8YGi6ZTs7APhdPiVOpQwuCdxcPlQdlSXq imW+WgAw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1trjmr-00000003spf-3me8; Mon, 10 Mar 2025 20:31:45 +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 1trjZK-00000003qYa-36z9 for linux-arm-kernel@lists.infradead.org; Mon, 10 Mar 2025 20:17:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ohjcOWnDH31T+vjhONpR+l7/qTy3jpVh2arrnnB9q4+/cwDC7hyX8OS7bx4dAAe3bw3Can6shKpsAc54LmGxELT/LCXMJfEqSziBl8TCF20Qv0qQNF05MvE2Zj4nlJUJ2y2QulCx25uUXjJLlqiYIQJvUX/huG+NENuJAozO8XlbwQ4whxnt1NUXV2O+jFpoy7F7S/qJ7meVBVj5rYV1il37ufJE2e0x0singcMnrbae/V237ArgrB4PDk+e2O5YRo6lbIlKXL8eXXLp5Kq9ALyecXK2OssMlWuJ4afYIyWKADmNQCmrvDQhE97qunK8QuzWYHJJwDvSehKJze/FFg== 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=I46nKxQBiSzsvmNacEJWpnMZVMsbjrmSRod/YrWic9E=; b=f2crUR652oU4qTJEaHjL+JcuiQ15RKYmGjoPQ0gQIm0uEhoKKpvx2WEgKsOnDxB2w6s2G5wgficpbMrgsYvEAXB7K9EJJB8Lp6EE5Cs0MJ3ZDhJQSrdR70fa+5NWqbZOMoxGX4wBNfWIVdyJkXltnRj1Aa5hYpYUBvxSabBQsB6FO3JhS2VJXV8cZvRwEjyMbERlwr+iMh4LrOiT93ihK9q/R4rHwJYhsF+kB1+aKaSvBgSC82B4Asn7xMTk/WlepGUREr/HeR64LU2IjpP3DaJkddEs/1cKKRqbRD/j+7ffm4XlhhHUOROe8K/dJqt/K5uvElzOsZD5P3c9x1S2fQ== 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=I46nKxQBiSzsvmNacEJWpnMZVMsbjrmSRod/YrWic9E=; b=YsVo7dKBvhZRiePkeYO5FaPvdHUqwiGfBVUmc7r5NqAaRkQ+7Q1BoFZ3htrldjfxlOT3tCrUH5SM158hoBW4Dp8RU60WrEdFmtuzJAEgQfppKqbrsoAr7W8wJiaMj9Mnv8cZuTUwIivjkdCVDd6+gz+KpEv/KkbxVvahvaN9UmIyeHxiulAk7dd8jwIJ6I0R2lAhggzbnUejMi/WyaMDP5+m2NvfHRL4Or9K7HlSMxmhaRlo3RopadD7/WFfSnW+Yp9FUVsXKA6bT2C9ySM/Jsz7fqyIp8JPt+nQswaHmyahdwT4YlUpGp1Jz9ugQ5JMGX0toT+QTndu6DxTDgoVfA== 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 AS8PR04MB8261.eurprd04.prod.outlook.com (2603:10a6:20b:3b1::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Mon, 10 Mar 2025 20:17:44 +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.025; Mon, 10 Mar 2025 20:17:44 +0000 From: Frank Li Date: Mon, 10 Mar 2025 16:16:43 -0400 Subject: [PATCH v10 05/10] PCI: dwc: Use devicetree 'ranges' property to get rid of cpu_addr_fixup() callback Message-Id: <20250310-pci_fixup_addr-v10-5-409dafc950d1@nxp.com> References: <20250310-pci_fixup_addr-v10-0-409dafc950d1@nxp.com> In-Reply-To: <20250310-pci_fixup_addr-v10-0-409dafc950d1@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=1741637834; l=4970; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=QhVF5V0DVVvhMdwW4CUPAVPj/0hNpWzMoasf1XPM7SI=; b=oWeL08AV8kS3gF/j389YC8VnT3cApm29uf2dHqLBicwZKwv5LFKLxDff6cZ4J3RdSODMWJPP8 IQU/wZJNXrNDP2jsAU+UEKJhSWBYKeLpY0WNJCJCmEUiqL5x3is9Cp5 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BYAPR08CA0058.namprd08.prod.outlook.com (2603:10b6:a03:117::35) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AS8PR04MB8261:EE_ X-MS-Office365-Filtering-Correlation-Id: 2440c4f4-e6a6-4544-d8f3-08dd60109dcb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?sy8TLPtbTcfg0erh4lQqHWaFUNdj58s?= =?utf-8?q?qbldhF1F03yMszJSjaz+S2wK0KS9q01iPyneM7moplTbkGwFyKlyzS9Hs0tl3zdsB?= =?utf-8?q?LCaI3O5Lv+B8eNA1NDkzdRJ1QgraZXmazLm5k+nqGrfbVuot0n9XeHbk2LQdCWe4M?= =?utf-8?q?qmrx4rvbB0dIGQ0zDKoYKNZEbSZk1gF0a/sIbNntAAYONrK/AOVwsEAmDOnSjIQt3?= =?utf-8?q?FqMbjpxw2yaWw3LzielJ046Oosu2Z6hHZAerNLBS6wwNvWJKut8LqZT9jZc5Fk49D?= =?utf-8?q?VhU3femKPCEYk3hiSt9cTDZueLsPmWaQo0BL/u0xCe875Gkxa5NVfF6qO32UgetTx?= =?utf-8?q?1U17MNI0P75XM9DwvQgIKM90ovAGfP3bArRBoPGS+7bCEmmS/h/1FjV8updvtNrg6?= =?utf-8?q?7WZ5AGWWTudZ1fqgFOUZW0oNDzkGRNo1fuHev/naKsHPEXd+h9xWtZGO19+xpIU9N?= =?utf-8?q?HxG2f4VfztPPyGu7oMP/PIXcOJkxWwBcqDAXPKwYlHUFdC4MbGN8M7ietALsxkGfC?= =?utf-8?q?8/N6X6Ith+eceMJuB4pHl9PRVBxOuKlIp4DH7+yu9bBdOXbOlew5jG6HCL5N16LZ+?= =?utf-8?q?FT8Ek2wHTE2Ye+Zrsin+KP8Zm4kBG4Xdhem3orsVRZx6RxACmcjRFY2KlQyF1p7SG?= =?utf-8?q?FILE3WNGbcfm5I9HcY5lXGTh+KsLByQr2tpaPNG4JUG3zoVBqnPKK4Z9FzVPGLJCi?= =?utf-8?q?B+VxfL6IoXLkvxszd/AElOVlGKLPqOaoWjAT9hoQ6P+jt+mW/wbHsYORER89opsJM?= =?utf-8?q?A+pvOEfmNk2B39si2UzxYqUfaN8oHN9PJpu8IJBpBOkcwyWIjhXmpBNeXxaPHPQAi?= =?utf-8?q?hlrjMef42tATBzJmZdLc+6zyfNs+Dvmzdlf5h+xUfmUrHUR1C/ZPUAX8aQkYZf/yM?= =?utf-8?q?5aUEOACfiZQNM8JwoGdosnts7ragwIKJK9ykw6HkViivSwY5bs5ulFOBIr8s/FHVc?= =?utf-8?q?ZMOF7KKKVigp6NKMtkHJsEUXmZpQnoisrUAvOEh0XYJ77bZ+GIlKR2Paki5DvzT9X?= =?utf-8?q?4xDr5bwSbpFW/6QNb8/v7qaV20M+h8vV3e7E3RwIUJk+4C+ra3QHjThh7bAWnY16l?= =?utf-8?q?fc8xy/SCEQsH2YyysXf1UDsu6YDoU/zGYjXz5jVNLL+IQpOn2uOeCfxc1ibjIi4aF?= =?utf-8?q?at5g0SGV/JE1yTw5QEAqDB9LoNRu4C6BOOU+jszP0x/0GuDiW/M68sZdt2XDdxpMO?= =?utf-8?q?4cZjsIjCQOUNW4TXfISERxCaxjT+2yzwxb+XAFlp5Prrxz1NSAaon6kNAPg8U9ZbJ?= =?utf-8?q?8Db9NlFn2mJQ6CZaMpx9uY6etHQP2l+ytYxIj6pSMi4/qPNJx4sipXO1woUoD8w7l?= =?utf-8?q?shmJf0LCojuZYNUNW2jVVS2mxmmLqJ+/BajRplqyHKWanacsHKebiRkYKI+0xLjfe?= =?utf-8?q?9pxNKMU9FY1Tg6o6ow/LXsSkPAxoI07bg=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)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?OK7sWMqUKgv9O46e7zPVVHrZXwow?= =?utf-8?q?6Bv/0WriLQ1iqDddp5KFzgHMpc3fc1pbWG0fbFp4GvhCh/hU7mphZkRblWhkPI5ER?= =?utf-8?q?OHW21bLA3V4GAJ/9UKIpzFu136YGkU0mi1D2xNTus60NJ37C+Bo84Q2uFxpnK/kpy?= =?utf-8?q?eVzvtBPCk9AAYwVAR7Ow5IjeOa3a2OVoLYWbNsA1IN4U2MFmQK33rMigExYdqWAFG?= =?utf-8?q?wuZQfp9QJMVe96vX0++whLgBoqZPVc5DSI/1VN+TMQnJwKpkVbWQ1uz9aNTGsuEDn?= =?utf-8?q?h2V+GxnhApEB8xO08eEgtFeuwkYYft4aAgin2+Gp18Ecgb2EF5N3xDzDmF5Hc31FT?= =?utf-8?q?t4RSLQM5GolglTmJ0uy7On5owoFycfnJi/y4u2WN54JRLsZyENRbju14/LT+GZtJ2?= =?utf-8?q?tdRCb/chZEuoxyPcoixG123dUYds9mx1KEcPF0VmL9nfDNmp7v2ib7Eb31KB+zQAM?= =?utf-8?q?Gk8Acvkapezi+c2MbIxfzDNsKGtrxY79bx0tFEgHYbjZlfEAlr5RdUmHZ6VL0kzWW?= =?utf-8?q?i2qqKBL22MXzWOZm3O5vpoD9rXQNUzXAiY7Wr33tzpdaseoYkam8bhFk0hTqkgBrI?= =?utf-8?q?IYYFRheDWlDEL33jAF42M9xBOw5j+rPT/uyOms/juWe4g3SJ1OXujp7Rb2U2bgnA4?= =?utf-8?q?bWR85Aw03K/XMDKWta0Ctloo+35HOwA/W0124EhKbtzGqbmjpxPh0VOcO14kxtSht?= =?utf-8?q?kMrDLpK5f6iFMt2t7wGVDbUthrTcIAYuK8gZfLycew6cAFbhoHjjXw/A2haR/7FWZ?= =?utf-8?q?5dmEv/widXbEcOjYGiWRtn1JAtDC3NB3zskTL3ffc45QmbAyNtERjVBX3K3zWSve8?= =?utf-8?q?OtDDs8FkJpryfI57sg5GyP1xWA/nZNhb6iMnqEHnuY1jpUfjfQzstjgUBoQYlpBFj?= =?utf-8?q?z0H32oI3J5bIAdmqQAvAE32zVN92HPQ9xM9a2F3MDildXe+S7hBInAxLVPDZhMUvo?= =?utf-8?q?aAjq82HA/3hWj6NfKzEzU2NkusARhT2JrayIevkcyyUADViQCtb9Bk3K6GTXFPUTN?= =?utf-8?q?mUm9/ODf8EG/q5UUfNLAdXMe0nofmlFk5qEFyhD7cnuFhdvaQXVSoQCeC3TpeQgdT?= =?utf-8?q?osvdGgxtsgE0//UgVo7+a7Rqm5OE7JhkExQ0rqfdWvYLSLLMwCDb3Op5Ui5dRlCz3?= =?utf-8?q?BdOg8E5SnT0vZxtT0V7O/4Smp9DozmahawZ/wHAj+ujGqRkR8LBOWJYTL/tA77ex8?= =?utf-8?q?Wgz/OdV9bGwIo3hrW3htkpR3ytlRF2KXSuthhOTQ3LZONPgwXtIjA5h2NiVxw7WD3?= =?utf-8?q?O1E39sLU4dc9+hMdJL2nBY0Fo6DgK0FzeXd9MVI+NyLU/TwO4U2/+2aD8aFdIg2YW?= =?utf-8?q?xBXHPXvXaxoFP4InoMwEgPGtfUi6Y7KBhjsr18JvHLFYr+lzkZHbMPDXX2gTM/9e6?= =?utf-8?q?n/U6ltm6Jh4jsXABuEOMnrcQ/eWIeCDIW9Ae+Gx23N0V1CF6QxnKK5gWP3QVj8Cl0?= =?utf-8?q?pnHHCHl8uX1JsCH0xLSaj3gTJnH5UD7CTqAYQQvYJjO+QEKlVn1rd7ew=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2440c4f4-e6a6-4544-d8f3-08dd60109dcb X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2025 20:17:44.0877 (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: 0l18dtgLjP9SUNPPGH73bXXeY5N3MO4pRTQ3uPervCpIXaETcoif5oE0lb/HZ7S3UGMSQUWXflbMrXMYEfl5DQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8261 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250310_131746_942219_6DC0911D 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 parent_bus_offset in resource_entry can indicate address information just ahead of PCIe controller. 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 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 c57831902686e..eaa6dd4c7edda 100644 --- a/drivers/pci/controller/dwc/pcie-designware-host.c +++ b/drivers/pci/controller/dwc/pcie-designware-host.c @@ -478,6 +478,15 @@ int dw_pcie_host_init(struct dw_pcie_rp *pp) bridge->ops = &dw_pcie_ops; bridge->child_ops = &dw_child_pcie_ops; + /* + * 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; + if (pp->ops->init) { ret = pp->ops->init(pp); if (ret) From patchwork Mon Mar 10 20:16:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 14010647 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 239F1C282DE for ; Mon, 10 Mar 2025 20:33:36 +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=Cf8HTEJk590jqVX2bISnJi0ALTxRfp/MLYPu40IpQDU=; b=4XAKwTpCa4inmUHfP29jfKRoX/ jcJlwWLafI4FtkMJeygvDdV8ZSFK0bC/XFUOCwn9sEdNMToH+gDW6p/IKIJgIwRmcFCcgg0nEM8ZF 6+49m2cWpxnc36hIKCSxzCTzumeapcr1KE8QbjYNfM6HZ5tI040KtyA2uWe4AgX8cEd/IioKroKX7 f5T73DbDcYbQMZpbc1BruFI2/6z65TfUKAXvcUBc7Niel4V+B3btfjnOP7lPJTSsnspm8KCvV1kVY qX5C1pOrsL4EMH1GUIJzEpIAQoQmsFCJTgQDNNrQL0jxEKcesaf1tj6q+W00p4pRSGtIHY6c9qPp2 KVMRbczA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1trjoS-00000003t0O-2Wx6; Mon, 10 Mar 2025 20:33:24 +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 1trjZQ-00000003qaa-1I8M for linux-arm-kernel@lists.infradead.org; Mon, 10 Mar 2025 20:17:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FfPrMFQEop9zb7KVYNVws4tIlP8G53NCF+h8BF/uifMMaTnmt6oKYFjbU/F1xbYfDqqZK2Y822aWWEqrWth4pOUs80kk4q/jZUpMHdKrsqX8e6bldKYcwL9+SL0QjzbtLaDQ2rFBSfv/PaQiju4BWSs/0SnlQkIYtx3GYNTyzewJf4B54NHk07TLRQQ/AghK0RMDF6NOmCBlkbdm9g6CFC69CnEQL8PkPtOIo2/Gf6s11NXpueFJrarR0hRTi2+FZGx2+mkvvYV4rkHGOC9GI7atnkZwFDSmmxkrOxzhmB0fWUs/5VTCUFsN0VMsqIlnyg0Cf/Gq4HoEUllw/fDFkg== 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=Cf8HTEJk590jqVX2bISnJi0ALTxRfp/MLYPu40IpQDU=; b=q39VauMViZZ+Dwn4o9Rq6Aa/bAqBmmNlP5IDErwgoTIAXfeNcZBo0hohWNNHNFdtanuYrRGww25/QYnjoI1eM12p+Wtl4KeJxw3xIkQrcKxoNxSv7U5VcNf69XNi+XqaSC8FODtOwUSpWBz1F3oEumZAfkBT7XbekpaXyywL4e8vBm/ILOkeAAL4v8lAR1ZgjG+jVL/hj9Blvy6v31hXG1Z64eMslFcYPvwO9xCmHWI0qwIwGYVZs6H2KmMaACepDnD3njm8DWI3m7HX0be/Y72JNGrGFjXsfFMqFFgu5HS0a6wEiqPxgT1c//sxtTP0vXWunM9Fvt/vf6+65fxkXw== 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=Cf8HTEJk590jqVX2bISnJi0ALTxRfp/MLYPu40IpQDU=; b=ZG5+PJOrXXOLJf3fD6+BEFcGP/5rECKC7fZOJu3EpLONBe5g1E6veJyslLwjGogWURQymmycST2WxYv2OFdHRxX9UE7QdbI55itHoAm9cnphhyOKSnGkVcrFJFVfifvOCRFiTg3S3DLbWBVpb46sM2w7M48foEYAZ1dxg5/Tu8m4KA8gY3wzocnZISfLDMW5eSIHRPtlKZoONyqC80/G57NQwpBtT6SugzloN97/rK5sqtcoeVPwuO1KhBE/oe3q/Hvie7zXmnwVIKgQYN+5SHEOKpV0xvc6uThPbH91ZcnDVZP4xteTw8G8ncEi+YKY4na2V2xE30kH2AY1xEIWCw== 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 AS8PR04MB8261.eurprd04.prod.outlook.com (2603:10a6:20b:3b1::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Mon, 10 Mar 2025 20:17:49 +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.025; Mon, 10 Mar 2025 20:17:49 +0000 From: Frank Li Date: Mon, 10 Mar 2025 16:16:44 -0400 Subject: [PATCH v10 06/10] PCI: dwc: ep: Add parent_bus_addr for outbound window Message-Id: <20250310-pci_fixup_addr-v10-6-409dafc950d1@nxp.com> References: <20250310-pci_fixup_addr-v10-0-409dafc950d1@nxp.com> In-Reply-To: <20250310-pci_fixup_addr-v10-0-409dafc950d1@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=1741637834; l=4499; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=Xh8NTJ8/MjJBYxblPqiSb5gUEnkYNcUhee7ai6srwCk=; b=ur9dsOmVuDE2T2jNd3+lAw6h3TLhQ5HLU0Po1H2UFPLmiGBO4HXUURndHmj/17kHsLVdLarWp rS8WfrBX6n1D0+LZhHdr2jlgkzLPIIuTgaQhYeiNIneqJzvcHStsmy0 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BYAPR08CA0058.namprd08.prod.outlook.com (2603:10b6:a03:117::35) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AS8PR04MB8261:EE_ X-MS-Office365-Filtering-Correlation-Id: a29cd4fb-26ef-46ef-d576-08dd6010a0b3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?aI9JT8FdEEZns/5EcfhOcPIiHEmXxP1?= =?utf-8?q?qkLD9OG0g7hNw9XSH4MtAsEe5WnMCppjza4YYF7F52/RCozmBImZlmyhrbOUT7ckE?= =?utf-8?q?gUwmHNV0pBtM42s/aO13H1T8dIbBiaRLntlFkZeJ1+e3lBqESW6oTViOUXwln3exs?= =?utf-8?q?snC4R1YUeGkx2yShH46oOJQmGfNTL/JocHLwDgnbM0RboFrPkipjQKiiJsH4IbhZK?= =?utf-8?q?XtIC3xst4lM67B6dssFS8MJlXLW7cPLuHRuPyfumMmqDv9NakAEl5sbSmvqnIoRTb?= =?utf-8?q?jan7kmOzHEkEV6a0fXGalfXR//ljqnr3t15UeXOUaoc9kd826CW6kCzOrdGOswNTD?= =?utf-8?q?gY4DbevwNgg4eSMJ96OX3Z48RKbNoTYKXBVyd2VA3hp/ooSZdG6LwlvL0I6QJADt/?= =?utf-8?q?5FDtF5BsZvVrPqMQ1h7gtTFpUl0n98q3b/UVsvnMfOjx8m/qVYuU9m4R9h9JNzgZu?= =?utf-8?q?dWAn0DKDe60HHO3mYnjbOAbzqx3V/PsRTg2BznrITOE6FiUw+hu+iNfj4HzAnniSn?= =?utf-8?q?Qk7ILayNWdulmvP5A6LPNurnVT23itOw5akP+UvUc86ywVpNAaFTwZXKx6cDMx3+3?= =?utf-8?q?pX2h3ZB4vFudWNtpbxdSOVQeH6N9qhDJKW03w0RNa5HgWmu7yqDN5ofEVlqlcUoCd?= =?utf-8?q?mt+JvRIy3jPd2e9cdNM6WTY3dk24SVqYDPMNZ3aEfoB4DWAiSGbF8cffI+MVNs0wW?= =?utf-8?q?e/RhL/KB3UZTQHh7ER2paE36LkcApwVn1jVb7ofF1IvB5Y3PCAzdnPZG+28NlKQGc?= =?utf-8?q?UyVc/NMAW970YeWs8RMEiis4KoR4SIuyFZypjEF7t4fUqcdi2Uz/PE4S74TiC+Y6F?= =?utf-8?q?dacrifnMhTnrI/BC1evTFRZudOdvyT38JeMYglJZrzzRp4tmkAsdbGfakvUZ+wJa1?= =?utf-8?q?qHsCpHVLUJ//eawu8gz+RZl2ul23pbe9Owx7vtPIeFtidTDBko4XeDiJWRQdBMBNW?= =?utf-8?q?0JMiJih4XfLLNs82pKptfw6KtMI2lTp+JLGzN8+dAFsHB6iWaYXqMtsjI16h3y+lL?= =?utf-8?q?8L0wHH7r8+hAFiLXIhSYS+UOXeekD/qSNQK5WCxvmdnIAY0SyGkgN5fyR+61BILwC?= =?utf-8?q?7F9KnXN+lUUrJp7NweFST1VjI9kd9aYCBNQZvDJyb5JXyTRY1SpoL5K8renOgKozS?= =?utf-8?q?q2Vi7uKvioVZvzCSFsK5n+6VaGoYuXamFRpF5b0+JcrRcrFkYS+DBhYn26aeijE89?= =?utf-8?q?ILDRiQGZai33HQB6A0r6aV+ZS6nCS2pmnkThK4OSiUJNfrur/eyPjjjXwOQMO1YcI?= =?utf-8?q?QSTcuLNnIFzOgKKwPHoxvxr99kJXYbVpXNAfrGBExEvnWocUE5AkiKroFRRZdiUv/?= =?utf-8?q?ESFpmUqufG9dTI+GTmFyDEKkwFeDtzsnOqxIJpiRFWGVOz2fdcI3thi1HSGHGUSjr?= =?utf-8?q?cVzOOqUHH+ROjWm2HIb+lrGgloz8bFrHw=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)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?scw8NgYrgniGW6Kw+S5U6T5q9Eti?= =?utf-8?q?vjMc6Se+gHhmRJRs5srxFyvXK5JSGoBIhhfGEH+9zd2qVtQ0HW0YoL/cNOIf78+cL?= =?utf-8?q?7Ba3XIaMMFl35Wo5fVAd4QP9q2uKVlE0IHkyVzM1xvA+Pmh/xMIG7InOImT9UPxTc?= =?utf-8?q?xDjfdoScT8lKF4UvbOprXWA9E1/oP+0137nBpk1jQqOV4+rrj/N3iooH8DdBLt9+b?= =?utf-8?q?2GfPUjE+qtdfnc77lo7OyIcAfv8W+AJqDjL1+/ItdAnvioaYzcTp7E3ztpxFQGi5R?= =?utf-8?q?CuIaJWe0cuiL6Al6D61T4UMCAyIhQH9jKZLn86jgIs6iFOL20Ql8uLoN7UiQyeDWm?= =?utf-8?q?2QkxQw3cGPcJZa7KJ9JnYq64kymJJpXcpPXuCbel9EsEUZtoW0Mdr0vJenDe+aDLr?= =?utf-8?q?m5J+fWxr33HJenhZ1dZgK9eWEcidP02JE4MDLno1BqHZwSz1SJToqTuLYUTYLgtKm?= =?utf-8?q?Iz9/fmS2jihDOPOoZ5tWpqN6BxZpRALUDDpd3qHwQ6p0qN2KMSnTSqBqZ3dzHflTt?= =?utf-8?q?2/i07fvHCj0HNSoDqlyGZaK7Ayl4mWJjBkvdsxe7ASLYFf/jkFlp6xae7fA+HdLtM?= =?utf-8?q?Pd1oOi3udnKdgzwBnYrWS29e4tZ68x+Qfbp6q6M3wZQ0fgvBHvvoOxIY1zyTqx35u?= =?utf-8?q?VGuF7YeiM53ymvvjvm46EWgk2HnUqrewqyShc3KssIsBAzGQarzsYt/fSnm7HmShI?= =?utf-8?q?GAc19G6jk5PzgZADxVhQx3zBWUHBubIq3Mxz2HO8XRza25jjENazulsHvwBiPxsDT?= =?utf-8?q?yOCevf+5z6Os9CPYMA6QF2KEgdtxhIFJYFeC/a9EGsVM6tWog4eINhKatohP7Rnne?= =?utf-8?q?4CoJBGVjAjaqoO44Yqs5nOZ5qSdKBa8c6C97IBKTLWHRNwme6Y3v4+As0PukkgblS?= =?utf-8?q?qxBhli19gmlxzJnMP8Lyeon2bkR2TrV1fQUq9EI91SwqP69LMHxKHVRnBAPvj54F0?= =?utf-8?q?A5/VHm2fq2biky5pRFUGHb43iJ+TQ6X/7Q+wvp/Zd3+eMV3y7a4ydbNwtIy+GJVDJ?= =?utf-8?q?cPFZeu4WqSg6ofoFCyZCX0fxjabHR/dAhbDEhwjuWaWDXVhRxlELRGOm2Lu+cZDkr?= =?utf-8?q?/nUTxajMYTYS4MGEd2sxKBzlPrQiIwm9huOUwjKO37gb72F5PBA+oJSFK4u4kh75p?= =?utf-8?q?hypMg20MqOBTj6RPHD0JPKxg++2x4pZEmZBb4jOZPzuo6qt8c8aaIdk/4FYUvKSls?= =?utf-8?q?JMbxPXS8IPOnp+fmC05jr7rn2zvI04Kitn8ArUH28GX/qdQuk5VYNS6ff7DL/JCn2?= =?utf-8?q?5lP+PV8pHXkAWb/7K2WmV85ihyZVSteMtgmJzJXULKajyzwTug64eorb1Do1+UD4Y?= =?utf-8?q?78pTxwwYt7egK5BTG24an90g1/nwgG9zSTWgPQhn2slOlrvnsLahCxnzqCgV3CTD8?= =?utf-8?q?hNKZdbrpLk8rqXmYN9wSRRL4Pp8WE7/KPKURikhiq4Ba+sIyS6bYNRB3TUQ3ZEgzF?= =?utf-8?q?31h4OsDGWpe78hqNfzF3KgM2IoaqZ3osaUomhhDHzb+X5+8CRnitPVh7HDniuap/W?= =?utf-8?q?MWuS24qMzn0I?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a29cd4fb-26ef-46ef-d576-08dd6010a0b3 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2025 20:17:48.9724 (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: tTnAKkvZDzScI4FQYEZwxrFPFDCNhbeT4opCMRvNrAzbl4wBCTphK45BtX/8LwcA+myqby72E3jXEsNrUpYPsQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8261 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250310_131752_509548_1BCB345E X-CRM114-Status: GOOD ( 15.94 ) 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 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 Mon Mar 10 20:16: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: 14010648 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 CE09BC282DE for ; Mon, 10 Mar 2025 20:35:14 +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=mnGD3WiJcIUHK/QQYPPVXVa3JDkd62MKKkaM6nl/XQ8=; b=Ov02vNjMvBVMAwY5wxuPFkzzcI SwZa/IXva/r426MzYa/qdsd6Wb363jI71EY1Rwg/xdDYHwwqVHooCJVp40aWuWGvLGZkwvthY8bmy ucigQoD1XatrMUfSzK+CPkfoYLidnrbVu2RSsdca421wDRQO+QoWNu85cBL+nsuZ1qQghqguW6cmt lkeBMrbJo/nIhEoZ6H6nV03KYQ+Ws0y6sC+tJ7IiMh9lvyyUiyXvdI+ruGVQSpr/hkOV7/lR3VYl7 6cAIPFFfwUNjrxVXfRBD/AfhW3OHpnBtCIr5kZcWrKojf6BkYodHX2RFo6cjJ4buPXwB6mGwDWAfW XDs2C4Og==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1trjq4-00000003tAl-16Fx; Mon, 10 Mar 2025 20:35:04 +0000 Received: from mail-northeuropeazlp170110001.outbound.protection.outlook.com ([2a01:111:f403:c200::1] helo=DB3PR0202CU003.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1trjZU-00000003qc5-2dex for linux-arm-kernel@lists.infradead.org; Mon, 10 Mar 2025 20:17:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NqPm9Js3rrTz6FvJdV4woLeGYO8BeLIUqmy/FSUYF3NptmtDijdKYCYLuekjQfFfEleNnH0koUbstNniZhErOszsHF0QQ5YxJKTgFcaBvE3AtuAJTE+8hErUv2Ko3XZNA4f/3GB58jEOpaPZ7RtQgui8XeHpA8gM9W9vRcPW6862bm5Ax32vQ6nt/5w+atzqoAewdfa22zgzrNBcxoAC1fP+KOdm1R90F2n1qc/wTr2+1U0l8ua15Kdixwbau3wmjgyJhmhf4E6B5t4jQua/mrLSWsFuelY6MmWWKAiT54HhN12GAppAcvpYCLfvOv4i0WICO98DWSVahw9AA8xvSw== 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=mnGD3WiJcIUHK/QQYPPVXVa3JDkd62MKKkaM6nl/XQ8=; b=cIUk1oPyWhmeHeNdH09arqUdt4ibJxNLJEKIdwLP45gdC9mO+3Xge+1TlumilDkXG0CPtgeEu6pLcJFvtn/OakZDQ5HnG7gOdRNseHVjVM6XAjP240kPMBEjZsUVdadwzoFrB3aUQifT0UyZsaGbU4UXWG7m0jwGVCc9/6p8vKJcjamhG1biRbXAdR2rMOZoJa3QXgLcLiHv+I4eIM56wtp++y+zergDdGcLTVgVNU+viW3bW5ZcwSbwDneYabaoJbATkzOFBM75VgqoGFC+ZJT5SwLzTu03PeGKQqR5loIV+2kYv6GbMVp5UfLtsN78H0liJakliHKpx9a7pPVX8Q== 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=mnGD3WiJcIUHK/QQYPPVXVa3JDkd62MKKkaM6nl/XQ8=; b=CG8bi4YFGvRjmxZ9UrzCMz+We9Ca1Xbavw3Js+m3KuLt+XNP7kFiUdai7clh533yM+ujk6BAtYGlOs3ovskKFfX0IHEWpleQocJfei8H5yGT+l3rN4IUSOW8PSMgvy7v3n15KybEsI1+3BOTjGsVcrMnjpeXXML4h1wHL7V17uCBgMf88aDRAWA5ezkeSCovmhcLYPCt9Glkttd+Yb4FLesM6mEbTiUCSjteK5v8iUTw9Yv4121jpCavkx2BOKyyGCT46fLONFB65fgTzlV9eSZAB/Hudi0ueE0YfvBu8BIzdnkDeJnseaid8RB9dyxSTFK57zKsBpqYux/6dKjMsg== 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 AS8PR04MB8261.eurprd04.prod.outlook.com (2603:10a6:20b:3b1::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Mon, 10 Mar 2025 20:17:53 +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.025; Mon, 10 Mar 2025 20:17:53 +0000 From: Frank Li Date: Mon, 10 Mar 2025 16:16:45 -0400 Subject: [PATCH v10 07/10] PCI: dwc: Use parent_bus_offset Message-Id: <20250310-pci_fixup_addr-v10-7-409dafc950d1@nxp.com> References: <20250310-pci_fixup_addr-v10-0-409dafc950d1@nxp.com> In-Reply-To: <20250310-pci_fixup_addr-v10-0-409dafc950d1@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=1741637834; l=4829; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=QFCJ0UFvmjJ5pvzmkxILKJdn2lN/6NHTku1LIcUM4ww=; b=85q7rOAtro5MMcuFEnC6VCIAYraC/oZmW4uWJ5JmTudzJ2c3MLKTs6WbuASqMg7arX1sf1Xdh tIXlBnZ/eouC/tqBbJotmmX1A7RzGVyH5fjch4/cQr1cZmcIJjgG3Rs X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BYAPR08CA0058.namprd08.prod.outlook.com (2603:10b6:a03:117::35) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AS8PR04MB8261:EE_ X-MS-Office365-Filtering-Correlation-Id: 5d8e54cf-91e9-4fb6-6a66-08dd6010a395 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?kQs2Y8BBmlC62sm2YduaDqELFqcCfP0?= =?utf-8?q?a7d9jlf1LmTh71Rk4aiXxmM3Nm2jX6zyjgRCi6OcCPMWaZ3FP//jsg3iOe9l0RpG8?= =?utf-8?q?PhT3s7RVnaTrxsJvhMU76bIPf6lS7y5VJuIz+eS1pwEoDME1EmxR5DUewDqrMLl5Z?= =?utf-8?q?DK+pfpT/LW9sirs5ymaQy/lRFCtGgmDi2c5tus3t1TtxrW3lxsAWy2rTAM0mfOm0m?= =?utf-8?q?TDr7Uh/OVrYjUpUpTsnL+SJiGcpXQyKVV0hkHl+m0GCGn3xSFqe9AbLSD2tnfblQp?= =?utf-8?q?UyDPNPRZERZa55y3zTq0i+LIj+LjW1x/SB7JqVDzuJS88pyKVLMqVmdwqmGFbVZZ1?= =?utf-8?q?/caGFVHIDfhvrcMNNLowjQpTJ94Ei5AOV7s757fbudQNCEvNkBZeHIieGGg1eqSb+?= =?utf-8?q?Ta8WWuEizzj4H9yFq7m3cyuKI5/7/Tx005vydPYbmAt9KBvUS1PmpVYRoSm/wbJ6y?= =?utf-8?q?a/bFj5Muyzt4bCt7zePCd/R9fhKYRutiq5fLPPQq7A08Rr+1JfDU94hFcZfPabHt7?= =?utf-8?q?b+U1J4+QUThs8jku2SraFO3ZvQaUpHslMuO4kEIjpTMK3s/LW7TnAefCXwHjhEkPe?= =?utf-8?q?/PQiEHAN3wbRo5L0KFDcIZEiWdxRzhS6gJbmE6FqshiaA0NcD87rBmPBj0kUtvSyH?= =?utf-8?q?xFbxkiOQyFpkGquMohJ8nNSIqJXGmTY6/tScFZa1lslqCsbrquMjmW2utzZh+ylx3?= =?utf-8?q?AQTvsDMFir4hiEYkQe67lOX/3a6NjRmXmuK1yJ+xEegdcdS3k7zuo4d1HtIif6p6v?= =?utf-8?q?rb47B6YRuAL2oT9tgyBbYECZ5bwaj4FoLY88puUoANOglSTgfJ9/yRCvFroRmAHh7?= =?utf-8?q?aMUZC0EiMpmUznVW18YoNqA7UZmxnSrY/v9q2PDAibijaevRxHIkr17Xy8GC3H3bI?= =?utf-8?q?ns+l8+I22Ua1MQfkhPqI/GrUYDYPs0vt5cTa+KN5mSmSnTjGZllAwmSfHkBH6SuuK?= =?utf-8?q?OlpGH/7nEIKgsyUhck1MZQ/UDVLz/mhpDeRfwGV16WEweW65LWUVHW7hhccCW9J7/?= =?utf-8?q?s8pPIulMMXAqXn9bgNMVr3WAwE0I+ls29Nojfy+dIfu96GcN1Q0HHZQHKAzl2AzUT?= =?utf-8?q?ali4PQ7fH3VTjnIdGUd3ivBMSzz9zQl8f3uar9bUbQp9imH3Pym3UlIaFgY8hIxmw?= =?utf-8?q?xyRzZteLgqYG7cj5WvUVRG6Hh9Ahf1QNEpDu3cRcY7xU6MrKiBxlqMz0mKYeD6hjw?= =?utf-8?q?KWZv6scN2nai0h1xdsFOgl6/6bN8/rD8WSGztIPSJgv5YBHpEOwg8Y0s+LegesjEO?= =?utf-8?q?4knwKIeJiQlvGOb8ar/WX1CrRq9+laQl4jSdpcxaa3kVtbGEsV519wliNTqhjJmIg?= =?utf-8?q?tdJIssQ2nI6z1jxk+OEwDlr+Hb/w9L+NeD4+wce0Yur/RR1ra3xG9EghukBxjV0xn?= =?utf-8?q?m4gSqds2OoQySk5bOnz/3OQCGX1xTrJOw=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)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?+3FkdZquqCA1YTkW9+lRlGPAnMHN?= =?utf-8?q?LTLi/IzRoTr7rZyFhT94zmddhPiilyev8tfxOAMAD1soDsU4UYr7iu6MESK5VH2Nn?= =?utf-8?q?rpntYOLsUfP3EUhdSF8B9LskJ5ChcHmrRTdp7fQV7To6gSOR7163SLtbaBQyHkLqX?= =?utf-8?q?Fl7b+e0oobGkwJhNii/H4VtYSLDvTbg1pjWNE53qUdYa+6dU/ZOPetcbi6Mxb3xv4?= =?utf-8?q?51gSj8VoKxMKO8XD3DkMTfzxcS/lxOsyJp7VBTUChkLb+m8D6YTKfEhHgR9M22Rmd?= =?utf-8?q?sWUlJsd0K1KW+JOiYJDxFew+jPVKNFNC+EPSkW0Q6Aieef3MBQ1om+ddEeh07MxA+?= =?utf-8?q?SXSnAm47mnki6iR4BcZJ/henPo5hGatyMyEcjClsnWk+EXxniM0K7bL+HKb7kfuJY?= =?utf-8?q?6SvM7wy/dZ8AR3MNRiMrwgaIcPCQUCIXiCj9GH0lOSw/u6BCEjjFqPqtMBZHvLjp/?= =?utf-8?q?4s+A6mtf67b03h14dfug2l+LmJYp1hJz8fTWrBukibXjc7olY3KIuyOWqxh3S7f8n?= =?utf-8?q?+rseKUad+FPCjUpGSu91w2hqVBqZcDeFIpSXuNJ+We+IPEPEqt3gIRCeYIjUFBD/R?= =?utf-8?q?kPhZv7MpK4Ew+aXOg6lfmrifqGWTh4nxZHuvOozP9K20Suh+pKCqpk+OAlk5SlAzC?= =?utf-8?q?Jlsx82Waz2ehFuyD+wTUBfVbbYp0H3GeeSJfpmSy7ubY4t4eSxZg/7LdM9z9mz8/d?= =?utf-8?q?cafCZF1kS8y+tg81Wa0d4gJbEdUqRZrjF21cpVbPZrNL7Vsio56bJ2qWZSuyq9RMb?= =?utf-8?q?PMG8Q7q7/5e/A52vWeo/34hcH1Cd85pxsL9SzMlpFew9dwt1wdRrab80zujvpyBah?= =?utf-8?q?p6b76c6KKBdSugax1PcWo6I4NBJJLIN5TLedJ5OCh3SOPlF4sXu9NA7xO5ogOCRbL?= =?utf-8?q?LAfF/o8gjbbGoKNnqdzbTQ0Igc3AUaBdNlAA2fngtCw411SAk3rXUXkIYSfI7Ptif?= =?utf-8?q?KrN32rluWX562hGiAM4aChO2VXdLVZmBog0vZ74LXwzKtcxUV/QyCTDtpPte2z/Kk?= =?utf-8?q?drhD4C63DSdse6Cd0to907K09hOcbHb3cgXag+VjWl061CgWg+L5EFo8c8bvgqyE0?= =?utf-8?q?/i43ryMd5o6fgQkPbvar6Wi4ARSukbY1/TFP+6GwdNqeAuCz1lueVpoVScn2tq08u?= =?utf-8?q?3rrFLjLDzhae0mjEYtfTVGSvkO0C7/eOafYPl89a25q496W0a7gzC0+O1EEZT55OX?= =?utf-8?q?PD5gYSX6kQY9M1QaLZ1Mly/MBwjKhuKKq28wRlHB0bgaiM2ANxcz7fCZJs7dH0NYI?= =?utf-8?q?FSrmDhOZ0PUDNQBAx4jloA1OlSy7+Q6mNHKywti0OaicPfKjRZkx0UjQ2FdxEV9Fy?= =?utf-8?q?g7U/Bs8K/lVtbwfUgeu5nvqGEsTx1OdvAxnn+0wCUNHv2KA927BWb1uFOoQgUNb0p?= =?utf-8?q?2q3pSBMB2gNbRD1nG9xHiSPHaaBw9phSHnOViKXnFgqE6uaBMca7fm9xXk7vndfc+?= =?utf-8?q?hLBRScaOrckVqbwe8CzTOBQPzWnySxn0mvRPyepEP5KsR68TNyb0gDorD2Pq7UDAI?= =?utf-8?q?KOSRf/KCYlr0?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5d8e54cf-91e9-4fb6-6a66-08dd6010a395 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2025 20:17:53.7811 (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: BOZlCmVGBKkN5kNt0GDwq7wcDzejW7o44Q93kKjE/ZzGk+iFprMhDXW5+itFjfnWok3fdHzFcCoSxdx/GIK87A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8261 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250310_131756_830135_B660B596 X-CRM114-Status: GOOD ( 15.71 ) 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 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 d69d76c150d92..62bc71ad20719 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 eaa6dd4c7edda..a7b7e15d7b0db 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 70b4d3369158a..7061a7ec08cb2 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 Mon Mar 10 20:16: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: 14010652 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 6C2B3C282DE for ; Mon, 10 Mar 2025 20:36:56 +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=+9m8NiOYA2VGSMRubWfPC/5dxLj+RPScFITjZUVIVjk=; b=jd0pqB3NnT/8vy8e+OtgkFyhxR PzA1jskHpD45SqNdmU7xfSFHimV75638r4l9/sh2BcGOCphvd6azUibfpIAY70Gyb8MsBbT2KRqm3 aULSujltZMOoHP7On2nt2+GgpmkpXOhwF7DDPa9fvSNwt2nucFk6NkYMlDhWHaRpMOoqD+Ub/cHMq qfOiwGGcCiGxbTUffT3lhxfhDt5xN31RwSY/gnCP20qlH3+7H7WDOyRPcAQdW4Nn8ga8fHhfLGw70 /E511CXgkpFNQk4p9drEuvq1XvJtvlVB7v1xrj+5HOpLHl4CVjGkX4lfTDOGaWZImO+r6IZhSX+n7 AZC50paQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1trjrg-00000003tRt-3ku4; Mon, 10 Mar 2025 20:36:44 +0000 Received: from mail-northeuropeazlp170110001.outbound.protection.outlook.com ([2a01:111:f403:c200::1] helo=DB3PR0202CU003.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1trjZZ-00000003qe9-0JAg for linux-arm-kernel@lists.infradead.org; Mon, 10 Mar 2025 20:18:02 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wOTtTd0nU3r9m2cnn4UamJAzXZTckMkP1bKFjuGKOvultd6+/uLDG+fWI2YjSTDAwfb9lbGwYT/30N73l8h/a/sZXQlQf/UvTxc+zA5pHkd293s6RFocEGcxlcUcoYBD15wR8uWn5PjKIQnXJ9kHFZ9vd+ImJ2UZhkUq8CehglInJw0cVwjx4SRWPBzmL77i07hT677cXAHYJTSxGgXx1FShEx0DByRb/mPAAxzwv5kH11cmDGfoKtlkFhKi7FnRnmCftzGhxvfotHlnbCJH+s0TTJzd0iS34b+OH3WIwYeF/V93yNfUf3vkj/U68gZM3POaIuF7OAtyPYtq/xtyJQ== 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=+9m8NiOYA2VGSMRubWfPC/5dxLj+RPScFITjZUVIVjk=; b=bRResrOTKWXSNAkK5J9HIL1lX8MeBkwxsauVo4bktPCZ4BO/CV3569oCHdCPZ70A7iN3zrjMn8XNuof/7++MkinJVQdMvzWCkA3Cm2V1/LCi6auDrw+KUk6SaKO9PZhkloTqkDTtOcoemn//jPwwfa4ETs0166Dvr8kfR7q1hypAKrQAIuWipVTNHVyFf9ZlKqJgw/HbFELv9VS2lTGiobRgAL1odwbVjYt7rrCjTgqBwrmUGajIGyF4dnj7ZPeD0NSN5A+7osT8UfLvLpiTpHIv4KSWHFebYLXLnpEVJimR4baqnvZ7UKVzSLRrmHflSuuwedB0SCtXuUPcNAhcwQ== 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=+9m8NiOYA2VGSMRubWfPC/5dxLj+RPScFITjZUVIVjk=; b=iQonARVci6IRUQOpwmVACT2IsfHhGA+Kq5XE3QTxJSrnhdOLpoBn6ElC4i7+Zq5Xu4yEiBC1p681wAeuREdePBw3VzLorcpxyrG56EGuVROWZ91oZu56BaV5iq9+s0YBuYgcyLpV/N7zZuEkzUg2/IixE6qZrmLZmFeteFJEsTXqltqEOR3c19riYZ7HogNRnQbDiEEXymDDQuP31w4WHItcINroJic3/c/AgSBynjgRLV/AQV8W5Ap4YtQvtJrSDe32DPXli5knpx4VRzYN+1vVYzfw6s1z0+F+VQtvTy2wevBC0IebBN3/bR0TcuPeuwIBzU9jE0HmWOsVAGYa+Q== 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 AS8PR04MB8261.eurprd04.prod.outlook.com (2603:10a6:20b:3b1::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Mon, 10 Mar 2025 20:17:58 +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.025; Mon, 10 Mar 2025 20:17:58 +0000 From: Frank Li Date: Mon, 10 Mar 2025 16:16:46 -0400 Subject: [PATCH v10 08/10] PCI: dwc: Print warning message when cpu_addr_fixup() exists Message-Id: <20250310-pci_fixup_addr-v10-8-409dafc950d1@nxp.com> References: <20250310-pci_fixup_addr-v10-0-409dafc950d1@nxp.com> In-Reply-To: <20250310-pci_fixup_addr-v10-0-409dafc950d1@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=1741637834; l=1041; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=+3MidV7XoojBAWFebcj1RI1TKBDTvuas/ORdvq98PK0=; b=f+c2fQFST6BaETKVDccQMUW8c/KeNmeOjqrdGApCWgINs63xwbb2manqvo6vZgsCXUr+JqpKe ZegMovj99rlCj5ux1p83vd/aHZJTQuYBTBQuZwB/Pff4Q+Vkd5ddBF4 X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BYAPR08CA0058.namprd08.prod.outlook.com (2603:10b6:a03:117::35) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AS8PR04MB8261:EE_ X-MS-Office365-Filtering-Correlation-Id: 5b0f55a7-98af-4b9a-c1f4-08dd6010a673 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?mxghR2zO5GstMJctxtdSQu/7EyzdTwU?= =?utf-8?q?c630t758rOs0waBAT2RvWF9Q2yDTJpQX/x1wnlH48AsPCnRxYNA4AAmXtp5HAJser?= =?utf-8?q?3LmiDF7qQi4WfMnDW8hLP25GyRK0lWc+dfmHm4SrlbLItRj714JzbL6m/JH+wOdQb?= =?utf-8?q?3OCPD6B3HQK44I5qSEgkRysydGXMjVGMukoMi0xRaP5cueq13OR0WBk6AKOrscmCQ?= =?utf-8?q?wpRFv8X/mMM/JXzx5X5OySj+i7fjmGvZJFtPRk6m6E9Ta2EvQlP080h0wgF2S5WY1?= =?utf-8?q?0NpHdkyrHeuni31oRO+k0LXba2s56YzwydDb2NGngVzeSYsm/D3ijUqPB/FQcHW9N?= =?utf-8?q?DcbLRKFstWIecxA5FVn1b2DtAVJ/YvsgKaLCSzx3EtExmQxbsLGe2fijNRsyAtDjd?= =?utf-8?q?WsNdV8NmeLmJLEOtM+nNCVw4cMw3PWB+rE1IoLOECgbwpjf3AS86yJd/FTK+fxrCj?= =?utf-8?q?zgedvIOcrTj/lhSbqMvxEy13w0hHyyQEP/yFu1kZO2enBCn5TDw+Dncj2nZ87eGW4?= =?utf-8?q?SGX+Fje5+A/Y8UZXzrX/o5Jztyl5ufX7fmD/XErjkJCUaLEjiu4bzjBBudv7ZYSh5?= =?utf-8?q?+UPPTPBHdvAiv6ts66WQkKWbKw43OHf8olBRRdZdJG+Sx3l/y5anidpoqNNVuvBTu?= =?utf-8?q?JUC3XdXKJjObjMVPSBYWI2sr67OmxA9Jn6PPJJjJRUZRBzcy0bGIEbL+/Xm5W/mpz?= =?utf-8?q?UdpOx7BW+P0laHN2Pwq51Hombon58WBnqI3SmYCLxk8DeJy85OX162YJ1at1O5BDO?= =?utf-8?q?B4aMj3o0FEl23npmqmtGQF8UjbNxH0M0FqYv6SHYUn69Nqqfbg7LotKFobJOFqUDK?= =?utf-8?q?LXpiv9ak6xLm1cnh53fFQCnG+QnMkjypMuuHIjuCLblpwPi4QlYHoY53ttNZpt8CI?= =?utf-8?q?b0Ea7IHH5plyncBKGERT+4q1a9hQAFzL1h7OSNqPK7udXj/iPGaO07r8VUVbU4BAD?= =?utf-8?q?tvrsQxoNpuPjmOUKyHMtpQq2Z1jXSTxOKeZiIh67JpjM1hR0qlYTAF2UJ061ukcAR?= =?utf-8?q?RZdd9vi8NU83cm4ng/5jzOARkh5WPN3k4sQdiQq/SLwEZHl5gBKcanIrfHG/ioPkT?= =?utf-8?q?egIQUX34vlxdvX65VaI2IHppgNXpaS7Dg5NYmneKaqvxufxAKOF1m4rebB23QBZW/?= =?utf-8?q?ec40jcfjtXOtXV+6m/uiPjIpuyTdTr2L7RuK/IkCbceAYV1Kz63m2OX8mj/P2V8W0?= =?utf-8?q?CiVUFLN9rGWdS2XAGOTmffT6bTJGG1YFxM8Gc4vVYTM56lMRPGilBuiPhetNJLjLY?= =?utf-8?q?tQER5gktMcf4D3Zm0Q7WB+af77loVRIwnGF6Kmq2eBcaAwzAOHj1L9V0mItiOcs5O?= =?utf-8?q?UJ3ds0eotikBcGwHO2YvwicMXCQLqeosyO0TfCUamAJrM8nDidClv3RPhrnQqpTA0?= =?utf-8?q?xyPBR6K2GqtrymzAvRrpN6vV9RdKZ7VUA=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)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?Wqr4CPhiVbqEv5qh+HnFtF0+EuDA?= =?utf-8?q?d2cCK1GkdzFHtOGzjCcky6Ywi8tW7gXZYbz014jbE+1shXYI9fozWkTdEj3+k2EKP?= =?utf-8?q?tlOO7V42Q3rbq5VzMxT970pAvCQzCGWgxkDmacH6IqswxvbG2yafPvd/F9mZf8gVQ?= =?utf-8?q?9WznsYnwyi7hUdmsJ4pHou845Ckxuj/ThtZP8plALm0J8FUpR2XxKWU5N/Jl/Fz39?= =?utf-8?q?Z3ERnI+zxjlYchsMxQbZIKQnvqtE6jxD1NK6q1dsC81hdw6Esa0CRPK9fE7nriwjS?= =?utf-8?q?0ZBS1Lb01ygPI1cY6+AigZFqruTvR5/XjlfyFaRdKeiMgoUhpbVoIPUYpMSado9ts?= =?utf-8?q?g+L2+QKFB3Hj0d1spCthcGPk9ogFS9vfQHWUFtvls3hEm7eLCvbRTgMhkfzIKeCru?= =?utf-8?q?DsR0N4rmePCnXTf8oqPlDZOE6g5lnk5eQf1tqhXrz5HFZ2weFtTPITU3EIos7GULT?= =?utf-8?q?LycukYyppP/CCQ0UmDZs4GaKhonPqsGIxtjzOuU62oSOJXbHQKEIzBlideKtbG/Jp?= =?utf-8?q?PvqKVkdbltClInS6W9jmdMwzlNn6Ywu7M+PSLuHLxsc67ngXufHJ4YFQH+jPubAV8?= =?utf-8?q?8DaYm4BNUsa04IEJQPbTA5rSA8VOlbtjFfVumZdoR54BCkR9ibZ5t5eqnTSnbrysE?= =?utf-8?q?1Nj7UU+bUV4FkZaJxhTgO3HiCWKxUto8CN2LnHLLDNKSIN3C63L9rSaurOijYriVh?= =?utf-8?q?McmMP96iU7jg0i10Cj+9+2YKMlcvLcEn1jK4av5PGEBj/Hz0ToMjMWEJJEFyJH9/e?= =?utf-8?q?NM9pnI8JlMCOaqytLyZQL7rdy448Eae3US6XpTT7QG4CvshJSF0njY6SuzaQP3rR8?= =?utf-8?q?iL8A23RQS9HTxtvKFEpAb4dSqiyjveqYrNEyfV4GCt8XQ8o083ohCQb52lN1OESm5?= =?utf-8?q?q5TYWSJP3oPEjfilcfEcKvbzZI2MavFmUPwQ+B+L6dY/+xMXfC0b7ucLfU8Inx3CQ?= =?utf-8?q?7cHMdknU5CyfOr2pqpBXt8biZToHk9IxCeF4aTnhx76HZUmIljfEJvP76TCwDHEab?= =?utf-8?q?SmBrMt/UCmhGTcCx8KAhiZ336w2qQGyCwVV1l4sHSueFvMa+N1uBH8NkTFvw6zer7?= =?utf-8?q?5VU1T9iDkhp29izbdPbqlWIdFlKtM5BmbDOy2lBbD0+rcSfHDxPqcv8nGRHEVWIEp?= =?utf-8?q?DFatv1NW+TmEDrB4qskVEWq0pxQtR/upzZMApq8UHwo5dxjC8wuObNVDENcE0NLUj?= =?utf-8?q?Po/OsR8zwn/alkMT6X9bWhknV28duA92h2kp+jktfDxXxrbrWzrGXagPC0JIoWoNd?= =?utf-8?q?f/yjW8r5hvrM4xmnzFMuz30Uo2QBnubovtOolKA2fW8hEF+VviHKgHz0Dj8Z34/3l?= =?utf-8?q?e5IchLoxZKCJN68rVcNj6jb73ntcYQAKrLUYBDfDmcf4S2lt9qOg8caw6F15UMpJj?= =?utf-8?q?PMN1GeCXGEC8ZRzDXdlyAE8DUZE5spHfo2a+9gnbMQ43c/qZcUvKmpITZHtaSy+Ya?= =?utf-8?q?04vCuROFtH79SoFvGAdOR0s1/I4wQsGJ1fEZ43olnrmzvr0W7XSLyM0vvpcKch6LY?= =?utf-8?q?KiGi2qCv0Ga/?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5b0f55a7-98af-4b9a-c1f4-08dd6010a673 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2025 20:17:58.5878 (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: dZebD/H7/s3pWpW3eT35O0Etstas4INjjXwOh0vlWwTbnc69VOLVeQ5D1KoGdLDG6M3MtvPRViwWOqFnA4CsNg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8261 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250310_131801_120312_44EB7014 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 DT files. Signed-off-by: Frank Li --- 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 7061a7ec08cb2..3ab85dde22ce4 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_once(pci->dev, "cpu_addr_fixup() usage detected. Please fix DT!\n"); + fixup_addr = fixup(pci, cpu_phy_addr); if (reg_addr == fixup_addr) { dev_info(dev, "%#010llx %s reg[%d] == %#010llx; %ps is redundant\n", From patchwork Mon Mar 10 20:16: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: 14010653 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 D463FC28B30 for ; Mon, 10 Mar 2025 20:38: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=ppyyX9Q2wxZTypjuPhcXkP3T2A2ooftwehps2NlrrWQ=; b=lc5dHR2Si6YGWxZMWGXrqSnFjL SovVQMDr+NNqoZ8Qm967kPQyklFsAeVwtmV75ezmrH8SfYsWkSgmz01LeE0xCsdSIbLyrMb9PXrZa zhU9Xe8lN5NpVACorr0UdLS1NG//YJsNsT/BZ0HehzFqQ2WxyFu9NhPUYIEuCidU5s7wwjTOJU8CM Yg3uZT1n73bcYHMTWLqzOZF7WQtSRNmUReijDMPbNBNmhqw3ljb9SoYsAuUnphbDNvAGZxXTNZrIo +OyLJp95jhN5v+gAWZ3o7vxKEbcdqYx8+xGnp1EN9BCJIJOistHTPap/tfneHO4UzjfFROiFHlhZf LvivTfJA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1trjtH-00000003tbd-2JnZ; Mon, 10 Mar 2025 20:38:23 +0000 Received: from mail-northeuropeazlp170120003.outbound.protection.outlook.com ([2a01:111:f403:c200::3] helo=DU2PR03CU002.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1trjZe-00000003qeh-1b32 for linux-arm-kernel@lists.infradead.org; Mon, 10 Mar 2025 20:18:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gJUUl3md37euI6P5gL3bQKwWD5dsYOzWyCvKtWaGl135d+OMhuzh3pLwS1+gDxlNS65EPA0oa2QeZtcoW8kvqCIqwcL8qA+M9USJJ/qmLodSPqYdI3ZTZhD5QHPISN6ZzoIPCr/6jD+1Xx/Q77lV+rYpVun2mLETXbudBvm/vdpckRSff4aGY2iraBLbhDYwuvUPSIahVpJ10SwKYoH2SAWinlRjlldMVdSvnJvDwGdDA+z1GbrnSmfswTfPDeqXQqgSg/J5ozDWN8HCAFiJRU4gLzNsUjuyCLJRbfcXMg4YaTnquMGKuJWV84Yieuyh4VIuB5mqb0hVtyfUfVuTiw== 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=ppyyX9Q2wxZTypjuPhcXkP3T2A2ooftwehps2NlrrWQ=; b=kQ5jFffj8f/MmKqYv3oLnW2IKHSVBfoCNmXvjzkD/yLyqoj6BIHtLdJXkoFxPID0K/PUibqkN07j9LJdmbzHXfdr+7gOxy603cpu10LLs9BbBoBU8t8wAbDpAWQoEuF7t6rZzQEOd+3/jNXjq6dS1qcU0hNf9e+wbqvaVH/1l1dCD3NCPjkotSzFTPzdNgKZgfMDKPD8026qlsZg4kUXLKHZ+KM2mH9eS5c5WdYYINazeBy/UTWjYRm17rh384HBVsP4G9ZQOnXqECVzzOR/VCZN1GY9a0QnZrKOFfbkHH71QVfuf/T6/az8838+LIeWBQVuL9tLOKHQYyyP+9b0hQ== 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=ppyyX9Q2wxZTypjuPhcXkP3T2A2ooftwehps2NlrrWQ=; b=fTbdgArKLKPUScmZeXiTOYrEbBl+X0todQ86tnBpch0GbiSkVJMqE7H6YkBy1u/YM8vV3IiNPJ0FBDboQbazyXdDlZItnHpz1p9v4aMuE0UhrOOcc8u62qiWWFQv6+G1nFS8hH93/k8LmRuVrwYT6rfliBZP2le8aMDGAtzGWZvAFIiHKy37uav9XsA85DlOMCmna78x8CYVFWsAD6ElD8aPRjLVZk3h3OcZzpnxcFbioMtU2Uao9vIbyUBzkImQK4txcK2DBFWHvygIwzOFJi/t+gzQZ1cowcoEr3dB3ccIwvf8BsrldwlhIdEO+ACjvZtO62cdL/TLK0fLRyUFhA== 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 AS8PR04MB8261.eurprd04.prod.outlook.com (2603:10a6:20b:3b1::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Mon, 10 Mar 2025 20:18:03 +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.025; Mon, 10 Mar 2025 20:18:03 +0000 From: Frank Li Date: Mon, 10 Mar 2025 16:16:47 -0400 Subject: [PATCH v10 09/10] PCI: dwc: ep: Ensure proper iteration over outbound map windows Message-Id: <20250310-pci_fixup_addr-v10-9-409dafc950d1@nxp.com> References: <20250310-pci_fixup_addr-v10-0-409dafc950d1@nxp.com> In-Reply-To: <20250310-pci_fixup_addr-v10-0-409dafc950d1@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=1741637834; l=1438; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=NN9KOcS9NNW5yd8VEpgIqFGnP2to3DUIOpQ709UsPNY=; b=Owo0r3ib/35TFiH88AKwmpewAtBKvJX64sL3M4SMpRT45uuqsovw7XxO828niHmrMYRDLWtjY QM3XjEqVEJVDa5EeoRf6FJhBUvj0tg2fI7Ls7mPW7vbZHqlwsmcQinb X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BYAPR08CA0058.namprd08.prod.outlook.com (2603:10b6:a03:117::35) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AS8PR04MB8261:EE_ X-MS-Office365-Filtering-Correlation-Id: 6c01c310-44e0-4b83-842f-08dd6010a950 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?Ltp7emaU+Kov57qi/NenWHeIZVLU8ak?= =?utf-8?q?DFxFYQuCefO26L8B7Yolvjdp6lZ0NcPcRxR0NcqKHnKv8BMKlDUOLFvwZyzCEyxCS?= =?utf-8?q?IYkDDj72JSOmX0xhhq76lJX9+3Hwhh5KXBbIg+ixIZH4ta+oMuav72+3Z9xp3xyeF?= =?utf-8?q?YyVc6MwoGDfwU5C323K4LQjXYR8pg/mI0UJCD7h1QXPsciDFDFBJlL/dSmKCvpj7c?= =?utf-8?q?FW2IGpYpCbUmLoBXLQ/jv3lkk15rMXZ1etUGJPinfXzcv8gMyvLdr1zBwu0muBrQn?= =?utf-8?q?VXzuOLwvDX7Xl6zVRZl66gNkc9WVuzPaQxkVIQvINQS+bFhUm5cQ063RGPzqdOC6V?= =?utf-8?q?4iX8qzznuC7fW+elFTIhEkn75KwpwOR71XLktzSrCUueeKfQm0YV/kfnMwb3cF2rX?= =?utf-8?q?muXtLTiVhQjGlf/ispXY2UzxJ6BOFeXS8eyutf2RnAtKu7mYUFdnlqA7Rjj5JVG7k?= =?utf-8?q?et1hdf4gQFHcNX9bqRRM5kobH2WjWIMjlFtUqMVwky8skghZSn5+rW2BB2Lz6DFc3?= =?utf-8?q?uZ09CbJQWoTp0qLkyTmGxu93fxUqGs0a3hPyLQZlElewPRSlnwn20XSrGhYTRAtDm?= =?utf-8?q?fkXkacsl+yHarYzMo4V8v5dYlaRt+vZAJ0erAGoVdyE/Zdqsy8lB8YemZv8V0sXXp?= =?utf-8?q?C1/XPJpm+GhNfmNTo9gJpmTSa79unQmJPu2mx9a2ONRCHJnt6puKNwkpFsRL6hflO?= =?utf-8?q?Z14YI830e2GN0jsOy1j+RnZkW8C+UnbvQjzE528GzyHzu2+mMKzjPs4Bso9NAudc6?= =?utf-8?q?oxHsbQAs/FAG864A7NQanet6abcWkQSl5XTmCP+Z3pAZ7I2TGnORGy7Mes8G8nrK3?= =?utf-8?q?d/g+c6yHNujOa+wwZIfhj4TQtAOdK5xxiX9MgEY974qO4P8r4mzt1bzrzr6Fh3mb2?= =?utf-8?q?xY6f2XO0GKOYwSsGh6pSyCKaEYs6d2TB/FPTq7t6Tla5dwhg3tn7HTspVfXH5F7A4?= =?utf-8?q?UdgCVJDh/JWswt2Xfqjm4FpZsC08kpOFclnVpmPhNfLmdD+k3IXyoZT/cr/+6Wpbz?= =?utf-8?q?CCN5Py1kZ0uhpiRySdgfNpvgewskFp/eya9dO26XjhFYbohoN5vtSMuS/Qbn7q+GU?= =?utf-8?q?cbCUf6V8kN8tysX8uN8sNarQE4qgb66GEGt+nL03sktOCjjCnPVeOx8SFlJNqE6GM?= =?utf-8?q?UawJwXZOws4NxvsUJPwz1a1e8F9mQ2TPX0rnm9TKKYqWV8vAZ9mEp1DdoGTN4gEta?= =?utf-8?q?i4P10TaVvPcQc5eHl5TU3jXqIfLnPg/RMWft/lTrqeINrVQRfJwu5y4LZUoDR2pZL?= =?utf-8?q?motYp75QTk/Xhx9uk4tC5GSS4KpikFD76/NL2Pvhkr4oVP4zQQXtMGrmnZ1GZIHm1?= =?utf-8?q?AeL9hfH8hJwHXttPr9LCk7C7sTH7Ut6SwwCyQsHvMfA5pG3znQjcf7Aj/wkELkFmb?= =?utf-8?q?3pK9f8ji5yRMdV279kGo6o0qfFEwgzS7A=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)(376014)(52116014)(7416014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?v7KCvWZ8fcB3vqG5elyzDBxUivdw?= =?utf-8?q?kFJUNIFludF1I6TIQ5ATGu2e8OXd6U8XV3AH/iaCWgJubONyGAFQh3RN6thoKorVQ?= =?utf-8?q?jul0grJzC6zlaRTmjuERmNNo21j3N9K09IGmJ09jdMF3SE1GqXwbuXD/HivaU7Up4?= =?utf-8?q?LPH7RAeWUkSnyX+LOgeFfUl0QkRYvlNze1+e94lsMj+qLsvZ/KOjwMSXuGBTLfY5k?= =?utf-8?q?zz01T7vl5c+wft1GcfoUy6NnhfzpUa64FNKbQdGkcZrCxzEy92PsfmW9pQERdzUKQ?= =?utf-8?q?jRvH3+BrYA3aQbXX4ZCf7h5CydykNssZNjlbBv2lg08z+9WsZ/W4h8M+8wTOIlSTC?= =?utf-8?q?+phtuSvBBKEPVkCZQQZYPkJzqLy7IQ81OSD/1aeJHjv7ZcEsQeInD938roPxk/OaG?= =?utf-8?q?0MsXulh4yH2zK953fAGZWZz0sT4lRaG23KH+UK8q73LGrQCwgB/dZHn36QyKVvXbq?= =?utf-8?q?GxKUfb8orpCgZ38OIBZAkSIaYbXcENjsuUyZiUeZZS2mfzLUuucOKUkLbh29QJm58?= =?utf-8?q?dgEnWxH4JpZe4NmRw8OtBSya4ELnziajUtF+YBndKLUkxM9NwTsicXKhg0Mu6pjR1?= =?utf-8?q?4+/Od9s1sUMV0cr6eAS1hwH83/1nNkMcZLuIUfmBUMPxDHN/WCxgh81Nt/X9YLkmG?= =?utf-8?q?OsWI2JDf9q0/4gAY0CFCcjNqNmWqtbde/XPOXKTSutuxmHnUSMp9qPoXHSEV4cfgw?= =?utf-8?q?koEsXgRCFG6bNF3tr3BnA6418v224x8BfuLqPwi+bEOhIWC3S4LLt2lw1V49YQlpa?= =?utf-8?q?rrtvt+caBazJWzhQWsh/t4EbBlhb/QXXSTo/1S5gIHTvbAAf6OaK+GnbCVfqhTnzx?= =?utf-8?q?1rHmnnEQz/y801XbtFvVtX8B2HI2ZAdgfyfWGR9MSJ9LWW73QGZQeL9Kjqh+kHEmn?= =?utf-8?q?eoHbm7jWrxxa0SegGy2qiPgezlTI5aUOAA05Z5lVl8ydwJQOx5hfB0pLE3vaGIIH6?= =?utf-8?q?FGOMhqa4hsTxyPX5hCJgSpeAJEvZDwKnZsA2LNHqdU9xNqeyQo0NHuA+r9st7w3+1?= =?utf-8?q?iZdiNRscQwpnh1F1314cAIZ53knWcL5bArCvw75nyrwS4pHpntDtLgP10//xYYDK2?= =?utf-8?q?i8llNc3CB/vuTjUN88MLunnAsDqSbOcWkRonSi8N0AOZrQNDUQx1MnZ6QOdsk/79S?= =?utf-8?q?ctLJ+oliuiTRo9xOJEKBPiUyLTtgb65TwYmPJtlqo8oyHnna8SjsGeqbHGzG5/z3u?= =?utf-8?q?F+BkItJTeWT4uAAD/25HJJXWBjjy1S5Wu/kjpLeTGFu8itVb/1NcoHPOXy6wT6lSc?= =?utf-8?q?9gYmtTT0DQatTSh3Vdv9fmWHjWfkDwMXmBoQvvbzZhdacOTNqO2vDu8FhsYjLcn2k?= =?utf-8?q?tHNNgf0DllAAzBEwnZ8BAfg2xtBOb9rVVe/8Ms+VimqWnGdl0Ae7ceDcy/wDIlFxO?= =?utf-8?q?k/ySR42ItrUazOV3aG2+0vI5dWBcQRMxLPGKi8zB+OH9eYFHvg6M98HaBPU74Jfw4?= =?utf-8?q?bqwRvqv61BAVr1v56qrnKOp9w1YAmGUz7ghmcUon2aunu3A37CH9FFqfBTUmkQsf9?= =?utf-8?q?w7VX/K+4HbCJ?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6c01c310-44e0-4b83-842f-08dd6010a950 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2025 20:18:03.3877 (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: ZZGoU0t1VRwho+oHTGSd+U2h+KfAsWjlwKjqVM6rffd9EerBnkn8h5gkgDOPabsEi948+NeB2y0GcNAFLOwg7g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8261 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250310_131806_425187_44D9927F X-CRM114-Status: GOOD ( 13.57 ) 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 with commit ("PCI: dwc: ep: Add bus_addr_base for outbound window"). '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 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 62bc71ad20719..e333855633a77 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 Mon Mar 10 20:16:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 14010654 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 9D834C282DE for ; Mon, 10 Mar 2025 20:40:15 +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=uBW2fAmfiSNKUGb/8tkUB5oukqJc1J6cu2/BIg5Rkdw=; b=31cwlSfwJGhrE6p4BVhUwkXK+Q NMqiL9QuqPpYb4VUe55RlnA952qm86iA9f6XqlaOmYWc9sGGUmqHVP6wlWbFWsjo/uYAGxlO+3GSa XHFSUwG6E6/R2e5Ud42HHc8tTTsiqdyLciUKhbyT1rKgRZ7eBCcAnXQ5IkKfZCMeQZyBiUTekDHa+ FaW8Ad3VHy9TOCS0P6a2AzyAEhW0uB7WgClJiByzk8lav156Kte6LCTMCTANpng7WruUlas7u57fL GtDv4JuIgjQpS7dk4nqME7oMW/QLE+9dKiy1Ya/JjTKk0M3sInlkDoToNOsdCDN3vwmO7HSxIFWrf kTSUoncg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1trjut-00000003ti7-0sk1; Mon, 10 Mar 2025 20:40:03 +0000 Received: from mail-northeuropeazlp170110001.outbound.protection.outlook.com ([2a01:111:f403:c200::1] helo=DB3PR0202CU003.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1trjZj-00000003qgW-2Ygr for linux-arm-kernel@lists.infradead.org; Mon, 10 Mar 2025 20:18:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wEnmi4JqAgnW6p2wSKQk78aGKnhz2KQIy4MMvK6G04tv7LCc4dj9De8YcbqBBf/EeZ9KEz/eR0frvL+GNZ83AXAM2mtMkZe+73Ktk2o5zYyFsuAXseDIvWE9c3xTqLAtG+y6c7yhccJQMc1J1dFu7rt/Vok5EUyJc5kDe90Npjho3nU+vY/3oxzGHxvmH04yRzcjkiNQ6DSnLpc0VTA+9jEprWF9PMdWDFvbYMBcRRIepF0qPEDRA+qCc831tJatmzyYN0v4KJB+tRswluRkJj0FEjcv46b1qf+Lc/psyOgwk4DM8ZWqzq9J3//jbRKw5f+gJppkbdx/pYfzjyCUlg== 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=uBW2fAmfiSNKUGb/8tkUB5oukqJc1J6cu2/BIg5Rkdw=; b=UqcMVK8YA8Nhzm5hCKWdUFVmJk4C+TdGALZAk8EXHVM3bZYocMSIHbRbvx9BrjWyKBJ/MyIOYxwXoRPmDGSn2MWRACIiZRoDD98sGhlKKBb0Oo+XKVEmCjwQ4wDdCvNDG3qXNjWCdP+1/VNdI6VRxfycmHtw6usb3kB2ClXjI0ILAxCBn/Cc6gzAjIf6n17FiAiGzcfS5UW3BJh32W+x1DyjfjNS8iqeDhn+BQ0VKA6+OBJHhw4/WAfGqRKGVY+o5UhOGEGfMeMrDJp+Ht0QOGoyuldF6qqMMTV9XfwoFqzYT4ub8GK6SzPgrPNDEUrAmtEN+KgvI0ytvm67hru57A== 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=uBW2fAmfiSNKUGb/8tkUB5oukqJc1J6cu2/BIg5Rkdw=; b=CCVuq9b/cA5ItzYF7DJoE0+QHGAcYVLORqZ9dU2ipfqCj6wP6ejsIpzZTEdsc4e283nMHjHFmvUR3mgFvSXrIFQ+eVi/XhmhtgvFbjiCh6E1fuXQkSozPouEpSSd9ZKRDhPI/Ofzer3Em3Ek+9oqPkg9JQ3Mb+6RCtCrROF01MisgC1voQNn/fwptQ/Mg08bz1pJQ/Di2Ovzb9eJoPhR2PV8kEnb+Sx9oHBZtmR/hyqj3MBxxjU0l0XgK1FJB8jEKQZ77HUyAbNr2oQKoZBok0KgnA1Tg5H+AbKkTNC+Iqotf/kIYPJ3vwvo5nOQtuuei6bjn+BTC+pBGcRjCU1gZw== 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 PAXPR04MB9255.eurprd04.prod.outlook.com (2603:10a6:102:2bb::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Mon, 10 Mar 2025 20:18:08 +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.025; Mon, 10 Mar 2025 20:18:08 +0000 From: Frank Li Date: Mon, 10 Mar 2025 16:16:48 -0400 Subject: [PATCH v10 10/10] PCI: imx6: Remove cpu_addr_fixup() Message-Id: <20250310-pci_fixup_addr-v10-10-409dafc950d1@nxp.com> References: <20250310-pci_fixup_addr-v10-0-409dafc950d1@nxp.com> In-Reply-To: <20250310-pci_fixup_addr-v10-0-409dafc950d1@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=1741637834; l=2220; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=98mr0hEDlbNB1twO9eEomfVdivfO7N5yLVSVflAGipo=; b=UcMJDdXUszV7GESUyUPsgL17MLWzwHSC4V+uetF59Ju0+JhfslXCaMAya/Fqrt+sY1bsAofed f72Lyb2L4GODjjLG5Sb3yQ9t1dn1qyPpLjCGZ6+kh/m2nlbRMKCUkDT X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BYAPR08CA0058.namprd08.prod.outlook.com (2603:10b6:a03:117::35) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|PAXPR04MB9255:EE_ X-MS-Office365-Filtering-Correlation-Id: 6e751f96-6dfc-4ec5-b965-08dd6010ac29 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|376014|52116014|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?R8Eq+YDDZYx3BGvi28wiMSKVYIAn3Ay?= =?utf-8?q?dl6/cSuVxMtTOxd51X3MrpwHTtgViHHDvIg7+1+aL2SDqqN7Sc+ReMv75eC1q/qw/?= =?utf-8?q?kCbp9YS85mf2u0MqFTwokvdEcktec1pgsdOymzp/XeSbt7NWI+8G1uD4pdcjZdR9t?= =?utf-8?q?2r/L/gL0cv3X5x3lUR7kDv74vw1manVGhDDxObZUt71z+lUVNclDO89xz09Jlu8mc?= =?utf-8?q?+T3+6UIDU/Rheu8BgPO3etUtpb0C7DftsHQuse9S9LqGgYfqV1XaNO/h8Ezss54YK?= =?utf-8?q?oGUxrMXyf3SOTb96lOe9g0yw8M+8nE5mcdHWELdshsaG+A4NYaqKdrAZDmsRed2LS?= =?utf-8?q?PlIjYV19vFK7Q2u2/08dJ93DXHJHMzp92Afxi2q4db/Ig+FJHln+4M5Uz629XI/EI?= =?utf-8?q?XuUekZ34SqaDgZ+UyDeSOPKzsModrE4bpKfZJcUDghWttd8mZMUhcCn72J2KzfFXZ?= =?utf-8?q?cJPB1OHx2EWaAmlddiALjvs70qJkJd3aQ8l3Wj9MV2Ha7kC48TauUiBiassTDVWXj?= =?utf-8?q?8BiRuja331gTeC7UKHDVicEr+IUmCmZR4flKU0kI8KQoh8AMIBdLGA5IWsnrUEhKq?= =?utf-8?q?AQGQAIVIlgXnsVqMVITvcvtFKQ4F93gk14thCv2vSTF5U3PRiCax4j62qWP+Ov/yJ?= =?utf-8?q?HVyNzMZHRsy89ySMPix8GfRKIWD3oklrHaA5g1EIRnMY4Ip2nxsIOsVVSCs8LcZfy?= =?utf-8?q?DKmypLM/m6+8sj0Yzbv85e4iLx4M+obCZYmxIBKUTuuI7We3w0wD7BdV4T32gwYYn?= =?utf-8?q?yGF3JbS+47HjmIKCLAuoW4zAa1v9jn3qeuAQvSbT26DkZqrg59rOhrH8GAYrRw2nV?= =?utf-8?q?PLetzH3O3GzoDYpPZxR9957OXXRrt56AdGJ6RK4XchNJBsYPlo9I5efei4zShk0Ce?= =?utf-8?q?IdkkuiAiiqhH+9lqrNlUQDeDdUUrx7jzPgtdHD7m1RHITzw1di5cl/2e1UzmytgSX?= =?utf-8?q?0ItaAja57XXQVUJlkklFw/fT03dweLheryRF96KD8q7gJI+iYCKpUq7nJ2gO1eKT2?= =?utf-8?q?krwaeU7MPcSUHWS7eNGSF+OEILimCDMaZP+7Q/zVopp/92NVsWVcYu7/nDxCanQyD?= =?utf-8?q?tD3s2BHZ56xehPM70XGdxesEuOLlqm3OnGNOysFi2gJIClM2DeL14rSU21S14CIrB?= =?utf-8?q?aGlrV4rOSNjP2R0tr92MhjBstNTq9JjRR9AJ/u6Sy8WuljUfWxITdfc0W6ArM8+HB?= =?utf-8?q?FUN0KPid3V69M4C7jEzP37seIM8hedg9FEpxRymS0fPlsluL4t0FeEUlf3+j1vyYG?= =?utf-8?q?cGJJIisaqNhbMprbSU9AlkJTiT7Ld3pM0lw/kLjKTy7tc05pBcNLL+exfgqjKqQA8?= =?utf-8?q?btL1R/jQHxlFsep6tSOmw97rDFZr9+9Q3V5+PAmilRwc5Q+US9ShoohYtEpO6iKft?= =?utf-8?q?md0fiv3ohqf?= 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)(1800799024)(366016)(7416014)(376014)(52116014)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?0YConri+xZxkn5tnbfHAexSh7hdQ?= =?utf-8?q?CQ4o2aQks3+LnMdDCSRAYVzbA3OC0vYi0J+DD2KS0u29HBgcjDTsISndgvfjBNxEP?= =?utf-8?q?6qXjQAIqFg2gHL0t9X5XFmrOTSSwixDZ79Dt54jWDibm3cwG9+fZgi8OSpPec2aLW?= =?utf-8?q?JkY04j33VhFSE9z+PQ0Ouawze7naZ7c49rbMiv1fGle5DCvt23LkcbzRJElEOtrs1?= =?utf-8?q?AjsifEGCcWzIDo8rxiKvi9WfWmejJdMHI8QSkxa+K7hRuALRx497mE00RuJVMfjKZ?= =?utf-8?q?2qUUkIrWrL1u+AKzIpGsWanCx4xyoJPnzMRT0Zwe2aD5QLvx+LGAQ+CsEV4OBd9p6?= =?utf-8?q?XFrT/+RhXJrKDq7LofYf69bOctXzhVldxtSwn+FuH6/bRxiBS+VKAvMwO1F45Ux80?= =?utf-8?q?uGeqFj05eATv8uN8N6iLaeoHSnXRUFlWENHQ6VevL4ZBVQyZrd6p4qBsVgZ9Q11Pm?= =?utf-8?q?aB5uY5I+/o94C0gmepW+qe+8+ijSzFXDp3ldosTNq2T/LgwXEfodEykAOnCNAwssl?= =?utf-8?q?6eyjxqPaOWav9Y9Lyep49iS9p3wbjYrdgOd6XLSg0GRb4DJEKNidDihDKQZbRqPcM?= =?utf-8?q?IvS94T/X1C9a7E5a4i+WwMUYuD0ny6MJmnMpHQUjgP8axn4Vvdy7R+bBIRiP4EoT5?= =?utf-8?q?olXB0ThlXWx/knZAVqkLJ91N0lg9RJYE8Dc7OEOGmkHWX75VCndgDLA5jP7wxON2N?= =?utf-8?q?C19WWtnv/16/WJjkPUxx7kZT4RXFfKk1LXBWKiitqp6qcqp2RI54F2pa5sFgX3fKO?= =?utf-8?q?028tIutTV3f0vU4l5SkrhTJsaXmruQ5WZuv60q0LM3NTnRbaGax0gUWxO6h/HIUSW?= =?utf-8?q?m4WQW9u0fMhEOjlf3ZcpwUpQPiZjCIm+/DVR5py/hjs7WvyrBe6QVEiVSW7NZIXw4?= =?utf-8?q?pWMJFYPNR5iGo6tXkKSnvbSnoJSNCwH37KMoLnfU+tsXEkpD4zvRVq/o9ERyLN2Sw?= =?utf-8?q?KgOe/C4NKwhRgh4DVoqs+m0nPM7h3IcbkQ0WLgK9vimr1r9NNkVuiLDez44SYK9wR?= =?utf-8?q?f04JMHJh7pZifTGWJBgJ5D+IiPcisBs5SqUrCPQQHjqwNal/kTfsOxHhPvz/d9SEf?= =?utf-8?q?s+N0jnRlCqi23bsiMkYeLtKQlV1CvUBQBDy4xw6DssQ1swiWU+F3wzuvlSqfiRjqz?= =?utf-8?q?PIqwOWzlQGuomMrpixsWHkkVTXsEzwQ8T5dX5UlKehBFWanaHUhDvRZ/TUj1vxOVx?= =?utf-8?q?aLV2djMiFAUtfpLcOfAdRn6pdGC7FMSYFaZo8mWbzfEOzs6NAoo1DNuq/6mU8ApYz?= =?utf-8?q?ATYwsBTF+P+XhnAi6Y070iAIvn6DXvGiV80wN6HtCFfdtTY8bNJrhqrQtA4NUP0wD?= =?utf-8?q?jjpjcbdacEs2xKoQx0v1FX7B+xeDMZab/CtYtqeXtfVIO0Ljf66GssEMrryHVg8mc?= =?utf-8?q?aujFmKo5rQ3fiHqWPwY+aAEMNFBFH3MphkiJHLihn5kJIy33OWDx4u/GmwwkpLShr?= =?utf-8?q?bfF/i+3Fy70ucS85DqAK5eCvxaC5c3EW7CopzDjqDMhS18Gf6JynlqrFBniJLffUK?= =?utf-8?q?ccfjIa02Hi/5?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6e751f96-6dfc-4ec5-b965-08dd6010ac29 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2025 20:18:08.1616 (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: ZbpO/Urz8QPyGfPoRgtCub7b3PhXUx0k0UZSgPNOKP+7kLSdY5zd447PTaEtt154vPKkfJ+AUAfq2YWSo+YHVw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9255 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250310_131811_653677_106BFA8B X-CRM114-Status: GOOD ( 14.13 ) 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 v10 - 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)