summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorFrank Li <Frank.Li@nxp.com>2025-07-10 22:13:51 +0300
committerBjorn Helgaas <bhelgaas@google.com>2025-07-25 00:51:41 +0300
commit4ff4252a2355f585c5cad8dc959ff1097300aa47 (patch)
tree2a0e0f0ed057d921e7ff0968941e912d2ce53699 /include/linux
parentc822392280aa9bc57ad3b5079020388950cce9c8 (diff)
downloadlinux-4ff4252a2355f585c5cad8dc959ff1097300aa47.tar.xz
PCI: endpoint: Add pci_epf_align_inbound_addr() helper for inbound address alignment
Add pci_epf_align_inbound_addr() to align the inbound addresses according to PCI BAR alignment requirements. The aligned base address and offset are returned via 'base' and 'off' parameters. Signed-off-by: Frank Li <Frank.Li@nxp.com> [mani: reworded kernel-doc and commit message] Signed-off-by: Manivannan Sadhasivam <mani@kernel.org> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Tested-by: Niklas Cassel <cassel@kernel.org> Link: https://patch.msgid.link/20250710-ep-msi-v21-5-57683fc7fb25@nxp.com
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/pci-epf.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/pci-epf.h b/include/linux/pci-epf.h
index 52e07602f08e..2e85504ba2ba 100644
--- a/include/linux/pci-epf.h
+++ b/include/linux/pci-epf.h
@@ -241,6 +241,9 @@ void *pci_epf_alloc_space(struct pci_epf *epf, size_t size, enum pci_barno bar,
enum pci_epc_interface_type type);
void pci_epf_free_space(struct pci_epf *epf, void *addr, enum pci_barno bar,
enum pci_epc_interface_type type);
+
+int pci_epf_align_inbound_addr(struct pci_epf *epf, enum pci_barno bar,
+ u64 addr, dma_addr_t *base, size_t *off);
int pci_epf_bind(struct pci_epf *epf);
void pci_epf_unbind(struct pci_epf *epf);
int pci_epf_add_vepf(struct pci_epf *epf_pf, struct pci_epf *epf_vf);