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)
| Greg Kroah-Hartman | [PATCH 004/196] Chinese: add translation of SubmittingPatches |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Willy Tarreau | Re: Linux 2.6.21 |
| Jan Kundrát | kswapd high CPU usage with no swap |
git: | |
| Jarek Poplawski | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| David Miller | [GIT]: Networking |
| David Miller | Re: [PATCH] tcp: splice as many packets as possible at once |
