Ticket #233 (reopened defect)

Opened 7 months ago

Last modified 5 months ago

ACPI driver destroys PCI config space for PCI Express devices

Reported by: yoda Owned by: pasha
Priority: critical Milestone: Feedback pending
Component: ACPI.PSD Version: 3.10
Keywords: PCI config space PCI-e Express Cc: e-co
Blocking: Blocked By:

Description

When ACPI.PSD is loaded (and it doesn't matter which switches is used) PCI config space gets destroyed for some devices - in my case my Wlan Intel 3945abg. This have been happening even in all 2.x versions too.

Since more and more users reports similar problems for other devices, I tried to compare, and it seems that this problem only happens for devices connected to PCI Express bus.

In my case it happens to 3945 device connected to PCI-e and the PCI-e root port.

Other users report the same problem happens to their Gigabit nics - when this is connected to PCI-e too.

It seems, there is some general problem with ACPI driver about PCI-e devices, as I have not seen any case where a normal PCI device gets its PCI config space destroyed by ACPI driver.

Plenty of logs uploaded during time - but I'd be happy to supply more, if needed (there are a few in Ticket #226, which shows some of them).

Reimplementing PCIWRITE is a nice tool for experts and hardcore users to test and workaround this problem; but we _really_ need to figure out, what goes wrong here, and fix that.

Yoda.

Attachments

froloff-Acer6292-pci-config.zip (37.9 kB) - added by guest 7 months ago.
acpi309test-Acer-info1.zip (207.9 kB) - added by yoda 7 months ago.
froloff-Acer6292-pci-D.zip (14.5 kB) - added by guest 7 months ago.
froloff-Acer6292.zip (12.3 kB) - added by guest 6 months ago.

Change History

  Changed 7 months ago by guest

I believe that incident #211 is related to this problem...

follow-up: ↓ 3   Changed 7 months ago by eco

  • status changed from new to closed
  • resolution set to wontfix

e-co:

OK, as I remember, the research was done in the past.

The config space is destroyed because the initialization of ACPI tables doesn't finish properly.

This problem is known, depends on model of notebook.

Workaround:

* fix tables

* use PCIWRITE

It's necessary implement PCIWRITE for UNI, so standalone consultant can help to user to restore PCI config space.

in reply to: ↑ 2   Changed 7 months ago by yoda

  • status changed from closed to reopened
  • resolution wontfix deleted

e-co: OK, as I remember, the research was done in the past. The config space is destroyed because the initialization of ACPI tables doesn't finish properly.

That might be the case in a few situations - but we have seen several cases, where the same happens for i PCIe device, even if NO errors are reported from ACPI tables.

This problem is known,

So why did you close the ticket ? You can close it, when you have fixed the problem that ACPI driver creates - not before !

..depends on model of notebook.

Sure, not all notebooks comes with PCIe devices Besides, it does not only apply to notebooks....

It is still a severe bug in ACPI driver, that is destroys config space. Don't come up with excuses about bad ACPI tables. ACPI driver must check, that setup of config space is done correctly. A very simple way to do this in case of "bad ACPI tables" would be to read config space before evaluating table. If evaluation gives errors, then restore config space to what it previous was.

But, as I said, we have seen the same for some devices, where there is no errors when evaluation ACPI table - so something is clearly wrong with ACPI driver.

Workaround: * fix tables

ACPI driver can't load a fixed table, when running in SMP mode, so this workaround doesn't exist.

* use PCIWRITE

This is for experts, for testing. This is not an option for the general user.

Changed 7 months ago by guest

  Changed 7 months ago by guest

Hello.

I add to attach a packed file with DSDT ACPI table (without errors), ACPICA$ log and pci.exe output with and without ACPI.PSD. Everything works fine after recovering PCI config space to values when boot without ACPI.PSD.

Hope this help.

Regards Dmitry.

Changed 7 months ago by yoda

  Changed 7 months ago by dengert

PCI logs without -D are of very limited use.

Besides that, it looks like the PCI replacement functions are horribly broken. Small wonder that there are problems with devices not working when ACPI.PSD is loaded.

The deactivated PCIe bridges and closed resource windows are probably due to AML functions - I didn't check this because that makes no sense until the PCI access routines are in proper shape.

  Changed 7 months ago by eco

Pasha and Yoda have spent much time to research of this problem.

Acer notebooks,

If you enable ACPI -> pci config space is cleaned (zero), then ACPI should fill it again. But ACPI fails on Acer. That's why it is empty..

  Changed 7 months ago by rudi

It would still be interesting to have the same information as in froloff-Acer6292-pci-config.zip, but with the option -D applied to PCI.EXE.

Changed 7 months ago by guest

  Changed 7 months ago by guest

I add PCI.EXE -D log as you requested.

Hope this helps.

  Changed 7 months ago by guest

  • version changed from 3.08 to 3.09

  Changed 7 months ago by pasha

acpi07052008.zip at betzone, try pls and attach acpi.log

  Changed 7 months ago by eco

Not BETAZONE,

Goto your directory in Mensys shop:

http://ecomstation.ru/projects/acpitools/?action=testcase

2 Паша: запиши в памятку, что пользователям этот каталог со спецбилдами виден через Mensys shop. Всегда указывай на инструкцию: http://ecomstation.ru/projects/acpitools/?action=testcase

В бетазону могу заливать только я. Мы туда кладем релизы.

  Changed 7 months ago by rudi

try pls and attach acpi.log

Also add PCI -D information.

From the acpica.log I see that the DSDT is overridden. Are you using the one shown in dsdt_CRESTLNE.dsl ? I'm asking this, because in the file the _OSI checks are commented out. As I understand ticket #232 is fixed so I'd prefer to see these checks enabled.

Changed 6 months ago by guest

  Changed 6 months ago by guest

I installed ACPI.PSD built on May 7 2008 Nothing changed unfortunatelly

Please find logs in froloff-Acer6292.zip attach

Hope this helps.

  Changed 6 months ago by guest

  • version changed from 3.09 to 3.10

  Changed 6 months ago by stevenhl

  • milestone changed from eCS 2.0 to Release version 3.10

  Changed 6 months ago by rudi

I installed ACPI.PSD built on May 7 2008 Nothing changed unfortunatelly

Hmm, to be honest, I didn't expect too much from the change but I was not sure. I'll come back when I have another idea...

  Changed 5 months ago by stevenhl

  • milestone changed from Release version 3.10 to Feedback pending
Note: See TracTickets for help on using tickets.