PCI bridge with I/O decode 0x0-0x0
Serge Semenenko
serge at a-1.com.ua
Tue May 20 21:27:40 UTC 2008
Hi
Have the same problem with my Acer 6292... But at the same time there
are no problems on my friend's EX5620G. I've spent some time trying to
fix aml code but with no success. May be I'm not too good in that or the
problem might be somewhere else... Anyway, it seems that somewhere
during acpi initialization PCI Config space of PCI bridges gets
corrupted. So, to get my network cards working as a temporary solution I
use the patch attached. Memory ranges I've found while booting with acpi
disabled. I know that's not a solution but at least I could send now
this message through built-in wifi card :)
Regards,
Serge
-------------- next part --------------
--- acpi_pcib_pci.c.orig 2008-02-28 00:55:04.000000000 +0200
+++ acpi_pcib_pci.c 2008-02-28 23:51:16.000000000 +0200
@@ -133,6 +133,22 @@
ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
+ if (device_get_unit(dev)==2){
+ pci_write_config(dev, PCIR_COMMAND, PCIM_CMD_MEMEN | PCIM_CMD_PORTEN, 1);
+ pci_enable_busmaster(dev);
+ pci_write_config(dev, PCIR_IOBASEL_1, 0xf0, 1);
+ pci_write_config(dev, PCIR_MEMBASE_1, 0xf020, 2);
+ pci_write_config(dev, PCIR_MEMLIMIT_1, 0xf020, 2);
+ pci_write_config(dev, PCIR_PMBASEL_1, 0xfff1, 2);
+ }
+ if (device_get_unit(dev)==3){
+ pci_write_config(dev, PCIR_COMMAND, PCIM_CMD_MEMEN | PCIM_CMD_PORTEN, 1);
+ pci_enable_busmaster(dev);
+ pci_write_config(dev, PCIR_IOBASEL_1, 0xf0, 1);
+ pci_write_config(dev, PCIR_MEMBASE_1, 0xf030, 2);
+ pci_write_config(dev, PCIR_MEMLIMIT_1, 0xf030, 2);
+ pci_write_config(dev, PCIR_PMBASEL_1, 0xfff1, 2);
+ }
pcib_attach_common(dev);
sc = device_get_softc(dev);
sc->ap_handle = acpi_get_handle(dev);
More information about the freebsd-acpi
mailing list