ppc/pegasos2: Fix reg property of 64 bit BARs in device tree
The board firmware handles this correctly following the Open Firmware standard which we missed. This fixes 64 bit BARs when using VOF. Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Message-ID: <20230721221320.1311E7456AB@zero.eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
parent
889dd6c525
commit
6b6d4c1a01
@ -780,8 +780,12 @@ static void add_pci_device(PCIBus *bus, PCIDevice *d, void *opaque)
|
|||||||
cells[j] = cpu_to_be32(d->devfn << 8 | cells[j]);
|
cells[j] = cpu_to_be32(d->devfn << 8 | cells[j]);
|
||||||
if (d->io_regions[i].type & PCI_BASE_ADDRESS_SPACE_IO) {
|
if (d->io_regions[i].type & PCI_BASE_ADDRESS_SPACE_IO) {
|
||||||
cells[j] |= cpu_to_be32(1 << 24);
|
cells[j] |= cpu_to_be32(1 << 24);
|
||||||
|
} else {
|
||||||
|
if (d->io_regions[i].type & PCI_BASE_ADDRESS_MEM_TYPE_64) {
|
||||||
|
cells[j] |= cpu_to_be32(3 << 24);
|
||||||
} else {
|
} else {
|
||||||
cells[j] |= cpu_to_be32(2 << 24);
|
cells[j] |= cpu_to_be32(2 << 24);
|
||||||
|
}
|
||||||
if (d->io_regions[i].type & PCI_BASE_ADDRESS_MEM_PREFETCH) {
|
if (d->io_regions[i].type & PCI_BASE_ADDRESS_MEM_PREFETCH) {
|
||||||
cells[j] |= cpu_to_be32(4 << 28);
|
cells[j] |= cpu_to_be32(4 << 28);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user