Re: ASL fixing questions

Martijn Pieters
2004-02-12T21:34:02Z

[-- Attachment #1: Type: text/plain, Size: 2928 bytes --]

Bruno Ducrot wrote:
> The 3 first errors are due to this:
>
> OperationRegion (CCRD, PCI_Config, 0x00, 0xA7)
> Field (CCRD, DWordAcc, Lock, Preserve)
> {
> Offset (0x04),
> TI04, 8,
> Offset (0x44),
> TI44, 16,
> Offset (0x80),
> PMEE, 1,
> Offset (0x81),
> Offset (0xA4),
> PWST, 2,
> Offset (0xA5),
> PMEN, 1,
> , 6,
> PMST, 1
> }
>
> You have the option to change the length for the OR (that is,
> replace the 0xA7 with 0xA8 (that will give you in fact the same
> behaviour if you enable the ACPI_RELAX compile kernel option), or
> you can change the DWordAcc by WordAcc in the Field.
>
> Unfortunately, that is hard to know what is correct though,
> other than to bug the OEM, or to look if those fields can be accessed
> as double word in this PCI config space by looking the data book for
> this pci device. It's the only (stable) solution unfortunately, even
> though there are some ACPI_PEDANTIC that need to be defined those days
> ;(

OEM is Arima (it's an eMachines W6805, motherbord is a W720-K8). The PCI
Bridge is an onboard VIA chipset:

00:01.0 PCI bridge: VIA Technologies, Inc.: Unknown device b188 (prog-if
00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: 00002000-00002fff
Memory behind bridge: d0100000-d01fffff
Prefetchable memory behind bridge: d8000000-dfffffff
BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

The 'unknown' b188 in there is said to be the VIA K8HTB chipset.

Should I just experiment and hope it doesn't blow up?

> The second is:
> Field (ERAM, AnyAcc, NoLock, Preserve)
> {
> Offset (0x80),
> NMSG, 8,
> SLED, 4,
> ...
> ...
>
> }
> but since ERAM is an EC OR, it need byte access by ACPI specs.
> So replace the offending line with:
>
> Field (ERAM, ByteAcc, NoLock, Preserve)
>
>
> I don't see where is the trouble doing so, btw.

Thanks about that. I'll change that to ByteAcc and cross my fingers. :)