/* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20160108-64 * Copyright (c) 2000 - 2016 Intel Corporation * * Disassembling to symbolic ASL+ operators * * Disassembly of ssdt5.dat, Sat Jul 9 10:25:09 2016 * * Original Table Header: * Signature "SSDT" * Length 0x00001A21 (6689) * Revision 0x01 * Checksum 0x32 * OEM ID "DptfTb" * OEM Table ID "DptfTab" * OEM Revision 0x00001000 (4096) * Compiler ID "INTL" * Compiler Version 0x20061109 (537268489) */ DefinitionBlock ("ssdt5.aml", "SSDT", 1, "DptfTb", "DptfTab", 0x00001000) { /* * iASL Warning: There were 2 external control methods found during * disassembly, but additional ACPI tables to resolve these externals * were not specified. This resulting disassembler output file may not * compile because the disassembler did not know how many arguments * to assign to these methods. To specify the tables needed to resolve * external control method references, the -e option can be used to * specify the filenames. Note: SSDTs can be dynamically loaded at * runtime and may or may not be available via the host OS. * Example iASL invocations: * iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml * iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml * iasl -e ssdt*.aml -d dsdt.aml * * In addition, the -fe option can be used to specify a file containing * control method external declarations with the associated method * argument counts. Each line of the file must be of the form: * External (, MethodObj, ) * Invocation: * iasl -fe refs.txt -d dsdt.aml * * The following methods were unresolved and many not compile properly * because the disassembler had to guess at the number of arguments * required for each: */ External (_SB_.PCI0.GFX0.DD1F._BCM, MethodObj) // Warning: Unresolved method, guessing 1 arguments External (_SB_.PCI0.SBRG.H_EC.ECMD, MethodObj) // Warning: Unresolved method, guessing 1 arguments External (_PR_.CPU0, UnknownObj) External (_PR_.CPU0.MPPC, UnknownObj) External (_PR_.CPU1, UnknownObj) External (_PR_.CPU2, UnknownObj) External (_PR_.CPU3, UnknownObj) External (_SB_.PCI0.GFX0.DD1F._BQC, IntObj) External (_SB_.PCI0.GFX0.DD1F._DCS, IntObj) External (_SB_.PCI0.SBRG.H_EC, DeviceObj) External (_SB_.PCI0.SBRG.H_EC.ALT1, UnknownObj) External (_SB_.PCI0.SBRG.H_EC.ART1, UnknownObj) External (_SB_.PCI0.SBRG.H_EC.ART2, UnknownObj) External (_SB_.PCI0.SBRG.H_EC.D0TL, UnknownObj) External (_SB_.PCI0.SBRG.H_EC.DM0T, UnknownObj) External (_SB_.PCI0.SBRG.H_EC.HYST, UnknownObj) External (_SB_.PCI0.SBRG.H_EC.LTMP, UnknownObj) External (_SB_.PCI0.SBRG.H_EC.TMPR, UnknownObj) External (_SB_.PCI0.SBRG.H_EC.TSHT, UnknownObj) External (_SB_.PCI0.SBRG.H_EC.TSI_, UnknownObj) External (_SB_.PCI0.SBRG.H_EC.TSLT, UnknownObj) External (_SB_.PCI0.SBRG.H_EC.TSSR, IntObj) External (_SB_.TCPU, UnknownObj) External (CHGR, UnknownObj) External (DDSP, UnknownObj) External (DPTE, UnknownObj) External (ECON, IntObj) External (GCR0, UnknownObj) External (GCR1, UnknownObj) External (GCR2, UnknownObj) External (GCR3, UnknownObj) External (GCR4, UnknownObj) External (GCR5, UnknownObj) External (GCR6, UnknownObj) External (MAPL, IntObj) External (MIPL, IntObj) External (PDBG, IntObj) External (PST0, UnknownObj) External (PST1, UnknownObj) External (PST2, UnknownObj) External (PST3, UnknownObj) External (PST4, UnknownObj) External (PST5, UnknownObj) External (PST6, UnknownObj) External (PWRS, UnknownObj) External (THM0, UnknownObj) External (THM1, UnknownObj) External (THM2, UnknownObj) Name (PTRT, Package (0x01) { Package (0x08) { \_SB.TCPU, \_SB.TCPU, 0x1E, 0x14, Zero, Zero, Zero, Zero } }) Name (BDLI, 0x02) Name (BDHI, 0x0C) Scope (\_SB) { Device (DPTF) { Name (_HID, EisaId ("INT3400") /* Intel Dynamic Power Performance Management */) // _HID: Hardware ID Name (DPSP, Package (0x01) { ToUUID ("42a441d6-ae6a-462b-a84b-4a8ce79027d3") }) Name (DCSP, Package (0x01) { ToUUID ("97c68ae7-15fa-499c-b8c9-5da81d606e0a") }) Name (DCPP, Package (0x01) { ToUUID ("16caf1b7-dd38-40ed-b1c1-1b8a1913d531") }) Name (TMPP, Package (0x03) { Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }) Method (IDSP, 0, Serialized) { Name (TMPI, Zero) TMPP [TMPI] = DerefOf (DPSP [Zero]) TMPI++ TMPP [TMPI] = DerefOf (DCSP [Zero]) TMPI++ Return (TMPP) /* \_SB_.DPTF.TMPP */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((DPTE == One)) { Return (0x0F) } Else { Return (Zero) } } Name (PDRI, Package (0x01) { Package (0x04) { 0x0A, \_SB.TCPU, Zero, Package (0x02) { 0x00010002, Zero } } }) Name (PDR1, Package (0x02) { Package (0x04) { 0x64, \_SB.TCPU, Zero, Package (0x04) { 0x00010000, 0x0FA0, 0x00010001, 0x1F40 } }, Package (0x04) { 0x64, \_SB.TDSP, 0x0A, Package (0x02) { 0x00050000, 0x64 } } }) Method (PDRT, 0, NotSerialized) { If ((PWRS == Zero)) { Return (PDRI) /* \_SB_.DPTF.PDRI */ } Else { DerefOf (DerefOf (PDR1 [Zero]) [0x03]) [One] = MIPL /* External reference */ DerefOf (DerefOf (PDR1 [Zero]) [0x03]) [0x03] = MAPL /* External reference */ Return (PDR1) /* \_SB_.DPTF.PDR1 */ } } Name (ETRM, Package (0x02) { Package (0x04) { \_SB.TCPU, "INT3401", 0x06, "0" }, Package (0x04) { \_SB.STR0, "INT3403", 0x06, "0" } }) Name (TRTI, Package (0x02) { Package (0x08) { \_SB.TCPU, \_SB.TCPU, 0x64, 0x32, Zero, Zero, Zero, Zero }, Package (0x08) { \_SB.TCPU, \_SB.STR0, 0x64, 0x32, Zero, Zero, Zero, Zero } }) Method (_TRT, 0, NotSerialized) // _TRT: Thermal Relationship Table { Return (PTRT) /* \PTRT */ } Name (TRTR, One) Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities { Name (NUMP, Zero) Name (UID2, Buffer (0x10) { /* 0000 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* ........ */ /* 0008 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF /* ........ */ }) CreateDWordField (Arg3, Zero, STS1) CreateDWordField (Arg3, 0x04, CAP1) IDSP () NUMP = SizeOf (TMPP) CreateDWordField (Arg0, Zero, IID0) CreateDWordField (Arg0, 0x04, IID1) CreateDWordField (Arg0, 0x08, IID2) CreateDWordField (Arg0, 0x0C, IID3) CreateDWordField (UID2, Zero, EID0) CreateDWordField (UID2, 0x04, EID1) CreateDWordField (UID2, 0x08, EID2) CreateDWordField (UID2, 0x0C, EID3) While (NUMP) { UID2 = DerefOf (TMPP [(NUMP - One)]) If ((((IID0 == EID0) && (IID1 == EID1)) && ((IID2 == EID2) && (IID3 == EID3)))) { Break } NUMP-- } If ((NUMP == Zero)) { STS1 &= 0xFFFFFF00 STS1 |= 0x06 Return (Arg3) } If ((Arg1 != One)) { STS1 &= 0xFFFFFF00 STS1 |= 0x0A Return (Arg3) } If ((Arg2 != 0x02)) { STS1 &= 0xFFFFFF00 STS1 |= 0x02 Return (Arg3) } Return (Arg3) } Method (KTOC, 1, Serialized) { Return (((Arg0 - 0x0AAC) / 0x0A)) } Method (CTOK, 1, Serialized) { Return ((0x0AAC + (Arg0 * 0x0A))) } Method (SDBG, 0, NotSerialized) { Return (PDBG) /* External reference */ } } } Scope (\_SB) { Mutex (PATM, 0x00) Device (STR0) { Name (_HID, EisaId ("INT3403") /* DPTF Temperature Sensor */) // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Name (PTYP, 0x03) Name (_STR, Unicode ("CPU remote temp sensor")) // _STR: Description String Name (CTYP, Zero) Name (LTM0, Zero) Method (_STA, 0, NotSerialized) // _STA: Status { If ((THM0 == One)) { Return (0x0F) } Else { Return (Zero) } } Method (_DTI, 1, NotSerialized) // _DTI: Device Temperature Indication { LTM0 = Arg0 Notify (STR0, 0x91) // Device-Specific } Method (_NTT, 0, NotSerialized) // _NTT: Notification Temperature Threshold { Return (0x0ADE) } Method (_TMP, 0, Serialized) // _TMP: Temperature { If (\ECON) { Return ((0x0AAC + (\_SB.PCI0.SBRG.H_EC.TMPR * 0x0A))) } Else { Return (Zero) } } Name (PATC, 0x02) Method (PAT0, 1, Serialized) { If (\ECON) { Local0 = Acquire (\_SB.PATM, 0x0064) If ((Local0 == Zero)) { \_SB.PCI0.SBRG.H_EC.TSLT = ((Arg0 - 0x0AAC) / 0x0A) \_SB.PCI0.SBRG.H_EC.TSI = Zero \_SB.PCI0.SBRG.H_EC.HYST = 0x02 \_SB.PCI0.SBRG.H_EC.ECMD (0x4A) Release (\_SB.PATM) } } } Method (PAT1, 1, Serialized) { If (\ECON) { Local0 = Acquire (\_SB.PATM, 0x0064) If ((Local0 == Zero)) { \_SB.PCI0.SBRG.H_EC.TSHT = ((Arg0 - 0x0AAC) / 0x0A) \_SB.PCI0.SBRG.H_EC.TSI = Zero \_SB.PCI0.SBRG.H_EC.HYST = 0x02 \_SB.PCI0.SBRG.H_EC.ECMD (0x4A) Release (\_SB.PATM) } } } Name (GTSH, 0x14) Method (_CRT, 0, Serialized) // _CRT: Critical Temperature { Return ((0x0AAC + (GCR0 * 0x0A))) } Method (_HOT, 0, Serialized) // _HOT: Hot Temperature { Return ((0x0AAC + ((GCR0 - 0x03) * 0x0A))) } Method (_PSV, 0, Serialized) // _PSV: Passive Temperature { If (CTYP) { Return ((0x0AAC + ((PST0 - 0x08) * 0x0A))) } Else { Return ((0x0AAC + (PST0 * 0x0A))) } } Method (_SCP, 3, Serialized) // _SCP: Set Cooling Policy { If (((Arg0 == Zero) || (Arg0 == One))) { CTYP = Arg0 Notify (\_SB.STR0, 0x91) // Device-Specific } } Method (SDBG, 0, NotSerialized) { Return (PDBG) /* External reference */ } } Device (STR1) { Name (_HID, EisaId ("INT3403") /* DPTF Temperature Sensor */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Name (PTYP, 0x03) Name (_STR, Unicode ("CPU local temp sensor")) // _STR: Description String Name (CTYP, Zero) Name (LTM1, Zero) Method (_STA, 0, NotSerialized) // _STA: Status { If ((THM0 == One)) { Return (0x0F) } Else { Return (Zero) } } Method (_DTI, 1, NotSerialized) // _DTI: Device Temperature Indication { LTM1 = Arg0 Notify (STR1, 0x91) // Device-Specific } Method (_NTT, 0, NotSerialized) // _NTT: Notification Temperature Threshold { Return (0x0ADE) } Method (_TMP, 0, Serialized) // _TMP: Temperature { If (\ECON) { Return ((0x0AAC + (\_SB.PCI0.SBRG.H_EC.LTMP * 0x0A))) } Else { Return (Zero) } } Name (PATC, 0x02) Method (PAT0, 1, Serialized) { If (\ECON) { Local0 = Acquire (\_SB.PATM, 0x0064) If ((Local0 == Zero)) { \_SB.PCI0.SBRG.H_EC.TSLT = ((Arg0 - 0x0AAC) / 0x0A) \_SB.PCI0.SBRG.H_EC.TSI = One \_SB.PCI0.SBRG.H_EC.HYST = 0x02 \_SB.PCI0.SBRG.H_EC.ECMD (0x4A) Release (\_SB.PATM) } } } Method (PAT1, 1, Serialized) { If (\ECON) { Local0 = Acquire (\_SB.PATM, 0x0064) If ((Local0 == Zero)) { \_SB.PCI0.SBRG.H_EC.TSHT = ((Arg0 - 0x0AAC) / 0x0A) \_SB.PCI0.SBRG.H_EC.TSI = One \_SB.PCI0.SBRG.H_EC.HYST = 0x02 \_SB.PCI0.SBRG.H_EC.ECMD (0x4A) Release (\_SB.PATM) } } } Name (GTSH, 0x14) Method (_CRT, 0, Serialized) // _CRT: Critical Temperature { Return ((0x0AAC + (GCR1 * 0x0A))) } Method (_HOT, 0, Serialized) // _HOT: Hot Temperature { Return ((0x0AAC + ((GCR1 - 0x03) * 0x0A))) } Method (_PSV, 0, Serialized) // _PSV: Passive Temperature { If (CTYP) { Return ((0x0AAC + ((PST1 - 0x08) * 0x0A))) } Else { Return ((0x0AAC + (PST1 * 0x0A))) } } Method (_SCP, 3, Serialized) // _SCP: Set Cooling Policy { If (((Arg0 == Zero) || (Arg0 == One))) { CTYP = Arg0 Notify (\_SB.STR1, 0x91) // Device-Specific } } Method (SDBG, 0, NotSerialized) { Return (PDBG) /* External reference */ } } Device (STR2) { Name (_HID, EisaId ("INT3403") /* DPTF Temperature Sensor */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Name (PTYP, 0x03) Name (_STR, Unicode ("Ambient remote 1 temp sensor")) // _STR: Description String Name (CTYP, Zero) Name (LTM2, Zero) Method (_STA, 0, NotSerialized) // _STA: Status { If ((THM1 == One)) { Return (0x0F) } Else { Return (Zero) } } Method (_DTI, 1, NotSerialized) // _DTI: Device Temperature Indication { LTM2 = Arg0 Notify (STR2, 0x91) // Device-Specific } Method (_NTT, 0, NotSerialized) // _NTT: Notification Temperature Threshold { Return (0x0ADE) } Method (_TMP, 0, Serialized) // _TMP: Temperature { If (\ECON) { Return ((0x0AAC + (\_SB.PCI0.SBRG.H_EC.ART1 * 0x0A))) } Else { Return (Zero) } } Name (PATC, 0x02) Method (PAT0, 1, Serialized) { If (\ECON) { Local0 = Acquire (\_SB.PATM, 0x0064) If ((Local0 == Zero)) { \_SB.PCI0.SBRG.H_EC.TSLT = ((Arg0 - 0x0AAC) / 0x0A) \_SB.PCI0.SBRG.H_EC.TSI = 0x02 \_SB.PCI0.SBRG.H_EC.HYST = 0x02 \_SB.PCI0.SBRG.H_EC.ECMD (0x4A) Release (\_SB.PATM) } } } Method (PAT1, 1, Serialized) { If (\ECON) { Local0 = Acquire (\_SB.PATM, 0x0064) If ((Local0 == Zero)) { \_SB.PCI0.SBRG.H_EC.TSHT = ((Arg0 - 0x0AAC) / 0x0A) \_SB.PCI0.SBRG.H_EC.TSI = 0x02 \_SB.PCI0.SBRG.H_EC.HYST = 0x02 \_SB.PCI0.SBRG.H_EC.ECMD (0x4A) Release (\_SB.PATM) } } } Name (GTSH, 0x14) Method (_CRT, 0, Serialized) // _CRT: Critical Temperature { Return ((0x0AAC + (GCR2 * 0x0A))) } Method (_HOT, 0, Serialized) // _HOT: Hot Temperature { Return ((0x0AAC + ((GCR2 - 0x03) * 0x0A))) } Method (_PSV, 0, Serialized) // _PSV: Passive Temperature { If (CTYP) { Return ((0x0AAC + ((PST2 - 0x08) * 0x0A))) } Else { Return ((0x0AAC + (PST2 * 0x0A))) } } Method (_SCP, 3, Serialized) // _SCP: Set Cooling Policy { If (((Arg0 == Zero) || (Arg0 == One))) { CTYP = Arg0 Notify (\_SB.STR2, 0x91) // Device-Specific } } Method (SDBG, 0, NotSerialized) { Return (PDBG) /* External reference */ } } Device (STR3) { Name (_HID, EisaId ("INT3403") /* DPTF Temperature Sensor */) // _HID: Hardware ID Name (_UID, 0x03) // _UID: Unique ID Name (PTYP, 0x03) Name (_STR, Unicode ("Ambient local temp sensor")) // _STR: Description String Name (CTYP, Zero) Name (LTM3, Zero) Method (_STA, 0, NotSerialized) // _STA: Status { If ((THM1 == One)) { Return (0x0F) } Else { Return (Zero) } } Method (_DTI, 1, NotSerialized) // _DTI: Device Temperature Indication { LTM3 = Arg0 Notify (STR3, 0x91) // Device-Specific } Method (_NTT, 0, NotSerialized) // _NTT: Notification Temperature Threshold { Return (0x0ADE) } Method (_TMP, 0, Serialized) // _TMP: Temperature { If (\ECON) { Return ((0x0AAC + (\_SB.PCI0.SBRG.H_EC.ALT1 * 0x0A))) } Else { Return (Zero) } } Name (PATC, 0x02) Method (PAT0, 1, Serialized) { If (\ECON) { Local0 = Acquire (\_SB.PATM, 0x0064) If ((Local0 == Zero)) { \_SB.PCI0.SBRG.H_EC.TSLT = ((Arg0 - 0x0AAC) / 0x0A) \_SB.PCI0.SBRG.H_EC.TSI = 0x03 \_SB.PCI0.SBRG.H_EC.HYST = 0x02 \_SB.PCI0.SBRG.H_EC.ECMD (0x4A) Release (\_SB.PATM) } } } Method (PAT1, 1, Serialized) { If (\ECON) { Local0 = Acquire (\_SB.PATM, 0x0064) If ((Local0 == Zero)) { \_SB.PCI0.SBRG.H_EC.TSHT = ((Arg0 - 0x0AAC) / 0x0A) \_SB.PCI0.SBRG.H_EC.TSI = 0x03 \_SB.PCI0.SBRG.H_EC.HYST = 0x02 \_SB.PCI0.SBRG.H_EC.ECMD (0x4A) Release (\_SB.PATM) } } } Name (GTSH, 0x14) Method (_CRT, 0, Serialized) // _CRT: Critical Temperature { Return ((0x0AAC + (GCR3 * 0x0A))) } Method (_HOT, 0, Serialized) // _HOT: Hot Temperature { Return ((0x0AAC + ((GCR3 - 0x03) * 0x0A))) } Method (_PSV, 0, Serialized) // _PSV: Passive Temperature { If (CTYP) { Return ((0x0AAC + ((PST3 - 0x08) * 0x0A))) } Else { Return ((0x0AAC + (PST3 * 0x0A))) } } Method (_SCP, 3, Serialized) // _SCP: Set Cooling Policy { If (((Arg0 == Zero) || (Arg0 == One))) { CTYP = Arg0 Notify (\_SB.STR3, 0x91) // Device-Specific } } Method (SDBG, 0, NotSerialized) { Return (PDBG) /* External reference */ } } Device (STR4) { Name (_HID, EisaId ("INT3403") /* DPTF Temperature Sensor */) // _HID: Hardware ID Name (_UID, 0x04) // _UID: Unique ID Name (PTYP, 0x03) Name (_STR, Unicode ("Ambient remote 2 temp sensor")) // _STR: Description String Name (CTYP, Zero) Name (LTM4, Zero) Method (_STA, 0, NotSerialized) // _STA: Status { If ((THM1 == One)) { Return (0x0F) } Else { Return (Zero) } } Method (_DTI, 1, NotSerialized) // _DTI: Device Temperature Indication { LTM4 = Arg0 Notify (STR4, 0x91) // Device-Specific } Method (_NTT, 0, NotSerialized) // _NTT: Notification Temperature Threshold { Return (0x0ADE) } Method (_TMP, 0, Serialized) // _TMP: Temperature { If (\ECON) { Return ((0x0AAC + (\_SB.PCI0.SBRG.H_EC.ART2 * 0x0A))) } Else { Return (Zero) } } Name (PATC, 0x02) Method (PAT0, 1, Serialized) { If (\ECON) { Local0 = Acquire (\_SB.PATM, 0x0064) If ((Local0 == Zero)) { \_SB.PCI0.SBRG.H_EC.TSLT = ((Arg0 - 0x0AAC) / 0x0A) \_SB.PCI0.SBRG.H_EC.TSI = 0x04 \_SB.PCI0.SBRG.H_EC.HYST = 0x02 \_SB.PCI0.SBRG.H_EC.ECMD (0x4A) Release (\_SB.PATM) } } } Method (PAT1, 1, Serialized) { If (\ECON) { Local0 = Acquire (\_SB.PATM, 0x0064) If ((Local0 == Zero)) { \_SB.PCI0.SBRG.H_EC.TSHT = ((Arg0 - 0x0AAC) / 0x0A) \_SB.PCI0.SBRG.H_EC.TSI = 0x04 \_SB.PCI0.SBRG.H_EC.HYST = 0x02 \_SB.PCI0.SBRG.H_EC.ECMD (0x4A) Release (\_SB.PATM) } } } Name (GTSH, 0x14) Method (_CRT, 0, Serialized) // _CRT: Critical Temperature { Return ((0x0AAC + (GCR4 * 0x0A))) } Method (_HOT, 0, Serialized) // _HOT: Hot Temperature { Return ((0x0AAC + ((GCR4 - 0x03) * 0x0A))) } Method (_PSV, 0, Serialized) // _PSV: Passive Temperature { If (CTYP) { Return ((0x0AAC + ((PST4 - 0x08) * 0x0A))) } Else { Return ((0x0AAC + (PST4 * 0x0A))) } } Method (_SCP, 3, Serialized) // _SCP: Set Cooling Policy { If (((Arg0 == Zero) || (Arg0 == One))) { CTYP = Arg0 Notify (\_SB.STR4, 0x91) // Device-Specific } } Method (SDBG, 0, NotSerialized) { Return (PDBG) /* External reference */ } } Device (STR5) { Name (_HID, EisaId ("INT3403") /* DPTF Temperature Sensor */) // _HID: Hardware ID Name (_UID, 0x05) // _UID: Unique ID Name (PTYP, 0x03) Name (_STR, Unicode ("DDR3 remote temp sensor")) // _STR: Description String Name (CTYP, Zero) Name (LTM5, Zero) Method (_STA, 0, NotSerialized) // _STA: Status { If ((THM2 == One)) { Return (0x0F) } Else { Return (Zero) } } Method (_DTI, 1, NotSerialized) // _DTI: Device Temperature Indication { LTM5 = Arg0 Notify (STR5, 0x91) // Device-Specific } Method (_NTT, 0, NotSerialized) // _NTT: Notification Temperature Threshold { Return (0x0ADE) } Method (_TMP, 0, Serialized) // _TMP: Temperature { If (\ECON) { Return ((0x0AAC + (\_SB.PCI0.SBRG.H_EC.DM0T * 0x0A))) } Else { Return (Zero) } } Name (PATC, 0x02) Method (PAT0, 1, Serialized) { If (\ECON) { Local0 = Acquire (\_SB.PATM, 0x0064) If ((Local0 == Zero)) { \_SB.PCI0.SBRG.H_EC.TSLT = ((Arg0 - 0x0AAC) / 0x0A) \_SB.PCI0.SBRG.H_EC.TSI = 0x05 \_SB.PCI0.SBRG.H_EC.HYST = 0x02 \_SB.PCI0.SBRG.H_EC.ECMD (0x4A) Release (\_SB.PATM) } } } Method (PAT1, 1, Serialized) { If (\ECON) { Local0 = Acquire (\_SB.PATM, 0x0064) If ((Local0 == Zero)) { \_SB.PCI0.SBRG.H_EC.TSHT = ((Arg0 - 0x0AAC) / 0x0A) \_SB.PCI0.SBRG.H_EC.TSI = 0x05 \_SB.PCI0.SBRG.H_EC.HYST = 0x02 \_SB.PCI0.SBRG.H_EC.ECMD (0x4A) Release (\_SB.PATM) } } } Name (GTSH, 0x14) Method (_CRT, 0, Serialized) // _CRT: Critical Temperature { Return ((0x0AAC + (GCR5 * 0x0A))) } Method (_HOT, 0, Serialized) // _HOT: Hot Temperature { Return ((0x0AAC + ((GCR5 - 0x03) * 0x0A))) } Method (_PSV, 0, Serialized) // _PSV: Passive Temperature { If (CTYP) { Return ((0x0AAC + ((PST5 - 0x08) * 0x0A))) } Else { Return ((0x0AAC + (PST5 * 0x0A))) } } Method (_SCP, 3, Serialized) // _SCP: Set Cooling Policy { If (((Arg0 == Zero) || (Arg0 == One))) { CTYP = Arg0 Notify (\_SB.STR5, 0x91) // Device-Specific } } Method (SDBG, 0, NotSerialized) { Return (PDBG) /* External reference */ } } Device (STR6) { Name (_HID, EisaId ("INT3403") /* DPTF Temperature Sensor */) // _HID: Hardware ID Name (_UID, 0x06) // _UID: Unique ID Name (PTYP, 0x03) Name (_STR, Unicode ("DDR3 local temp sensor")) // _STR: Description String Name (CTYP, Zero) Name (LTM6, Zero) Method (_STA, 0, NotSerialized) // _STA: Status { If ((THM2 == One)) { Return (0x0F) } Else { Return (Zero) } } Method (_DTI, 1, NotSerialized) // _DTI: Device Temperature Indication { LTM6 = Arg0 Notify (STR6, 0x91) // Device-Specific } Method (_NTT, 0, NotSerialized) // _NTT: Notification Temperature Threshold { Return (0x0ADE) } Method (_TMP, 0, Serialized) // _TMP: Temperature { If (\ECON) { Return ((0x0AAC + (\_SB.PCI0.SBRG.H_EC.D0TL * 0x0A))) } Else { Return (Zero) } } Name (PATC, 0x02) Method (PAT0, 1, Serialized) { If (\ECON) { Local0 = Acquire (\_SB.PATM, 0x0064) If ((Local0 == Zero)) { \_SB.PCI0.SBRG.H_EC.TSLT = ((Arg0 - 0x0AAC) / 0x0A) \_SB.PCI0.SBRG.H_EC.TSI = 0x06 \_SB.PCI0.SBRG.H_EC.HYST = 0x02 \_SB.PCI0.SBRG.H_EC.ECMD (0x4A) Release (\_SB.PATM) } } } Method (PAT1, 1, Serialized) { If (\ECON) { Local0 = Acquire (\_SB.PATM, 0x0064) If ((Local0 == Zero)) { \_SB.PCI0.SBRG.H_EC.TSHT = ((Arg0 - 0x0AAC) / 0x0A) \_SB.PCI0.SBRG.H_EC.TSI = 0x06 \_SB.PCI0.SBRG.H_EC.HYST = 0x02 \_SB.PCI0.SBRG.H_EC.ECMD (0x4A) Release (\_SB.PATM) } } } Name (GTSH, 0x14) Method (_CRT, 0, Serialized) // _CRT: Critical Temperature { Return ((0x0AAC + (GCR6 * 0x0A))) } Method (_HOT, 0, Serialized) // _HOT: Hot Temperature { Return ((0x0AAC + ((GCR6 - 0x03) * 0x0A))) } Method (_PSV, 0, Serialized) // _PSV: Passive Temperature { If (CTYP) { Return ((0x0AAC + ((PST6 - 0x08) * 0x0A))) } Else { Return ((0x0AAC + (PST6 * 0x0A))) } } Method (_SCP, 3, Serialized) // _SCP: Set Cooling Policy { If (((Arg0 == Zero) || (Arg0 == One))) { CTYP = Arg0 Notify (\_SB.STR6, 0x91) // Device-Specific } } Method (SDBG, 0, NotSerialized) { Return (PDBG) /* External reference */ } } Device (TDSP) { Name (_HID, EisaId ("INT3406") /* Intel Dynamic Platform & Thermal Framework Display Participant */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { If ((DDSP == Zero)) { Return (Zero) } Return (0x0F) } Method (DDDL, 0, NotSerialized) { Return (BDLI) /* \BDLI */ } Method (DDPC, 0, NotSerialized) { Return (BDHI) /* \BDHI */ } Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels { Return (Package (0x16) { 0x50, 0x32, 0x05, 0x0A, 0x0F, 0x14, 0x19, 0x1E, 0x23, 0x28, 0x2D, 0x32, 0x37, 0x3C, 0x41, 0x46, 0x4B, 0x50, 0x55, 0x5A, 0x5F, 0x64 }) } Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method { If (((Arg0 >= Zero) && (Arg0 <= 0x64))) { \_SB.PCI0.GFX0.DD1F._BCM (Arg0) } } Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current { Return (\_SB.PCI0.GFX0.DD1F._BQC) /* External reference */ } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { Return (\_SB.PCI0.GFX0.DD1F._DCS) /* External reference */ } Method (SDBG, 0, NotSerialized) { Return (PDBG) /* External reference */ } } Device (TCHG) { Name (_HID, EisaId ("INT3403") /* DPTF Temperature Sensor */) // _HID: Hardware ID Name (_UID, 0x07) // _UID: Unique ID Name (PTYP, 0x0B) Name (_STR, Unicode ("Intel DPTF Charger Participant")) // _STR: Description String Method (_STA, 0, NotSerialized) // _STA: Status { If ((CHGR == Zero)) { Return (Zero) } Return (0x0F) } Name (PPSS, Package (0x06) { Package (0x08) { Zero, Zero, Zero, Zero, Zero, 0x0880, "mA", Zero }, Package (0x08) { Zero, Zero, Zero, Zero, One, 0x0800, "mA", Zero }, Package (0x08) { Zero, Zero, Zero, Zero, 0x02, 0x0600, "mA", Zero }, Package (0x08) { Zero, Zero, Zero, Zero, 0x03, 0x0400, "mA", Zero }, Package (0x08) { Zero, Zero, Zero, Zero, 0x04, 0x0200, "mA", Zero }, Package (0x08) { Zero, Zero, Zero, Zero, 0x05, Zero, "mA", Zero } }) Method (PPPC, 0, NotSerialized) { Local2 = SizeOf (PPSS) Local2-- If ((PWRS == Zero)) { Return (Local2) } Else { Return (Zero) } } Method (SPPC, 1, Serialized) { \_PR.CPU0.MPPC = Arg0 Notify (\_PR.CPU0, 0x80) // Status Change Notify (\_PR.CPU1, 0x80) // Status Change Notify (\_PR.CPU2, 0x80) // Status Change Notify (\_PR.CPU3, 0x80) // Status Change } Method (SDBG, 0, NotSerialized) { Return (PDBG) /* External reference */ } } } Scope (\_SB.PCI0.SBRG.H_EC) { Method (_QF1, 0, NotSerialized) // _Qxx: EC Query { Local0 = \_SB.PCI0.SBRG.H_EC.TSSR /* External reference */ While (Local0) { \_SB.PCI0.SBRG.H_EC.TSSR = Zero If ((Local0 & 0x40)) { Notify (\_SB.STR6, 0x90) // Device-Specific } If ((Local0 & 0x20)) { Notify (\_SB.STR5, 0x90) // Device-Specific } If ((Local0 & 0x10)) { Notify (\_SB.STR4, 0x90) // Device-Specific } If ((Local0 & 0x08)) { Notify (\_SB.STR3, 0x90) // Device-Specific } If ((Local0 & 0x04)) { Notify (\_SB.STR2, 0x90) // Device-Specific } If ((Local0 & 0x02)) { Notify (\_SB.STR1, 0x90) // Device-Specific } If ((Local0 & One)) { Notify (\_SB.STR0, 0x90) // Device-Specific } Local0 = \_SB.PCI0.SBRG.H_EC.TSSR /* External reference */ } } } }