lkml.org 
[lkml]   [2010]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: 2.6.33-rc3: pci host bridge windows ignored (works with pci=use_crs)
    From
    On Wed, Jan 13, 2010 at 12:44 AM, Yinghai Lu <yinghai@kernel.org> wrote:
    > On Tue, Jan 12, 2010 at 9:37 PM, Jeff Garrett <jeff@jgarrett.org> wrote:
    >> Took a stab at getting the right emails.  If I missed anyone, sorry...
    >>
    >> I have a desktop machine with a radeon HD 4850, and on recent kernels
    >> the radeon driver has failed with the message "No valid linear
    >> framebuffer address".  lspci on the broken configuration showed the
    >> first memory region at d0000000 of the radeon card to be ignored.  dmesg
    >> showed there to be a host bridge window at that address which was also
    >> ignored.
    >>
    >> I haven't quantified "recent" kernel.  I was using the Ubuntu/lucid
    >> kernels and it broke in the 2.6.32-* timeline, at which point I switched
    >> to vanilla 2.6.33-rc3 to see if that worked.  I could probably bisect it
    >> in a day or two when I get a little time.
    >>
    >> Following dmesg's instructions, setting pci=use_crs causes the region
    >> not to be ignored, and my video works again.
    >>
    >> I'm attaching a dmesg from the broken & working configurations, lspci
    >> -vvv output from the working configuration, and the output of acpidump.
    >>
    >> (Between the failed/working, I also applied the patch at
    >> http://bugzilla.kernel.org/show_bug.cgi?id=14954
    >> to get rid of the ACPI-parsing oops.  But that only fixed the oops.)
    >
    > [    0.000000] BIOS-provided physical RAM map:
    > [    0.000000]  BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
    > [    0.000000]  BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
    > [    0.000000]  BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
    > [    0.000000]  BIOS-e820: 0000000000100000 - 00000000bf790000 (usable)
    > [    0.000000]  BIOS-e820: 00000000bf790000 - 00000000bf79e000 (ACPI data)
    > [    0.000000]  BIOS-e820: 00000000bf79e000 - 00000000bf7d0000 (ACPI NVS)
    > [    0.000000]  BIOS-e820: 00000000bf7d0000 - 00000000bf7e0000 (reserved)
    > [    0.000000]  BIOS-e820: 00000000bf7ec000 - 00000000c0000000 (reserved)
    > [    0.000000]  BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
    > [    0.000000]  BIOS-e820: 00000000ffb00000 - 0000000100000000 (reserved)
    > [    0.000000]  BIOS-e820: 0000000100000000 - 0000000340000000 (usable)
    > ...
    >
    > [    0.833443] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem
    > 0xe0000000-0xefffffff] (base 0xe0000000)
    > [    0.835028] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved
    > in ACPI motherboard resources
    > ...
    >
    > [    0.847449] ACPI: PCI Root Bridge [PCI0] (0000:00)
    > [    0.847470] pci_root PNP0A08:00: ignoring host bridge windows from
    > ACPI; boot with "pci=use_crs" to use them
    > [    0.847693] pci_root PNP0A08:00: host bridge window [io
    > 0x0000-0x0cf7] (ignored)
    > [    0.847695] pci_root PNP0A08:00: host bridge window [io
    > 0x0d00-0xffff] (ignored)
    > [    0.847697] pci_root PNP0A08:00: host bridge window [mem
    > 0x000a0000-0x000bffff] (ignored)
    > [    0.847699] pci_root PNP0A08:00: host bridge window [mem
    > 0x000d0000-0x000dffff] (ignored)
    > [    0.847701] pci_root PNP0A08:00: host bridge window [mem
    > 0xc0000000-0xdfffffff] (ignored)
    > [    0.847703] pci_root PNP0A08:00: host bridge window [mem
    > 0xf0000000-0xfed8ffff] (ignored)
    > ...
    > [    0.848025] IOH bus: [00, fb]
    > [    0.848026] IOH bus: 00 index 0 io port: [0, ffff]
    > [    0.848028] IOH bus: 00 index 1 mmio: [e0000000, fdffffff]
    > ...
    > [    0.849289] PCI: peer root bus 00 res updated from pci conf
    > ...
    > [    0.849361] pci 0000:04:00.0: reg 10: [mem 0xd0000000-0xdfffffff 64bit pref]
    > [    0.849369] pci 0000:04:00.0: reg 18: [mem 0xfbee0000-0xfbeeffff 64bit]
    > [    0.849374] pci 0000:04:00.0: reg 20: [io  0xe000-0xe0ff]
    > [    0.849381] pci 0000:04:00.0: reg 30: [mem 0xfbec0000-0xfbedffff pref]
    > [    0.849423] pci 0000:04:00.1: reg 10: [mem 0xfbefc000-0xfbefffff 64bit]
    > [    0.849481] pci 0000:00:07.0: PCI bridge to [bus 04-04]
    > [    0.849484] pci 0000:00:07.0:   bridge window [io  0xe000-0xefff]
    > [    0.849487] pci 0000:00:07.0:   bridge window [mem 0xfbe00000-0xfbefffff]
    > [    0.849491] pci 0000:00:07.0:   bridge window [mem
    > 0xd0000000-0xdfffffff 64bit pref]
    >
    >
    > it seems HW IOH only can use [e000000 - fdffffff] under that bridge...
    >
    > and _CRS said the peer root bus could use [c000000 - dfffffff]
    >
    > could be that we need to check other register to decide if we can use
    > reading from ioh reg directly.

    can you send out

    lspci -tvnn
    lspci -vvxxxx

    YH
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2010-01-13 09:47    [W:0.048 / U:59.456 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site