PCIe bridges resources disappearing with ACPI enabled.

Alexander Motin mav at FreeBSD.org
Sat Oct 25 22:43:48 UTC 2008


Hi.

I have spent whole day trying to investigate strange problem of my Acer
TM6292 laptop (965GM+ICH8M). When booted with ACPI enabled, all three
of PCIe-to-PCIe bridges appearing completely without I/O resources:
pcib1: <ACPI PCI-PCI bridge> irq 17 at device 28.0 on pci0
pcib1:   domain            0
pcib1:   secondary bus     2
pcib1:   subordinate bus   3
pcib1:   I/O decode        0x0-0x0
pcib1:   no prefetched decode
...
At the same time, with ACPI disabled, resources are present. There are
some different problem with IRQ in that case, but it is another
question, not so interesting to me.

I have tried both IO and memory mapped PCIe configuration registers 
without success.

I have made heavy digging trying to find where resources disappearing. I
have even added debug printing inside pcireg_cfgwrite() and
pciereg_cfgwrite() to trace if somebody erases it and found nothing.
Nothing writes into that devices configuration registers.

At this moment I am living with ugly hack found here:
http://lists.freebsd.org/pipermail/freebsd-acpi/2008-May/004905.html,
and I would be grateful if somebody give me a hint what is going on here
and why Windows and Linux (according reports) work fine.

Here is my pciconf -l:

hostb0 at pci0:0:0:0:      class=0x060000 card=0x011b1025 chip=0x2a008086
rev=0x03 hdr=0x00
vgapci0 at pci0:0:2:0:     class=0x030000 card=0x011b1025 chip=0x2a028086
rev=0x03 hdr=0x00
vgapci1 at pci0:0:2:1:     class=0x038000 card=0x011b1025 chip=0x2a038086
rev=0x03 hdr=0x00
uhci0 at pci0:0:26:0:      class=0x0c0300 card=0x011b1025 chip=0x28348086
rev=0x03 hdr=0x00
uhci1 at pci0:0:26:1:      class=0x0c0300 card=0x011b1025 chip=0x28358086
rev=0x03 hdr=0x00
ehci0 at pci0:0:26:7:      class=0x0c0320 card=0x011b1025 chip=0x283a8086
rev=0x03 hdr=0x00
hdac0 at pci0:0:27:0:      class=0x040300 card=0x011b1025 chip=0x284b8086
rev=0x03 hdr=0x00
pcib1 at pci0:0:28:0:      class=0x060400 card=0x011b1025 chip=0x283f8086
rev=0x03 hdr=0x01
pcib2 at pci0:0:28:2:      class=0x060400 card=0x011b1025 chip=0x28438086
rev=0x03 hdr=0x01
pcib3 at pci0:0:28:3:      class=0x060400 card=0x011b1025 chip=0x28458086
rev=0x03 hdr=0x01
uhci2 at pci0:0:29:0:      class=0x0c0300 card=0x011b1025 chip=0x28308086
rev=0x03 hdr=0x00
uhci3 at pci0:0:29:1:      class=0x0c0300 card=0x011b1025 chip=0x28318086
rev=0x03 hdr=0x00
uhci4 at pci0:0:29:2:      class=0x0c0300 card=0x011b1025 chip=0x28328086
rev=0x03 hdr=0x00
ehci1 at pci0:0:29:7:      class=0x0c0320 card=0x011b1025 chip=0x28368086
rev=0x03 hdr=0x00
pcib4 at pci0:0:30:0:      class=0x060401 card=0x00000000 chip=0x24488086
rev=0xf3 hdr=0x01
isab0 at pci0:0:31:0:      class=0x060100 card=0x011b1025 chip=0x28158086
rev=0x03 hdr=0x00
atapci0 at pci0:0:31:1:    class=0x01018a card=0x011b1025 chip=0x28508086
rev=0x03 hdr=0x00
atapci1 at pci0:0:31:2:    class=0x010601 card=0x011b1025 chip=0x28298086
rev=0x03 hdr=0x00
none0 at pci0:0:31:3:      class=0x0c0500 card=0x011b1025 chip=0x283e8086
rev=0x03 hdr=0x00
bge0 at pci0:4:0:0:        class=0x020000 card=0x011b1025 chip=0x169314e4
rev=0x02 hdr=0x00
iwn0 at pci0:5:0:0:        class=0x028000 card=0x11018086 chip=0x42298086
rev=0x61 hdr=0x00
cbb0 at pci0:10:1:0:       class=0x060700 card=0x011b1025 chip=0x14101524
rev=0x01 hdr=0x02
none1 at pci0:10:2:0:      class=0x050100 card=0x011b1025 chip=0x07301524
rev=0x00 hdr=0x00
sdhci0 at pci0:10:2:1:     class=0x080501 card=0x011b1025 chip=0x07501524
rev=0x00 hdr=0x00
none2 at pci0:10:2:2:      class=0x050100 card=0x011b1025 chip=0x07201524
rev=0x00 hdr=0x00
sdhci1 at pci0:10:2:3:     class=0x050100 card=0x011b1025 chip=0x07511524
rev=0x00 hdr=0x00
fwohci0 at pci0:10:9:0:    class=0x0c0010 card=0x011b1025 chip=0x8024104c
rev=0x00 hdr=0x00

Problematic devices are 0:28:0, 0:28:2, 0:28:3. What is also strange is
that PCIe-to-PCI bridge 0:30:0 working just fine.

ASL attached.

-- 
Alexander Motin



More information about the freebsd-acpi mailing list