/* * Intel ACPI Component Architecture * AML Disassembler version 20101209-64 [Apr 7 2011] * Copyright (c) 2000 - 2010 Intel Corporation * * Disassembly of /tmp/fwts_iasl_2872_SSDT.dat, Thu May 5 22:11:42 2011 * * Original Table Header: * Signature "SSDT" * Length 0x000010B9 (4281) * Revision 0x01 * Checksum 0x0B * OEM ID "AmdRef" * OEM Table ID "AmdTabl" * OEM Revision 0x00001000 (4096) * Compiler ID "INTL" * Compiler Version 0x20060912 (537266450) */ DefinitionBlock ("/tmp/fwts_iasl_2872_SSDT.aml", "SSDT", 1, "AmdRef", "AmdTabl", 0x00001000) { External (SGSD, IntObj) External (MSGF) External (EBAS, MethodObj) // 1 Arguments External (ASLB, MethodObj) // 1 Arguments External (LIDS, MethodObj) // 0 Arguments External (DSEN) External (PWRS, IntObj) External (NDID) External (DID7) External (DID6) External (DID5) External (DID4) External (DID3) External (DID2) External (DID1) External (AMDA, MethodObj) // 1 Arguments External (SGEN) External (P8XH, MethodObj) // 5 Arguments External (\_SB_.PCI0.P0P2, DeviceObj) External (\_SB_.PCI0.GFX0, DeviceObj) External (\_SB_.PCI0.GFX0.CLID) External (\_SB_.PCI0.GFX0.AINT, MethodObj) // 2 Arguments External (\_SB_.PCI0.GFX0.GHDS, MethodObj) // 1 Arguments External (\_SB_.PCI0.GFX0.GLID, MethodObj) // 1 Arguments External (\_SB_.PCI0.P0P2.PEGP, DeviceObj) External (\_SB_.PCI0.P0P2.PEGP._ADR) Scope (\_SB.PCI0.GFX0) { Method (_DSM, 4, Serialized) { Store (And (Arg2, 0xFF), Local0) P8XH (One, 0xD5, P8XH (Zero, Local0, Store (One, SGEN), If ( LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0xD3, 0x73, 0xD8, 0x7E, 0xD0, 0xC2, 0x4F, 0x4E, /* 0008 */ 0xA8, 0x54, 0x0F, 0x13, 0x17, 0xB0, 0x1C, 0x2C })) { If (LEqual (Arg2, Zero)) { Return (Buffer (0x04) { 0x03, 0x00, 0x00, 0x00 }) } If (LEqual (Arg2, One)) { Return (Package (0x08) { 0x07, Package (0x02) { 0x80010100, Buffer (0x04) { 0x01, 0x03, 0x03, 0x00 } }, Package (0x02) { 0x80010400, Buffer (0x04) { 0x02, 0x03, 0x03, 0x00 } }, Package (0x02) { 0x80010300, Buffer (0x04) { 0x08, 0x03, 0x03, 0x03 } }, Package (0x02) { 0x80010301, Buffer (0x04) { 0x04, 0x03, 0x03, 0x03 } }, Package (0x02) { 0x80010302, Buffer (0x04) { 0x05, 0x03, 0x03, 0x03 } }, Package (0x02) { 0x80010303, Buffer (0x04) { 0x0A, 0x03, 0x03, 0x03 } }, Package (0x02) { 0x80010304, Buffer (0x04) { 0x06, 0x03, 0x03, 0x03 } } }) } Return (One) }, Return (One))) } OperationRegion (APXM, SystemMemory, AMDA (0x00010400), Field (APXM, AnyAcc, NoLock, Preserve) { APSG, 128, APSZ, 32, APVR, 32, Offset (0x100), APXA, 32, RVBS, 32, TVBO, 32, PXEN, 8, Offset (0x180), NTLE, 16, TLE1, 16, TLE2, 16, TLE3, 16, TLE4, 16, TLE5, 16, TLE6, 16, TLE7, 16, TLE8, 16, TLE9, 16, TL10, 16, TL11, 16, TL12, 16, TL13, 16, TL14, 16, TL15, 16, Offset (0x200), TGXA, 16, AGXA, 16, GSTP, 8, Offset (0x210), DSWR, 8, EMDR, 8, TSTR, 8, FPSR, 8, SPSR, 8, DCFR, 8, Offset (0x230), TSTG, 8, TSSI, 8, FPTG, 8, FPSI, 8, SPWS, 8, Offset (0x250), SUPD, 16, CACD, 16, CCND, 16, NACD, 16, TLST, 8, LDST, 8, Offset (0x3C0), TVSD, 8, EXPM, 8, BPSD, 16, BSPD, 16, TLSN, 16, Offset (0x400), RBF1, 262144, RBF2, 262144 }) Method (ATPX, 2, Serialized) { If (LEqual (Arg0, Zero)) { Name (TMP1, Buffer (0x0100) { 0x00 }) CreateWordField (TMP1, Zero, F0SS) CreateWordField (TMP1, 0x02, F0IV) CreateDWordField (TMP1, 0x04, F0SF) Store (0x08, F0SS) Store (One, F0IV) Store (0xBF, F0SF) Store (0x07, F0SF) Return (TMP1) } If (LEqual (Arg0, One)) { Name (TMP2, Buffer (0x0100) { 0x00 }) CreateWordField (TMP2, Zero, F1SS) CreateDWordField (TMP2, 0x02, F1VM) CreateDWordField (TMP2, 0x06, F1FG) Store (0x0A, F1SS) Store (0x40, F1VM) Store (0x40, F1FG) Return (TMP2) } If (LEqual (Arg0, 0x02)) { CreateWordField (Arg1, Zero, FN2S) CreateByteField (Arg1, 0x02, DGPR) If (LEqual (DGPR, Zero)) { \_SB.PCI0.P0P2.PEGP._OFF () } If (LEqual (DGPR, One)) { \_SB.PCI0.P0P2.PEGP._ON () } Return (Zero) } If (LEqual (Arg0, 0x03)) { CreateWordField (Arg1, Zero, FN3S) CreateWordField (Arg1, 0x02, SDMG) If (LEqual (SDMG, Zero)) { P8XH (Zero, 0x77, Sleep (0x01F4), Store (One, \_SB.PCI0.P0P2.PEGP.PO52), If (LEqual ( SDMG, One)) { P8XH (Zero, 0x78, Sleep (0x01F4), Store (Zero, \_SB.PCI0.P0P2.PEGP.PO52), Return (Zero)) }) } } If (LEqual (Arg0, 0x04)) { CreateWordField (Arg1, Zero, FN4S) CreateWordField (Arg1, 0x02, SIMG) If (LEqual (SIMG, Zero)) { Store (Zero, \_SB.PCI0.P0P2.PEGP.PO38) } If (LEqual (SIMG, One)) { Store (One, \_SB.PCI0.P0P2.PEGP.PO38) } Return (Zero) } If (LEqual (Arg0, 0x05)) { CreateWordField (Arg1, Zero, FN5S) CreateWordField (Arg1, 0x02, TGFX) Store (TGFX, TGXA) Store (One, GSTP) Return (Zero) } If (LEqual (Arg0, 0x06)) { CreateWordField (Arg1, Zero, FN6S) CreateWordField (Arg1, 0x02, AGFX) Store (AGFX, AGXA) Store (Zero, GSTP) Return (Zero) } If (LEqual (Arg0, 0x08)) { Name (TMP3, Buffer (0x0100) { 0x00 }) CreateWordField (TMP3, Zero, NOCN) CreateWordField (TMP3, 0x02, CNSS) Store (0x0E, NOCN) Store (0x46, CNSS) CreateByteField (TMP3, 0x04, FLG1) CreateByteField (TMP3, 0x05, ATI1) CreateByteField (TMP3, 0x06, ADI1) CreateWordField (TMP3, 0x07, ACP1) Store (0x07, FLG1) Store (One, ATI1) Store (Zero, ADI1) Store (0x0100, ACP1) CreateByteField (TMP3, 0x09, FLG2) CreateByteField (TMP3, 0x0A, ATI2) CreateByteField (TMP3, 0x0B, ADI2) CreateWordField (TMP3, 0x0C, ACP2) Store (0x07, FLG2) Store (One, ATI2) Store (One, ADI2) Store (0x0100, ACP2) CreateByteField (TMP3, 0x0E, FLG3) CreateByteField (TMP3, 0x0F, ATI3) CreateByteField (TMP3, 0x10, ADI3) CreateWordField (TMP3, 0x11, ACP3) Store (0x05, FLG3) Store (Zero, ATI3) Store (Zero, ADI3) Store (0x0400, ACP3) CreateByteField (TMP3, 0x13, FLG4) CreateByteField (TMP3, 0x14, ATI4) CreateByteField (TMP3, 0x15, ADI4) CreateWordField (TMP3, 0x16, ACP4) Store (0x05, FLG4) Store (Zero, ATI4) Store (One, ADI4) Store (0x0110, ACP4) CreateByteField (TMP3, 0x18, FLG5) CreateByteField (TMP3, 0x19, ATI5) CreateByteField (TMP3, 0x1A, ADI5) CreateWordField (TMP3, 0x1B, ACP5) Store (0x07, FLG5) Store (0x03, ATI5) Store (Zero, ADI5) Store (0x0300, ACP5) CreateByteField (TMP3, 0x1D, FLG6) CreateByteField (TMP3, 0x1E, ATI6) CreateByteField (TMP3, 0x1F, ADI6) CreateWordField (TMP3, 0x20, ACP6) Store (0x07, FLG6) Store (0x03, ATI6) Store (One, ADI6) Store (0x0210, ACP6) CreateByteField (TMP3, 0x22, FLG7) CreateByteField (TMP3, 0x23, ATI7) CreateByteField (TMP3, 0x24, ADI7) CreateWordField (TMP3, 0x25, ACP7) Store (0x07, FLG7) Store (0x07, ATI7) Store (Zero, ADI7) Store (0x0301, ACP7) CreateByteField (TMP3, 0x27, FLG8) CreateByteField (TMP3, 0x28, ATI8) CreateByteField (TMP3, 0x29, ADI8) CreateWordField (TMP3, 0x2A, ACP8) Store (0x07, FLG8) Store (0x07, ATI8) Store (One, ADI8) Store (0x0220, ACP8) CreateByteField (TMP3, 0x2C, FLG9) CreateByteField (TMP3, 0x2D, ATI9) CreateByteField (TMP3, 0x2E, ADI9) CreateWordField (TMP3, 0x2F, ACP9) Store (0x07, FLG9) Store (0x09, ATI9) Store (Zero, ADI9) Store (0x0302, ACP9) CreateByteField (TMP3, 0x31, FLGA) CreateByteField (TMP3, 0x32, ATIA) CreateByteField (TMP3, 0x33, ADIA) CreateWordField (TMP3, 0x34, ACPA) Store (0x07, FLGA) Store (0x09, ATIA) Store (One, ADIA) Store (0x0230, ACPA) CreateByteField (TMP3, 0x36, FLGB) CreateByteField (TMP3, 0x37, ATIB) CreateByteField (TMP3, 0x38, ADIB) CreateWordField (TMP3, 0x39, ACPB) Store (0x07, FLGB) Store (0x0A, ATIB) Store (Zero, ADIB) Store (0x0303, ACPB) CreateByteField (TMP3, 0x3B, FLGC) CreateByteField (TMP3, 0x3C, ATIC) CreateByteField (TMP3, 0x3D, ADIC) CreateWordField (TMP3, 0x3E, ACPC) Store (0x07, FLGC) Store (0x0A, ATIC) Store (One, ADIC) Store (0x0240, ACPC) CreateByteField (TMP3, 0x40, FLGD) CreateByteField (TMP3, 0x41, ATID) CreateByteField (TMP3, 0x42, ADID) CreateWordField (TMP3, 0x43, ACPD) Store (0x07, FLGD) Store (0x0B, ATID) Store (Zero, ADID) Store (0x0304, ACPD) CreateByteField (TMP3, 0x45, FLGE) CreateByteField (TMP3, 0x46, ATIE) CreateByteField (TMP3, 0x47, ADIE) CreateWordField (TMP3, 0x48, ACPE) Store (0x07, FLGE) Store (0x0B, ATIE) Store (One, ADIE) Store (0x0250, ACPE) Return (TMP3) } Return (Zero) } Method (ATRM, 2, Serialized) { Store (Arg0, Local0) Store (Arg1, Local1) If (LGreater (Local1, 0x1000)) { Store (0x1000, Local1) } If (LGreater (Local0, 0x00010000)) { Return (Buffer (Local1) { 0x00 }) } If (LGreater (Local0, RVBS)) { Return (Buffer (Local1) { 0x00 }) } Multiply (Local1, 0x08, Local3) Name (ROM1, Buffer (0x8000) { 0x00 }) Name (ROM2, Buffer (Local1) { 0x00 }) If (LLess (Local0, 0x8000)) { Store (RBF1, ROM1) } Else { Subtract (Local0, 0x8000, Local0) Store (RBF2, ROM1) } Multiply (Local0, 0x08, Local2) CreateField (ROM1, Local2, Local3, TMPB) Store (TMPB, ROM2) Return (ROM2) } } Method (IDAB, 0, Serialized) { Store (0x80010100, DID1) Store (0x80010400, DID2) Store (0x80010300, DID3) Store (0x80010301, DID4) Store (0x80010302, DID5) Store (0x80010303, DID6) Store (0x80010304, DID7) Store (0x07, NDID) } Method (HGAS, 0, Serialized) { If (PWRS) { Store (One, \_SB.PCI0.GFX0.SPWS) } Else { Store (0x02, \_SB.PCI0.GFX0.SPWS) } If (LNotEqual (\_SB.PCI0.GFX0.GSTP, One)) { Store (One, \_SB.PCI0.GFX0.SPSR) Notify (\_SB.PCI0.GFX0, 0x81) } } Method (HBRT, 1, Serialized) { If (And (0x04, DSEN)) { If (LEqual (Arg0, 0x04)) {} If (LEqual (Arg0, 0x03)) {} } } Method (HLSE, 0, Serialized) { If (LNotEqual (\_SB.PCI0.GFX0.GSTP, One)) { If (LEqual (\_SB.PCI0.GFX0.AGXA, Zero)) { \_SB.PCI0.GFX0.GLID (LIDS ()) } } } Method (HDSE, 1, Serialized) { If (LNotEqual (\_SB.PCI0.GFX0.GSTP, One)) { If (LEqual (\_SB.PCI0.GFX0.AGXA, Zero)) { \_SB.PCI0.GFX0.GHDS (Arg0) } Else { Store (One, \_SB.PCI0.GFX0.DSWR) Notify (\_SB.PCI0.GFX0, 0x81) } } } Method (HPFS, 0, Serialized) { If (LNotEqual (\_SB.PCI0.GFX0.GSTP, One)) { If (LEqual (\_SB.PCI0.GFX0.AGXA, Zero)) { \_SB.PCI0.GFX0.AINT (0x02, Zero) } Else { Store (One, \_SB.PCI0.GFX0.EMDR) If (LEqual (\_SB.PCI0.GFX0.EXPM, 0x02)) { Store (Zero, \_SB.PCI0.GFX0.EXPM) } Else { Increment (\_SB.PCI0.GFX0.EXPM) } Notify (\_SB.PCI0.GFX0, 0x81) } } } Method (HGLS, 0, Serialized) { If (LNotEqual (\_SB.PCI0.GFX0.GSTP, One)) { If (LEqual (\_SB.PCI0.GFX0.AGXA, Zero)) { If (\_SB.PCI0.GFX0.GLID (LIDS ())) { Or (0x80000000, \_SB.PCI0.GFX0.CLID, \_SB.PCI0.GFX0.CLID) } } } } Method (FPED, 0, NotSerialized) { OperationRegion (IGDM, SystemMemory, ASLB (0x2000), Field (IGDM, AnyAcc, NoLock, Preserve) { Offset (0x1C04), DDCH, 1024 }) } Method (PDCC, 0, NotSerialized) { Store (One, \_SB.PCI0.GFX0.DCFR) Notify (\_SB.PCI0.GFX0, 0x81) } Method (PXPW, 0, Serialized) { If (PWRS) { Store (One, \_SB.PCI0.GFX0.SPWS) } Else { Store (0x02, \_SB.PCI0.GFX0.SPWS) } } Scope (\_SB.PCI0) { OperationRegion (HBU1, PCI_Config, 0x40, 0xC0) Field (HBU1, DWordAcc, NoLock, Preserve) { Offset (0x14), , 1, D1EN, 1 } } Scope (\_SB.PCI0.P0P2) { OperationRegion (RPCI, SystemMemory, 0xE0008000, 0x1000) Field (RPCI, DWordAcc, Lock, Preserve) { Offset (0xB0), ASPM, 2, , 2, LNKD, 1, Offset (0x1FC), , 9, SGL1, 1, Offset (0x214), Offset (0x216), LNKS, 4, Offset (0x224), Offset (0x225), DQDA, 1, Offset (0xC28), HCLQ, 1, Offset (0xC34), , 30, PEDQ, 1, PIDQ, 1, Offset (0xDFC), , 1, PEPO, 3, Offset (0xE08), , 31, ROE0, 1, Offset (0xE28), , 31, ROE1, 1, Offset (0xE48), , 31, ROE2, 1, Offset (0xE68), , 31, ROE3, 1, Offset (0xE88), , 31, ROE4, 1, Offset (0xEA8), , 31, ROE5, 1, Offset (0xEC8), , 31, ROE6, 1, Offset (0xEE8), , 31, ROE7, 1, Offset (0xF08), , 31, ROE8, 1, Offset (0xF28), , 31, ROE9, 1, Offset (0xF48), , 31, ROEA, 1, Offset (0xF68), , 31, ROEB, 1, Offset (0xF88), , 31, ROEC, 1, Offset (0xFA8), , 31, ROED, 1, Offset (0xFC8), , 31, ROEE, 1, Offset (0xFE8), , 31, ROEF, 1 } OperationRegion (DMIB, SystemMemory, 0xFED18000, 0x1000) Field (DMIB, DWordAcc, Lock, Preserve) { Offset (0xC34), LLGE, 1, , 28, PCGE, 1, , 1, LGGE, 1 } Device (VGA1) { Name (_ADR, One) OperationRegion (PCIS, PCI_Config, Zero, 0x0100) Field (PCIS, DWordAcc, Lock, Preserve) { Offset (0x4C), SSID, 32 } } } Scope (\_SB.PCI0.P0P2.PEGP) { OperationRegion (PCIS, SystemMemory, EBAS (0x0100), Field (PCIS, DWordAcc, Lock, Preserve) { Offset (0x4C), SSID, 32 }) OperationRegion (GPIO, SystemIO, 0x1180, 0x60) Field (GPIO, ByteAcc, Lock, Preserve) { Offset (0x0C), Offset (0x0E), PO16, 1, PI17, 1, Offset (0x38), , 4, PO36, 1, PI37, 1, PO38, 1, , 13, PO52, 1, PO53, 1, Offset (0x48), , 3 } Method (_INI, 0, NotSerialized) { Store (Zero, \_SB.PCI0.P0P2.PEGP._ADR) } Method (_ON, 0, Serialized) { P8XH (Zero, 0x88, Acquire (MSGF, 0xFFFF), Store (Zero, PO52), Store ( Zero, PO16)) Store (Zero, PO36) Sleep (0x012C) Store (One, PO16) Sleep (0x64) Store (Zero, LLGE) Store (Zero, LGGE) Store (Zero, PEPO) Store (Zero, ROE0) Store (Zero, ROE1) Store (Zero, ROE2) Store (Zero, ROE3) Store (Zero, ROE4) Store (Zero, ROE5) Store (Zero, ROE6) Store (Zero, ROE7) Store (Zero, ROE8) Store (Zero, ROE9) Store (Zero, ROEA) Store (Zero, ROEB) Store (Zero, ROEC) Store (Zero, ROED) Store (Zero, ROEE) Store (Zero, ROEF) Store (Zero, HCLQ) Store (Zero, SGL1) Store (Zero, PEDQ) Store (Zero, LNKD) Store (One, LLGE) Store (One, LGGE) While (LLess (LNKS, 0x07)) { Sleep (One) } Store (SGSD, SSID) Store (SGSD, \_SB.PCI0.P0P2.VGA1.SSID) Notify (\_SB.PCI0, Zero) Release (MSGF) } Method (_OFF, 0, Serialized) { P8XH (Zero, 0x89, Acquire (MSGF, 0xFFFF), Store (Zero, LLGE), Store ( Zero, LGGE)) Store (One, LNKD) While (LNotEqual (LNKS, Zero)) { Sleep (One) } Store (One, PEDQ) Store (Zero, LNKD) While (LNotEqual (PIDQ, One)) { Sleep (One) } Store (One, HCLQ) Store (One, SGL1) Store (0x07, PEPO) Store (One, ROE0) Store (One, ROE1) Store (One, ROE2) Store (One, ROE3) Store (One, ROE4) Store (One, ROE5) Store (One, ROE6) Store (One, ROE7) Store (One, ROE8) Store (One, ROE9) Store (One, ROEA) Store (One, ROEB) Store (One, ROEC) Store (One, ROED) Store (One, ROEE) Store (One, ROEF) Store (One, LLGE) Store (One, LGGE) Store (Zero, PO16) Store (One, PO36) Notify (\_SB.PCI0.P0P2, Zero) Release (MSGF) } Method (_STA, 0, Serialized) { If (LEqual (PO36, Zero)) { Return (0x0F) } Return (Zero) } } }