mirror of
https://github.com/torvalds/linux.git
synced 2024-11-17 09:31:50 +00:00
PCI: endpoint: Fix pci_epf_alloc_space() to set correct MEM TYPE flags
pci_epf_alloc_space() sets the MEM TYPE flags to indicate a 32-bit Base Address Register irrespective of the size. Fix it here to indicate 64-bit BAR if the size is > 2GB. Tested-by: Gustavo Pimentel <gustavo.pimentel@synopsys.com> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
This commit is contained in:
parent
1e9efe6c99
commit
5544d67ed1
@ -131,7 +131,9 @@ void *pci_epf_alloc_space(struct pci_epf *epf, size_t size, enum pci_barno bar)
|
|||||||
epf->bar[bar].phys_addr = phys_addr;
|
epf->bar[bar].phys_addr = phys_addr;
|
||||||
epf->bar[bar].size = size;
|
epf->bar[bar].size = size;
|
||||||
epf->bar[bar].barno = bar;
|
epf->bar[bar].barno = bar;
|
||||||
epf->bar[bar].flags = PCI_BASE_ADDRESS_SPACE_MEMORY;
|
epf->bar[bar].flags |= upper_32_bits(size) ?
|
||||||
|
PCI_BASE_ADDRESS_MEM_TYPE_64 :
|
||||||
|
PCI_BASE_ADDRESS_MEM_TYPE_32;
|
||||||
|
|
||||||
return space;
|
return space;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user