diff options
author | Andrew Scull | 2022-04-21 16:11:10 +0000 |
---|---|---|
committer | Tom Rini | 2022-05-03 15:50:46 -0400 |
commit | 12507a2d2269f36d16232d78ec15e861d3fff2d7 (patch) | |
tree | 67ef89dc1a1bb931eeabc6012db05a2a602c91ec /include/pci.h | |
parent | 55e6adbd78fcfcbd5c2e291ae1f5da3b107cb388 (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.h | 5 |
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 |