aboutsummaryrefslogtreecommitdiff
path: root/include/pci.h
diff options
context:
space:
mode:
authorAndrew Scull2022-04-21 16:11:10 +0000
committerTom Rini2022-05-03 15:50:46 -0400
commit12507a2d2269f36d16232d78ec15e861d3fff2d7 (patch)
tree67ef89dc1a1bb931eeabc6012db05a2a602c91ec /include/pci.h
parent55e6adbd78fcfcbd5c2e291ae1f5da3b107cb388 (diff)
pci: Map bars with offset and length
Evolve dm_pci_map_bar() to include an offset and length parameter. These allow a portion of the memory to be mapped and range checks to be applied. Passing both the offset and length as zero results in the previous behaviour and this is used to migrate the previous callers. Signed-off-by: Andrew Scull <ascull@google.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'include/pci.h')
-rw-r--r--include/pci.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/pci.h b/include/pci.h
index 966b84c148e..5175c7ea2fb 100644
--- a/include/pci.h
+++ b/include/pci.h
@@ -1348,10 +1348,13 @@ pci_addr_t dm_pci_phys_to_bus(struct udevice *dev, phys_addr_t addr, size_t len,
*
* @dev: Device to check
* @bar: Bar register offset (PCI_BASE_ADDRESS_...)
+ * @offset: Offset from the base to map
+ * @len: Length to map
* @flags: Flags for the region type (PCI_REGION_...)
* @return: pointer to the virtual address to use or 0 on error
*/
-void *dm_pci_map_bar(struct udevice *dev, int bar, unsigned long flags);
+void *dm_pci_map_bar(struct udevice *dev, int bar, size_t offset, size_t len,
+ unsigned long flags);
/**
* dm_pci_find_next_capability() - find a capability starting from an offset