summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAndrew Scull <[email protected]>2022-04-21 16:11:10 +0000
committerTom Rini <[email protected]>2022-05-03 15:50:46 -0400
commit12507a2d2269f36d16232d78ec15e861d3fff2d7 (patch)
tree67ef89dc1a1bb931eeabc6012db05a2a602c91ec /include
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 <[email protected]> Reviewed-by: Bin Meng <[email protected]>
Diffstat (limited to 'include')
-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