Bob, Is my use of the Debug AML object below valid? I seem to get 0 for \_SB.PCI0.ISA0.PIRA no matter how I try to read it. As this is the PIIX4 PIRQA Route Control Register, getting 0 is actually consistent with the Linux failure. So I guess the next question is how to figure out how the DSDT is coming up with an address for this register that doesn't work -- is there a way to print out the address of that object?
full acpidump and dmesg are here: http://bugzilla.kernel.org/show_bug.cgi?id=5966 Oh, and VIPR() in _CRS is a method to check if the register is enabled and valid, given a value of 0, it always returns invalid. notably, _SRS prints out [ACPI Debug] String: [0x03] "SRS" [ACPI Debug] Integer: 0x00000000 [ACPI Debug] Integer: 0x00000009 [ACPI Debug] Integer: 0x00000000 So we always read 0 -- our write has no effect. thanks, -Len Scope (_SB) { Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, One) Method (_INI, 0, NotSerialized) { Store("_INI", Debug) If (W98F) { And (DerefOf (Index (_PRS, 0x02)), 0x7F, Index (_PRS, 0x02)) } Else { Store("NOT W98F", Debug) } } Method (_STA, 0, NotSerialized) { Store("STA", Debug) Store(\_SB.PCI0.ISA0.PIRA, Debug) Store(VIPR(\_SB.PCI0.ISA0.PIRA), Debug) If (LNot (VPIR (\_SB.PCI0.ISA0.PIRA))) { Store("Disabled", Debug) Return (0x09) } Else { Store("Enabled", Debug) Return (0x0B) } } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,9,10,11,12,14,15} }) Method (_DIS, 0, NotSerialized) { Store("DIS", Debug) Or(\_SB.PCI0.ISA0.PIRA, 0, Local0) Store(Local0, Debug) Or (\_SB.PCI0.ISA0.PIRA, 0x80, \_SB.PCI0.ISA0.PIRA) Or(\_SB.PCI0.ISA0.PIRA, 0, Local0) Store(Local0, Debug) } Method (_CRS, 0, NotSerialized) { Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Store("CRS", Debug) CreateWordField (BUFA, One, IRA1) And (\_SB.PCI0.ISA0.PIRA, 0x8F, Local0) Store(Local0, Debug) If (VPIR (Local0)) { Store (ShiftLeft (One, Local0), IRA1) Store("VALID", Debug) } Return (BUFA) } Method (_SRS, 1, NotSerialized) { Store("SRS", Debug) Store(\_SB.PCI0.ISA0.PIRA, Local0) Store(Local0, Debug) CreateWordField (Arg0, One, IRA2) FindSetRightBit (IRA2, Local0) And (\_SB.PCI0.ISA0.PIRA, 0x70, Local1) Or (Local1, Decrement (Local0), Local1) Store (Local1, \_SB.PCI0.ISA0.PIRA) Store(Local1, Debug) Or(\_SB.PCI0.ISA0.PIRA, 0, Local0) Store(Local0, Debug) } } - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
