From: Frank Li via B4 Relay <devnull+Frank.Li.nxp.com@kernel.org>
To: "Kishon Vijay Abraham I" <kishon@kernel.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
"Thomas Gleixner" <tglx@linutronix.de>,
"Anup Patel" <apatel@ventanamicro.com>,
"Kishon Vijay Abraham I" <kishon@kernel.org>,
"Marc Zyngier" <maz@kernel.org>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
"Danilo Krummrich" <dakr@kernel.org>,
"Kishon Vijay Abraham I" <kishon@kernel.org>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Arnd Bergmann" <arnd@arndb.de>, "Shuah Khan" <shuah@kernel.org>,
"Richard Zhu" <hongxing.zhu@nxp.com>,
"Lucas Stach" <l.stach@pengutronix.de>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Shawn Guo" <shawnguo@kernel.org>,
"Sascha Hauer" <s.hauer@pengutronix.de>,
"Pengutronix Kernel Team" <kernel@pengutronix.de>,
"Fabio Estevam" <festevam@gmail.com>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Manivannan Sadhasivam" <mani@kernel.org>,
"Krzysztof Wilczyński" <kwilczynski@kernel.org>
Cc: Niklas Cassel <cassel@kernel.org>,
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, Niklas Cassel <cassel@kernel.org>,
Frank Li <Frank.Li@nxp.com>
Subject: [PATCH v21 2/9] PCI: imx6: Add LUT configuration for MSI/IOMMU in Endpoint mode
Date: Thu, 10 Jul 2025 15:13:48 -0400 [thread overview]
Message-ID: <20250710-ep-msi-v21-2-57683fc7fb25@nxp.com> (raw)
In-Reply-To: <20250710-ep-msi-v21-0-57683fc7fb25@nxp.com>
From: Frank Li <Frank.Li@nxp.com>
Add LUT entry for Endpoint mode by calling imx_pcie_add_lut_by_rid(0),
since only one physical function is supported. This sets up a single LUT
entry required for MSI or IOMMU.
The Endpoint function can operate without LUT if neither IOMMU nor MSI is
used. This LUT setup enables the EP doorbell feature by allowing the Root
Complex to trigger the EP’s MSI controller.
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
change in v20
- update commit message
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 032b906c44dfaa374a32f511098402a494ef5677..3123bf49e209cc0fc448d6e02a472e280d538033 100644
--- a/drivers/pci/controller/dwc/pci-imx6.c
+++ b/drivers/pci/controller/dwc/pci-imx6.c
@@ -1063,7 +1063,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);
@@ -1767,6 +1770,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);
--
2.34.1
next prev parent reply other threads:[~2025-07-10 19:13 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-10 19:13 [PATCH v21 0/9] PCI: EP: Add RC-to-EP doorbell with platform MSI controller Frank Li via B4 Relay
2025-07-10 19:13 ` [PATCH v21 1/9] PCI: imx6: Add helper function imx_pcie_add_lut_by_rid() Frank Li via B4 Relay
2025-07-10 19:13 ` Frank Li via B4 Relay [this message]
2025-07-10 19:13 ` [PATCH v21 3/9] PCI: endpoint: Add RC-to-EP doorbell support using platform MSI controller Frank Li via B4 Relay
2025-07-10 19:13 ` [PATCH v21 4/9] PCI: endpoint: pci-ep-msi: Add MSI address/data pair mutable check Frank Li via B4 Relay
2025-07-10 19:13 ` [PATCH v21 5/9] PCI: endpoint: Add pci_epf_align_inbound_addr() helper for address alignment Frank Li via B4 Relay
2025-07-10 19:13 ` [PATCH v21 6/9] PCI: endpoint: pci-epf-test: Add doorbell test support Frank Li via B4 Relay
2025-07-10 19:13 ` [PATCH v21 7/9] misc: pci_endpoint_test: Add doorbell test case Frank Li via B4 Relay
2025-07-10 19:13 ` [PATCH v21 8/9] selftests: pci_endpoint: " Frank Li via B4 Relay
2025-07-10 19:13 ` [PATCH v21 9/9] arm64: dts: imx95: Add msi-map for pci-ep device Frank Li via B4 Relay
2025-08-22 14:24 ` Frank Li
2025-07-11 7:45 ` [PATCH v21 0/9] PCI: EP: Add RC-to-EP doorbell with platform MSI controller Niklas Cassel
2025-07-21 13:25 ` (subset) " Manivannan Sadhasivam
2025-07-21 15:18 ` Manivannan Sadhasivam
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250710-ep-msi-v21-2-57683fc7fb25@nxp.com \
--to=devnull+frank.li.nxp.com@kernel.org \
--cc=Frank.Li@nxp.com \
--cc=apatel@ventanamicro.com \
--cc=arnd@arndb.de \
--cc=bhelgaas@google.com \
--cc=cassel@kernel.org \
--cc=conor+dt@kernel.org \
--cc=dakr@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlemoal@kernel.org \
--cc=festevam@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=hongxing.zhu@nxp.com \
--cc=imx@lists.linux.dev \
--cc=jdmason@kudzu.us \
--cc=kernel@pengutronix.de \
--cc=kishon@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=kwilczynski@kernel.org \
--cc=l.stach@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=mani@kernel.org \
--cc=maz@kernel.org \
--cc=rafael@kernel.org \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=shuah@kernel.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).