Hi, From: Andreas Mohr <andi@lisas.de>this doesn't look like the same problem, although I'm in no way an expert. At least the suspend doesn't fail "completely", because it succeeds always once. untouched e697789d64f8748cb219d7f5c413c512953802cc, i.e. current 2.6.24-rc6): It is -rc6 (I had to change -rc6 to -rcx in Makefile to support the fallacy of not having to compile everything from scratch, but had to make mrproper to get rid of the stale include/asm symlink, so it didn't really help). This one? 00:10.0 IDE interface: ALi Corporation M5229 IDE (rev c4) 00: b9 10 29 52 05 00 90 02 c4 b0 01 01 00 20 00 00 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20: 81 80 00 00 00 00 00 00 00 00 00 00 3c 10 24 00 30: 00 00 00 00 60 00 00 00 00 00 00 00 00 01 02 04 40: 00 00 00 0f 00 00 00 00 30 00 20 c9 00 00 ba 3a 50: 02 00 00 89 55 50 0f 0a 01 31 31 00 01 31 31 00 60: 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Hopefully this AML code isn't too large to post here. Maybe I should try post the bug to bugzilla, although that idea is a bit scary... --- /* * Intel ACPI Component Architecture * AML Disassembler version 20061109 * * Disassembly of DSDT.aml, Tue Jan 1 17:20:43 2008 * * * Original Table Header: * Signature "DSDT" * Length 0x0000628B (25227) * Revision 0x01 * OEM ID "ATI" * OEM Table ID "U1_M1535" * OEM Revision 0x06040000 (100925440) * Creator ID "MSFT" * Creator Revision 0x0100000D (16777229) */ DefinitionBlock ("DSDT.aml", "DSDT", 1, "ATI", "U1_M1535", 0x06040000) { OperationRegion (DBG, SystemIO, 0x80, 0x01) Field (DBG, ByteAcc, NoLock, Preserve) { P80H, 8 } OperationRegion (PMIO, SystemIO, 0x8000, 0x30) Field (PMIO, ByteAcc, NoLock, Preserve) { PMS1, 16, PME1, 16, PMC1, 16, Offset (0x08), ATMR, 32, Offset (0x10), , 1, TRDC, 3, TREN, 1 } Scope (_PR) { Processor (CPU0, 0x00, 0x00008010, 0x06) {} } Name (_S0, Package (0x04) { 0x00, 0x00, 0x00, 0x00 }) Name (_S3, Package (0x04) { 0x03, 0x03, 0x00, 0x00 }) Name (_S4, Package (0x04) { 0x04, 0x04, 0x00, 0x00 }) Name (_S5, Package (0x04) { 0x05, 0x05, 0x00, 0x00 }) Method (VTOB, 1, NotSerialized) { Store (0x01, Local0) ShiftLeft (Local0, Arg0, Local0) Return (Local0) } Method (BTOV, 1, NotSerialized) { ShiftRight (Arg0, 0x01, Local0) Store (0x00, Local1) While (Local0) { Increment (Local1) ShiftRight (Local0, 0x01, Local0) } Return (Local1) } Method (MKWD, 2, NotSerialized) { If (And (Arg1, 0x80)) { Store (0xFFFF0000, Local0) } Else { Store (Zero, Local0) } Or (Local0, Arg0, Local0) Or (Local0, ShiftLeft (Arg1, 0x08), Local0) Return (Local0) } Method (GBFE, 3, NotSerialized) { CreateByteField (Arg0, Arg1, TIDX) Store (TIDX, Arg2) } Method (PBFE, 3, NotSerialized) { CreateByteField (Arg0, Arg1, TIDX) Store (Arg2, TIDX) } Method (ITOS, 1, NotSerialized) { Store (Buffer (0x09) { /* 0000 */ 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00 }, Local0) Store (Buffer (0x11) { "0123456789ABCDEF" }, Local7) Store (0x08, Local1) Store (0x00, Local2) Store (0x00, Local3) While (Local1) { Decrement (Local1) And (ShiftRight (Arg0, ShiftLeft (Local1, 0x02)), 0x0F, Local4) If (Local4) { Store (Ones, Local3) } If (Local3) { GBFE (Local7, Local4, RefOf (Local5)) PBFE (Local0, Local2, Local5) Increment (Local2) } } Return (Local0) } Scope (\_SB) { Name (ECEN, 0x00) Name (ACCG, 0x00) Name (PRCT, 0x00) Name (S4WF, 0x00) Method (ECOK, 0, NotSerialized) { If (LAnd (ECEN, 0x01)) { Return (0x01) } Else { Return (0x00) } } Device (PCI0) { Name (_PRW, Package (0x02) { 0x09, 0x05 }) Name (_PRT, Package (0x0B) { Package (0x04) { 0x0001FFFF, 0x00, \_SB.PCI0.ISA.LNKA, 0x00 }, Package (0x04) { 0x0002FFFF, 0x00, \_SB.PCI0.ISA.LNKU, 0x00 }, Package (0x04) { 0x000FFFFF, 0x00, \_SB.PCI0.ISA.LNKE, 0x00 }, Package (0x04) { 0x0008FFFF, 0x00, \_SB.PCI0.ISA.LNKG, 0x00 }, Package (0x04) { 0x0006FFFF, 0x00, \_SB.PCI0.ISA.LNKH, 0x00 }, Package (0x04) { 0x0012FFFF, 0x00, \_SB.PCI0.ISA.LNKB, 0x00 }, Package (0x04) { 0x0009FFFF, 0x00, \_SB.PCI0.ISA.LNKD, 0x00 }, Package (0x04) { 0x0009FFFF, 0x01, \_SB.PCI0.ISA.LNKC, 0x00 }, Package (0x04) { 0x000CFFFF, 0x00, \_SB.PCI0.ISA.LNKC, 0x00 }, Package (0x04) { 0x000AFFFF, 0x00, \_SB.PCI0.ISA.LNKF, 0x00 }, Package (0x04) { 0x000AFFFF, 0x01, \_SB.PCI0.ISA.LNKF, 0x00 } }) Name (_HID, EisaId ("PNP0A03")) Name (_ADR, 0x00) Name (_BBN, 0x00) OperationRegion (MREG, PCI_Config, 0xB8, 0x14) Field (MREG, ByteAcc, NoLock, Preserve) { CS0, 8, CS1, 8, CS2, 8, CS3, 8, Offset (0x10), FBSL, 8, FBSM, 8 } Method (TOM, 0, NotSerialized) { Multiply (FBSL, 0x00010000, Local0) Multiply (FBSM, 0x01000000, Local1) Add (Local0, Local1, Local0) Return (Local0) } OperationRegion (VGAM, SystemMemory, 0x000C0002, 0x01) Field (VGAM, ByteAcc, Lock, Preserve) { VSIZ, 8 } OperationRegion (REGS, PCI_Config, 0x90, 0x70) Field (REGS, ByteAcc, NoLock, Preserve) { SR90, 8, SR91, 8, SR92, 8, SR93, 8, Offset (0x6E), SRFE, 8, SRFF, 8 } Name (RSRC, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, SubDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length 0x00,, ) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000C3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000C4000, // Range Minimum 0x000C7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000C8000, // Range Minimum 0x000CBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000CC000, // Range Minimum 0x000CFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D0000, // Range Minimum 0x000D7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00008000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length 0x00,, _Y00, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x00100000, // Range Minimum 0xFFFDFFFF, // Range Maximum 0x00000000, // Translation Offset 0xFFEE0000, // Length 0x00,, _Y01, AddressRangeMemory, TypeStatic) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0000, // Range Minimum 0x0CF7, // Range Maximum 0x0000, // Translation Offset 0x0CF8, // Length 0x00,, , TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0D00, // Range Minimum 0xFFFF, // Range Maximum 0x0000, // Translation Offset 0xF300, // Length 0x00,, , TypeStatic) }) Method (_CRS, 0, Serialized) { CreateDWordField (RSRC, \_SB.PCI0._Y00._MAX, VMAX) CreateDWordField (RSRC, \_SB.PCI0._Y00._LEN, VLEN) ShiftLeft (VSIZ, 0x09, Local0) Add (Local0, 0x000BFFFF, VMAX) Add (Local0, 0x00020000, VLEN) CreateDWordField (RSRC, \_SB.PCI0._Y01._MIN, BTMN) CreateDWordField (RSRC, \_SB.PCI0._Y01._MAX, BTMX) CreateDWordField (RSRC, \_SB.PCI0._Y01._LEN, BTLN) Store (\_SB.PCI0.TOM (), BTMN) Subtract (0xFFF80000, BTMN, BTLN) Subtract (Add (BTMN, BTLN), 0x01, BTMX) Return (RSRC) } Device (AGPB) { Name (_ADR, 0x00010000) Device (VGA) { Name (_ADR, 0x00050000) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS1, 0, NotSerialized) { Store (0x01, _PSC) } Method (_PS2, 0, NotSerialized) { Store (0x02, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (DISW, 0x01) Name (NDSP, 0x00) Name (VRSM, 0x00) Name (TGLT, Package (0x04) { Package (0x08) { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 }, Package (0x08) { 0x01, 0x02, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01 }, Package (0x08) { 0x01, 0x04, 0x04, 0x04, 0x05, 0x01, 0x01, 0x01 }, Package (0x08) { 0x01, 0x02, 0x03, 0x05, 0x01, 0x01, 0x01, 0x01 } }) Name (TGLP, 0x00) Method (NDGS, 0, NotSerialized) { ShiftRight (And (^LCD._DCS, 0x02), 0x01, Local0) Or (Local0, And (^CRT._DCS, 0x02), Local0) Or (Local0, ShiftLeft (And (^TV._DCS, 0x02), 0x01), Local0) Store (DerefOf (Index (DerefOf (Index (TGLT, TGLP)), Local0)), Local1) And (Local1, 0x01, ^LCD._DGS) ShiftRight (And (Local1, 0x02), 0x01, ^CRT._DGS) ShiftRight (And (Local1, 0x04), 0x02, ^TV._DGS) } Method (USTS, 1, NotSerialized) { Store (\_SB.PCI0.ISA.HPSS (0x0F, 0x00), Local0) And (Local0, 0x0F, Local1) If (LEqual (Local1, 0x03)) { Store (0x01, TGLP) } Else { If (LEqual (Local1, 0x05)) { Store (0x02, TGLP) } Else { If (LEqual (Local1, 0x07)) { Store (0x03, TGLP) } Else { Store (0x00, TGLP) } } } Or (ShiftRight (And (Local0, 0x10), 0x03), And (^LCD._DCS, 0xFD), ^LCD._DCS) Or (Or (ShiftLeft (And (Local0, 0x02), 0x03), ShiftRight ( And (Local0, 0x20), 0x04)), And (^CRT._DCS, 0xED), ^CRT._DCS) Or (Or (ShiftLeft (And (Local0, 0x04), 0x02), ShiftRight ( And (Local0, 0x40), 0x05)), And (^TV._DCS, 0xED), ^TV._DCS) Return (Local0) } Method (_INI, 0, NotSerialized) { Store (USTS (0x00), Local1) Or (ShiftRight (And (Local1, 0x10), 0x03), 0x1D, ^LCD._DCS) Or (Or (ShiftLeft (And (Local1, 0x02), 0x03), ShiftRight ( And (Local1, 0x20), 0x04)), 0x0D, ^CRT._DCS) Or (Or (ShiftLeft (And (Local1, 0x04), 0x02), ShiftRight ( And (Local1, 0x40), 0x05)), 0x0D, ^TV._DCS) ShiftRight (Local1, 0x04, NDSP) Store (ShiftRight (And (^LCD._DCS, 0x02), 0x01), ^LCD._DGS) Store (ShiftRight (And (^CRT._DCS, 0x02), 0x01), ^CRT._DGS) Store (ShiftRight (And (^TV._DCS, 0x02), 0x01), ^TV._DGS) NDGS () } Method (_DOS, 1, NotSerialized) { If (LAnd (LEqual (And (Arg0, 0x03), 0x00), LEqual (And ( DISW, 0x03), 0x02))) { Notify (\_SB.PCI0.ISA.HPCI, 0x89) } Store (Arg0, DISW) } Method (_DOD, 0, NotSerialized) { Return (Package (0x03) { 0x00010100, 0x00010110, 0x00010200 }) } Method (DRUL, 1, NotSerialized) { Store (^CRT._DCS, Local1) If (LEqual (Arg0, 0x01)) { Store (USTS (0x01), Local2) } Else { Store (USTS (0x00), Local2) } If (LEqual (Arg0, 0x01)) { NDGS () If (LOr (LAnd (^CRT._DGS, LNot (And (^CRT._DCS, 0x10))), LAnd ( ^TV._DGS, LNot (And (^TV._DCS, 0x10))))) { NDGS () Return (0x00) } Else { Notify (VGA, 0x80) Return (0x00) } } If (LEqual (Arg0, 0x02)) { If (And (Local2, 0x02)) { Store (0x01, ^CRT._DGS) If (\_SB.PCI0.ISA.DISB) { Store (0x01, ^LCD._DGS) } Else { Store (0x00, ^LCD._DGS) } Store ("CRT Connected VGA.DRUL(2) called", Debug) } Else { Store (0x00, ^CRT._DGS) Store (0x01, ^LCD._DGS) Store ("CRT DisConnected VGA.DRUL(2) called", Debug) } Notify (VGA, 0x80) } If (LEqual (Arg0, 0x04)) { Store (0x00, ^CRT._DGS) Store (0x01, ^LCD._DGS) Notify (VGA, 0x80) } If (LEqual (Arg0, 0x03)) { If (LNotEqual (ShiftRight (And (Local1, 0x10), 0x03), And (Local2, 0x02))) { If (And (Local2, 0x02)) { Store (0x01, ^CRT._DGS) If (\_SB.PCI0.ISA.DISB) { Store (0x01, ^LCD._DGS) } Else { Store (0x00, ^LCD._DGS) } } Else { Store (0x00, ^CRT._DGS) Store (0x01, ^LCD._DGS) } Store ("Resume VGA.DRUL(3) called", Debug) Notify (VGA, 0x80) } } If (LEqual (Arg0, 0x05)) { Notify (VGA, 0x80) Return (0x00) } } Device (LCD) { Name (_ADR, 0x0110) Name (_PSC, 0x00) Name (_S3D, 0x03) Method (_PS0, 0, NotSerialized) { If (LAnd (LAnd (VRSM, LNot (^^CRT._PSC)), LNot (^^TV._PSC))) { If (_PSC) { DRUL (0x03) } Store (0x00, VRSM) } Store (0x00, _PSC) } Method (_PS1, 0, NotSerialized) { Store (0x01, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_DCS, 0x1B) Method (_DSS, 1, NotSerialized) { Store (Arg0, Local0) If (And (Local0, 0x01)) { Store ("LCD._DSS(1) called", Debug) Or (NDSP, 0x01, NDSP) } Else { Store ("LCD._DSS(0) called", Debug) And (NDSP, 0xFE, NDSP) } And (Local0, 0xC0000000, Local0) If (LEqual (Local0, 0x80000000)) { Store ("LCD._DSS(8000000x) called", Debug) \_SB.PCI0.ISA.HPSS (0x01, NDSP) } And (Local0, 0x80000000, Local0) If (LNotEqual (Local0, 0x00)) { Store ("LCD._DSS, update next _DGS", Debug) Or (And (^^LCD._DCS, 0xFD), ShiftLeft (And (NDSP, 0x01), 0x01), ^^LCD._DCS) Or (And (^^CRT._DCS, 0xFD), And (NDSP, 0x02), ^^CRT._DCS) Or (And (^^TV._DCS, 0xFD), ShiftRight (And (NDSP, 0x04), 0x01), ^^TV._DCS) } } Name (_DGS, 0x00) } Device (CRT) { Name (_ADR, 0x0100) Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { If (LAnd (LAnd (VRSM, LNot (^^LCD._PSC)), LNot (^^TV._PSC))) { If (_PSC) { DRUL (0x03) } Store (0x00, VRSM) } Store (0x00, _PSC) } Method (_PS1, 0, NotSerialized) { Store (0x01, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_DCS, 0x1B) Method (_DSS, 1, NotSerialized) { Store (Arg0, Local0) If (And (Local0, 0x01)) { Store ("CRT._DSS(1) called", Debug) Or (NDSP, 0x02, NDSP) } Else { Store ("CRT._DSS(0) called", Debug) And (NDSP, 0xFD, NDSP) } And (Local0, 0xC0000000, Local0) If (LEqual (Local0, 0x80000000)) { Store ("CRT._DSS(8000000x) called", Debug) \_SB.PCI0.ISA.HPSS (0x01, NDSP) } And (Local0, 0x80000000, Local0) If (LNotEqual (Local0, 0x00)) { Store ("CRT._DSS, update next _DGS", Debug) Or (And (^^LCD._DCS, 0xFD), ShiftLeft (And (NDSP, 0x01), 0x01), ^^LCD._DCS) Or (And (^^CRT._DCS, 0xFD), And (NDSP, 0x02), ^^CRT._DCS) Or (And (^^TV._DCS, 0xFD), ShiftRight (And (NDSP, 0x04), 0x01), ^^TV._DCS) } } Name (_DGS, 0x00) } Device (TV) { Name (_ADR, 0x0200) Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { If (LAnd (LAnd (VRSM, LNot (^^CRT._PSC)), LNot (^^LCD._PSC))) { If (_PSC) { DRUL (0x03) } Store (0x00, VRSM) } Store (0x00, _PSC) } Method (_PS1, 0, NotSerialized) { Store (0x01, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_DCS, 0x1B) Method (_DSS, 1, NotSerialized) { Store (Arg0, Local0) If (And (Local0, 0x01)) { Store ("TV_._DSS(1) called", Debug) Or (NDSP, 0x04, NDSP) } Else { Store ("TV_._DSS(0) called", Debug) And (NDSP, 0xFB, NDSP) } And (Local0, 0xC0000000, Local0) If (LEqual (Local0, 0x80000000)) { Store ("TV_._DSS(8000000x) called", Debug) \_SB.PCI0.ISA.HPSS (0x01, NDSP) } And (Local0, 0x80000000, Local0) If (LNotEqual (Local0, 0x00)) { Store ("TV_._DSS, update next _DGS", Debug) Or (And (^^LCD._DCS, 0xFD), ShiftLeft (And (NDSP, 0x01), 0x01), ^^LCD._DCS) Or (And (^^CRT._DCS, 0xFD), And (NDSP, 0x02), ^^CRT._DCS) Or (And (^^TV._DCS, 0xFD), ShiftRight (And (NDSP, 0x04), 0x01), ^^TV._DCS) } } Name (_DGS, 0x00) } } Name (_PRT, Package (0x01) { Package (0x04) { 0x0005FFFF, 0x00, \_SB.PCI0.ISA.LNKC, 0x00 } }) } Device (IDE) { Name (_ADR, 0x00100000) Name (UDMT, Package (0x08) { 0x1E, 0x2D, 0x3C, 0x5A, 0x78, 0x78, 0x78, 0x14 }) Name (PIOT, Package (0x05) { 0x78, 0xB4, 0xF0, 0x017F, 0x0258 }) Name (PIOC, Package (0x05) { 0x04, 0x06, 0x08, 0x0D, 0x10 }) Name (CBCT, Package (0x05) { 0x31, 0x33, 0x01, 0x03, 0x0A }) Name (DACT, Package (0x05) { 0x03, 0x03, 0x04, 0x05, 0x08 }) Name (DRCT, Package (0x05) { 0x01, 0x03, 0x04, 0x08, 0x08 }) Name (PXLM, Package (0x05) { 0x02, 0x01, 0x00, 0x00, 0x00 }) OperationRegion (PCI, PCI_Config, 0x00, 0x60) Field (PCI, ByteAcc, NoLock, Preserve) { Offset (0x09), , 4, SCHE, 1, PCHE, 1, Offset (0x0A), Offset (0x0D), Offset (0x4B), U66E, 1, Offset (0x4C), Offset (0x53), CDFI, 1, CDUD, 1, Offset (0x54), PFTH, 8, SFTH, 8, PUDC, 8, SUDC, 8, PAST, 8, PCBT, 8, PTM0, 8, PTM1, 8, SAST, 8, SCBT, 8, STM0, 8, STM1, 8 } Method (STM, 3, NotSerialized) { Name (A100, 0x00) Store (Buffer (0x06) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, Local7) CreateByteField (Local7, 0x00, TM0) CreateByteField (Local7, 0x01, TM1) CreateByteField (Local7, 0x02, UDC) CreateByteField (Local7, 0x03, AST) CreateByteField (Local7, 0x04, CBT) CreateByteField (Local7, 0x05, U66) CreateDWordField (Arg0, 0x00, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) Store (FLAG, Local6) Name (W49M, 0x00) Name (W53M, 0x00) Name (W62M, 0x00) Name (W64M, 0x00) Name (W88M, 0x00) If (LEqual (SizeOf (Arg1), 0x0200)) { CreateDWordField (Arg1, 0x62, W49A) CreateDWordField (Arg1, 0x6A, W53A) CreateDWordField (Arg1, 0x7C, W62A) CreateDWordField (Arg1, 0x80, W64A) CreateDWordField (Arg1, 0xB0, W88A) Store (W49A, W49M) Store (W53A, W53M) Store (W62A, W62M) Store (W64A, W64M) Store (W88A, W88M) } Else { Store (0x00, W49M) Store (0x00, W53M) Store (0x00, W62M) Store (0x00, W64M) Store (0x00, W88M) } If (LAnd (And (0x38, W88M), Ones)) { Or (0x01, Local6, Local6) If (And (0x20, W88M)) { Store (0x08, DMA0) Or (A100, 0x00100010, A100) } Else { If (And (0x10, W88M)) { Store (0x1E, DMA0) Or (A100, 0x10, A100) } Else { Store (0x2D, DMA0) } } } Else { If (And (0x07, W88M)) { Or (0x0100, A100, A100) If (And (0x04, W88M)) { Store (0x3C, DMA0) } Else { If (And (0x02, W88M)) { Store (0x5A, DMA0) } Else { Store (0x78, DMA0) } } } } Store (Ones, Local4) If (LOr (DMA0, PIO0)) { If (LAnd (DMA0, LNot (PIO0))) { If (And (Local6, 0x01)) { If (LLess (DMA0, 0x1E)) { Store (0x07, Local0) } Else { Store (Match (^UDMT, MGE, DMA0, MTR, 0x00, 0x00), Local0) } Or (Local0, 0x08, UDC) If (LLess (DMA0, 0x3C)) { Store (One, U66) } } Store (Match (^PIOT, MGE, DMA0, MTR, 0x00, 0x00), Local0) Store (DerefOf (Index (^DACT, Local0)), Local2) Store (DerefOf (Index (^DRCT, Local0)), Local3) Add (Local3, ShiftLeft (Local2, 0x04), TM0) Store (Local0, Local4) } If (LAnd (LNot (DMA0), PIO0)) { Store (Match (^PIOT, MGE, PIO0, MTR, 0x00, 0x00), Local0) Store (DerefOf (Index (^DACT, Local0)), Local2) Store (DerefOf (Index (^DRCT, Local0)), Local3) Add (Local3, ShiftLeft (Local2, 0x04), TM0) Store (Local0, Local4) } If (LAnd (DMA0, PIO0)) { If (And (Local6, 0x01)) { If (LLess (DMA0, 0x1E)) { Store (0x07, Local0) } Else { Store (Match (^UDMT, MGE, DMA0, MTR, 0x00, 0x00), Local0) } Or (Local0, 0x08, UDC) If (LLess (DMA0, 0x3C)) { Store (One, U66) } } If (LGreaterEqual (PIO0, DMA0)) { Store (Match (^PIOT, MGE, PIO0, MTR, 0x00, 0x00), Local0) Store (Local0, Local4) } Else { Store (Match (^PIOT, MGE, DMA0, MTR, 0x00, 0x00), Local0) Store (Local0, Local4) } Store (DerefOf (Index (^DACT, Local0)), Local2) Store (DerefOf (Index (^DRCT, Local0)), Local3) Add (Local3, ShiftLeft (Local2, 0x04), TM0) } } Store (Ones, Local5) If (LEqual (Local4, Ones)) { If (LEqual (Local5, Ones)) { Store (Zero, CBT) } Else { Store (DerefOf (Index (^CBCT, Local5)), CBT) } } Else { If (LEqual (Local5, Ones)) { Store (DerefOf (Index (^CBCT, Local4)), CBT) } Else { If (LGreaterEqual (Local4, Local5)) { Store (DerefOf (Index (^CBCT, Local4)), CBT) } Else { Store (DerefOf (Index (^CBCT, Local5)), CBT) } } } Store (0x02, AST) Return (Local7) } Method (GTF0, 3, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local7) CreateByteField (Local7, 0x01, MODE) If (And (Arg1, 0x08)) { And (Arg1, 0x07, Local0) If (LEqual (Local0, 0x07)) { Store (0x05, MODE) } Else { Subtract (0x04, Local0, MODE) } Or (MODE, 0x40, MODE) } Else { And (Arg2, 0x0F, Local0) Store (Match (^DRCT, MEQ, Local0, MTR, 0x00, 0x00), Local1) Store (DerefOf (Index (^PXLM, Local1)), MODE) Or (MODE, 0x20, MODE) } Concatenate (Local7, Local7, Local6) And (Arg2, 0x0F, Local0) Store (Match (^DRCT, MEQ, Local0, MTR, 0x00, 0x00), Local1) Subtract (0x04, Local1, MODE) Or (MODE, 0x08, MODE) Concatenate (Local6, Local7, Local5) Return (Local5) } Device (PRIM) { Name (_ADR, 0x00) Name (_PSC, 0x00) OperationRegion (HDIO, SystemIO, 0x01F0, 0x08) Field (HDIO, ByteAcc, NoLock, Preserve) { Offset (0x01), Offset (0x02), Offset (0x03), Offset (0x04), Offset (0x05), Offset (0x06), HDSL, 8, HDCM, 8 } Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Method (_GTM, 0, NotSerialized) { Store ("GTM - Primary Controller", Debug) Return (Buffer (0x14) { /* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, /* 0008 */ 0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, /* 0010 */ 0x1F, 0x00, 0x00, 0x00 }) } Method (_STM, 3, NotSerialized) { Store ("STM - Primary Controller", Debug) Store (^^STM (Arg0, Arg1, Arg2), Local0) CreateByteField (Local0, 0x00, TM0) CreateByteField (Local0, 0x01, TM1) CreateByteField (Local0, 0x02, UDC) CreateByteField (Local0, 0x03, AST) CreateByteField (Local0, 0x04, CBT) CreateByteField (Local0, 0x05, U66) Store (TM0, ^^PTM0) Store (TM1, ^^PTM1) Store (UDC, ^^PUDC) Store (AST, ^^PAST) Store (CBT, ^^PCBT) If (U66) { Store (U66, ^^U66E) } Store (0x55, ^^PFTH) } Device (MAST) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Store ("GTF - Primary Master", Debug) Store (^^^GTF0 (^^^PCHE, ^^^PUDC, ^^^PTM0), Local0) Return (Local0) } Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { \_SB.PCI0.ISA.HPSS (0x02, 0x00) Sleep (0x03E8) Store (0x03, _PSC) } } } Device (SECN) { Name (_ADR, 0x01) Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Method (_GTM, 0, NotSerialized) { Store ("GTM - Secondary Controller", Debug) Return (Buffer (0x14) { /* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, /* 0008 */ 0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, /* 0010 */ 0x1F, 0x00, 0x00, 0x00 }) } Method (_STM, 3, NotSerialized) { Store ("STM - Secondary Controller", Debug) Store (^^STM (Arg0, Arg1, Arg2), Local0) CreateByteField (Local0, 0x00, TM0) CreateByteField (Local0, 0x01, TM1) CreateByteField (Local0, 0x02, UDC) CreateByteField (Local0, 0x03, AST) CreateByteField (Local0, 0x04, CBT) CreateByteField (Local0, 0x05, U66) Store (TM0, ^^STM0) Store (TM1, ^^STM1) Store (UDC, ^^SUDC) Store (AST, ^^SAST) Store (CBT, ^^SCBT) If (U66) { Store (U66, ^^U66E) } Store (0x55, ^^SFTH) } Device (MAST) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Store ("GTF - Secondary Master", Debug) Store (^^^GTF0 (^^^SCHE, ^^^SUDC, ^^^STM0), Local0) Return (Local0) } Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_PSC, 0x00) } } } Device (USB1) { Name (_ADR, 0x00020000) Name (_S3D, 0x02) } Device (USB2) { Name (_ADR, 0x000F0000) Name (_S3D, 0x02) Method (_STA, 0, NotSerialized) { If (\_SB.PCI0.ISA.USB2) { Return (0x0F) } Else { Return (0x00) } } } Device (MDEM) { Name (_ADR, 0x00080000) Name (_PRW, Package (0x02) { 0x09, 0x04 }) } Device (AUDI) { Name (_ADR, 0x00060000) } Device (LAN) { Name (_ADR, 0x00120000) Name (_PRW, Package (0x02) { 0x09, 0x05 }) Method (_PSW, 1, NotSerialized) { If (\_SB.ECOK ()) { Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF) If (Arg0) { Store (0x01, \_SB.PCI0.ISA.EC0.WOLE) } Else { Store (0x00, \_SB.PCI0.ISA.EC0.WOLE) } Release (\_SB.PCI0.ISA.EC0.MUT1) } } } Device (IEEE) { Name (_ADR, 0x000C0000) } Device (CBUS) { Name (_ADR, 0x000A0000) } Device (MINI) { Name (_ADR, 0x00090000) } Device (ISA) { Name (_ADR, 0x00070000) OperationRegion (ISAR, PCI_Config, 0x00, 0x9F) Field (ISAR, ByteAcc, NoLock, Preserve) { Offset (0x77), , 6, MDNE, 1, Offset (0x7E), , 7, USB2, 1 } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x8004, // Range Minimum 0x8004, // Range Maximum 0x01, // Alignment 0x02, // Length ) }) OperationRegion (MNVS, SystemMemory, 0x1DEFFE1D, 0x10) Field (MNVS, AnyAcc, Lock, Preserve) { TOOS, 8, LIDS, 8, ACST, 8, TV, 1, FIR, 1, COMM, 1, LPT, 1 } OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002) Field (SMI0, AnyAcc, NoLock, Preserve) { SMIC, 8 } OperationRegion (SMI1, SystemMemory, 0x1DEFFE2D, 0x00000120) Field (SMI1, AnyAcc, NoLock, Preserve) { BCMD, 8, DID, 32, INFO, 2048 } Field (SMI1, AnyAcc, NoLock, Preserve) { AccessAs (ByteAcc, 0x00), Offset (0x05), INF, 8 } Field (SMI1, AnyAcc, NoLock, Preserve) { AccessAs (ByteAcc, 0x00), Offset (0x05), STSB, 8 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x05), PNLR, 32 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x105), BDST, 8 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x106), DKSN, 32 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x10A), DKTP, 8 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x10B), VGAB, 32 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x10F), WOLE, 1, DISB, 1, CPTY, 1, FDDS, 1 } Mutex (PSMX, 0x00) Method (HPSS, 2, NotSerialized) { Acquire (\_SB.PCI0.ISA.PSMX, 0xFFFF) Store (Arg1, STSB) Store (0x80, BCMD) Store (Arg0, DID) Store (Zero, SMIC) Store (STSB, Local0) Release (\_SB.PCI0.ISA.PSMX) Return (Local0) } Method (QCSS, 1, NotSerialized) { Acquire (\_SB.PCI0.ISA.PSMX, 0xFFFF) Store (0x90, BCMD) Store (Arg0, DID) Store (Zero, SMIC) Release (\_SB.PCI0.ISA.PSMX) } OperationRegion (PUSB, PCI_Config, 0x74, 0x01) Field (PUSB, ByteAcc, NoLock, Preserve) { PIRU, 4, Offset (0x01) } OperationRegion (PIRX, PCI_Config, 0x48, 0x04) Field (PIRX, ByteAcc, NoLock, Preserve) { PIRA, 4, PIRB, 4, PIRC, 4, PIRD, 4, PIRE, 4, PIRF, 4, PIRG, 4, PIRH, 4 } Name (IPRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,6,10} }) Name (Z000, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {5,7} }) Name (Z001, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {7,11} }) Name (IXLT, Package (0x10) { 0x00, 0x0200, 0x08, 0x0400, 0x10, 0x20, 0x80, 0x40, 0x02, 0x0800, 0x00, 0x1000, 0x00, 0x4000, 0x00, 0x8000 }) Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x01) Method (_STA, 0, NotSerialized) { If (PIRA) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRA) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRA0) Store (PIRA, Local1) Store (DerefOf (Index (IXLT, Local1)), IRA0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRA0) Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIRA) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { If (PIRB) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) { Return (Z001) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRB) } Method (_CRS, 0, NotSerialized) { Store (Z001, Local0) CreateWordField (Local0, 0x01, IRA0) Store (PIRB, Local1) Store (DerefOf (Index (IXLT, Local1)), IRA0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRA0) Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIRB) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Method (_STA, 0, NotSerialized) { If (PIRC) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRC) } Method (_CRS, 0, NotSerialized)
| Eric Paris | [RFC 0/5] [TALPA] Intro to a linux interface for on access scanning |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Chris Mason | Btrfs v0.16 released |
git: | |
| Michael Hendricks | removing content from git history |
| Jakub Narebski | Re: VCS comparison table |
| Ken Pratt | pack operation is thrashing my server |
| Aubrey Li | git proxy issue |
| Kevin Neff | Patching a SSH 'Weakness' |
| GVG GVG | ssh_exchange_identification: Connection closed by remote host |
| Theo de Raadt | Re: dmesg IBM x3650 OpenBSD 4.3 |
| F. Caulier | [Perl/locales] Warning about locales |
| KOSAKI Motohiro | [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin" |
| Jens Axboe | Re: [BUG] New Kernel Bugs |
| Rémi | [PATCH 0/6] [RFC] Phonet pipes protocol (v2) |
| Oliver Hartkopp | Re: [RFC] Patch to option HSO driver to the kernel |
| Treason Uncloaked | 2 hours ago | Linux kernel |
| Shared swap partition | 13 hours ago | Linux general |
| high memory | 2 days ago | Linux kernel |
| semaphore access speed | 2 days ago | Applications and Utilities |
| the kernel how to power off the machine | 2 days ago | Linux kernel |
| Easter Eggs in windows XP | 2 days ago | Windows |
| Root password | 2 days ago | Linux general |
| Where/when DNOTIFY is used? | 2 days ago | Linux kernel |
| How to convert Linux Kernel built-in module into a loadable module | 2 days ago | Linux kernel |
| Linux 2.6.24 and I/O schedulers | 2 days ago | Linux kernel |
