[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260113162719.3710268-2-den@valinux.co.jp>
Date: Wed, 14 Jan 2026 01:27:14 +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 1/6] PCI: endpoint: Add dynamic_inbound_mapping EPC feature
Introduce a new EPC feature bit (dynamic_inbound_mapping) that indicates
whether an Endpoint Controller can update the inbound address
translation for a BAR without requiring the EPF driver to clear/reset
the BAR first.
Endpoint Function drivers (e.g. vNTB) can use this information to decide
whether it really is safe to call pci_epc_set_bar() multiple times to
update inbound mappings for the BAR.
Suggested-by: Niklas Cassel <cassel@...nel.org>
Reviewed-by: Niklas Cassel <cassel@...nel.org>
Signed-off-by: Koichiro Den <den@...inux.co.jp>
---
include/linux/pci-epc.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/include/linux/pci-epc.h b/include/linux/pci-epc.h
index 4286bfdbfdfa..4c8516756c56 100644
--- a/include/linux/pci-epc.h
+++ b/include/linux/pci-epc.h
@@ -223,6 +223,10 @@ struct pci_epc_bar_desc {
/**
* struct pci_epc_features - features supported by a EPC device per function
* @linkup_notifier: indicate if the EPC device can notify EPF driver on link up
+ * @dynamic_inbound_mapping: indicate if the EPC device supports updating
+ * inbound mappings for an already configured BAR
+ * (i.e. allow calling pci_epc_set_bar() again
+ * without first calling pci_epc_clear_bar())
* @msi_capable: indicate if the endpoint function has MSI capability
* @msix_capable: indicate if the endpoint function has MSI-X capability
* @intx_capable: indicate if the endpoint can raise INTx interrupts
@@ -231,6 +235,7 @@ struct pci_epc_bar_desc {
*/
struct pci_epc_features {
unsigned int linkup_notifier : 1;
+ unsigned int dynamic_inbound_mapping : 1;
unsigned int msi_capable : 1;
unsigned int msix_capable : 1;
unsigned int intx_capable : 1;
--
2.51.0
Powered by blists - more mailing lists