From patchwork Mon Apr 14 18:31:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 881126 Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11010039.outbound.protection.outlook.com [52.101.69.39]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D18ED2951B8; Mon, 14 Apr 2025 18:32:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.69.39 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744655568; cv=fail; b=dxkATY5hcqTSk3Qgf/hvDu57VRT9J3AjTFPBifObkDfCPAkzsaS3ZqUITBiDkU14tFLTzUO1qKF1tq8Q9E+adjF1i96chXbiXhbnHcjBN22d87eSjOKmdhjm/RUSv6hDPb6jmoLpXM23Izs9poYWonfuQvaYTnYtCTGYFlUBqZY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744655568; c=relaxed/simple; bh=y13NGoBJeE1mUHUBweMBxtJI2C8OON0QvH2vvgiDgJs=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=eUESHE2Qh0IUgsGa2xVDJgqV0CplvzUDPCLR/KmXu+deFbA8l3iRcH4fFpLTgohmeBLOcmjdVomWr9YF8ETPy6kga/ceg7Ua2Y+s0t1xlfiQ+FTUvioXEwZQ8YdGedqlFSXcYZ8tkpQEM4MgN2SNMcPFxwyfg0DHRZegXjMvg00= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=TNikwv/t; arc=fail smtp.client-ip=52.101.69.39 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="TNikwv/t" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZHzZ90nffCxaIMMdtFtCfcCG5CQUru0k9wUvzJ2pVSIhUpyN0UUG+sbhxUtaG7YuIawXRNFRyfaZpRfnYY0kR7z1NxDAnjPYc1jnhd2SAR8I4TDrK2nLF1gAOpcAoefqsajc9HRKX/gL0EEpKqnMQmKdsyQNGUzompMP0wxn8byQ7G75xWYwuLPMYGtd4f0YZ0uoTog5ZLYVoURPRtCIW/MwWLMbvgnNJUPhG1dW6BUsw1BtlTWei9kNPsEwLGz74qCy36jgYzbU75f9YgHIKYkMUj8hr1Al3QidZR2mD2G9HaAfh+9Wi+Q0h0MeWFvNqKOQLUoskoG+4oj4S1oG3A== 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=MbXHpTIvY3lK/PUhp27uVmw/pyQFw3cH2yjbLrE9G6w=; b=OZ3XoSqyYjShnziv5xx3vSa5ZD0wAoxdScnE1DSvsxpUv6FMrZKqP6+f6T+n4wlMco01m/RtGBBaTgGlKeBSoRGw+nSNIy1IWcafxN2XpzXSI8Bv20KX4O70bouJ601jdarD37uS7foQD9j2aKNIpQ/QKcRnox6MCfOAeLIlb3pxOnMuLNiJEtmXKy+8NjtIpxlZiCUW6jG9/SZk/AxhdZraw0ZaUn0+YQFu9CLFXEVUpWWfGLIbbbIZp/gDYDon1tkkoAHxhgYIwWW3W1BuJOyK6MuQDkDfbaERodyYUaby3Uhs7GuQ09W75bElIpnPsy9AnVx1DiRYX5dso7ao0w== 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=MbXHpTIvY3lK/PUhp27uVmw/pyQFw3cH2yjbLrE9G6w=; b=TNikwv/taLFzK3s536UbEO6EmDPU3lyHevqu3508mjZaHBqkPNzOk1TtHJeqyknUtntGwVKrgtCwgaj/79gQ7ZbDDt7WA0qvrD8lKtQl+8DNk1QmpattcZeX4JSTPARwQOgK1/t8ic2CHsSOH9EGRNju5lRDKG6YxkCMKa4tJwVlGNG9jjJA0nKYmMXj0TXtz7Zk3RjHlVZ3fDMtt9dgouCdNpaQFwj4sD504CzcXwwZL+/exi6s6EXZMZE9GBz3sY7KnWx2OSKVy0wN1+Yq8QYBr9kuFBUvXCdgJ7Nt2GMriPikfCzS2ZmF5JgdTmCwefuJDdV9D5AI1pW6/ExRCw== 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 GVXPR04MB10245.eurprd04.prod.outlook.com (2603:10a6:150:1bb::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.33; Mon, 14 Apr 2025 18:32: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%2]) with mapi id 15.20.8632.030; Mon, 14 Apr 2025 18:32:44 +0000 From: Frank Li Date: Mon, 14 Apr 2025 14:31:08 -0400 Subject: [PATCH v18 14/15] pci: imx6: Add LUT setting for MSI/IOMMU in Endpoint mode Message-Id: <20250414-ep-msi-v18-14-f69b49917464@nxp.com> References: <20250414-ep-msi-v18-0-f69b49917464@nxp.com> In-Reply-To: <20250414-ep-msi-v18-0-f69b49917464@nxp.com> To: Kishon Vijay Abraham I , "Rafael J. Wysocki" , Thomas Gleixner , Anup Patel , Kishon Vijay Abraham I , Marc Zyngier , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Manivannan Sadhasivam , =?utf-8?q?Krzysz?= =?utf-8?q?tof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Arnd Bergmann , Shuah Khan , Richard Zhu , Lucas Stach , Lorenzo Pieralisi , Rob Herring , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Krzysztof Kozlowski , Conor Dooley Cc: Niklas Cassel , dlemoal@kernel.org, jdmason@kudzu.us, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, linux-kselftest@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1744655465; l=1486; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=y13NGoBJeE1mUHUBweMBxtJI2C8OON0QvH2vvgiDgJs=; b=G/17/COGstLE1tHnTP3oVWqeE0YhVFBNgA5LOQviUomcrEJRo/CvYpvszT+OJj43e/zVF7Lta qFitKfz4bg5CQCcDk4ndRfGys0zVM61zIolTAPUmMi+LllrbYegkjlu X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: PH7PR17CA0021.namprd17.prod.outlook.com (2603:10b6:510:324::27) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|GVXPR04MB10245:EE_ X-MS-Office365-Filtering-Correlation-Id: ffffdbdd-b271-45a5-354b-08dd7b82bf38 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|7416014|376014|52116014|1800799024|366016|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?37SzjStlGazBQ5KCiTcCtkw0dTeM8MX?= =?utf-8?q?Ij7FzRzpwrYECG3xjX6Ex8qjeBPu4uqR7ekPsfOOf2oFxVRHL65sA5IDwqccShZt9?= =?utf-8?q?3HzDP1NSgOOd61/Cl4wKF7j/fmYMN3N4sv2m7SghFCF/Udfrj/IeIvb3m9BFU2jss?= =?utf-8?q?4UAc8tssvUWCFz6bCQJsJKwtt1U/8k0r5mncm+FND1YreoiTe4BlSO8ybckq843dj?= =?utf-8?q?YRzwe44CCjqx3ZHdMrzQIvq4qYyFUjKh771WDXbZUK7bYHbEBvZA66ggqwwJECCH+?= =?utf-8?q?UTm9+3MEt5ypM+rYcPnPS+Y0QAthKlJsbCfpuZm4gApKIgX0GTWvJmBNe4tt8yLSw?= =?utf-8?q?MAd6KWaRm/f3Gy5+67BK9jnjrmnhK2TX+J7NgzxGlfg22VSYa8vAYvdtSEpwP8dl7?= =?utf-8?q?zO0OO9tjjrPxF16ulxX8pbXR/A3LZ5BYtrMRxfOdXN3SCia5vZBsbmPC8Q1277/PO?= =?utf-8?q?GnPznuGtboGBFFHrRFylEjCWEiWj1a10JiqpzDUr4v1PbDgqJG2onX1q/3nKa7L/I?= =?utf-8?q?8WZwZGVildS3GC72kc0ag/q9PuMEBKBv0i4XnIzOw6J00D5gnElbbF0jFEdsNDjgr?= =?utf-8?q?hZ4RvWqsAWqH4lrTPS09tatG7O0xU2OifSr4zoMqALvrLdpnHZrx4UqS/RJMv8a4R?= =?utf-8?q?+Ff1eVE9VmAyz25iiMRlvHcESBWDp1eX51ldjy1uKAMuAUsHmUlEP3cci5Ki6g8+G?= =?utf-8?q?tWx70v++IZ5E0ollJ7ioR+EXz0e7+paXcZ4icHeKKKvXkVMnsue/s9X1YaLReeSqj?= =?utf-8?q?rqlaJC8tHlKrSkj34nZCilXtDepCaCJYbpny4huCYbIVgiE7+4KpQOcKB76BUhnp4?= =?utf-8?q?O2RK8tw1JZSaRi18Bf6k2CJNHJUM172MvhlbzVTXcNKlGJ9Q1zEXURLuDiWxYy2d7?= =?utf-8?q?mcZSSDxzsjAa2SVuDOFivQeBcidiy9JG9hE0XxImhalpyGTJtZt6G8q6BoZ6FvLYP?= =?utf-8?q?uVtl4a9Hwkh78DBSYZQ7lNXB5nhn3HDzQpcX38xKkh/pGVUOJAIx2LfNu72aQytic?= =?utf-8?q?dQzGvQ39ft+chUxLs/PNbyoNGG/V2zEbgLH02JmmS+1FzXniQM+BlMEg5Ph9si5BW?= =?utf-8?q?5TBlxe/ZgXsCOVPXJRJIulIPDxhTT9Pyk7mNViLwGygZ449NdYY8QypK62hD1mWZA?= =?utf-8?q?zDvwSdK0GQ/eU7izIXX/zs3+PCXJpEMeYolx6Innoo8PvPL+o+RMKX3jCNlHrbsDN?= =?utf-8?q?ufk/Oc3+VUGJQre2pJOWMu5/5v9B+wBBPAD1gd0C2uwUR1so7J6+zRXKgiOwhzRU9?= =?utf-8?q?EcQk2hSAnwRW4AVvHk4MsG2bPwHshfib2d3AxiDzHSVGPivQufwsMLXuYEb+UYqZw?= =?utf-8?q?wlfiJDEEyzNCBxgRJzEzctzIouQyXeSvrKTlrxC6gT/NNc8WfPcAnWsBoj4Py/86C?= =?utf-8?q?opHi0dhiggwf0U+yQkZcH/Gmd1O2nv8vfs8oHDcOVvoX+vChjD2IFI=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)(1800799024)(366016)(38350700014)(921020); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?rFP21JbGI1ny5dRiUhuDGBOdOsCC?= =?utf-8?q?MFw5b47zuwRuSg+WXmMlQoc4MBXUDiwCq58662GBWEDmwT6D5cQVo6sHTIY+kZl6U?= =?utf-8?q?2+b8YJCb+hdb78Y3AzqJp2vWCVUu7EKr+5v7EtVpMnEpHiNugd/z83vT+QHo+D08p?= =?utf-8?q?88wbj8mFZoAO5vEFq3Y6rTwqAnFwvLXZpgWEZgXqDMovsOMn2vG4hW/DXes4Lr616?= =?utf-8?q?GLBbOYMPm0flQzsjJaAZZ0V6AiAStXN3vfdcfzPo5mKm4Oh7bYRnvhgHjPg92PkE3?= =?utf-8?q?4Uv5CwANYsC10YaHPMfETOg1lJlgVD1ddoAyJczbkvSIxE+D4jrRToVolH49Jeycr?= =?utf-8?q?z9lItHeuPxABeKdMWVBBmJBLbaBmd152GBEuXclzmg/rMd70E0NDAu9+OuunKwaXC?= =?utf-8?q?YTTVp/u44vXt1IWtN/KHWsV5VvK4uTuXGNDXoV/xJj7TP8EjcVVUDmGnRG0UF/0QB?= =?utf-8?q?CkDJ1O1xEu5fK5dtbaaAC3gLODnsdigGpWeVCctKYrLjUCHrRttXbbuH1b1oMOSdF?= =?utf-8?q?XgJ8RBSIPFRUSUdAG/QUOO0Xkh5b95CEWvWU6caB+eijCQgB84nlaJqoG3mNs6uh7?= =?utf-8?q?92CLq/abwRCa5DQ0q9mCTDu/GOiXMnt71BFkTPJsaFlqx9jeQHky9HsbxpYo3/Vpq?= =?utf-8?q?gNPe6kHSL+qNpLqcf+Pm5yP5HOP6GGjwwQVDRZ9mcw6JfhQEW4EjwatdXB9Hvq7Pt?= =?utf-8?q?xPbr6EbsagI3KJIudbbUhmCw53+f181VGsZH9kfwndk8HI4ZRplvJvu++G1F9DFo1?= =?utf-8?q?/WJwc/XONQlnFUaSpXbj/CAtb9gGBcDoU4qMf2geA3t1IILRQ+Cj4qrE75xadkgfZ?= =?utf-8?q?m0MIMXbXOzS3NQHVQrlBNPLNOOV+7Si677TBM/mkk1nvM0kWHL2pU3A/4wocFIu19?= =?utf-8?q?tSjv7bOT+RoUFMCXFRElsFDabW3uZDmezeCNyCTgUzWVI49WynaeBoq9YbDEDmbR/?= =?utf-8?q?c9tsBWda3hp8JtPrY4vUdgiMu2uT/loBZjUtTT6hlYBSTPWzafoybuNsbkpSOv650?= =?utf-8?q?ULHCRtpGkXIcPszI1ywKnadeg8oix5bLDxlHCmuMaaEVmqnSdaUATE41Y1H+E1mug?= =?utf-8?q?dYB4FzNlgalNF4jkutfLLdyf1Gw49q3se6NKjkdjbvNAibDEP3YYHAftIpO3iSJWP?= =?utf-8?q?vd6ZKYR6Wl40svzb7K0NbV9bfsTGo0Ex95L+WsPqSP0Z8xRmYF2yNmjjYZ2QEGoyb?= =?utf-8?q?7FhjKjrAELAmx08+xK8QMf4zKaf37xxFttSJoINIoKPg7r6iQOHZZ2ciLAr26qanF?= =?utf-8?q?n2DWC718v4JZsIa26FowXix+BxPj6dajruwWDCOTvpK3A+D2VGI34FIx8Q9iyWvFJ?= =?utf-8?q?/br+B4epo06Ox9ogZp8T4ctgVS0gkdvDHcXH+NKkvIsBZqRlw4k8LOG9KTftn6kfe?= =?utf-8?q?lwMEuilEMTsUaTsI382QiXI9EcCjCI1GdKeYTnzCwmOF5hqQW5DPkiiXYhqtGrE4l?= =?utf-8?q?2kS+BpZowz92jBeQleqJKYgftMDrdGWiKYI0wOs0xt047BACFhZLQlBs=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ffffdbdd-b271-45a5-354b-08dd7b82bf38 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Apr 2025 18:32:44.1919 (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: 8CX9ELf8dcAaE9e+r9xElMg4pLNHzp5jEmSjYwoMM3wYqqtAnS4QrIH3Mlw9izAZB6FfC91FAzsRC8KbMbrmmg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB10245 Support only one physical function, so call imx_pcie_add_lut_by_rid(0) to add a single LUT entry when operating in EP mode. Signed-off-by: Frank Li --- change from v14 to v16 - none change from v13 to v14 - new patch --- drivers/pci/controller/dwc/pci-imx6.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index d1b1365e7469e..a6e4630fcf530 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -992,7 +992,10 @@ static int imx_pcie_add_lut(struct imx_pcie *imx_pcie, u16 rid, u8 sid) data1 |= IMX95_PE0_LUT_VLD; regmap_write(imx_pcie->iomuxc_gpr, IMX95_PE0_LUT_DATA1, data1); - data2 = IMX95_PE0_LUT_MASK; /* Match all bits of RID */ + if (imx_pcie->drvdata->mode == DW_PCIE_EP_TYPE) + data2 = 0x7; /* EP side's RID from RC, only 'D' is meansful */ + else + data2 = IMX95_PE0_LUT_MASK; /* Match all bits of RID */ data2 |= FIELD_PREP(IMX95_PE0_LUT_REQID, rid); regmap_write(imx_pcie->iomuxc_gpr, IMX95_PE0_LUT_DATA2, data2); @@ -1622,6 +1625,9 @@ static int imx_pcie_probe(struct platform_device *pdev) ret = imx_add_pcie_ep(imx_pcie, pdev); if (ret < 0) return ret; + + /* Only support one physical function */ + imx_pcie_add_lut_by_rid(imx_pcie, 0); } else { pci->pp.use_atu_msg = true; ret = dw_pcie_host_init(&pci->pp);