From: mroos@linux.ee Date: Tue, 24 Sep 2013 00:14:41 +0300 (EEST)
That looks quite strange. I guess the kernel should map the ROM at the address OpenBoot/OF assigned to it. ( 10020000 ).
The address you see is a raw physical I/O address, which is a concatenation of the I/O window physical address for that PCI controller and the PCI bus assigned address.
This is what we store in the resource values.
The pci_assign_resource() path must have some bug that causes the resource values to be set incorrectly or similar.
Meelis, what is the value of pci_resource_start(pdev, PCI_ROM_RESOURCE) before the pci_map_rom() call?
[drm] radeon_read_bios: pci_resource_start(ROM)=000001FF10020000
I am a little confused here. ROM addressis OK but after pci_map_rom it results in address that corresponds to another device?
That's certainly a bug.
So after pci_map_rom() pci_resource_start(ROM)=000001FF00000000, right?