Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 May 2008 00:00:56 +0300
From:      Serge Semenenko <serge@a-1.com.ua>
To:        Mario Pavlov <freebsd@abv.bg>
Cc:        freebsd-acpi@freebsd.org
Subject:   Re: PCI bridge with I/O decode 0x0-0x0
Message-ID:  <48333C08.2020001@a-1.com.ua>
In-Reply-To: <1749772363.84307.1211305358208.JavaMail.apache@mail54.abv.bg>
References:  <1749772363.84307.1211305358208.JavaMail.apache@mail54.abv.bg>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------040707000509030408020108
Content-Type: text/plain; charset=KOI8-U; format=flowed
Content-Transfer-Encoding: 7bit

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



--------------040707000509030408020108
Content-Type: text/plain; name="acpi_pcib_pci.c.pci_bridge_resource_brute_fix"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
	filename="acpi_pcib_pci.c.pci_bridge_resource_brute_fix"

--- 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);

--------------040707000509030408020108--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48333C08.2020001>