From mboxrd@z Thu Jan 1 00:00:00 1970 From: Meelis Roos Subject: Re: PCI Radeon RV100 detection hang on sparc64 Date: Tue, 24 Sep 2013 14:06:05 +0300 (EEST) Message-ID: References: <20130923.163643.2197376291925046530.davem@davemloft.net> <20130923.173306.851252651682654987.davem@davemloft.net> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Return-path: In-Reply-To: <20130923.173306.851252651682654987.davem@davemloft.net> Sender: sparclinux-owner@vger.kernel.org To: David Miller Cc: oftedal@gmail.com, airlied@gmail.com, michel@daenzer.net, sparclinux@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org > >> > 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@linux.ee)