• Bjorn Helgaas's avatar
    x86/PCI: Use host bridge _CRS info on Foxconn K8M890-8237A · 61473c58
    Bjorn Helgaas authored
    commit 1dace011 upstream.
    
    The Foxconn K8M890-8237A has two PCI host bridges, and we can't assign
    resources correctly without the information from _CRS that tells us which
    address ranges are claimed by which bridge.  In the bugs mentioned below,
    we incorrectly assign a sound card address (this example is from 1033299):
    
      bus: 00 index 2 [mem 0x80000000-0xfcffffffff]
      ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-7f])
      pci_root PNP0A08:00: host bridge window [mem 0x80000000-0xbfefffff] (ignored)
      pci_root PNP0A08:00: host bridge window [mem 0xc0000000-0xdfffffff] (ignored)
      pci_root PNP0A08:00: host bridge window [mem 0xf0000000-0xfebfffff] (ignored)
      ACPI: PCI Root Bridge [PCI1] (domain 0000 [bus 80-ff])
      pci_root PNP0A08:01: host bridge window [mem 0xbff00000-0xbfffffff] (ignored)
      pci 0000:80:01.0: [1106:3288] type 0 class 0x000403
      pci 0000:80:01.0: reg 10: [mem 0xbfffc000-0xbfffffff 64bit]
      pci 0000:80:01.0: address space collision: [mem 0xbfffc000-0xbfffffff 64bit] conflicts with PCI Bus #00 [mem 0x80000000-0xfcffffffff]
      pci 0000:80:01.0: BAR 0: assigned [mem 0xfd00000000-0xfd00003fff 64bit]
      BUG: unable to handle kernel paging request at ffffc90000378000
      IP: [<ffffffffa0345f63>] azx_create+0x37c/0x822 [snd_hda_intel]
    
    We assigned 0xfd_0000_0000, but that is not in any of the host bridge
    windows, and the sound card doesn't work.
    
    Turn on pci=use_crs automatically for this system.
    
    Link: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/931368
    Link: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1033299Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    Signed-off-by: default avatarZefan Li <lizefan@huawei.com>
    61473c58
acpi.c 12.6 KB