PCI Radeon RV100 detection hang on sparc64
Meelis Roos
mroos at linux.ee
Tue Sep 24 04:06:05 PDT 2013
> >> > 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?
I double checked it - yes:
before pci_map_rom:
[drm] radeon_read_bios: pci_resource_start(ROM)=000001FF10020000
radeon 0000:02:02.0: BAR 6: assigned [mem 0x1ff00000000-0x1ff0001ffff]
after pci_map_rom:
[drm] radeon_read_bios, bios=000001ff00000000, pci_resource_start(ROM)=000001FF00000000, size=46592
[drm] radeon_read_bios: found ROM signature at 000001ff00000000
[drm] radeon_read_bios: bios=000001ff00000000, size=46592
--
Meelis Roos (mroos at linux.ee)
More information about the dri-devel
mailing list