[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260113162719.3710268-5-den@valinux.co.jp>
Date: Wed, 14 Jan 2026 01:27:17 +0900
From: Koichiro Den <den@...inux.co.jp>
To: jingoohan1@...il.com,
mani@...nel.org,
lpieralisi@...nel.org,
kwilczynski@...nel.org,
robh@...nel.org,
bhelgaas@...gle.com,
cassel@...nel.org
Cc: vigneshr@...com,
s-vadapalli@...com,
hongxing.zhu@....com,
l.stach@...gutronix.de,
shawnguo@...nel.org,
s.hauer@...gutronix.de,
kernel@...gutronix.de,
festevam@...il.com,
minghuan.Lian@....com,
mingkai.hu@....com,
roy.zang@....com,
jesper.nilsson@...s.com,
heiko@...ech.de,
srikanth.thokala@...el.com,
marek.vasut+renesas@...il.com,
yoshihiro.shimoda.uh@...esas.com,
geert+renesas@...der.be,
magnus.damm@...il.com,
christian.bruel@...s.st.com,
mcoquelin.stm32@...il.com,
alexandre.torgue@...s.st.com,
thierry.reding@...il.com,
jonathanh@...dia.com,
hayashi.kunihiko@...ionext.com,
mhiramat@...nel.org,
kishon@...nel.org,
jirislaby@...nel.org,
rongqianfeng@...o.com,
18255117159@....com,
shawn.lin@...k-chips.com,
nicolas.frattaroli@...labora.com,
linux.amoon@...il.com,
vidyas@...dia.com,
Frank.Li@....com,
linux-omap@...r.kernel.org,
linux-pci@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org,
imx@...ts.linux.dev,
linuxppc-dev@...ts.ozlabs.org,
linux-arm-kernel@...s.com,
linux-rockchip@...ts.infradead.org,
linux-arm-msm@...r.kernel.org,
linux-renesas-soc@...r.kernel.org,
linux-stm32@...md-mailman.stormreply.com,
linux-tegra@...r.kernel.org
Subject: [PATCH v7 4/6] PCI: dwc: Advertise dynamic inbound mapping support
The DesignWare EP core has supported updating the inbound iATU mapping
for an already configured BAR (i.e. allowing pci_epc_set_bar() to be
called again without a prior pci_epc_clear_bar()) since
commit 4284c88fff0e ("PCI: designware-ep: Allow pci_epc_set_bar() update
inbound map address").
Now that the EPC layer exposes this capability via the
dynamic_inbound_mapping feature bit, set the bit centrally in the
DesignWare EP layer so that all DWC-based EP glue drivers report it
consistently, without duplicating the same flag in each individual
driver.
No functional change intended. This only advertises existing behavior to
EPF drivers.
Suggested-by: Niklas Cassel <cassel@...nel.org>
Signed-off-by: Koichiro Den <den@...inux.co.jp>
---
drivers/pci/controller/dwc/pcie-designware-ep.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/pci/controller/dwc/pcie-designware-ep.c b/drivers/pci/controller/dwc/pcie-designware-ep.c
index 1195d401df19..0e5a8d200b00 100644
--- a/drivers/pci/controller/dwc/pcie-designware-ep.c
+++ b/drivers/pci/controller/dwc/pcie-designware-ep.c
@@ -626,11 +626,19 @@ static const struct pci_epc_features*
dw_pcie_ep_get_features(struct pci_epc *epc, u8 func_no, u8 vfunc_no)
{
struct dw_pcie_ep *ep = epc_get_drvdata(epc);
+ struct pci_epc_features *features;
if (!ep->ops->get_features)
return NULL;
- return ep->ops->get_features(ep);
+ features = ep->ops->get_features(ep);
+ if (!features)
+ return NULL;
+
+ /* All DWC-based glue drivers support dynamic inbound mapping */
+ features->dynamic_inbound_mapping = true;
+
+ return features;
}
static const struct pci_epc_ops epc_ops = {
--
2.51.0
Powered by blists - more mailing lists