Attachment 'acpidump.txt'
Download 1 /*
2 RSD PTR: OEM=LENOVO, ACPI_Rev=2.0x (2)
3 XSDT=0xbcefe170, length=36, cksum=224
4 */
5 /*
6 XSDT: Length=228, Revision=1, Checksum=22,
7 OEMID=LENOVO, OEM Table ID=TP-GM, OEM Revision=0x2170,
8 Creator ID=PTEC, Creator Revision=0x2
9 Entries={ 0xbcef8000, 0xbcefd000, 0xbcefb000, 0xbcefa000, 0xbcef7000, 0xbcef6000, 0xbcef5000, 0xbcef4000, 0xbcef3000, 0xbcee0000, 0xbcedf000, 0xbcede000, 0xbcedc000, 0xbcedb000, 0xbceda000, 0xbced9000, 0xbced8000, 0xbced7000, 0xbcdb2000, 0xbcefc000, 0xbced6000, 0xbced5000, 0xbced4000, 0xbced3000 }
10 */
11 /*
12 FACP: Length=268, Revision=5, Checksum=126,
13 OEMID=LENOVO, OEM Table ID=TP-GM, OEM Revision=0x2170,
14 Creator ID=PTEC, Creator Revision=0x2
15 FACS=0xbce6a000, DSDT=0xbcee1000
16 INT_MODEL=PIC
17 Preferred_PM_Profile=Mobile (2)
18 SCI_INT=9
19 SMI_CMD=0xb2, ACPI_ENABLE=0xf2, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0
20 PSTATE_CNT=0xf3
21 PM1a_EVT_BLK=0x1800-0x1803
22 PM1a_CNT_BLK=0x1804-0x1805
23 PM2_CNT_BLK=0x1850-0x1850
24 PM_TMR_BLK=0x1808-0x180b
25 GPE0_BLK=0x1820-0x182f
26 CST_CNT=0xf4
27 P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us
28 FLUSH_SIZE=0, FLUSH_STRIDE=0
29 DUTY_OFFSET=1, DUTY_WIDTH=3
30 DAY_ALRM=13, MON_ALRM=0, CENTURY=50
31 IAPC_BOOT_ARCH={LEGACY_DEVICES,8042,NO_ASPM}
32 Flags={WBINVD,C1_SUPPORTED,C2_MP_SUPPORTED,SLEEP_BUTTON,S4_RTC_WAKE,DOCKING_SUPPORTED,RESET_REGISTER,PCI_EXPRESS_WAKE}
33 RESET_REG=0xcf9:0[8] (IO), RESET_VALUE=0x6
34 */
35 /*
36 FACS: Length=64, HwSig=0x00002954, Firm_Wake_Vec=0x00000000
37 Global_Lock=
38 Flags=
39 Version=2
40 */
41 /*
42 DSDT: Length=72439, Revision=1, Checksum=156,
43 OEMID=LENOVO, OEM Table ID=TP-GM, OEM Revision=0x2170,
44 Creator ID=INTL, Creator Revision=0x20120711
45 */
46 /*
47 SLIC: Length=374, Revision=1, Checksum=47,
48 OEMID=LENOVO, OEM Table ID=TP-GM, OEM Revision=0x2170,
49 Creator ID=PTEC, Creator Revision=0x1
50 */
51 /*
52 DBGP: Length=52, Revision=1, Checksum=75,
53 OEMID=LENOVO, OEM Table ID=TP-GM, OEM Revision=0x2170,
54 Creator ID=PTEC, Creator Revision=0x2
55 */
56 /*
57 ECDT: Length=82, Revision=1, Checksum=254,
58 OEMID=LENOVO, OEM Table ID=TP-GM, OEM Revision=0x2170,
59 Creator ID=PTEC, Creator Revision=0x2
60 EC_CONTROL=0x66:0[8] (IO)
61 EC_DATA=0x62:0[8] (IO)
62 UID=0, GPE_BIT=0x11
63 EC_ID=\_SB.PCI0.LPC.EC
64 */
65 /*
66 HPET: Length=56, Revision=1, Checksum=71,
67 OEMID=LENOVO, OEM Table ID=TP-GM, OEM Revision=0x2170,
68 Creator ID=PTEC, Creator Revision=0x2
69 HPET Number=0
70 ADDR=0xfed00000:0[0] (Memory) HW Rev=0x1
71 Comparators=3
72 Counter Size=1
73 Legacy IRQ routing capable={TRUE}
74 PCI Vendor ID=0x8086
75 Minimal Tick=128
76 Flags=0x00
77 */
78 /*
79 APIC: Length=152, Revision=1, Checksum=101,
80 OEMID=LENOVO, OEM Table ID=TP-GM, OEM Revision=0x2170,
81 Creator ID=PTEC, Creator Revision=0x2
82 Local APIC ADDR=0xfee00000
83 Flags={PC-AT}
84
85 Type=Local APIC
86 ACPI CPU=1
87 Flags={ENABLED}
88 APIC ID=0
89
90 Type=Local APIC
91 ACPI CPU=2
92 Flags={ENABLED}
93 APIC ID=1
94
95 Type=Local APIC
96 ACPI CPU=3
97 Flags={ENABLED}
98 APIC ID=2
99
100 Type=Local APIC
101 ACPI CPU=4
102 Flags={ENABLED}
103 APIC ID=3
104
105 Type=Local APIC
106 ACPI CPU=5
107 Flags={ENABLED}
108 APIC ID=4
109
110 Type=Local APIC
111 ACPI CPU=6
112 Flags={ENABLED}
113 APIC ID=5
114
115 Type=Local APIC
116 ACPI CPU=7
117 Flags={ENABLED}
118 APIC ID=6
119
120 Type=Local APIC
121 ACPI CPU=8
122 Flags={ENABLED}
123 APIC ID=7
124
125 Type=IO APIC
126 APIC ID=2
127 INT BASE=0
128 ADDR=0x00000000fec00000
129
130 Type=INT Override
131 BUS=0
132 IRQ=0
133 INTR=2
134 Flags={Polarity=conforming, Trigger=conforming}
135
136 Type=INT Override
137 BUS=0
138 IRQ=9
139 INTR=9
140 Flags={Polarity=active-hi, Trigger=level}
141
142 Type=Local APIC NMI
143 ACPI CPU=0
144 LINT Pin=1
145 Flags={Polarity=active-hi, Trigger=edge}
146
147 Type=Local APIC NMI
148 ACPI CPU=1
149 LINT Pin=1
150 Flags={Polarity=active-hi, Trigger=edge}
151 */
152 /*
153 MCFG: Length=60, Revision=1, Checksum=24,
154 OEMID=LENOVO, OEM Table ID=TP-GM, OEM Revision=0x2170,
155 Creator ID=PTEC, Creator Revision=0x2
156
157 Base Address=0x00000000f8000000
158 Segment Group=0x0000
159 Start Bus=0
160 End Bus=63
161 */
162 /*
163 SSDT: Length=51, Revision=1, Checksum=87,
164 OEMID=LENOVO, OEM Table ID=TP-SSDT1, OEM Revision=0x100,
165 Creator ID=INTL, Creator Revision=0x20120711
166 */
167 /*
168 SSDT: Length=1158, Revision=1, Checksum=185,
169 OEMID=LENOVO, OEM Table ID=TP-SSDT2, OEM Revision=0x200,
170 Creator ID=INTL, Creator Revision=0x20120711
171 */
172 /*
173 SSDT: Length=2936, Revision=1, Checksum=91,
174 OEMID=LENOVO, OEM Table ID=SataAhci, OEM Revision=0x1000,
175 Creator ID=INTL, Creator Revision=0x20120711
176 */
177 /*
178 SSDT: Length=2003, Revision=1, Checksum=251,
179 OEMID=LENOVO, OEM Table ID=Cpu0Ist, OEM Revision=0x3000,
180 Creator ID=INTL, Creator Revision=0x20120711
181 */
182 /*
183 SSDT: Length=2776, Revision=1, Checksum=8,
184 OEMID=LENOVO, OEM Table ID=CpuPm, OEM Revision=0x3000,
185 Creator ID=INTL, Creator Revision=0x20120711
186 */
187 /*
188 SSDT: Length=4700, Revision=1, Checksum=28,
189 OEMID=LENOVO, OEM Table ID=SaSsdt, OEM Revision=0x3000,
190 Creator ID=INTL, Creator Revision=0x20120711
191 */
192 /*
193 SSDT: Length=889, Revision=1, Checksum=92,
194 OEMID=LENOVO, OEM Table ID=CppcTabl, OEM Revision=0x1000,
195 Creator ID=INTL, Creator Revision=0x20120711
196 */
197 /*
198 PCCT: Length=110, Revision=5, Checksum=213,
199 OEMID=LENOVO, OEM Table ID=TP-GM, OEM Revision=0x2170,
200 Creator ID=PTEC, Creator Revision=0x2
201 */
202 /*
203 SSDT: Length=2756, Revision=1, Checksum=76,
204 OEMID=LENOVO, OEM Table ID=Cpc_Tabl, OEM Revision=0x1000,
205 Creator ID=INTL, Creator Revision=0x20120711
206 */
207 /*
208 TCPA: Length=50, Revision=2, Checksum=197,
209 OEMID=PTL, OEM Table ID=LENOVO, OEM Revision=0x6040000,
210 Creator ID=LNVO, Creator Revision=0x1
211 Class 0 Base Address 0xbcdd3000 Length 589824
212
213 0 0x68342de39b950ead91a555e52cf016e00d8b5ff9 [S-CRTM Contents]
214 0 0x1352246e33277e9d3c9090a434fa72cfa6536ae2 [S-CRTM Version]
215 6 0x2219af15a4615c51f39f91ca66a4c65b09acc8a0 [Wake Event 3]
216 0 0xa2e16fd7af96e53b3aba5964d21ba1dca0ce81a4 [POST Code]
217 4 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
218 2 0x0195dda00e3f300d53d1d02421eeae7c5676e3f2 [Option ROM Execute]
219 2 0xbf859ecf33b69ba0bfb5a953167eae74069b425c [<unknown 0x80000004>]
220 5 0xcd0fdb4531a6ec41be2753ba042637d6e5f7f256 [<unknown 0x80000007>]
221 0 0x6f4da184842baf5b96299f64fb74d0511b2f75a0 [<unknown 0x80000009>]
222 1 0x43aa7ac6e75161e7dc84c4a151367fd42f0d667f [<unknown 0x80000009>]
223 0 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
224 1 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
225 2 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
226 3 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
227 5 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
228 6 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
229 7 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
230 1 0xdfe2c0506f5b25e524943e65cb89ad6e239b4523 [<unknown 0x80000002>]
231 2 0xde4f878d07cba9befaaecb4168afbb3a95388716 [<unknown 0x80000004>]
232 4 0xc1e25c3f6b0dc78d57296aa2870ca6f782ccf80f [Calling INT 19h]
233 4 0xd564bb707b030e193fdd3ddae8818703225c49c3 [Booting BCV Device 80 - Hard Disk]
234 4 0xef6a226ee80dccefb8f3a99467b18513a1069cec [IPL]
235 5 0x52a8932366ee4c61ef4a32a1c30d0651dbd3914c [IPL Partition Data]
236 */
237 /*
238 UEFI: Length=66, Revision=1, Checksum=250,
239 OEMID=LENOVO, OEM Table ID=TP-GM, OEM Revision=0x2170,
240 Creator ID=PTEC, Creator Revision=0x2
241 */
242 /*
243 POAT: Length=85, Revision=3, Checksum=29,
244 OEMID=LENOVO, OEM Table ID=TP-GM, OEM Revision=0x2170,
245 Creator ID=PTEC, Creator Revision=0x2
246 */
247 /*
248 ASF!: Length=165, Revision=32, Checksum=139,
249 OEMID=LENOVO, OEM Table ID=TP-GM, OEM Revision=0x2170,
250 Creator ID=PTEC, Creator Revision=0x2
251 */
252 /*
253 BATB: Length=70, Revision=1, Checksum=132,
254 OEMID=LENOVO, OEM Table ID=TP-GM, OEM Revision=0x2170,
255 Creator ID=PTEC, Creator Revision=0x2
256 */
257 /*
258 FPDT: Length=100, Revision=1, Checksum=193,
259 OEMID=LENOVO, OEM Table ID=TP-GM, OEM Revision=0x2170,
260 Creator ID=PTEC, Creator Revision=0x2
261 */
262 /*
263 UEFI: Length=738, Revision=1, Checksum=21,
264 OEMID=LENOVO, OEM Table ID=TP-GM, OEM Revision=0x2170,
265 Creator ID=PTEC, Creator Revision=0x2
266 */
267 /*
268 DMAR: Length=184, Revision=1, Checksum=30,
269 OEMID=LENOVO, OEM Table ID=TP-GM, OEM Revision=0x2170,
270 Creator ID=PTEC, Creator Revision=0x2
271 Host Address Width=39
272 Flags={INTR_REMAP}
273
274 Type=DRHD
275 Length=24
276 Flags=
277 Segment=0
278 Address=0xfed90000
279 Device Scope:
280 Type=PCI Endpoint Device
281 Length=8
282 EnumerationId=0
283 StartBusNumber=0
284 Path={2:0}
285
286 Type=DRHD
287 Length=32
288 Flags={INCLUDE_ALL}
289 Segment=0
290 Address=0xfed91000
291 Device Scope:
292 Type=IOAPIC
293 Length=8
294 EnumerationId=2
295 StartBusNumber=240
296 Path={31:0}
297
298 Type=HPET
299 Length=8
300 EnumerationId=0
301 StartBusNumber=240
302 Path={15:0}
303
304 Type=RMRR
305 Length=48
306 Segment=0
307 BaseAddress=0xbc4dc000
308 LimitAddress=0xbc4f2fff
309 Device Scope:
310 Type=PCI Endpoint Device
311 Length=8
312 EnumerationId=0
313 StartBusNumber=0
314 Path={29:0}
315
316 Type=PCI Endpoint Device
317 Length=8
318 EnumerationId=0
319 StartBusNumber=0
320 Path={26:0}
321
322 Type=PCI Endpoint Device
323 Length=8
324 EnumerationId=0
325 StartBusNumber=0
326 Path={20:0}
327
328 Type=RMRR
329 Length=32
330 Segment=0
331 BaseAddress=0xbd800000
332 LimitAddress=0xbf9fffff
333 Device Scope:
334 Type=PCI Endpoint Device
335 Length=8
336 EnumerationId=0
337 StartBusNumber=0
338 Path={2:0}
339 */
340 /*
341 * Intel ACPI Component Architecture
342 * AML/ASL+ Disassembler version 20150204-64
343 * Copyright (c) 2000 - 2015 Intel Corporation
344 *
345 * Disassembling to symbolic ASL+ operators
346 *
347 * Disassembly of /tmp/acpidump.LhImFq, Thu Apr 2 18:13:38 2015
348 *
349 * Original Table Header:
350 * Signature "DSDT"
351 * Length 0x00015D4C (89420)
352 * Revision 0x01 **** 32-bit table (V1), no 64-bit math support
353 * Checksum 0xA4
354 * OEM ID "LENOVO"
355 * OEM Table ID "TP-GM "
356 * OEM Revision 0x00002170 (8560)
357 * Compiler ID "INTL"
358 * Compiler Version 0x20120711 (538052369)
359 */
360 DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "LENOVO", "TP-GM ", 0x00002170)
361 {
362 /*
363 * iASL Warning: There were 1 external control methods found during
364 * disassembly, but additional ACPI tables to resolve these externals
365 * were not specified. This resulting disassembler output file may not
366 * compile because the disassembler did not know how many arguments
367 * to assign to these methods. To specify the tables needed to resolve
368 * external control method references, the -e option can be used to
369 * specify the filenames. Example iASL invocations:
370 * iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml
371 * iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml
372 * iasl -e ssdt*.aml -d dsdt.aml
373 *
374 * In addition, the -fe option can be used to specify a file containing
375 * control method external declarations with the associated method
376 * argument counts. Each line of the file must be of the form:
377 * External (<method pathname>, MethodObj, <argument count>)
378 * Invocation:
379 * iasl -fe refs.txt -d dsdt.aml
380 *
381 * The following methods were unresolved and many not compile properly
382 * because the disassembler had to guess at the number of arguments
383 * required for each:
384 */
385 External (GUAM, MethodObj) // Warning: Unresolved method, guessing 1 arguments
386
387 External (_PR_.CPU0._TSS, IntObj)
388 External (_SB_.IAOE.GAOS, UnknownObj)
389 External (_SB_.IAOE.GSWR, UnknownObj)
390 External (_SB_.PCI0.SAT1.PRIM.GTME, UnknownObj)
391 External (_SB_.PCI0.SAT1.SCND.GTME, UnknownObj)
392 External (_SB_.PCI0.SAT1.SCND.MSTR, UnknownObj)
393
394 Scope (\_PR)
395 {
396 Processor (CPU0, 0x01, 0x00001810, 0x06) {}
397 Processor (CPU1, 0x02, 0x00001810, 0x06) {}
398 Processor (CPU2, 0x03, 0x00001810, 0x06) {}
399 Processor (CPU3, 0x04, 0x00001810, 0x06) {}
400 Processor (CPU4, 0x05, 0x00001810, 0x06) {}
401 Processor (CPU5, 0x06, 0x00001810, 0x06) {}
402 Processor (CPU6, 0x07, 0x00001810, 0x06) {}
403 Processor (CPU7, 0x08, 0x00001810, 0x06) {}
404 }
405
406 Scope (\)
407 {
408 Method (PNTF, 1, NotSerialized)
409 {
410 If (((Arg0 == 0x80) && !\OSPX))
411 {
412 If ((\PPMF & 0x01))
413 {
414 If (\CPPX)
415 {
416 Notify (\_SB.PCCD, 0x82) // Device-Specific Change
417 }
418 }
419 }
420 Else
421 {
422 If ((\PPMF & 0x0200))
423 {
424 If ((((PDC0 & 0x08) && ((Arg0 == 0x80) || (
425 Arg0 == 0x82))) || ((PDC0 & 0x10) && (Arg0 == 0x81))))
426 {
427 Notify (\_PR.CPU0, Arg0)
428 }
429
430 If ((((PDC1 & 0x08) && ((Arg0 == 0x80) || (
431 Arg0 == 0x82))) || ((PDC1 & 0x10) && (Arg0 == 0x81))))
432 {
433 Notify (\_PR.CPU1, Arg0)
434 }
435
436 If ((((PDC2 & 0x08) && ((Arg0 == 0x80) || (
437 Arg0 == 0x82))) || ((PDC2 & 0x10) && (Arg0 == 0x81))))
438 {
439 Notify (\_PR.CPU2, Arg0)
440 }
441
442 If ((((PDC3 & 0x08) && ((Arg0 == 0x80) || (
443 Arg0 == 0x82))) || ((PDC3 & 0x10) && (Arg0 == 0x81))))
444 {
445 Notify (\_PR.CPU3, Arg0)
446 }
447
448 If ((((PDC4 & 0x08) && ((Arg0 == 0x80) || (
449 Arg0 == 0x82))) || ((PDC4 & 0x10) && (Arg0 == 0x81))))
450 {
451 Notify (\_PR.CPU4, Arg0)
452 }
453
454 If ((((PDC5 & 0x08) && ((Arg0 == 0x80) || (
455 Arg0 == 0x82))) || ((PDC5 & 0x10) && (Arg0 == 0x81))))
456 {
457 Notify (\_PR.CPU5, Arg0)
458 }
459
460 If ((((PDC6 & 0x08) && ((Arg0 == 0x80) || (
461 Arg0 == 0x82))) || ((PDC6 & 0x10) && (Arg0 == 0x81))))
462 {
463 Notify (\_PR.CPU6, Arg0)
464 }
465
466 If ((((PDC7 & 0x08) && ((Arg0 == 0x80) || (
467 Arg0 == 0x82))) || ((PDC7 & 0x10) && (Arg0 == 0x81))))
468 {
469 Notify (\_PR.CPU7, Arg0)
470 }
471 }
472 Else
473 {
474 If (((Arg0 == 0x80) || ((Arg0 == 0x81) || (Arg0 == 0x82))))
475 {
476 Notify (\_PR.CPU0, Arg0)
477 }
478 }
479 }
480 }
481 }
482
483 OperationRegion (MNVS, SystemMemory, 0xBCE7D018, 0x1000)
484 Field (MNVS, DWordAcc, NoLock, Preserve)
485 {
486 Offset (0xD00),
487 GAPA, 32,
488 GAPL, 32,
489 DCKI, 32,
490 DCKS, 32,
491 VCDL, 1,
492 VCDC, 1,
493 VCDT, 1,
494 VCDD, 1,
495 , 1,
496 VCSS, 1,
497 VCDB, 1,
498 VCIN, 1,
499 VVPO, 8,
500 BRTN, 8,
501 BRLV, 8,
502 CDFL, 8,
503 CDAH, 8,
504 PMOD, 2,
505 PDIR, 1,
506 PDMA, 1,
507 Offset (0xD17),
508 LFDC, 1,
509 Offset (0xD18),
510 C2NA, 1,
511 C3NA, 1,
512 C4NA, 1,
513 C6NA, 1,
514 C7NA, 1,
515 Offset (0xD19),
516 Offset (0xD1A),
517 , 2,
518 , 1,
519 NHPS, 1,
520 NPME, 1,
521 Offset (0xD1B),
522 UOPT, 8,
523 BTID, 32,
524 DPP0, 1,
525 DPP1, 1,
526 DPP2, 1,
527 DPP3, 1,
528 DPP4, 1,
529 DPP5, 1,
530 Offset (0xD21),
531 Offset (0xD22),
532 TCRT, 16,
533 TPSV, 16,
534 TTC1, 16,
535 TTC2, 16,
536 TTSP, 16,
537 SRAH, 8,
538 SRHE, 8,
539 SRE1, 8,
540 SRE2, 8,
541 SRE3, 8,
542 SRE4, 8,
543 SRE5, 8,
544 SRE6, 8,
545 SRU1, 8,
546 SRU2, 8,
547 SRU3, 8,
548 SRU7, 8,
549 SRU4, 8,
550 SRU5, 8,
551 SRU8, 8,
552 SRPB, 8,
553 SRLP, 8,
554 SRSA, 8,
555 SRSM, 8,
556 CWAC, 1,
557 CWAS, 1,
558 CWUE, 1,
559 CWUS, 1,
560 Offset (0xD40),
561 CWAP, 16,
562 CWAT, 16,
563 DBGC, 1,
564 Offset (0xD45),
565 FS1L, 16,
566 FS1M, 16,
567 FS1H, 16,
568 FS2L, 16,
569 FS2M, 16,
570 FS2H, 16,
571 FS3L, 16,
572 FS3M, 16,
573 FS3H, 16,
574 TATC, 1,
575 , 6,
576 TATL, 1,
577 TATW, 8,
578 TNFT, 4,
579 TNTT, 4,
580 TDFA, 4,
581 TDTA, 4,
582 TDFD, 4,
583 TDTD, 4,
584 TCFA, 4,
585 TCTA, 4,
586 TCFD, 4,
587 TCTD, 4,
588 TSFT, 4,
589 TSTT, 4,
590 TIT0, 8,
591 TCR0, 16,
592 TPS0, 16,
593 TIT1, 8,
594 TCR1, 16,
595 TPS1, 16,
596 TIT2, 8,
597 TCR2, 16,
598 TPS2, 16,
599 TIF0, 8,
600 TIF1, 8,
601 TIF2, 8,
602 Offset (0xD78),
603 BTHI, 1,
604 Offset (0xD79),
605 HDIR, 1,
606 HDEH, 1,
607 HDSP, 1,
608 HDPP, 1,
609 HDUB, 1,
610 HDMC, 1,
611 NFCF, 1,
612 Offset (0xD7A),
613 TPME, 8,
614 BIDE, 4,
615 IDET, 4,
616 , 1,
617 DTSE, 1,
618 Offset (0xD7D),
619 DTS0, 8,
620 DTS1, 8,
621 DT00, 1,
622 DT01, 1,
623 DT02, 1,
624 DT03, 1,
625 Offset (0xD80),
626 LIDB, 1,
627 C4WR, 1,
628 C4AC, 1,
629 ODDX, 1,
630 CMPR, 1,
631 ILNF, 1,
632 PLUX, 1,
633 Offset (0xD81),
634 Offset (0xD8C),
635 , 4,
636 , 1,
637 IDMM, 1,
638 Offset (0xD8D),
639 , 3,
640 , 1,
641 , 1,
642 LIDS, 1,
643 Offset (0xD8E),
644 Offset (0xD8F),
645 , 4,
646 Offset (0xD90),
647 TCG0, 1,
648 TCG1, 1,
649 Offset (0xD91),
650 SWGP, 8,
651 IPMS, 8,
652 IPMB, 120,
653 IPMR, 24,
654 IPMO, 24,
655 IPMA, 8,
656 VIGD, 1,
657 VDSC, 1,
658 VMSH, 1,
659 , 1,
660 VDSP, 1,
661 Offset (0xDAA),
662 Offset (0xDAD),
663 ASFT, 8,
664 PL1L, 8,
665 PL1M, 8,
666 CHKC, 32,
667 CHKE, 32,
668 ATRB, 32,
669 Offset (0xDBD),
670 PPCR, 8,
671 TPCR, 5,
672 Offset (0xDBF),
673 Offset (0xDCE),
674 CTDP, 8,
675 PPCA, 8,
676 TPCA, 5,
677 Offset (0xDD1),
678 BFWB, 296,
679 OSPX, 1,
680 OSC4, 1,
681 CPPX, 1,
682 Offset (0xDF7),
683 SPEN, 1,
684 SCRM, 1,
685 GFPL, 1,
686 ETAU, 1,
687 IHBC, 1,
688 APMD, 1,
689 APMF, 1,
690 TDNV, 1,
691 FTPS, 8,
692 HIST, 8,
693 LPST, 8,
694 LWST, 8,
695 Offset (0xDFF),
696 MTAU, 8,
697 Offset (0xE20),
698 HPET, 32,
699 PKLI, 16,
700 VLCX, 16,
701 VNIT, 8,
702 VBD0, 8,
703 VBDT, 128,
704 VBPL, 16,
705 VBPH, 16,
706 VBML, 8,
707 VBMH, 8,
708 VEDI, 1024,
709 PDCI, 16,
710 ISCG, 32,
711 ISSP, 1,
712 ISWK, 2,
713 Offset (0xEC7),
714 SHA1, 160,
715 FFDT, 1,
716 Offset (0xEDC),
717 LWCP, 1,
718 LWEN, 1,
719 IOCP, 1,
720 IOEN, 1,
721 IOST, 1,
722 Offset (0xEDD),
723 USBR, 1,
724 Offset (0xEDE),
725 Offset (0xEDF),
726 Offset (0xEE1),
727 BT2T, 1,
728 Offset (0xEE2),
729 TPPP, 8,
730 TPPC, 8,
731 WKRS, 8,
732 FNWK, 8,
733 USBC, 8,
734 ODDF, 8,
735 , 2,
736 CPUC, 1,
737 Offset (0xEE9),
738 PTID, 32
739 }
740
741 Field (MNVS, ByteAcc, NoLock, Preserve)
742 {
743 Offset (0xB00),
744 WITM, 8,
745 WSEL, 8,
746 WLS0, 8,
747 WLS1, 8,
748 WLS2, 8,
749 WLS3, 8,
750 WLS4, 8,
751 WLS5, 8,
752 WLS6, 8,
753 WLS7, 8,
754 WLS8, 8,
755 WLS9, 8,
756 WLSA, 8,
757 WLSB, 8,
758 WLSC, 8,
759 WLSD, 8,
760 WENC, 8,
761 WKBD, 8,
762 WPTY, 8,
763 WPAS, 1032,
764 WPNW, 1032,
765 WSPM, 8,
766 WSPS, 8,
767 WSMN, 8,
768 WSMX, 8,
769 WSEN, 8,
770 WSKB, 8,
771 WASB, 8,
772 WASI, 16,
773 WASD, 8,
774 WASS, 32
775 }
776
777 Field (MNVS, ByteAcc, NoLock, Preserve)
778 {
779 Offset (0xA00),
780 DBGS, 1024
781 }
782
783 OperationRegion (GNVS, SystemMemory, 0xBCE6BC18, 0x02B0)
784 Field (GNVS, AnyAcc, Lock, Preserve)
785 {
786 OSYS, 16,
787 SMIF, 8,
788 PRM0, 8,
789 PRM1, 8,
790 Offset (0x0F),
791 PWRS, 8,
792 Offset (0x1E),
793 Offset (0x25),
794 REVN, 8,
795 IFFS, 8,
796 Offset (0x28),
797 APIC, 8,
798 TCNT, 8,
799 PCP0, 8,
800 PCP1, 8,
801 PPCM, 8,
802 PPMF, 32,
803 C67L, 8,
804 Offset (0x47),
805 TPMP, 8,
806 MORD, 8,
807 TCGP, 8,
808 PPRP, 32,
809 PPRQ, 8,
810 LPPR, 8,
811 GTF0, 56,
812 GTF2, 56,
813 IDEM, 8,
814 GTF1, 56,
815 BID, 16,
816 PLID, 8,
817 ECTG, 8,
818 ISCT, 8,
819 SLDR, 32,
820 WAKR, 8,
821 OSCC, 8,
822 NEXP, 8,
823 SBV1, 8,
824 SBV2, 8,
825 Offset (0x7A),
826 DSEN, 8,
827 ECON, 8,
828 Offset (0x7D),
829 CTYP, 8,
830 L01C, 8,
831 VFN0, 8,
832 VFN1, 8,
833 VFN2, 8,
834 VFN3, 8,
835 VFN4, 8,
836 VFN5, 8,
837 VFN6, 8,
838 VFN7, 8,
839 VFN8, 8,
840 VFN9, 8,
841 Offset (0x8F),
842 ATMC, 8,
843 PTMC, 8,
844 ATRA, 8,
845 PTRA, 8,
846 PNHM, 32,
847 TBAB, 32,
848 TBAH, 32,
849 RTIP, 8,
850 TSOD, 8,
851 ATPC, 8,
852 PTPC, 8,
853 PFLV, 8,
854 BREV, 8,
855 PDTS, 8,
856 PKGA, 8,
857 PAMT, 8,
858 AC0F, 8,
859 AC1F, 8,
860 DTS3, 8,
861 DTS4, 8,
862 Offset (0xB0),
863 LTR1, 8,
864 LTR2, 8,
865 LTR3, 8,
866 LTR4, 8,
867 LTR5, 8,
868 LTR6, 8,
869 LTR7, 8,
870 LTR8, 8,
871 OBF1, 8,
872 OBF2, 8,
873 OBF3, 8,
874 OBF4, 8,
875 OBF5, 8,
876 OBF6, 8,
877 OBF7, 8,
878 OBF8, 8,
879 XHCI, 8,
880 XTUB, 32,
881 XTUS, 32,
882 XMPB, 32,
883 DDRF, 8,
884 RTD3, 8,
885 PEP0, 8,
886 PEP3, 8,
887 DPTF, 8,
888 SADE, 8,
889 SACR, 8,
890 SAHT, 8,
891 PCHD, 8,
892 PCHC, 8,
893 PCHH, 8,
894 Offset (0xDB),
895 ECEU, 8,
896 TGFG, 16,
897 MEMD, 8,
898 MEMC, 8,
899 MEMH, 8,
900 FND1, 8,
901 FND2, 8,
902 AMBD, 8,
903 AMAT, 8,
904 AMPT, 8,
905 AMCT, 8,
906 AMHT, 8,
907 SKDE, 8,
908 SKAT, 8,
909 SKPT, 8,
910 SKCT, 8,
911 SKHT, 8,
912 EFDE, 8,
913 EFAT, 8,
914 EFPT, 8,
915 EFCT, 8,
916 EFHT, 8,
917 VRDE, 8,
918 VRAT, 8,
919 VRPT, 8,
920 VRCT, 8,
921 VRHT, 8,
922 DPAP, 8,
923 DPPP, 8,
924 DPCP, 8,
925 DCMP, 8,
926 TRTV, 8,
927 LPOE, 8,
928 LPOP, 8,
929 LPOS, 8,
930 LPOW, 8,
931 LPER, 8,
932 PPSZ, 32,
933 DISE, 8,
934 PFMA, 64,
935 PFMS, 8,
936 PFIA, 16,
937 ICNF, 8,
938 DSP0, 32,
939 DSP1, 32,
940 NFCE, 8,
941 CODS, 8,
942 SNHE, 8,
943 S0ID, 8,
944 CTDB, 8,
945 Offset (0x121),
946 TBTE, 8,
947 Offset (0x207),
948 PWRE, 8,
949 PWRP, 8,
950 XHPR, 8,
951 SDS0, 8,
952 SDS1, 16,
953 SDS2, 8,
954 SDS3, 8,
955 SDS4, 8,
956 SDS5, 8,
957 Offset (0x212),
958 RIC0, 8,
959 PEPY, 8,
960 DVS0, 8,
961 DVS1, 8,
962 DVS2, 8,
963 DVS3, 8,
964 GBSX, 8,
965 IUBE, 8,
966 IUCE, 8,
967 IUDE, 8,
968 ECNO, 8,
969 AUDD, 16,
970 DSPD, 16,
971 IC0D, 16,
972 IC1D, 16,
973 IC1S, 16,
974 VRRD, 16,
975 PSCP, 8,
976 RWAG, 8,
977 I20D, 16,
978 I21D, 16,
979 Offset (0x231),
980 RCG0, 8,
981 ECDB, 8,
982 P2ME, 8,
983 SSH0, 16,
984 SSL0, 16,
985 SSD0, 16,
986 FMH0, 16,
987 FML0, 16,
988 FMD0, 16,
989 FPH0, 16,
990 FPL0, 16,
991 FPD0, 16,
992 SSH1, 16,
993 SSL1, 16,
994 SSD1, 16,
995 FMH1, 16,
996 FML1, 16,
997 FMD1, 16,
998 FPH1, 16,
999 FPL1, 16,
1000 FPD1, 16,
1001 M0C0, 16,
1002 M1C0, 16,
1003 M2C0, 16,
1004 M0C1, 16,
1005 M1C1, 16,
1006 M2C1, 16,
1007 M0C2, 16,
1008 M1C2, 16,
1009 M0C3, 16,
1010 M1C3, 16,
1011 M0C4, 16,
1012 M1C4, 16,
1013 M0C5, 16,
1014 M1C5, 16,
1015 TBSF, 8,
1016 GIRQ, 32,
1017 DMTP, 8,
1018 DMTD, 8,
1019 DMSH, 8,
1020 LANP, 8,
1021 Offset (0x27E),
1022 SHSB, 8,
1023 PLCS, 8,
1024 PLVL, 16,
1025 GN1E, 8,
1026 G1AT, 8,
1027 G1PT, 8,
1028 G1CT, 8,
1029 G1HT, 8,
1030 GN2E, 8,
1031 G2AT, 8,
1032 G2PT, 8,
1033 G2CT, 8,
1034 G2HT, 8,
1035 WWSD, 8,
1036 CVSD, 8,
1037 SSDD, 8,
1038 INLD, 8,
1039 IFAT, 8,
1040 IFPT, 8,
1041 IFCT, 8,
1042 IFHT, 8,
1043 DOSD, 8,
1044 USBH, 8,
1045 BCV4, 8,
1046 WTV0, 8,
1047 WTV1, 8,
1048 APFU, 8,
1049 SOHP, 8,
1050 NOHP, 8,
1051 TBSE, 8,
1052 WKFN, 8,
1053 PEPC, 16,
1054 VRSD, 16,
1055 PB1E, 8,
1056 WAND, 8,
1057 WWAT, 8,
1058 WWPT, 8,
1059 WWCT, 8,
1060 WWHT, 8,
1061 Offset (0x2AD),
1062 MPLT, 16,
1063 GR13, 8
1064 }
1065
1066 Name (XWMB, 0xBFA00000)
1067 Scope (\_SB)
1068 {
1069 Method (_INI, 0, NotSerialized) // _INI: Initialize
1070 {
1071 If (CondRefOf (\_OSI, Local0))
1072 {
1073 If (\_OSI ("Windows 2001"))
1074 {
1075 \WNTF = 0x01
1076 \WXPF = 0x01
1077 \WSPV = 0x00
1078 OSYS = 0x07D1
1079 }
1080
1081 If (\_OSI ("Windows 2001 SP1"))
1082 {
1083 \WSPV = 0x01
1084 OSYS = 0x07D1
1085 }
1086
1087 If (\_OSI ("Windows 2001 SP2"))
1088 {
1089 \WSPV = 0x02
1090 OSYS = 0x07D2
1091 }
1092
1093 If (\_OSI ("Windows 2006"))
1094 {
1095 \WVIS = 0x01
1096 OSYS = 0x07D6
1097 }
1098
1099 If (\_OSI ("Windows 2009"))
1100 {
1101 \WIN7 = 0x01
1102 OSYS = 0x07D9
1103 }
1104
1105 If (\_OSI ("Windows 2012"))
1106 {
1107 \WIN8 = 0x01
1108 OSYS = 0x07DC
1109 }
1110
1111 If (\_OSI ("Windows 2013"))
1112 {
1113 \WIN8 = 0x01
1114 OSYS = 0x07DD
1115 }
1116
1117 If (\_OSI ("Linux"))
1118 {
1119 \LNUX = 0x01
1120 OSYS = 0x03E8
1121 }
1122
1123 If (\_OSI ("FreeBSD"))
1124 {
1125 \LNUX = 0x01
1126 OSYS = 0x03E8
1127 }
1128 }
1129 Else
1130 {
1131 If ((\SCMP (\_OS, "Microsoft Windows NT") == Zero))
1132 {
1133 \WNTF = 0x01
1134 }
1135 }
1136
1137 If ((\_REV >= 0x02))
1138 {
1139 \H8DR = 0x01
1140 }
1141
1142 \OSIF = 0x01
1143 \PWRS = \_SB.PCI0.LPC.EC.AC._PSR ()
1144 \_SB.PCI0.LPC.MOU.MHID ()
1145 If (\LNUX)
1146 {
1147 \_SB.PCI0.LPC.EC.SAUM (0x02)
1148 \UCMS (0x1C)
1149 }
1150
1151 \_SB.PCI0.RID = \SRAH
1152 If (VIGD)
1153 {
1154 \_SB.PCI0.VID.RID = \SRHE
1155 }
1156 Else
1157 {
1158 \_SB.PCI0.PEG.RID = \SRHE
1159 }
1160
1161 \_SB.PCI0.EXP1.RID = \SRE1
1162 \_SB.PCI0.EXP2.RID = \SRE2
1163 \_SB.PCI0.EXP3.RID = \SRE3
1164 \_SB.PCI0.EXP6.RID = \SRE4
1165 \_SB.PCI0.EHC1.RID = \SRU7
1166 \_SB.PCI0.LPC.RID = \SRLP
1167 \_SB.PCI0.SAT1.RID = \SRSA
1168 \_SB.PCI0.SMBU.RID = \SRSM
1169 \UCMS (0x1D)
1170 }
1171
1172 Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities
1173 {
1174 CreateDWordField (Arg3, 0x00, STS0)
1175 CreateDWordField (Arg3, 0x04, CAP0)
1176 If ((Arg0 == ToUUID ("0811b06e-4a27-44f9-8d60-3cbbc22e7b48") /* Platform-wide Capabilities */))
1177 {
1178 If ((Arg1 == One))
1179 {
1180 If ((CAP0 & 0x04))
1181 {
1182 If (!VMSH)
1183 {
1184 If ((RTD3 == 0x00))
1185 {
1186 CAP0 &= 0x3B
1187 STS0 |= 0x10
1188 }
1189 }
1190 }
1191
1192 If ((CAP0 & 0x20))
1193 {
1194 If (CondRefOf (\_SB.PCCD.PENB))
1195 {
1196 If ((\_SB.PCCD.PENB == 0x00))
1197 {
1198 CAP0 &= 0x1F
1199 STS0 |= 0x10
1200 }
1201
1202 If ((\_SB.PCCD.PENB == 0x01))
1203 {
1204 \CPPX = 0x01
1205 }
1206 }
1207 Else
1208 {
1209 CAP0 &= 0x1F
1210 STS0 |= 0x10
1211 }
1212 }
1213 }
1214 Else
1215 {
1216 STS0 &= 0xFFFFFF00
1217 STS0 |= 0x0A
1218 }
1219 }
1220 Else
1221 {
1222 STS0 &= 0xFFFFFF00
1223 STS0 |= 0x06
1224 }
1225
1226 Return (Arg3)
1227 }
1228
1229 Device (LNKA)
1230 {
1231 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1232 Name (_UID, 0x01) // _UID: Unique ID
1233 Method (_STA, 0, NotSerialized) // _STA: Status
1234 {
1235 If (!VPIR (\_SB.PCI0.LPC.PIRA))
1236 {
1237 Return (0x09)
1238 }
1239 Else
1240 {
1241 Return (0x0B)
1242 }
1243 }
1244
1245 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1246 {
1247 IRQ (Level, ActiveLow, Shared, )
1248 {3,4,5,6,7,9,10,11}
1249 })
1250 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1251 {
1252 \_SB.PCI0.LPC.PIRA |= 0x80
1253 }
1254
1255 Name (BUFA, ResourceTemplate ()
1256 {
1257 IRQ (Level, ActiveLow, Shared, _Y00)
1258 {}
1259 })
1260 CreateWordField (BUFA, \_SB.LNKA._Y00._INT, IRA1) // _INT: Interrupts
1261 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1262 {
1263 Local0 = (\_SB.PCI0.LPC.PIRA & 0x8F)
1264 If (VPIR (Local0))
1265 {
1266 IRA1 = (0x01 << Local0)
1267 }
1268 Else
1269 {
1270 IRA1 = 0x00
1271 }
1272
1273 Return (BUFA) /* \_SB_.LNKA.BUFA */
1274 }
1275
1276 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1277 {
1278 CreateWordField (Arg0, 0x01, IRA2)
1279 FindSetRightBit (IRA2, Local0)
1280 Local1 = (\_SB.PCI0.LPC.PIRA & 0x70)
1281 Local1 |= Local0--
1282 \_SB.PCI0.LPC.PIRA = Local1
1283 }
1284 }
1285
1286 Device (LNKB)
1287 {
1288 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1289 Name (_UID, 0x02) // _UID: Unique ID
1290 Method (_STA, 0, NotSerialized) // _STA: Status
1291 {
1292 If (!VPIR (\_SB.PCI0.LPC.PIRB))
1293 {
1294 Return (0x09)
1295 }
1296 Else
1297 {
1298 Return (0x0B)
1299 }
1300 }
1301
1302 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1303 {
1304 IRQ (Level, ActiveLow, Shared, )
1305 {3,4,5,6,7,9,10,11}
1306 })
1307 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1308 {
1309 \_SB.PCI0.LPC.PIRB |= 0x80
1310 }
1311
1312 Name (BUFB, ResourceTemplate ()
1313 {
1314 IRQ (Level, ActiveLow, Shared, _Y01)
1315 {}
1316 })
1317 CreateWordField (BUFB, \_SB.LNKB._Y01._INT, IRB1) // _INT: Interrupts
1318 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1319 {
1320 Local0 = (\_SB.PCI0.LPC.PIRB & 0x8F)
1321 If (VPIR (Local0))
1322 {
1323 IRB1 = (0x01 << Local0)
1324 }
1325 Else
1326 {
1327 IRB1 = 0x00
1328 }
1329
1330 Return (BUFB) /* \_SB_.LNKB.BUFB */
1331 }
1332
1333 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1334 {
1335 CreateWordField (Arg0, 0x01, IRB2)
1336 FindSetRightBit (IRB2, Local0)
1337 Local1 = (\_SB.PCI0.LPC.PIRB & 0x70)
1338 Local1 |= Local0--
1339 \_SB.PCI0.LPC.PIRB = Local1
1340 }
1341 }
1342
1343 Device (LNKC)
1344 {
1345 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1346 Name (_UID, 0x03) // _UID: Unique ID
1347 Method (_STA, 0, NotSerialized) // _STA: Status
1348 {
1349 If (!VPIR (\_SB.PCI0.LPC.PIRC))
1350 {
1351 Return (0x09)
1352 }
1353 Else
1354 {
1355 Return (0x0B)
1356 }
1357 }
1358
1359 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1360 {
1361 IRQ (Level, ActiveLow, Shared, )
1362 {3,4,5,6,7,9,10,11}
1363 })
1364 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1365 {
1366 \_SB.PCI0.LPC.PIRC |= 0x80
1367 }
1368
1369 Name (BUFC, ResourceTemplate ()
1370 {
1371 IRQ (Level, ActiveLow, Shared, _Y02)
1372 {}
1373 })
1374 CreateWordField (BUFC, \_SB.LNKC._Y02._INT, IRC1) // _INT: Interrupts
1375 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1376 {
1377 Local0 = (\_SB.PCI0.LPC.PIRC & 0x8F)
1378 If (VPIR (Local0))
1379 {
1380 IRC1 = (0x01 << Local0)
1381 }
1382 Else
1383 {
1384 IRC1 = 0x00
1385 }
1386
1387 Return (BUFC) /* \_SB_.LNKC.BUFC */
1388 }
1389
1390 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1391 {
1392 CreateWordField (Arg0, 0x01, IRC2)
1393 FindSetRightBit (IRC2, Local0)
1394 Local1 = (\_SB.PCI0.LPC.PIRC & 0x70)
1395 Local1 |= Local0--
1396 \_SB.PCI0.LPC.PIRC = Local1
1397 }
1398 }
1399
1400 Device (LNKD)
1401 {
1402 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1403 Name (_UID, 0x04) // _UID: Unique ID
1404 Method (_STA, 0, NotSerialized) // _STA: Status
1405 {
1406 If (!VPIR (\_SB.PCI0.LPC.PIRD))
1407 {
1408 Return (0x09)
1409 }
1410 Else
1411 {
1412 Return (0x0B)
1413 }
1414 }
1415
1416 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1417 {
1418 IRQ (Level, ActiveLow, Shared, )
1419 {3,4,5,6,7,9,10,11}
1420 })
1421 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1422 {
1423 \_SB.PCI0.LPC.PIRD |= 0x80
1424 }
1425
1426 Name (BUFD, ResourceTemplate ()
1427 {
1428 IRQ (Level, ActiveLow, Shared, _Y03)
1429 {}
1430 })
1431 CreateWordField (BUFD, \_SB.LNKD._Y03._INT, IRD1) // _INT: Interrupts
1432 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1433 {
1434 Local0 = (\_SB.PCI0.LPC.PIRD & 0x8F)
1435 If (VPIR (Local0))
1436 {
1437 IRD1 = (0x01 << Local0)
1438 }
1439 Else
1440 {
1441 IRD1 = 0x00
1442 }
1443
1444 Return (BUFD) /* \_SB_.LNKD.BUFD */
1445 }
1446
1447 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1448 {
1449 CreateWordField (Arg0, 0x01, IRD2)
1450 FindSetRightBit (IRD2, Local0)
1451 Local1 = (\_SB.PCI0.LPC.PIRD & 0x70)
1452 Local1 |= Local0--
1453 \_SB.PCI0.LPC.PIRD = Local1
1454 }
1455 }
1456
1457 Device (LNKE)
1458 {
1459 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1460 Name (_UID, 0x05) // _UID: Unique ID
1461 Method (_STA, 0, NotSerialized) // _STA: Status
1462 {
1463 If (!VPIR (\_SB.PCI0.LPC.PIRE))
1464 {
1465 Return (0x09)
1466 }
1467 Else
1468 {
1469 Return (0x0B)
1470 }
1471 }
1472
1473 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1474 {
1475 IRQ (Level, ActiveLow, Shared, )
1476 {3,4,5,6,7,9,10,11}
1477 })
1478 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1479 {
1480 \_SB.PCI0.LPC.PIRE |= 0x80
1481 }
1482
1483 Name (BUFE, ResourceTemplate ()
1484 {
1485 IRQ (Level, ActiveLow, Shared, _Y04)
1486 {}
1487 })
1488 CreateWordField (BUFE, \_SB.LNKE._Y04._INT, IRE1) // _INT: Interrupts
1489 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1490 {
1491 Local0 = (\_SB.PCI0.LPC.PIRE & 0x8F)
1492 If (VPIR (Local0))
1493 {
1494 IRE1 = (0x01 << Local0)
1495 }
1496 Else
1497 {
1498 IRE1 = 0x00
1499 }
1500
1501 Return (BUFE) /* \_SB_.LNKE.BUFE */
1502 }
1503
1504 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1505 {
1506 CreateWordField (Arg0, 0x01, IRE2)
1507 FindSetRightBit (IRE2, Local0)
1508 Local1 = (\_SB.PCI0.LPC.PIRE & 0x70)
1509 Local1 |= Local0--
1510 \_SB.PCI0.LPC.PIRE = Local1
1511 }
1512 }
1513
1514 Device (LNKF)
1515 {
1516 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1517 Name (_UID, 0x06) // _UID: Unique ID
1518 Method (_STA, 0, NotSerialized) // _STA: Status
1519 {
1520 If (!VPIR (\_SB.PCI0.LPC.PIRF))
1521 {
1522 Return (0x09)
1523 }
1524 Else
1525 {
1526 Return (0x0B)
1527 }
1528 }
1529
1530 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1531 {
1532 IRQ (Level, ActiveLow, Shared, )
1533 {3,4,5,6,7,9,10,11}
1534 })
1535 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1536 {
1537 \_SB.PCI0.LPC.PIRF |= 0x80
1538 }
1539
1540 Name (BUFF, ResourceTemplate ()
1541 {
1542 IRQ (Level, ActiveLow, Shared, _Y05)
1543 {}
1544 })
1545 CreateWordField (BUFF, \_SB.LNKF._Y05._INT, IRF1) // _INT: Interrupts
1546 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1547 {
1548 Local0 = (\_SB.PCI0.LPC.PIRF & 0x8F)
1549 If (VPIR (Local0))
1550 {
1551 IRF1 = (0x01 << Local0)
1552 }
1553 Else
1554 {
1555 IRF1 = 0x00
1556 }
1557
1558 Return (BUFF) /* \_SB_.LNKF.BUFF */
1559 }
1560
1561 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1562 {
1563 CreateWordField (Arg0, 0x01, IRF2)
1564 FindSetRightBit (IRF2, Local0)
1565 Local1 = (\_SB.PCI0.LPC.PIRF & 0x70)
1566 Local1 |= Local0--
1567 \_SB.PCI0.LPC.PIRF = Local1
1568 }
1569 }
1570
1571 Device (LNKG)
1572 {
1573 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1574 Name (_UID, 0x07) // _UID: Unique ID
1575 Method (_STA, 0, NotSerialized) // _STA: Status
1576 {
1577 If (!VPIR (\_SB.PCI0.LPC.PIRG))
1578 {
1579 Return (0x09)
1580 }
1581 Else
1582 {
1583 Return (0x0B)
1584 }
1585 }
1586
1587 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1588 {
1589 IRQ (Level, ActiveLow, Shared, )
1590 {3,4,5,6,7,9,10,11}
1591 })
1592 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1593 {
1594 \_SB.PCI0.LPC.PIRG |= 0x80
1595 }
1596
1597 Name (BUFG, ResourceTemplate ()
1598 {
1599 IRQ (Level, ActiveLow, Shared, _Y06)
1600 {}
1601 })
1602 CreateWordField (BUFG, \_SB.LNKG._Y06._INT, IRG1) // _INT: Interrupts
1603 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1604 {
1605 Local0 = (\_SB.PCI0.LPC.PIRG & 0x8F)
1606 If (VPIR (Local0))
1607 {
1608 IRG1 = (0x01 << Local0)
1609 }
1610 Else
1611 {
1612 IRG1 = 0x00
1613 }
1614
1615 Return (BUFG) /* \_SB_.LNKG.BUFG */
1616 }
1617
1618 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1619 {
1620 CreateWordField (Arg0, 0x01, IRG2)
1621 FindSetRightBit (IRG2, Local0)
1622 Local1 = (\_SB.PCI0.LPC.PIRG & 0x70)
1623 Local1 |= Local0--
1624 \_SB.PCI0.LPC.PIRG = Local1
1625 }
1626 }
1627
1628 Device (LNKH)
1629 {
1630 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1631 Name (_UID, 0x08) // _UID: Unique ID
1632 Method (_STA, 0, NotSerialized) // _STA: Status
1633 {
1634 If (!VPIR (\_SB.PCI0.LPC.PIRH))
1635 {
1636 Return (0x09)
1637 }
1638 Else
1639 {
1640 Return (0x0B)
1641 }
1642 }
1643
1644 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1645 {
1646 IRQ (Level, ActiveLow, Shared, )
1647 {3,4,5,6,7,9,10,11}
1648 })
1649 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1650 {
1651 \_SB.PCI0.LPC.PIRH |= 0x80
1652 }
1653
1654 Name (BUFH, ResourceTemplate ()
1655 {
1656 IRQ (Level, ActiveLow, Shared, _Y07)
1657 {}
1658 })
1659 CreateWordField (BUFH, \_SB.LNKH._Y07._INT, IRH1) // _INT: Interrupts
1660 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1661 {
1662 Local0 = (\_SB.PCI0.LPC.PIRH & 0x8F)
1663 If (VPIR (Local0))
1664 {
1665 IRH1 = (0x01 << Local0)
1666 }
1667 Else
1668 {
1669 IRH1 = 0x00
1670 }
1671
1672 Return (BUFH) /* \_SB_.LNKH.BUFH */
1673 }
1674
1675 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1676 {
1677 CreateWordField (Arg0, 0x01, IRH2)
1678 FindSetRightBit (IRH2, Local0)
1679 Local1 = (\_SB.PCI0.LPC.PIRH & 0x70)
1680 Local1 |= Local0--
1681 \_SB.PCI0.LPC.PIRH = Local1
1682 }
1683 }
1684
1685 Method (VPIR, 1, NotSerialized)
1686 {
1687 Local0 = 0x01
1688 If ((Arg0 & 0x80))
1689 {
1690 Local0 = 0x00
1691 }
1692 Else
1693 {
1694 Local1 = (Arg0 & 0x0F)
1695 If ((Local1 < 0x03))
1696 {
1697 Local0 = 0x00
1698 }
1699 Else
1700 {
1701 If (((Local1 == 0x08) || (Local1 == 0x0D)))
1702 {
1703 Local0 = 0x00
1704 }
1705 }
1706 }
1707
1708 Return (Local0)
1709 }
1710
1711 Device (MEM)
1712 {
1713 Name (_HID, EisaId ("PNP0C01") /* System Board */) // _HID: Hardware ID
1714 Name (MEMS, ResourceTemplate ()
1715 {
1716 Memory32Fixed (ReadWrite,
1717 0x00000000, // Address Base
1718 0x000A0000, // Address Length
1719 )
1720 Memory32Fixed (ReadOnly,
1721 0x000C0000, // Address Base
1722 0x00000000, // Address Length
1723 _Y08)
1724 Memory32Fixed (ReadOnly,
1725 0x000C4000, // Address Base
1726 0x00000000, // Address Length
1727 _Y09)
1728 Memory32Fixed (ReadOnly,
1729 0x000C8000, // Address Base
1730 0x00000000, // Address Length
1731 _Y0A)
1732 Memory32Fixed (ReadOnly,
1733 0x000CC000, // Address Base
1734 0x00000000, // Address Length
1735 _Y0B)
1736 Memory32Fixed (ReadOnly,
1737 0x000D0000, // Address Base
1738 0x00000000, // Address Length
1739 _Y0C)
1740 Memory32Fixed (ReadOnly,
1741 0x000D4000, // Address Base
1742 0x00000000, // Address Length
1743 _Y0D)
1744 Memory32Fixed (ReadOnly,
1745 0x000D8000, // Address Base
1746 0x00000000, // Address Length
1747 _Y0E)
1748 Memory32Fixed (ReadOnly,
1749 0x000DC000, // Address Base
1750 0x00000000, // Address Length
1751 _Y0F)
1752 Memory32Fixed (ReadOnly,
1753 0x000E0000, // Address Base
1754 0x00000000, // Address Length
1755 _Y10)
1756 Memory32Fixed (ReadOnly,
1757 0x000E4000, // Address Base
1758 0x00000000, // Address Length
1759 _Y11)
1760 Memory32Fixed (ReadOnly,
1761 0x000E8000, // Address Base
1762 0x00000000, // Address Length
1763 _Y12)
1764 Memory32Fixed (ReadOnly,
1765 0x000EC000, // Address Base
1766 0x00000000, // Address Length
1767 _Y13)
1768 Memory32Fixed (ReadOnly,
1769 0x000F0000, // Address Base
1770 0x00010000, // Address Length
1771 )
1772 Memory32Fixed (ReadWrite,
1773 0x00100000, // Address Base
1774 0x01EE0000, // Address Length
1775 _Y14)
1776 Memory32Fixed (ReadOnly,
1777 0xFEC00000, // Address Base
1778 0x00140000, // Address Length
1779 _Y15)
1780 Memory32Fixed (ReadOnly,
1781 0xFED4C000, // Address Base
1782 0x012B4000, // Address Length
1783 _Y16)
1784 })
1785 CreateDWordField (MEMS, \_SB.MEM._Y08._LEN, MC0L) // _LEN: Length
1786 CreateDWordField (MEMS, \_SB.MEM._Y09._LEN, MC4L) // _LEN: Length
1787 CreateDWordField (MEMS, \_SB.MEM._Y0A._LEN, MC8L) // _LEN: Length
1788 CreateDWordField (MEMS, \_SB.MEM._Y0B._LEN, MCCL) // _LEN: Length
1789 CreateDWordField (MEMS, \_SB.MEM._Y0C._LEN, MD0L) // _LEN: Length
1790 CreateDWordField (MEMS, \_SB.MEM._Y0D._LEN, MD4L) // _LEN: Length
1791 CreateDWordField (MEMS, \_SB.MEM._Y0E._LEN, MD8L) // _LEN: Length
1792 CreateDWordField (MEMS, \_SB.MEM._Y0F._LEN, MDCL) // _LEN: Length
1793 CreateDWordField (MEMS, \_SB.MEM._Y10._LEN, ME0L) // _LEN: Length
1794 CreateDWordField (MEMS, \_SB.MEM._Y11._LEN, ME4L) // _LEN: Length
1795 CreateDWordField (MEMS, \_SB.MEM._Y12._LEN, ME8L) // _LEN: Length
1796 CreateDWordField (MEMS, \_SB.MEM._Y13._LEN, MECL) // _LEN: Length
1797 CreateBitField (MEMS, \_SB.MEM._Y08._RW, MC0W) // _RW_: Read-Write Status
1798 CreateBitField (MEMS, \_SB.MEM._Y09._RW, MC4W) // _RW_: Read-Write Status
1799 CreateBitField (MEMS, \_SB.MEM._Y0A._RW, MC8W) // _RW_: Read-Write Status
1800 CreateBitField (MEMS, \_SB.MEM._Y0B._RW, MCCW) // _RW_: Read-Write Status
1801 CreateBitField (MEMS, \_SB.MEM._Y0C._RW, MD0W) // _RW_: Read-Write Status
1802 CreateBitField (MEMS, \_SB.MEM._Y0D._RW, MD4W) // _RW_: Read-Write Status
1803 CreateBitField (MEMS, \_SB.MEM._Y0E._RW, MD8W) // _RW_: Read-Write Status
1804 CreateBitField (MEMS, \_SB.MEM._Y0F._RW, MDCW) // _RW_: Read-Write Status
1805 CreateBitField (MEMS, \_SB.MEM._Y10._RW, ME0W) // _RW_: Read-Write Status
1806 CreateBitField (MEMS, \_SB.MEM._Y11._RW, ME4W) // _RW_: Read-Write Status
1807 CreateBitField (MEMS, \_SB.MEM._Y12._RW, ME8W) // _RW_: Read-Write Status
1808 CreateBitField (MEMS, \_SB.MEM._Y13._RW, MECW) // _RW_: Read-Write Status
1809 CreateDWordField (MEMS, \_SB.MEM._Y14._BAS, MEB1) // _BAS: Base Address
1810 CreateDWordField (MEMS, \_SB.MEM._Y14._LEN, MEL1) // _LEN: Length
1811 CreateDWordField (MEMS, \_SB.MEM._Y15._LEN, MEL2) // _LEN: Length
1812 CreateDWordField (MEMS, \_SB.MEM._Y16._LEN, MEL3) // _LEN: Length
1813 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1814 {
1815 Local0 = (\_SB.PCI0.PAM1 & 0x03)
1816 If (Local0)
1817 {
1818 MC0L = 0x4000
1819 If ((Local0 & 0x02))
1820 {
1821 MC0W = 0x01
1822 }
1823 }
1824
1825 Local0 = (\_SB.PCI0.PAM1 & 0x30)
1826 If (Local0)
1827 {
1828 MC4L = 0x4000
1829 If ((Local0 & 0x20))
1830 {
1831 MC4W = 0x01
1832 }
1833 }
1834
1835 Local0 = (\_SB.PCI0.PAM2 & 0x03)
1836 If (Local0)
1837 {
1838 MC8L = 0x4000
1839 If ((Local0 & 0x02))
1840 {
1841 MC8W = 0x01
1842 }
1843 }
1844
1845 Local0 = (\_SB.PCI0.PAM2 & 0x30)
1846 If (Local0)
1847 {
1848 MCCL = 0x4000
1849 If ((Local0 & 0x20))
1850 {
1851 MCCW = 0x01
1852 }
1853 }
1854
1855 Local0 = (\_SB.PCI0.PAM3 & 0x03)
1856 If (Local0)
1857 {
1858 MD0L = 0x4000
1859 If ((Local0 & 0x02))
1860 {
1861 MD0W = 0x01
1862 }
1863 }
1864
1865 Local0 = (\_SB.PCI0.PAM3 & 0x30)
1866 If (Local0)
1867 {
1868 MD4L = 0x4000
1869 If ((Local0 & 0x20))
1870 {
1871 MD4W = 0x01
1872 }
1873 }
1874
1875 Local0 = (\_SB.PCI0.PAM4 & 0x03)
1876 If (Local0)
1877 {
1878 MD8L = 0x4000
1879 If ((Local0 & 0x02))
1880 {
1881 MD8W = 0x01
1882 }
1883 }
1884
1885 Local0 = (\_SB.PCI0.PAM4 & 0x30)
1886 If (Local0)
1887 {
1888 MDCL = 0x4000
1889 If ((Local0 & 0x20))
1890 {
1891 MDCW = 0x01
1892 }
1893 }
1894
1895 Local0 = (\_SB.PCI0.PAM5 & 0x03)
1896 If (Local0)
1897 {
1898 ME0L = 0x4000
1899 If ((Local0 & 0x02))
1900 {
1901 ME0W = 0x01
1902 }
1903 }
1904
1905 Local0 = (\_SB.PCI0.PAM5 & 0x30)
1906 If (Local0)
1907 {
1908 ME4L = 0x4000
1909 If ((Local0 & 0x20))
1910 {
1911 ME4W = 0x01
1912 }
1913 }
1914
1915 Local0 = (\_SB.PCI0.PAM6 & 0x03)
1916 If (Local0)
1917 {
1918 ME8L = 0x4000
1919 If ((Local0 & 0x02))
1920 {
1921 ME8W = 0x01
1922 }
1923 }
1924
1925 Local0 = (\_SB.PCI0.PAM6 & 0x30)
1926 If (Local0)
1927 {
1928 MECL = 0x4000
1929 If ((Local0 & 0x20))
1930 {
1931 MECW = 0x01
1932 }
1933 }
1934
1935 MEL1 = (\MEMX - MEB1) /* \_SB_.MEM_.MEB1 */
1936 If ((\_SB.PCI0.LPC.TPM._STA () != 0x0F))
1937 {
1938 MEL2 = 0x01400000
1939 MEL3 = 0x00
1940 }
1941
1942 Return (MEMS) /* \_SB_.MEM_.MEMS */
1943 }
1944 }
1945
1946 Device (LID)
1947 {
1948 Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID
1949 Method (_LID, 0, NotSerialized) // _LID: Lid Status
1950 {
1951 If (((\ILNF == 0x00) && (\PLUX == 0x00)))
1952 {
1953 If (\H8DR)
1954 {
1955 Return (\_SB.PCI0.LPC.EC.HPLD)
1956 }
1957 Else
1958 {
1959 If ((\RBEC (0x46) & 0x04))
1960 {
1961 Return (0x01)
1962 }
1963 Else
1964 {
1965 Return (0x00)
1966 }
1967 }
1968 }
1969 Else
1970 {
1971 Return (0x01)
1972 }
1973 }
1974
1975 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
1976 {
1977 If (\LWCP)
1978 {
1979 Return (Package (0x02)
1980 {
1981 0x1D,
1982 0x04
1983 })
1984 }
1985 Else
1986 {
1987 Return (Package (0x02)
1988 {
1989 0x1D,
1990 0x03
1991 })
1992 }
1993 }
1994
1995 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
1996 {
1997 If (\H8DR)
1998 {
1999 If (Arg0)
2000 {
2001 \_SB.PCI0.LPC.EC.HWLO = 0x01
2002 }
2003 Else
2004 {
2005 \_SB.PCI0.LPC.EC.HWLO = 0x00
2006 }
2007 }
2008 Else
2009 {
2010 If (Arg0)
2011 {
2012 \MBEC (0x32, 0xFF, 0x04)
2013 }
2014 Else
2015 {
2016 \MBEC (0x32, 0xFB, 0x00)
2017 }
2018 }
2019
2020 If (\LWCP)
2021 {
2022 If (Arg0)
2023 {
2024 \LWEN = 0x01
2025 }
2026 Else
2027 {
2028 \LWEN = 0x00
2029 }
2030 }
2031 }
2032 }
2033
2034 Device (SLPB)
2035 {
2036 Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */) // _HID: Hardware ID
2037 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
2038 {
2039 Return (Package (0x02)
2040 {
2041 0x1D,
2042 0x03
2043 })
2044 }
2045
2046 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
2047 {
2048 If (\H8DR)
2049 {
2050 If (Arg0)
2051 {
2052 \_SB.PCI0.LPC.EC.HWFN = 0x01
2053 }
2054 Else
2055 {
2056 \_SB.PCI0.LPC.EC.HWFN = 0x00
2057 }
2058 }
2059 Else
2060 {
2061 If (Arg0)
2062 {
2063 \MBEC (0x32, 0xFF, 0x10)
2064 }
2065 Else
2066 {
2067 \MBEC (0x32, 0xEF, 0x00)
2068 }
2069 }
2070 }
2071 }
2072
2073 Scope (\)
2074 {
2075 Name (UPC0, Package (0x04)
2076 {
2077 0xFF,
2078 0x00,
2079 0x00,
2080 0x00
2081 })
2082 Name (PLD0, Buffer (0x10)
2083 {
2084 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
2085 /* 0008 */ 0x99, 0x11, 0x80, 0x00, 0x03, 0x00, 0x00, 0x00 /* ........ */
2086 })
2087 Name (UPC1, Package (0x04)
2088 {
2089 0xFF,
2090 0x00,
2091 0x00,
2092 0x00
2093 })
2094 Name (PLD1, Buffer (0x10)
2095 {
2096 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
2097 /* 0008 */ 0x91, 0x12, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00 /* ........ */
2098 })
2099 Name (UPC2, Package (0x04)
2100 {
2101 0xFF,
2102 0x00,
2103 0x00,
2104 0x00
2105 })
2106 Name (PLD2, Buffer (0x10)
2107 {
2108 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
2109 /* 0008 */ 0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 /* i....... */
2110 })
2111 Name (UPC4, Package (0x04)
2112 {
2113 0xFF,
2114 0xFF,
2115 0x00,
2116 0x00
2117 })
2118 Name (PLD4, Buffer (0x10)
2119 {
2120 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
2121 /* 0008 */ 0x30, 0x1C, 0x80, 0x01, 0x03, 0x00, 0x00, 0x00 /* 0....... */
2122 })
2123 Name (UPC5, Package (0x04)
2124 {
2125 0x00,
2126 0x02,
2127 0x00,
2128 0x00
2129 })
2130 Name (PLD5, Buffer (0x10)
2131 {
2132 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
2133 /* 0008 */ 0x48, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* H....... */
2134 })
2135 Name (UPCN, Package (0x04)
2136 {
2137 0x00,
2138 0xFF,
2139 0x00,
2140 0x00
2141 })
2142 Name (PLDN, Buffer (0x10)
2143 {
2144 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
2145 /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0....... */
2146 })
2147 Name (UPC9, Package (0x04)
2148 {
2149 0xFF,
2150 0x00,
2151 0x00,
2152 0x00
2153 })
2154 Name (PLD9, Buffer (0x10)
2155 {
2156 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
2157 /* 0008 */ 0x59, 0x12, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 /* Y....... */
2158 })
2159 Name (UPCI, Package (0x04)
2160 {
2161 0x00,
2162 0xFF,
2163 0x00,
2164 0x00
2165 })
2166 Name (PLDI, Buffer (0x10)
2167 {
2168 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
2169 /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0....... */
2170 })
2171 Name (PLDC, Buffer (0x14)
2172 {
2173 /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
2174 /* 0008 */ 0x24, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* $....... */
2175 /* 0010 */ 0xDD, 0x00, 0x95, 0x00 /* .... */
2176 })
2177 }
2178
2179 Name (XWMB, 0xFFFFFFFF)
2180 Device (PCI0)
2181 {
2182 Name (_BBN, 0x00) // _BBN: BIOS Bus Number
2183 Name (_ADR, 0x00) // _ADR: Address
2184 Name (RID, 0x00)
2185 Name (_S3D, 0x02) // _S3D: S3 Device State
2186 Name (LRRT, Package (0x17)
2187 {
2188 Package (0x04)
2189 {
2190 0x0001FFFF,
2191 0x00,
2192 \_SB.LNKA,
2193 0x00
2194 },
2195
2196 Package (0x04)
2197 {
2198 0x0002FFFF,
2199 0x00,
2200 \_SB.LNKA,
2201 0x00
2202 },
2203
2204 Package (0x04)
2205 {
2206 0x0003FFFF,
2207 0x00,
2208 \_SB.LNKA,
2209 0x00
2210 },
2211
2212 Package (0x04)
2213 {
2214 0x0014FFFF,
2215 0x00,
2216 \_SB.LNKA,
2217 0x00
2218 },
2219
2220 Package (0x04)
2221 {
2222 0x0016FFFF,
2223 0x00,
2224 \_SB.LNKA,
2225 0x00
2226 },
2227
2228 Package (0x04)
2229 {
2230 0x0016FFFF,
2231 0x01,
2232 \_SB.LNKD,
2233 0x00
2234 },
2235
2236 Package (0x04)
2237 {
2238 0x0016FFFF,
2239 0x02,
2240 \_SB.LNKC,
2241 0x00
2242 },
2243
2244 Package (0x04)
2245 {
2246 0x0016FFFF,
2247 0x03,
2248 \_SB.LNKB,
2249 0x00
2250 },
2251
2252 Package (0x04)
2253 {
2254 0x0019FFFF,
2255 0x00,
2256 \_SB.LNKE,
2257 0x00
2258 },
2259
2260 Package (0x04)
2261 {
2262 0x001AFFFF,
2263 0x00,
2264 \_SB.LNKA,
2265 0x00
2266 },
2267
2268 Package (0x04)
2269 {
2270 0x001BFFFF,
2271 0x00,
2272 \_SB.LNKG,
2273 0x00
2274 },
2275
2276 Package (0x04)
2277 {
2278 0x001CFFFF,
2279 0x00,
2280 \_SB.LNKA,
2281 0x00
2282 },
2283
2284 Package (0x04)
2285 {
2286 0x001CFFFF,
2287 0x01,
2288 \_SB.LNKB,
2289 0x00
2290 },
2291
2292 Package (0x04)
2293 {
2294 0x001CFFFF,
2295 0x02,
2296 \_SB.LNKC,
2297 0x00
2298 },
2299
2300 Package (0x04)
2301 {
2302 0x001CFFFF,
2303 0x03,
2304 \_SB.LNKD,
2305 0x00
2306 },
2307
2308 Package (0x04)
2309 {
2310 0x001DFFFF,
2311 0x00,
2312 \_SB.LNKH,
2313 0x00
2314 },
2315
2316 Package (0x04)
2317 {
2318 0x001DFFFF,
2319 0x01,
2320 \_SB.LNKD,
2321 0x00
2322 },
2323
2324 Package (0x04)
2325 {
2326 0x001DFFFF,
2327 0x02,
2328 \_SB.LNKA,
2329 0x00
2330 },
2331
2332 Package (0x04)
2333 {
2334 0x001DFFFF,
2335 0x03,
2336 \_SB.LNKC,
2337 0x00
2338 },
2339
2340 Package (0x04)
2341 {
2342 0x001FFFFF,
2343 0x00,
2344 \_SB.LNKF,
2345 0x00
2346 },
2347
2348 Package (0x04)
2349 {
2350 0x001FFFFF,
2351 0x01,
2352 \_SB.LNKD,
2353 0x00
2354 },
2355
2356 Package (0x04)
2357 {
2358 0x001FFFFF,
2359 0x02,
2360 \_SB.LNKC,
2361 0x00
2362 },
2363
2364 Package (0x04)
2365 {
2366 0x001FFFFF,
2367 0x03,
2368 \_SB.LNKA,
2369 0x00
2370 }
2371 })
2372 Name (ARRT, Package (0x17)
2373 {
2374 Package (0x04)
2375 {
2376 0x0001FFFF,
2377 0x00,
2378 0x00,
2379 0x10
2380 },
2381
2382 Package (0x04)
2383 {
2384 0x0002FFFF,
2385 0x00,
2386 0x00,
2387 0x10
2388 },
2389
2390 Package (0x04)
2391 {
2392 0x0003FFFF,
2393 0x00,
2394 0x00,
2395 0x10
2396 },
2397
2398 Package (0x04)
2399 {
2400 0x0014FFFF,
2401 0x00,
2402 0x00,
2403 0x10
2404 },
2405
2406 Package (0x04)
2407 {
2408 0x0016FFFF,
2409 0x00,
2410 0x00,
2411 0x10
2412 },
2413
2414 Package (0x04)
2415 {
2416 0x0016FFFF,
2417 0x01,
2418 0x00,
2419 0x13
2420 },
2421
2422 Package (0x04)
2423 {
2424 0x0016FFFF,
2425 0x02,
2426 0x00,
2427 0x12
2428 },
2429
2430 Package (0x04)
2431 {
2432 0x0016FFFF,
2433 0x03,
2434 0x00,
2435 0x11
2436 },
2437
2438 Package (0x04)
2439 {
2440 0x0019FFFF,
2441 0x00,
2442 0x00,
2443 0x14
2444 },
2445
2446 Package (0x04)
2447 {
2448 0x001AFFFF,
2449 0x00,
2450 0x00,
2451 0x10
2452 },
2453
2454 Package (0x04)
2455 {
2456 0x001BFFFF,
2457 0x00,
2458 0x00,
2459 0x16
2460 },
2461
2462 Package (0x04)
2463 {
2464 0x001CFFFF,
2465 0x00,
2466 0x00,
2467 0x10
2468 },
2469
2470 Package (0x04)
2471 {
2472 0x001CFFFF,
2473 0x01,
2474 0x00,
2475 0x11
2476 },
2477
2478 Package (0x04)
2479 {
2480 0x001CFFFF,
2481 0x02,
2482 0x00,
2483 0x12
2484 },
2485
2486 Package (0x04)
2487 {
2488 0x001CFFFF,
2489 0x03,
2490 0x00,
2491 0x13
2492 },
2493
2494 Package (0x04)
2495 {
2496 0x001DFFFF,
2497 0x00,
2498 0x00,
2499 0x17
2500 },
2501
2502 Package (0x04)
2503 {
2504 0x001DFFFF,
2505 0x01,
2506 0x00,
2507 0x13
2508 },
2509
2510 Package (0x04)
2511 {
2512 0x001DFFFF,
2513 0x02,
2514 0x00,
2515 0x10
2516 },
2517
2518 Package (0x04)
2519 {
2520 0x001DFFFF,
2521 0x03,
2522 0x00,
2523 0x12
2524 },
2525
2526 Package (0x04)
2527 {
2528 0x001FFFFF,
2529 0x00,
2530 0x00,
2531 0x15
2532 },
2533
2534 Package (0x04)
2535 {
2536 0x001FFFFF,
2537 0x01,
2538 0x00,
2539 0x13
2540 },
2541
2542 Package (0x04)
2543 {
2544 0x001FFFFF,
2545 0x02,
2546 0x00,
2547 0x12
2548 },
2549
2550 Package (0x04)
2551 {
2552 0x001FFFFF,
2553 0x03,
2554 0x00,
2555 0x10
2556 }
2557 })
2558 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
2559 {
2560 If (\GPIC)
2561 {
2562 Return (ARRT) /* \_SB_.PCI0.ARRT */
2563 }
2564 Else
2565 {
2566 Return (LRRT) /* \_SB_.PCI0.LRRT */
2567 }
2568 }
2569
2570 Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID
2571 Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID
2572 OperationRegion (MHCS, PCI_Config, 0x40, 0xC0)
2573 Field (MHCS, DWordAcc, NoLock, Preserve)
2574 {
2575 Offset (0x40),
2576 PAM0, 8,
2577 PAM1, 8,
2578 PAM2, 8,
2579 PAM3, 8,
2580 PAM4, 8,
2581 PAM5, 8,
2582 PAM6, 8,
2583 Offset (0x7C),
2584 , 20,
2585 TLUD, 12
2586 }
2587
2588 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2589 {
2590 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
2591 0x0000, // Granularity
2592 0x0000, // Range Minimum
2593 0x00FF, // Range Maximum
2594 0x0000, // Translation Offset
2595 0x0100, // Length
2596 ,, _Y25)
2597 IO (Decode16,
2598 0x0CF8, // Range Minimum
2599 0x0CF8, // Range Maximum
2600 0x01, // Alignment
2601 0x08, // Length
2602 )
2603 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2604 0x0000, // Granularity
2605 0x0000, // Range Minimum
2606 0x0CF7, // Range Maximum
2607 0x0000, // Translation Offset
2608 0x0CF8, // Length
2609 ,, , TypeStatic)
2610 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2611 0x0000, // Granularity
2612 0x0D00, // Range Minimum
2613 0xFFFF, // Range Maximum
2614 0x0000, // Translation Offset
2615 0xF300, // Length
2616 ,, , TypeStatic)
2617 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2618 0x00000000, // Granularity
2619 0x000A0000, // Range Minimum
2620 0x000BFFFF, // Range Maximum
2621 0x00000000, // Translation Offset
2622 0x00020000, // Length
2623 ,, , AddressRangeMemory, TypeStatic)
2624 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2625 0x00000000, // Granularity
2626 0x000C0000, // Range Minimum
2627 0x000C3FFF, // Range Maximum
2628 0x00000000, // Translation Offset
2629 0x00004000, // Length
2630 ,, _Y17, AddressRangeMemory, TypeStatic)
2631 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2632 0x00000000, // Granularity
2633 0x000C4000, // Range Minimum
2634 0x000C7FFF, // Range Maximum
2635 0x00000000, // Translation Offset
2636 0x00004000, // Length
2637 ,, _Y18, AddressRangeMemory, TypeStatic)
2638 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2639 0x00000000, // Granularity
2640 0x000C8000, // Range Minimum
2641 0x000CBFFF, // Range Maximum
2642 0x00000000, // Translation Offset
2643 0x00004000, // Length
2644 ,, _Y19, AddressRangeMemory, TypeStatic)
2645 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2646 0x00000000, // Granularity
2647 0x000CC000, // Range Minimum
2648 0x000CFFFF, // Range Maximum
2649 0x00000000, // Translation Offset
2650 0x00004000, // Length
2651 ,, _Y1A, AddressRangeMemory, TypeStatic)
2652 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2653 0x00000000, // Granularity
2654 0x000D0000, // Range Minimum
2655 0x000D3FFF, // Range Maximum
2656 0x00000000, // Translation Offset
2657 0x00004000, // Length
2658 ,, _Y1B, AddressRangeMemory, TypeStatic)
2659 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2660 0x00000000, // Granularity
2661 0x000D4000, // Range Minimum
2662 0x000D7FFF, // Range Maximum
2663 0x00000000, // Translation Offset
2664 0x00004000, // Length
2665 ,, _Y1C, AddressRangeMemory, TypeStatic)
2666 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2667 0x00000000, // Granularity
2668 0x000D8000, // Range Minimum
2669 0x000DBFFF, // Range Maximum
2670 0x00000000, // Translation Offset
2671 0x00004000, // Length
2672 ,, _Y1D, AddressRangeMemory, TypeStatic)
2673 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2674 0x00000000, // Granularity
2675 0x000DC000, // Range Minimum
2676 0x000DFFFF, // Range Maximum
2677 0x00000000, // Translation Offset
2678 0x00004000, // Length
2679 ,, _Y1E, AddressRangeMemory, TypeStatic)
2680 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2681 0x00000000, // Granularity
2682 0x000E0000, // Range Minimum
2683 0x000E3FFF, // Range Maximum
2684 0x00000000, // Translation Offset
2685 0x00004000, // Length
2686 ,, _Y1F, AddressRangeMemory, TypeStatic)
2687 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2688 0x00000000, // Granularity
2689 0x000E4000, // Range Minimum
2690 0x000E7FFF, // Range Maximum
2691 0x00000000, // Translation Offset
2692 0x00004000, // Length
2693 ,, _Y20, AddressRangeMemory, TypeStatic)
2694 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2695 0x00000000, // Granularity
2696 0x000E8000, // Range Minimum
2697 0x000EBFFF, // Range Maximum
2698 0x00000000, // Translation Offset
2699 0x00004000, // Length
2700 ,, _Y21, AddressRangeMemory, TypeStatic)
2701 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2702 0x00000000, // Granularity
2703 0x000EC000, // Range Minimum
2704 0x000EFFFF, // Range Maximum
2705 0x00000000, // Translation Offset
2706 0x00004000, // Length
2707 ,, _Y22, AddressRangeMemory, TypeStatic)
2708 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2709 0x00000000, // Granularity
2710 0x00100000, // Range Minimum
2711 0xFEBFFFFF, // Range Maximum
2712 0x00000000, // Translation Offset
2713 0xFEB00000, // Length
2714 ,, _Y23, AddressRangeMemory, TypeStatic)
2715 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2716 0x00000000, // Granularity
2717 0xFED40000, // Range Minimum
2718 0xFED4BFFF, // Range Maximum
2719 0x00000000, // Translation Offset
2720 0x0000C000, // Length
2721 ,, _Y24, AddressRangeMemory, TypeStatic)
2722 })
2723 CreateDWordField (_CRS, \_SB.PCI0._Y17._LEN, C0LN) // _LEN: Length
2724 CreateDWordField (_CRS, \_SB.PCI0._Y18._LEN, C4LN) // _LEN: Length
2725 CreateDWordField (_CRS, \_SB.PCI0._Y19._LEN, C8LN) // _LEN: Length
2726 CreateDWordField (_CRS, \_SB.PCI0._Y1A._LEN, CCLN) // _LEN: Length
2727 CreateDWordField (_CRS, \_SB.PCI0._Y1B._LEN, D0LN) // _LEN: Length
2728 CreateDWordField (_CRS, \_SB.PCI0._Y1C._LEN, D4LN) // _LEN: Length
2729 CreateDWordField (_CRS, \_SB.PCI0._Y1D._LEN, D8LN) // _LEN: Length
2730 CreateDWordField (_CRS, \_SB.PCI0._Y1E._LEN, DCLN) // _LEN: Length
2731 CreateDWordField (_CRS, \_SB.PCI0._Y1F._LEN, E0LN) // _LEN: Length
2732 CreateDWordField (_CRS, \_SB.PCI0._Y20._LEN, E4LN) // _LEN: Length
2733 CreateDWordField (_CRS, \_SB.PCI0._Y21._LEN, E8LN) // _LEN: Length
2734 CreateDWordField (_CRS, \_SB.PCI0._Y22._LEN, ECLN) // _LEN: Length
2735 CreateDWordField (_CRS, \_SB.PCI0._Y23._MIN, XXMN) // _MIN: Minimum Base Address
2736 CreateDWordField (_CRS, \_SB.PCI0._Y23._MAX, XXMX) // _MAX: Maximum Base Address
2737 CreateDWordField (_CRS, \_SB.PCI0._Y23._LEN, XXLN) // _LEN: Length
2738 CreateDWordField (_CRS, \_SB.PCI0._Y24._MIN, F4MN) // _MIN: Minimum Base Address
2739 CreateDWordField (_CRS, \_SB.PCI0._Y24._MAX, F4MX) // _MAX: Maximum Base Address
2740 CreateDWordField (_CRS, \_SB.PCI0._Y24._LEN, F4LN) // _LEN: Length
2741 CreateWordField (_CRS, \_SB.PCI0._Y25._MAX, B0MX) // _MAX: Maximum Base Address
2742 CreateWordField (_CRS, \_SB.PCI0._Y25._LEN, B0LN) // _LEN: Length
2743 Method (_INI, 0, Serialized) // _INI: Initialize
2744 {
2745 B0MX = 0x3F
2746 B0LN = (0x3F + 0x01)
2747 If (!\OSIF)
2748 {
2749 \_SB._INI ()
2750 }
2751
2752 Local0 = (TLUD << 0x14)
2753 \MEMX = Local0
2754 XXMN = Local0
2755 XXLN = ((XXMX - XXMN) + 0x01)
2756 If ((\TPMP == 0x00))
2757 {
2758 F4LN = 0x00
2759 }
2760
2761 If ((PAM1 & 0x03))
2762 {
2763 C0LN = 0x00
2764 }
2765
2766 If ((PAM1 & 0x30))
2767 {
2768 C4LN = 0x00
2769 }
2770
2771 If ((PAM2 & 0x03))
2772 {
2773 C8LN = 0x00
2774 }
2775
2776 If ((PAM2 & 0x30))
2777 {
2778 CCLN = 0x00
2779 }
2780
2781 If ((PAM3 & 0x03))
2782 {
2783 D0LN = 0x00
2784 }
2785
2786 If ((PAM3 & 0x30))
2787 {
2788 D4LN = 0x00
2789 }
2790
2791 If ((PAM4 & 0x03))
2792 {
2793 D8LN = 0x00
2794 }
2795
2796 If ((PAM4 & 0x30))
2797 {
2798 DCLN = 0x00
2799 }
2800
2801 If ((PAM5 & 0x03))
2802 {
2803 E0LN = 0x00
2804 }
2805
2806 If ((PAM5 & 0x30))
2807 {
2808 E4LN = 0x00
2809 }
2810
2811 If ((PAM6 & 0x03))
2812 {
2813 E8LN = 0x00
2814 }
2815
2816 If ((PAM6 & 0x30))
2817 {
2818 ECLN = 0x00
2819 }
2820 }
2821
2822 Name (SUPP, 0x00)
2823 Name (CTRL, 0x00)
2824 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
2825 {
2826 CreateDWordField (Arg3, 0x00, CDW1)
2827 CreateDWordField (Arg3, 0x04, CDW2)
2828 CreateDWordField (Arg3, 0x08, CDW3)
2829 If (\_SB.PCI0.XHCI.CUID (Arg0))
2830 {
2831 Return (\_SB.PCI0.XHCI.POSC (Arg1, Arg2, Arg3))
2832 }
2833
2834 If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */))
2835 {
2836 SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
2837 CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
2838 CTRL &= 0x0D
2839 If (!(CDW1 & 0x01))
2840 {
2841 If ((CTRL & 0x01))
2842 {
2843 If (!\VIGD)
2844 {
2845 \_SB.PCI0.PEG.HPGP = 0x00
2846 \_SB.PCI0.PEG.GMGP = 0x00
2847 }
2848
2849 \_SB.PCI0.EXP3.HPCE = 0x00
2850 \_SB.PCI0.EXP3.HPCS = 0x01
2851 \_SB.PCI0.EXP3.PDC = 0x01
2852 \_SB.PCI0.EXP6.HPCE = 0x00
2853 \_SB.PCI0.EXP6.HPCS = 0x01
2854 \_SB.PCI0.EXP6.PDC = 0x01
2855 \NHPS = 0x01
2856 }
2857
2858 If ((CTRL & 0x04))
2859 {
2860 If (!\VIGD)
2861 {
2862 \_SB.PCI0.PEG.PMGP = 0x00
2863 \_SB.PCI0.PEG.GMGP = 0x00
2864 }
2865
2866 If (\_SB.PCI0.EXP1.PMCE)
2867 {
2868 \_SB.PCI0.EXP1.PMCE = 0x00
2869 \_SB.PCI0.EXP1.PMCS = 0x01
2870 }
2871
2872 If (\_SB.PCI0.EXP2.PMCE)
2873 {
2874 \_SB.PCI0.EXP2.PMCE = 0x00
2875 \_SB.PCI0.EXP2.PMCS = 0x01
2876 }
2877
2878 If (\_SB.PCI0.EXP3.PMCE)
2879 {
2880 \_SB.PCI0.EXP3.PMCE = 0x00
2881 \_SB.PCI0.EXP3.PMCS = 0x01
2882 }
2883
2884 If (\_SB.PCI0.EXP6.PMCE)
2885 {
2886 \_SB.PCI0.EXP6.PMCE = 0x00
2887 \_SB.PCI0.EXP6.PMCS = 0x01
2888 }
2889
2890 \_SB.PCI0.LPC.EXPE = 0x00
2891 \NPME = 0x01
2892 }
2893 }
2894
2895 If ((Arg1 != 0x01))
2896 {
2897 CDW1 |= 0x0A
2898 }
2899
2900 If ((CDW3 != CTRL))
2901 {
2902 CDW1 |= 0x10
2903 }
2904
2905 CDW3 = CTRL /* \_SB_.PCI0.CTRL */
2906 }
2907 Else
2908 {
2909 CDW1 |= 0x06
2910 }
2911
2912 Return (Arg3)
2913 }
2914
2915 Mutex (MDGS, 0x07)
2916 Name (VDEE, 0x01)
2917 Name (VDDA, Buffer (0x02) {})
2918 CreateBitField (VDDA, 0x00, VUPC)
2919 CreateBitField (VDDA, 0x01, VQDL)
2920 CreateBitField (VDDA, 0x02, VQDC)
2921 CreateBitField (VDDA, 0x03, VQD0)
2922 CreateBitField (VDDA, 0x04, VQD1)
2923 CreateBitField (VDDA, 0x05, VQD2)
2924 CreateBitField (VDDA, 0x06, VSDL)
2925 CreateBitField (VDDA, 0x07, VSDC)
2926 CreateBitField (VDDA, 0x08, VSD0)
2927 CreateBitField (VDDA, 0x09, VSD1)
2928 CreateBitField (VDDA, 0x0A, VSD2)
2929 CreateBitField (VDDA, 0x0B, VSD3)
2930 CreateBitField (VDDA, 0x0C, VSD4)
2931 CreateBitField (VDDA, 0x0D, VSD5)
2932 CreateBitField (VDDA, 0x0E, MSWT)
2933 Device (VID)
2934 {
2935 Name (_ADR, 0x00020000) // _ADR: Address
2936 Name (RID, 0x00)
2937 OperationRegion (VPCG, PCI_Config, 0x00, 0x0100)
2938 Field (VPCG, DWordAcc, NoLock, Preserve)
2939 {
2940 Offset (0x2C),
2941 VSID, 32,
2942 Offset (0xD4),
2943 VPWR, 8
2944 }
2945
2946 Name (MIDL, 0x0400)
2947 Name (MIDC, 0x0100)
2948 Name (MID0, 0x0300)
2949 Name (MID1, 0x0301)
2950 Name (MID2, 0x0302)
2951 Name (MID3, 0x0303)
2952 Name (MID4, 0x0304)
2953 Name (MID5, 0x0305)
2954 Name (_S3D, 0x03) // _S3D: S3 Device State
2955 Method (VRSI, 0, NotSerialized)
2956 {
2957 If ((OSYS >= 0x07DD))
2958 {
2959 VSID = 0x221E17AA
2960 VMSH = 0x01
2961 }
2962 Else
2963 {
2964 VSID = 0x221117AA
2965 VMSH = 0x00
2966 }
2967 }
2968
2969 Method (_INI, 0, NotSerialized) // _INI: Initialize
2970 {
2971 VRSI ()
2972 CLID = \_SB.LID._LID ()
2973 }
2974
2975 Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
2976 {
2977 Noop
2978 }
2979
2980 Method (_PS1, 0, NotSerialized) // _PS1: Power State 1
2981 {
2982 Noop
2983 }
2984
2985 Method (_PS2, 0, NotSerialized) // _PS2: Power State 2
2986 {
2987 Noop
2988 }
2989
2990 Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
2991 {
2992 Noop
2993 }
2994
2995 Method (VSWT, 0, NotSerialized)
2996 {
2997 GHDS (0x00)
2998 }
2999
3000 Method (VLOC, 1, NotSerialized)
3001 {
3002 If ((Arg0 == \_SB.LID._LID ()))
3003 {
3004 \VSLD (Arg0)
3005 If ((VPWR == 0x00))
3006 {
3007 CLID = Arg0
3008 GNOT (0x02, 0x00)
3009 }
3010 }
3011 }
3012
3013 Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching
3014 {
3015 Arg0 &= 0x03
3016 If ((Arg0 == 0x02))
3017 {
3018 Local0 = 0x14
3019 While (Local0)
3020 {
3021 Local0--
3022 Acquire (MDGS, 0xFFFF)
3023 If ((0x00 == MSWT))
3024 {
3025 MSWT = 0x01
3026 Local0 = 0x00
3027 VDEE = Arg0
3028 }
3029
3030 Release (MDGS)
3031 Sleep (0xC8)
3032 }
3033 }
3034 Else
3035 {
3036 Acquire (MDGS, 0xFFFF)
3037 If ((VDEE == 0x02))
3038 {
3039 MSWT = 0x00
3040 }
3041
3042 If ((Arg0 > 0x02))
3043 {
3044 VDEE = 0x01
3045 }
3046 Else
3047 {
3048 VDEE = Arg0
3049 }
3050
3051 Release (MDGS)
3052 }
3053 }
3054
3055 Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices
3056 {
3057 NDID = 0x00
3058 If ((DIDL != 0x00))
3059 {
3060 NDID++
3061 }
3062
3063 If ((DDL2 != 0x00))
3064 {
3065 NDID++
3066 }
3067
3068 If ((DDL3 != 0x00))
3069 {
3070 NDID++
3071 }
3072
3073 If ((DDL4 != 0x00))
3074 {
3075 NDID++
3076 }
3077
3078 If ((DDL5 != 0x00))
3079 {
3080 NDID++
3081 }
3082
3083 If ((DDL6 != 0x00))
3084 {
3085 NDID++
3086 }
3087
3088 If ((DDL7 != 0x00))
3089 {
3090 NDID++
3091 }
3092
3093 If ((DDL8 != 0x00))
3094 {
3095 NDID++
3096 }
3097
3098 If ((NDID == 0x01))
3099 {
3100 Name (TMP1, Package (0x01)
3101 {
3102 0xFFFFFFFF
3103 })
3104 Index (TMP1, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3105 Return (TMP1) /* \_SB_.PCI0.VID_._DOD.TMP1 */
3106 }
3107
3108 If ((NDID == 0x02))
3109 {
3110 Name (TMP2, Package (0x02)
3111 {
3112 0xFFFFFFFF,
3113 0xFFFFFFFF
3114 })
3115 Index (TMP2, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3116 Index (TMP2, 0x01) = (0x80010000 | (0x0F0F & DDL2))
3117 Return (TMP2) /* \_SB_.PCI0.VID_._DOD.TMP2 */
3118 }
3119
3120 If ((NDID == 0x03))
3121 {
3122 Name (TMP3, Package (0x03)
3123 {
3124 0xFFFFFFFF,
3125 0xFFFFFFFF,
3126 0xFFFFFFFF
3127 })
3128 Index (TMP3, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3129 Index (TMP3, 0x01) = (0x80010000 | (0x0F0F & DDL2))
3130 Index (TMP3, 0x02) = (0x80010000 | (0x0F0F & DDL3))
3131 Return (TMP3) /* \_SB_.PCI0.VID_._DOD.TMP3 */
3132 }
3133
3134 If ((NDID == 0x04))
3135 {
3136 Name (TMP4, Package (0x04)
3137 {
3138 0xFFFFFFFF,
3139 0xFFFFFFFF,
3140 0xFFFFFFFF,
3141 0xFFFFFFFF
3142 })
3143 Index (TMP4, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3144 Index (TMP4, 0x01) = (0x80010000 | (0x0F0F & DDL2))
3145 Index (TMP4, 0x02) = (0x80010000 | (0x0F0F & DDL3))
3146 Index (TMP4, 0x03) = (0x80010000 | (0x0F0F & DDL4))
3147 Return (TMP4) /* \_SB_.PCI0.VID_._DOD.TMP4 */
3148 }
3149
3150 If ((NDID == 0x05))
3151 {
3152 Name (TMP5, Package (0x05)
3153 {
3154 0xFFFFFFFF,
3155 0xFFFFFFFF,
3156 0xFFFFFFFF,
3157 0xFFFFFFFF,
3158 0xFFFFFFFF
3159 })
3160 Index (TMP5, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3161 Index (TMP5, 0x01) = (0x80010000 | (0x0F0F & DDL2))
3162 Index (TMP5, 0x02) = (0x80010000 | (0x0F0F & DDL3))
3163 Index (TMP5, 0x03) = (0x80010000 | (0x0F0F & DDL4))
3164 Index (TMP5, 0x04) = (0x80010000 | (0x0F0F & DDL5))
3165 Return (TMP5) /* \_SB_.PCI0.VID_._DOD.TMP5 */
3166 }
3167
3168 If ((NDID == 0x06))
3169 {
3170 Name (TMP6, Package (0x06)
3171 {
3172 0xFFFFFFFF,
3173 0xFFFFFFFF,
3174 0xFFFFFFFF,
3175 0xFFFFFFFF,
3176 0xFFFFFFFF,
3177 0xFFFFFFFF
3178 })
3179 Index (TMP6, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3180 Index (TMP6, 0x01) = (0x80010000 | (0x0F0F & DDL2))
3181 Index (TMP6, 0x02) = (0x80010000 | (0x0F0F & DDL3))
3182 Index (TMP6, 0x03) = (0x80010000 | (0x0F0F & DDL4))
3183 Index (TMP6, 0x04) = (0x80010000 | (0x0F0F & DDL5))
3184 Index (TMP6, 0x05) = (0x80010000 | (0x0F0F & DDL6))
3185 Return (TMP6) /* \_SB_.PCI0.VID_._DOD.TMP6 */
3186 }
3187
3188 If ((NDID == 0x07))
3189 {
3190 Name (TMP7, Package (0x07)
3191 {
3192 0xFFFFFFFF,
3193 0xFFFFFFFF,
3194 0xFFFFFFFF,
3195 0xFFFFFFFF,
3196 0xFFFFFFFF,
3197 0xFFFFFFFF,
3198 0xFFFFFFFF
3199 })
3200 Index (TMP7, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3201 Index (TMP7, 0x01) = (0x80010000 | (0x0F0F & DDL2))
3202 Index (TMP7, 0x02) = (0x80010000 | (0x0F0F & DDL3))
3203 Index (TMP7, 0x03) = (0x80010000 | (0x0F0F & DDL4))
3204 Index (TMP7, 0x04) = (0x80010000 | (0x0F0F & DDL5))
3205 Index (TMP7, 0x05) = (0x80010000 | (0x0F0F & DDL6))
3206 Index (TMP7, 0x06) = (0x80010000 | (0x0F0F & DDL7))
3207 Return (TMP7) /* \_SB_.PCI0.VID_._DOD.TMP7 */
3208 }
3209
3210 If ((NDID > 0x07))
3211 {
3212 Name (TMP8, Package (0x08)
3213 {
3214 0xFFFFFFFF,
3215 0xFFFFFFFF,
3216 0xFFFFFFFF,
3217 0xFFFFFFFF,
3218 0xFFFFFFFF,
3219 0xFFFFFFFF,
3220 0xFFFFFFFF,
3221 0xFFFFFFFF
3222 })
3223 Index (TMP8, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3224 Index (TMP8, 0x01) = (0x80010000 | (0x0F0F & DDL2))
3225 Index (TMP8, 0x02) = (0x80010000 | (0x0F0F & DDL3))
3226 Index (TMP8, 0x03) = (0x80010000 | (0x0F0F & DDL4))
3227 Index (TMP8, 0x04) = (0x80010000 | (0x0F0F & DDL5))
3228 Index (TMP8, 0x05) = (0x80010000 | (0x0F0F & DDL6))
3229 Index (TMP8, 0x06) = (0x80010000 | (0x0F0F & DDL7))
3230 Index (TMP8, 0x07) = (0x80010000 | (0x0F0F & DDL8))
3231 Return (TMP8) /* \_SB_.PCI0.VID_._DOD.TMP8 */
3232 }
3233
3234 Return (Package (0x01)
3235 {
3236 0x0400
3237 })
3238 }
3239
3240 Method (VDSW, 1, NotSerialized)
3241 {
3242 If ((VPWR == 0x00))
3243 {
3244 GDCK (Arg0)
3245 }
3246 }
3247
3248 Method (VCAD, 1, NotSerialized)
3249 {
3250 Local0 = 0x00
3251 If (((DIDL & 0x0F0F) == Arg0))
3252 {
3253 Local0 = 0x0D
3254 }
3255 Else
3256 {
3257 If (((DDL2 & 0x0F0F) == Arg0))
3258 {
3259 Local0 = 0x0D
3260 }
3261 Else
3262 {
3263 If (((DDL3 & 0x0F0F) == Arg0))
3264 {
3265 Local0 = 0x0D
3266 }
3267 Else
3268 {
3269 If (((DDL4 & 0x0F0F) == Arg0))
3270 {
3271 Local0 = 0x0D
3272 }
3273 Else
3274 {
3275 If (((DDL5 & 0x0F0F) == Arg0))
3276 {
3277 Local0 = 0x0D
3278 }
3279 Else
3280 {
3281 If (((DDL6 & 0x0F0F) == Arg0))
3282 {
3283 Local0 = 0x0D
3284 }
3285 Else
3286 {
3287 If (((DDL7 & 0x0F0F) == Arg0))
3288 {
3289 Local0 = 0x0D
3290 }
3291 Else
3292 {
3293 If (((DDL8 & 0x0F0F) == Arg0))
3294 {
3295 Local0 = 0x0D
3296 }
3297 }
3298 }
3299 }
3300 }
3301 }
3302 }
3303 }
3304
3305 If (((CPDL & 0x0F0F) == Arg0))
3306 {
3307 Local0 |= 0x10
3308 }
3309 Else
3310 {
3311 If (((CPL2 & 0x0F0F) == Arg0))
3312 {
3313 Local0 |= 0x10
3314 }
3315 Else
3316 {
3317 If (((CPL3 & 0x0F0F) == Arg0))
3318 {
3319 Local0 |= 0x10
3320 }
3321 Else
3322 {
3323 If (((CPL4 & 0x0F0F) == Arg0))
3324 {
3325 Local0 |= 0x10
3326 }
3327 Else
3328 {
3329 If (((CPL5 & 0x0F0F) == Arg0))
3330 {
3331 Local0 |= 0x10
3332 }
3333 Else
3334 {
3335 If (((CPL6 & 0x0F0F) == Arg0))
3336 {
3337 Local0 |= 0x10
3338 }
3339 Else
3340 {
3341 If (((CPL7 & 0x0F0F) == Arg0))
3342 {
3343 Local0 |= 0x10
3344 }
3345 Else
3346 {
3347 If (((CPL8 & 0x0F0F) == Arg0))
3348 {
3349 Local0 |= 0x10
3350 }
3351 }
3352 }
3353 }
3354 }
3355 }
3356 }
3357 }
3358
3359 If (((CADL & 0x0F0F) == Arg0))
3360 {
3361 Local0 |= 0x02
3362 }
3363 Else
3364 {
3365 If (((CAL2 & 0x0F0F) == Arg0))
3366 {
3367 Local0 |= 0x02
3368 }
3369 Else
3370 {
3371 If (((CAL3 & 0x0F0F) == Arg0))
3372 {
3373 Local0 |= 0x02
3374 }
3375 Else
3376 {
3377 If (((CAL4 & 0x0F0F) == Arg0))
3378 {
3379 Local0 |= 0x02
3380 }
3381 Else
3382 {
3383 If (((CAL5 & 0x0F0F) == Arg0))
3384 {
3385 Local0 |= 0x02
3386 }
3387 Else
3388 {
3389 If (((CAL6 & 0x0F0F) == Arg0))
3390 {
3391 Local0 |= 0x02
3392 }
3393 Else
3394 {
3395 If (((CAL7 & 0x0F0F) == Arg0))
3396 {
3397 Local0 |= 0x02
3398 }
3399 Else
3400 {
3401 If (((CAL8 & 0x0F0F) == Arg0))
3402 {
3403 Local0 |= 0x02
3404 }
3405 }
3406 }
3407 }
3408 }
3409 }
3410 }
3411 }
3412
3413 Return (Local0)
3414 }
3415
3416 Method (NDDS, 1, NotSerialized)
3417 {
3418 If (((NADL & 0x0F0F) == Arg0))
3419 {
3420 Return (0x01)
3421 }
3422 Else
3423 {
3424 If (((NDL2 & 0x0F0F) == Arg0))
3425 {
3426 Return (0x01)
3427 }
3428 Else
3429 {
3430 If (((NDL3 & 0x0F0F) == Arg0))
3431 {
3432 Return (0x01)
3433 }
3434 Else
3435 {
3436 If (((NDL4 & 0x0F0F) == Arg0))
3437 {
3438 Return (0x01)
3439 }
3440 Else
3441 {
3442 If (((NDL5 & 0x0F0F) == Arg0))
3443 {
3444 Return (0x01)
3445 }
3446 Else
3447 {
3448 If (((NDL6 & 0x0F0F) == Arg0))
3449 {
3450 Return (0x01)
3451 }
3452 Else
3453 {
3454 If (((NDL7 & 0x0F0F) == Arg0))
3455 {
3456 Return (0x01)
3457 }
3458 Else
3459 {
3460 If (((NDL8 & 0x0F0F) == Arg0))
3461 {
3462 Return (0x01)
3463 }
3464 }
3465 }
3466 }
3467 }
3468 }
3469 }
3470 }
3471
3472 Return (0x00)
3473 }
3474
3475 Device (LCD0)
3476 {
3477 Method (_ADR, 0, NotSerialized) // _ADR: Address
3478 {
3479 Return (0x0400)
3480 }
3481
3482 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3483 {
3484 Return (VCAD (MIDL))
3485 }
3486
3487 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3488 {
3489 Return (NDDS (MIDL))
3490 }
3491
3492 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3493 {
3494 VSDL = (Arg0 & 0x01)
3495 }
3496
3497 Method (_DDC, 1, NotSerialized) // _DDC: Display Data Current
3498 {
3499 If ((Arg0 == 0x01))
3500 {
3501 Return (\VEDI)
3502 }
3503 Else
3504 {
3505 If ((Arg0 == 0x02))
3506 {
3507 Return (\VEDI)
3508 }
3509 }
3510
3511 Return (0x00)
3512 }
3513 }
3514
3515 Device (CRT0)
3516 {
3517 Method (_ADR, 0, NotSerialized) // _ADR: Address
3518 {
3519 Return (0x0100)
3520 }
3521
3522 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3523 {
3524 Return (VCAD (MIDC))
3525 }
3526
3527 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3528 {
3529 Return (NDDS (MIDC))
3530 }
3531
3532 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3533 {
3534 VSDC = (Arg0 & 0x01)
3535 }
3536 }
3537
3538 Device (DVI0)
3539 {
3540 Method (_ADR, 0, NotSerialized) // _ADR: Address
3541 {
3542 Return (0x0300)
3543 }
3544
3545 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3546 {
3547 Return (VCAD (MID0))
3548 }
3549
3550 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3551 {
3552 Return (NDDS (MID0))
3553 }
3554
3555 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3556 {
3557 VSD0 = (Arg0 & 0x01)
3558 }
3559 }
3560
3561 Device (DVI1)
3562 {
3563 Method (_ADR, 0, NotSerialized) // _ADR: Address
3564 {
3565 Return (0x0301)
3566 }
3567
3568 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3569 {
3570 Return (VCAD (MID1))
3571 }
3572
3573 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3574 {
3575 Return (NDDS (MID1))
3576 }
3577
3578 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3579 {
3580 VSD1 = (Arg0 & 0x01)
3581 }
3582 }
3583
3584 Device (DVI2)
3585 {
3586 Method (_ADR, 0, NotSerialized) // _ADR: Address
3587 {
3588 Return (0x0302)
3589 }
3590
3591 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3592 {
3593 Return (VCAD (MID2))
3594 }
3595
3596 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3597 {
3598 Return (NDDS (MID2))
3599 }
3600
3601 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3602 {
3603 VSD2 = (Arg0 & 0x01)
3604 }
3605 }
3606
3607 Device (DVI3)
3608 {
3609 Method (_ADR, 0, NotSerialized) // _ADR: Address
3610 {
3611 Return (0x0303)
3612 }
3613
3614 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3615 {
3616 Return (VCAD (MID3))
3617 }
3618
3619 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3620 {
3621 Return (NDDS (MID3))
3622 }
3623
3624 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3625 {
3626 VSD3 = (Arg0 & 0x01)
3627 }
3628 }
3629
3630 Device (DVI4)
3631 {
3632 Method (_ADR, 0, NotSerialized) // _ADR: Address
3633 {
3634 Return (0x0304)
3635 }
3636
3637 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3638 {
3639 Return (VCAD (MID4))
3640 }
3641
3642 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3643 {
3644 Return (NDDS (MID4))
3645 }
3646
3647 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3648 {
3649 VSD4 = (Arg0 & 0x01)
3650 }
3651 }
3652
3653 Device (DVI5)
3654 {
3655 Method (_ADR, 0, NotSerialized) // _ADR: Address
3656 {
3657 Return (0x0305)
3658 }
3659
3660 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3661 {
3662 Return (VCAD (MID5))
3663 }
3664
3665 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3666 {
3667 Return (NDDS (MID5))
3668 }
3669
3670 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3671 {
3672 VSD5 = (Arg0 & 0x01)
3673 }
3674 }
3675 }
3676
3677 Device (LPC)
3678 {
3679 Name (_ADR, 0x001F0000) // _ADR: Address
3680 Name (_S3D, 0x03) // _S3D: S3 Device State
3681 Name (RID, 0x00)
3682 Device (SIO)
3683 {
3684 Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
3685 Name (_UID, 0x00) // _UID: Unique ID
3686 Name (SCRS, ResourceTemplate ()
3687 {
3688 IO (Decode16,
3689 0x0010, // Range Minimum
3690 0x0010, // Range Maximum
3691 0x01, // Alignment
3692 0x10, // Length
3693 )
3694 IO (Decode16,
3695 0x0090, // Range Minimum
3696 0x0090, // Range Maximum
3697 0x01, // Alignment
3698 0x10, // Length
3699 )
3700 IO (Decode16,
3701 0x0024, // Range Minimum
3702 0x0024, // Range Maximum
3703 0x01, // Alignment
3704 0x02, // Length
3705 )
3706 IO (Decode16,
3707 0x0028, // Range Minimum
3708 0x0028, // Range Maximum
3709 0x01, // Alignment
3710 0x02, // Length
3711 )
3712 IO (Decode16,
3713 0x002C, // Range Minimum
3714 0x002C, // Range Maximum
3715 0x01, // Alignment
3716 0x02, // Length
3717 )
3718 IO (Decode16,
3719 0x0030, // Range Minimum
3720 0x0030, // Range Maximum
3721 0x01, // Alignment
3722 0x02, // Length
3723 )
3724 IO (Decode16,
3725 0x0034, // Range Minimum
3726 0x0034, // Range Maximum
3727 0x01, // Alignment
3728 0x02, // Length
3729 )
3730 IO (Decode16,
3731 0x0038, // Range Minimum
3732 0x0038, // Range Maximum
3733 0x01, // Alignment
3734 0x02, // Length
3735 )
3736 IO (Decode16,
3737 0x003C, // Range Minimum
3738 0x003C, // Range Maximum
3739 0x01, // Alignment
3740 0x02, // Length
3741 )
3742 IO (Decode16,
3743 0x00A4, // Range Minimum
3744 0x00A4, // Range Maximum
3745 0x01, // Alignment
3746 0x02, // Length
3747 )
3748 IO (Decode16,
3749 0x00A8, // Range Minimum
3750 0x00A8, // Range Maximum
3751 0x01, // Alignment
3752 0x02, // Length
3753 )
3754 IO (Decode16,
3755 0x00AC, // Range Minimum
3756 0x00AC, // Range Maximum
3757 0x01, // Alignment
3758 0x02, // Length
3759 )
3760 IO (Decode16,
3761 0x00B0, // Range Minimum
3762 0x00B0, // Range Maximum
3763 0x01, // Alignment
3764 0x06, // Length
3765 )
3766 IO (Decode16,
3767 0x00B8, // Range Minimum
3768 0x00B8, // Range Maximum
3769 0x01, // Alignment
3770 0x02, // Length
3771 )
3772 IO (Decode16,
3773 0x00BC, // Range Minimum
3774 0x00BC, // Range Maximum
3775 0x01, // Alignment
3776 0x02, // Length
3777 )
3778 IO (Decode16,
3779 0x0050, // Range Minimum
3780 0x0050, // Range Maximum
3781 0x01, // Alignment
3782 0x04, // Length
3783 )
3784 IO (Decode16,
3785 0x0072, // Range Minimum
3786 0x0072, // Range Maximum
3787 0x01, // Alignment
3788 0x06, // Length
3789 )
3790 IO (Decode16,
3791 0x1800, // Range Minimum
3792 0x1800, // Range Maximum
3793 0x01, // Alignment
3794 0x80, // Length
3795 )
3796 IO (Decode16,
3797 0x0800, // Range Minimum
3798 0x0800, // Range Maximum
3799 0x01, // Alignment
3800 0x80, // Length
3801 )
3802 IO (Decode16,
3803 0x15E0, // Range Minimum
3804 0x15E0, // Range Maximum
3805 0x01, // Alignment
3806 0x10, // Length
3807 )
3808 IO (Decode16,
3809 0x1600, // Range Minimum
3810 0x1600, // Range Maximum
3811 0x01, // Alignment
3812 0x80, // Length
3813 )
3814 IO (Decode16,
3815 0x1640, // Range Minimum
3816 0x1640, // Range Maximum
3817 0x01, // Alignment
3818 0x20, // Length
3819 )
3820 Memory32Fixed (ReadWrite,
3821 0xF8000000, // Address Base
3822 0x04000000, // Address Length
3823 )
3824 Memory32Fixed (ReadWrite,
3825 0x00000000, // Address Base
3826 0x00001000, // Address Length
3827 _Y26)
3828 Memory32Fixed (ReadWrite,
3829 0xFED1C000, // Address Base
3830 0x00004000, // Address Length
3831 )
3832 Memory32Fixed (ReadWrite,
3833 0xFED10000, // Address Base
3834 0x00004000, // Address Length
3835 )
3836 Memory32Fixed (ReadWrite,
3837 0xFED18000, // Address Base
3838 0x00001000, // Address Length
3839 )
3840 Memory32Fixed (ReadWrite,
3841 0xFED19000, // Address Base
3842 0x00001000, // Address Length
3843 )
3844 Memory32Fixed (ReadWrite,
3845 0xFED45000, // Address Base
3846 0x00007000, // Address Length
3847 )
3848 })
3849 CreateDWordField (SCRS, \_SB.PCI0.LPC.SIO._Y26._BAS, TRMB) // _BAS: Base Address
3850 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
3851 {
3852 TRMB = \TBAB
3853 If ((\_SB.PCI0.LPC.TPM._STA () == 0x0F))
3854 {
3855 Return (SCRS) /* \_SB_.PCI0.LPC_.SIO_.SCRS */
3856 }
3857 Else
3858 {
3859 Local0 = (SizeOf (SCRS) - 0x02)
3860 Name (BUF0, Buffer (Local0) {})
3861 Local0 += SizeOf (\_SB.PCI0.LPC.TPM.BUF1)
3862 Name (BUF1, Buffer (Local0) {})
3863 BUF0 = SCRS /* \_SB_.PCI0.LPC_.SIO_.SCRS */
3864 Concatenate (BUF0, \_SB.PCI0.LPC.TPM.BUF1, BUF1) /* \_SB_.PCI0.LPC_.SIO_._CRS.BUF1 */
3865 Return (BUF1) /* \_SB_.PCI0.LPC_.SIO_._CRS.BUF1 */
3866 }
3867 }
3868 }
3869
3870 OperationRegion (LPCS, PCI_Config, 0x00, 0x0100)
3871 Field (LPCS, AnyAcc, NoLock, Preserve)
3872 {
3873 Offset (0x60),
3874 PIRA, 8,
3875 PIRB, 8,
3876 PIRC, 8,
3877 PIRD, 8,
3878 SERQ, 8,
3879 Offset (0x68),
3880 PIRE, 8,
3881 PIRF, 8,
3882 PIRG, 8,
3883 PIRH, 8,
3884 Offset (0x80),
3885 XU1A, 3,
3886 , 1,
3887 XU2A, 3,
3888 Offset (0x81),
3889 XPA, 2,
3890 , 2,
3891 XFA, 1,
3892 Offset (0x82),
3893 XU1E, 1,
3894 XU2E, 1,
3895 XPE, 1,
3896 XFE, 1,
3897 Offset (0x84),
3898 XG1E, 1,
3899 , 1,
3900 XG1A, 14,
3901 Offset (0x88),
3902 XG2E, 1,
3903 , 1,
3904 XG2A, 14,
3905 Offset (0xA0),
3906 , 2,
3907 CLKR, 1,
3908 , 7,
3909 EXPE, 1,
3910 Offset (0xA2),
3911 Offset (0xAC),
3912 Offset (0xAD),
3913 Offset (0xAE),
3914 XUSB, 1,
3915 Offset (0xB8),
3916 GR00, 2,
3917 , 10,
3918 GR06, 2
3919 }
3920
3921 OperationRegion (LPIO, SystemIO, 0x0800, 0x80)
3922 Field (LPIO, DWordAcc, NoLock, Preserve)
3923 {
3924 Offset (0x0C),
3925 FBTR, 1,
3926 , 1,
3927 NFCI, 1,
3928 , 4,
3929 FBCL, 1,
3930 , 3,
3931 , 1,
3932 Offset (0x0E),
3933 , 1,
3934 GPGD, 1,
3935 , 4,
3936 GLIS, 1,
3937 Offset (0x0F),
3938 Offset (0x10),
3939 Offset (0x2C),
3940 , 6,
3941 XHPD, 1,
3942 Offset (0x38),
3943 , 2,
3944 NFCD, 1,
3945 , 3,
3946 PID2, 1,
3947 PID3, 1,
3948 Offset (0x3A),
3949 PID0, 1,
3950 PID1, 1,
3951 , 4,
3952 NFCP, 1,
3953 Offset (0x48),
3954 DOI0, 1,
3955 DOI1, 1,
3956 DOI2, 1,
3957 DOI3, 1
3958 }
3959
3960 OperationRegion (PMIO, SystemIO, 0x1800, 0x80)
3961 Field (PMIO, AnyAcc, NoLock, Preserve)
3962 {
3963 Offset (0x2A),
3964 , 6,
3965 XHPE, 1,
3966 Offset (0x42),
3967 , 1,
3968 SWGE, 1,
3969 Offset (0x64),
3970 , 9,
3971 SCIS, 1,
3972 Offset (0x66)
3973 }
3974
3975 Device (PIC)
3976 {
3977 Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID
3978 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3979 {
3980 IO (Decode16,
3981 0x0020, // Range Minimum
3982 0x0020, // Range Maximum
3983 0x01, // Alignment
3984 0x02, // Length
3985 )
3986 IO (Decode16,
3987 0x00A0, // Range Minimum
3988 0x00A0, // Range Maximum
3989 0x01, // Alignment
3990 0x02, // Length
3991 )
3992 IO (Decode16,
3993 0x04D0, // Range Minimum
3994 0x04D0, // Range Maximum
3995 0x01, // Alignment
3996 0x02, // Length
3997 )
3998 IRQNoFlags ()
3999 {2}
4000 })
4001 }
4002
4003 Device (TIMR)
4004 {
4005 Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */) // _HID: Hardware ID
4006 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4007 {
4008 IO (Decode16,
4009 0x0040, // Range Minimum
4010 0x0040, // Range Maximum
4011 0x01, // Alignment
4012 0x04, // Length
4013 )
4014 IRQNoFlags ()
4015 {0}
4016 })
4017 }
4018
4019 Device (HPET)
4020 {
4021 Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID
4022 Method (_STA, 0, NotSerialized) // _STA: Status
4023 {
4024 If ((\WNTF && !\WXPF))
4025 {
4026 Return (0x00)
4027 }
4028 Else
4029 {
4030 Return (0x0F)
4031 }
4032
4033 Return (0x00)
4034 }
4035
4036 Name (BUF0, ResourceTemplate ()
4037 {
4038 Memory32Fixed (ReadOnly,
4039 0xFED00000, // Address Base
4040 0x00000400, // Address Length
4041 _Y27)
4042 })
4043 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
4044 {
4045 CreateDWordField (BUF0, \_SB.PCI0.LPC.HPET._Y27._BAS, HPT0) // _BAS: Base Address
4046 HPT0 = \HPET
4047 Return (BUF0) /* \_SB_.PCI0.LPC_.HPET.BUF0 */
4048 }
4049 }
4050
4051 Device (DMAC)
4052 {
4053 Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */) // _HID: Hardware ID
4054 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4055 {
4056 IO (Decode16,
4057 0x0000, // Range Minimum
4058 0x0000, // Range Maximum
4059 0x01, // Alignment
4060 0x10, // Length
4061 )
4062 IO (Decode16,
4063 0x0080, // Range Minimum
4064 0x0080, // Range Maximum
4065 0x01, // Alignment
4066 0x10, // Length
4067 )
4068 IO (Decode16,
4069 0x00C0, // Range Minimum
4070 0x00C0, // Range Maximum
4071 0x01, // Alignment
4072 0x20, // Length
4073 )
4074 DMA (Compatibility, BusMaster, Transfer8_16, )
4075 {4}
4076 })
4077 }
4078
4079 Device (SPKR)
4080 {
4081 Name (_HID, EisaId ("PNP0800") /* Microsoft Sound System Compatible Device */) // _HID: Hardware ID
4082 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4083 {
4084 IO (Decode16,
4085 0x0061, // Range Minimum
4086 0x0061, // Range Maximum
4087 0x01, // Alignment
4088 0x01, // Length
4089 )
4090 })
4091 }
4092
4093 Device (FPU)
4094 {
4095 Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */) // _HID: Hardware ID
4096 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4097 {
4098 IO (Decode16,
4099 0x00F0, // Range Minimum
4100 0x00F0, // Range Maximum
4101 0x01, // Alignment
4102 0x01, // Length
4103 )
4104 IRQNoFlags ()
4105 {13}
4106 })
4107 }
4108
4109 Device (RTC)
4110 {
4111 Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID
4112 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4113 {
4114 IO (Decode16,
4115 0x0070, // Range Minimum
4116 0x0070, // Range Maximum
4117 0x01, // Alignment
4118 0x02, // Length
4119 )
4120 IRQNoFlags ()
4121 {8}
4122 })
4123 }
4124
4125 Device (KBD)
4126 {
4127 Method (_HID, 0, NotSerialized) // _HID: Hardware ID
4128 {
4129 If (\WIN8)
4130 {
4131 Return (0x7100AE30)
4132 }
4133
4134 Return (0x0303D041)
4135 }
4136
4137 Name (_CID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _CID: Compatible ID
4138 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4139 {
4140 IO (Decode16,
4141 0x0060, // Range Minimum
4142 0x0060, // Range Maximum
4143 0x01, // Alignment
4144 0x01, // Length
4145 )
4146 IO (Decode16,
4147 0x0064, // Range Minimum
4148 0x0064, // Range Maximum
4149 0x01, // Alignment
4150 0x01, // Length
4151 )
4152 IRQNoFlags ()
4153 {1}
4154 })
4155 }
4156
4157 Device (MOU)
4158 {
4159 Name (_HID, EisaId ("IBM3780")) // _HID: Hardware ID
4160 Name (_CID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _CID: Compatible ID
4161 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4162 {
4163 IRQNoFlags ()
4164 {12}
4165 })
4166 Method (MHID, 0, NotSerialized)
4167 {
4168 If (\_SB.PCI0.LPC.PADD)
4169 {
4170 _HID = 0x80374D24
4171 }
4172 Else
4173 {
4174 If ((\PTID && 0x08))
4175 {
4176 _HID = 0x4A00AE30
4177 }
4178 Else
4179 {
4180 If (\_SB.PCI0.LPC.NFCD)
4181 {
4182 _HID = 0x3400AE30
4183 }
4184 Else
4185 {
4186 _HID = 0x3700AE30
4187 }
4188 }
4189 }
4190 }
4191 }
4192
4193 OperationRegion (IMGA, SystemIO, 0x15E0, 0x10)
4194 Field (IMGA, ByteAcc, NoLock, Preserve)
4195 {
4196 Offset (0x01),
4197 Offset (0x02),
4198 Offset (0x03),
4199 WAKR, 16,
4200 Offset (0x0C),
4201 GAIX, 8,
4202 Offset (0x0E),
4203 GADT, 8,
4204 Offset (0x10)
4205 }
4206
4207 IndexField (GAIX, GADT, ByteAcc, NoLock, Preserve)
4208 {
4209 Offset (0x50),
4210 , 3,
4211 IVPW, 1,
4212 DVPW, 1,
4213 BLPL, 1,
4214 Offset (0x51),
4215 TP4R, 1,
4216 PADR, 1,
4217 BPAD, 1,
4218 , 1,
4219 , 1,
4220 PADD, 1,
4221 Offset (0x60),
4222 EPWG, 1,
4223 , 1,
4224 CSON, 1,
4225 DSCI, 1,
4226 DSCS, 1,
4227 DLAN, 1,
4228 Offset (0xC2),
4229 GAID, 8
4230 }
4231
4232 Scope (\_SB)
4233 {
4234 Name (TCGP, Buffer (0x08)
4235 {
4236 0x1F, 0xE0, 0x1F, 0x01, 0x02, 0x04, 0x08, 0xF0 /* ........ */
4237 })
4238 CreateByteField (TCGP, 0x00, PPRQ)
4239 CreateByteField (TCGP, 0x01, PPL1)
4240 CreateByteField (TCGP, 0x02, PPRP)
4241 CreateByteField (TCGP, 0x03, TPRS)
4242 CreateByteField (TCGP, 0x04, PPOR)
4243 CreateByteField (TCGP, 0x05, TPMV)
4244 CreateByteField (TCGP, 0x06, MOR)
4245 CreateByteField (TCGP, 0x07, TVEN)
4246 OperationRegion (TCGC, SystemIO, 0x72, 0x02)
4247 Field (TCGC, ByteAcc, Lock, Preserve)
4248 {
4249 TIDX, 8,
4250 TPDA, 8
4251 }
4252
4253 IndexField (TIDX, TPDA, ByteAcc, Lock, Preserve)
4254 {
4255 Offset (0x40),
4256 TPP1, 8,
4257 PPLO, 8,
4258 TPP3, 8
4259 }
4260
4261 OperationRegion (SMIP, SystemIO, 0xB2, 0x02)
4262 Field (SMIP, ByteAcc, NoLock, Preserve)
4263 {
4264 SMIT, 8,
4265 SMID, 8
4266 }
4267 }
4268
4269 Device (TPM)
4270 {
4271 Name (TMPV, 0x00)
4272 Method (_HID, 0, NotSerialized) // _HID: Hardware ID
4273 {
4274 If ((TVID == 0x15D1))
4275 {
4276 Return (0x0201D824)
4277 }
4278
4279 If (((TVID == 0x1050) || (TVID == 0x100B)))
4280 {
4281 Return (0x0010A35C)
4282 }
4283
4284 If ((TVID == 0x19FA))
4285 {
4286 Return (0x0435CF4D)
4287 }
4288
4289 If ((TDID == 0x1002))
4290 {
4291 Return (0x02016D08)
4292 }
4293
4294 If ((TDID == 0x1001))
4295 {
4296 Return (0x01016D08)
4297 }
4298
4299 If ((TVID == 0x1114))
4300 {
4301 Return (0x00128D06)
4302 }
4303
4304 If ((TVID == 0x104A))
4305 {
4306 Return (0x0012AF4D)
4307 }
4308
4309 Return (0x310CD041)
4310 }
4311
4312 Name (_CID, EisaId ("PNP0C31")) // _CID: Compatible ID
4313 Name (_UID, 0x01) // _UID: Unique ID
4314 OperationRegion (TMMB, SystemMemory, 0xFED40000, 0x1000)
4315 Field (TMMB, ByteAcc, Lock, Preserve)
4316 {
4317 ACCS, 8,
4318 Offset (0x18),
4319 TSTA, 8,
4320 TBCA, 8,
4321 Offset (0xF00),
4322 TVID, 16,
4323 TDID, 16
4324 }
4325
4326 Method (_STA, 0, NotSerialized) // _STA: Status
4327 {
4328 If ((ACCS == 0xFF))
4329 {
4330 Return (0x00)
4331 }
4332 Else
4333 {
4334 If ((TPME == 0x00))
4335 {
4336 Return (0x00)
4337 }
4338 }
4339
4340 Return (0x0F)
4341 }
4342
4343 Name (BUF1, ResourceTemplate ()
4344 {
4345 Memory32Fixed (ReadOnly,
4346 0xFED40000, // Address Base
4347 0x00005000, // Address Length
4348 )
4349 })
4350 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
4351 {
4352 Return (BUF1) /* \_SB_.PCI0.LPC_.TPM_.BUF1 */
4353 }
4354
4355 Method (UCMP, 2, NotSerialized)
4356 {
4357 If ((0x10 != SizeOf (Arg0)))
4358 {
4359 Return (0x00)
4360 }
4361
4362 If ((0x10 != SizeOf (Arg1)))
4363 {
4364 Return (0x00)
4365 }
4366
4367 Local0 = 0x00
4368 While ((Local0 < 0x10))
4369 {
4370 If ((DerefOf (Index (Arg0, Local0)) != DerefOf (Index (Arg1, Local0
4371 ))))
4372 {
4373 Return (0x00)
4374 }
4375
4376 Local0++
4377 }
4378
4379 Return (0x01)
4380 }
4381
4382 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
4383 {
4384 Name (TTMP, Buffer (0x01)
4385 {
4386 0x00 /* . */
4387 })
4388 CreateByteField (TTMP, 0x00, TMPV)
4389 If ((UCMP (Arg0, ToUUID ("3dddfaa6-361b-4eb4-a424-8d10089d1653") /* Physical Presence Interface */) == 0x01))
4390 {
4391 If ((Arg2 == 0x00))
4392 {
4393 Return (Buffer (0x02)
4394 {
4395 0xFF, 0x01 /* .. */
4396 })
4397 }
4398
4399 If ((Arg2 == 0x01))
4400 {
4401 Return (Buffer (0x04)
4402 {
4403 "1.2"
4404 })
4405 }
4406
4407 If ((Arg2 == 0x02))
4408 {
4409 TMPV = TPP3 /* \_SB_.TPP3 */
4410 If ((TMPV & TPRS))
4411 {
4412 If ((DerefOf (Index (Arg3, 0x00)) <= 0x0B))
4413 {
4414 TPP1 = DerefOf (Index (Arg3, 0x00))
4415 Return (0x00)
4416 }
4417
4418 If (((DerefOf (Index (Arg3, 0x00)) >= 0x0E) && (
4419 DerefOf (Index (Arg3, 0x00)) <= 0x12)))
4420 {
4421 TPP1 = DerefOf (Index (Arg3, 0x00))
4422 Return (0x00)
4423 }
4424
4425 If (((DerefOf (Index (Arg3, 0x00)) == 0x15) || (DerefOf (Index (
4426 Arg3, 0x00)) == 0x16)))
4427 {
4428 TPP1 = DerefOf (Index (Arg3, 0x00))
4429 Return (0x00)
4430 }
4431
4432 Return (0x01)
4433 }
4434
4435 Return (0x02)
4436 }
4437
4438 If ((Arg2 == 0x03))
4439 {
4440 Name (TMP1, Package (0x02)
4441 {
4442 0x00,
4443 0xFFFFFFFF
4444 })
4445 TMPV = TPP1 /* \_SB_.TPP1 */
4446 Index (TMP1, 0x01) = TMPV &= PPRQ /* \_SB_.PPRQ */
4447 Return (TMP1) /* \_SB_.PCI0.LPC_.TPM_._DSM.TMP1 */
4448 }
4449
4450 If ((Arg2 == 0x04))
4451 {
4452 Return (0x02)
4453 }
4454
4455 If ((Arg2 == 0x05))
4456 {
4457 Name (TMP2, Package (0x03)
4458 {
4459 0x00,
4460 0xFFFFFFFF,
4461 0xFFFFFFFF
4462 })
4463 Index (TMP2, 0x01) = PPLO /* \_SB_.PPLO */
4464 Index (TMP2, 0x02) = 0x00
4465 Return (TMP2) /* \_SB_.PCI0.LPC_.TPM_._DSM.TMP2 */
4466 }
4467
4468 If ((Arg2 == 0x06))
4469 {
4470 Return (0x03)
4471 }
4472
4473 If ((Arg2 == 0x07))
4474 {
4475 TMPV = TPP3 /* \_SB_.TPP3 */
4476 If ((TMPV & TPRS))
4477 {
4478 If ((DerefOf (Index (Arg3, 0x00)) <= 0x0B))
4479 {
4480 TPP1 = DerefOf (Index (Arg3, 0x00))
4481 Return (0x00)
4482 }
4483
4484 If (((DerefOf (Index (Arg3, 0x00)) >= 0x0E) && (
4485 DerefOf (Index (Arg3, 0x00)) <= 0x12)))
4486 {
4487 TPP1 = DerefOf (Index (Arg3, 0x00))
4488 Return (0x00)
4489 }
4490
4491 If (((DerefOf (Index (Arg3, 0x00)) == 0x15) || (DerefOf (Index (
4492 Arg3, 0x00)) == 0x16)))
4493 {
4494 TPP1 = DerefOf (Index (Arg3, 0x00))
4495 Return (0x00)
4496 }
4497
4498 Return (0x01)
4499 }
4500
4501 Return (0x02)
4502 }
4503
4504 If ((Arg2 == 0x08))
4505 {
4506 Name (PPIP, 0x00)
4507 Name (PPIC, 0x00)
4508 If ((\TPPP == 0x00))
4509 {
4510 PPIP = 0x01
4511 }
4512
4513 If ((\TPPC == 0x00))
4514 {
4515 PPIC = 0x01
4516 }
4517
4518 If ((DerefOf (Index (Arg3, 0x00)) == 0x05))
4519 {
4520 If ((PPIC > 0x00))
4521 {
4522 Return (0x04)
4523 }
4524
4525 Return (0x03)
4526 }
4527
4528 If (((DerefOf (Index (Arg3, 0x00)) >= 0x01) && (
4529 DerefOf (Index (Arg3, 0x00)) <= 0x04)))
4530 {
4531 If ((PPIP > 0x00))
4532 {
4533 Return (0x04)
4534 }
4535
4536 Return (0x03)
4537 }
4538
4539 If (((DerefOf (Index (Arg3, 0x00)) >= 0x06) && (
4540 DerefOf (Index (Arg3, 0x00)) <= 0x0B)))
4541 {
4542 If ((PPIP > 0x00))
4543 {
4544 Return (0x04)
4545 }
4546
4547 Return (0x03)
4548 }
4549
4550 If (((DerefOf (Index (Arg3, 0x00)) == 0x0E) || ((
4551 DerefOf (Index (Arg3, 0x00)) >= 0x15) && (DerefOf (Index (Arg3, 0x00)) <=
4552 0x16))))
4553 {
4554 If (((PPIP > 0x00) && (PPIC > 0x00)))
4555 {
4556 Return (0x04)
4557 }
4558
4559 Return (0x03)
4560 }
4561
4562 If (((DerefOf (Index (Arg3, 0x00)) == 0x10) || (DerefOf (Index (
4563 Arg3, 0x00)) == 0x12)))
4564 {
4565 Return (0x03)
4566 }
4567
4568 If (((DerefOf (Index (Arg3, 0x00)) == 0x00) || ((DerefOf (
4569 Index (Arg3, 0x00)) == 0x0F) || (DerefOf (Index (Arg3, 0x00)) == 0x11))))
4570 {
4571 Return (0x04)
4572 }
4573
4574 Return (0x00)
4575 }
4576
4577 Return (0x01)
4578 }
4579
4580 If ((UCMP (Arg0, ToUUID ("376054ed-cc13-4675-901c-4756d7f2d45d")) == 0x01))
4581 {
4582 If ((Arg2 == 0x00))
4583 {
4584 Return (Buffer (0x01)
4585 {
4586 0x03 /* . */
4587 })
4588 }
4589
4590 If ((Arg2 == 0x01))
4591 {
4592 TMPV = DerefOf (Index (Arg3, 0x00))
4593 TMPV &= 0x01
4594 If ((TMPV == 0x00))
4595 {
4596 \_SB.MOR = 0x00
4597 Return (0x00)
4598 }
4599
4600 If ((TMPV == 0x01))
4601 {
4602 \_SB.MOR = 0x01
4603 Return (0x00)
4604 }
4605 }
4606
4607 Return (0x01)
4608 }
4609
4610 Return (Buffer (0x01)
4611 {
4612 0x00 /* . */
4613 })
4614 }
4615
4616 Method (CMOR, 0, NotSerialized)
4617 {
4618 \_SB.MOR = 0x00
4619 SMID = 0x80
4620 SMIT = 0xC1
4621 }
4622 }
4623
4624 Device (EC)
4625 {
4626 Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID
4627 Name (_UID, 0x00) // _UID: Unique ID
4628 Name (_GPE, 0x11) // _GPE: General Purpose Events
4629 Method (_REG, 2, NotSerialized) // _REG: Region Availability
4630 {
4631 If ((Arg0 == 0x03))
4632 {
4633 \H8DR = Arg1
4634 }
4635 }
4636
4637 OperationRegion (ECOR, EmbeddedControl, 0x00, 0x0100)
4638 Field (ECOR, ByteAcc, NoLock, Preserve)
4639 {
4640 HDBM, 1,
4641 , 1,
4642 , 1,
4643 HFNE, 1,
4644 , 1,
4645 , 1,
4646 HLDM, 1,
4647 Offset (0x01),
4648 BBLS, 1,
4649 BTCM, 1,
4650 , 1,
4651 , 1,
4652 , 1,
4653 HBPR, 1,
4654 BTPC, 1,
4655 Offset (0x02),
4656 HDUE, 1,
4657 , 4,
4658 SNLK, 1,
4659 Offset (0x03),
4660 , 5,
4661 HAUM, 2,
4662 Offset (0x05),
4663 HSPA, 1,
4664 Offset (0x06),
4665 HSUN, 8,
4666 HSRP, 8,
4667 Offset (0x0C),
4668 HLCL, 8,
4669 , 4,
4670 CALM, 1,
4671 Offset (0x0E),
4672 HFNS, 2,
4673 Offset (0x0F),
4674 , 6,
4675 NULS, 1,
4676 Offset (0x10),
4677 HAM0, 8,
4678 HAM1, 8,
4679 HAM2, 8,
4680 HAM3, 8,
4681 HAM4, 8,
4682 HAM5, 8,
4683 HAM6, 8,
4684 HAM7, 8,
4685 HAM8, 8,
4686 HAM9, 8,
4687 HAMA, 8,
4688 HAMB, 8,
4689 HAMC, 8,
4690 HAMD, 8,
4691 HAME, 8,
4692 HAMF, 8,
4693 Offset (0x23),
4694 HANT, 8,
4695 Offset (0x26),
4696 , 2,
4697 HANA, 2,
4698 Offset (0x27),
4699 Offset (0x28),
4700 , 1,
4701 SKEM, 1,
4702 Offset (0x29),
4703 Offset (0x2A),
4704 HATR, 8,
4705 HT0H, 8,
4706 HT0L, 8,
4707 HT1H, 8,
4708 HT1L, 8,
4709 HFSP, 8,
4710 , 6,
4711 HMUT, 1,
4712 Offset (0x31),
4713 , 2,
4714 HUWB, 1,
4715 Offset (0x32),
4716 HWPM, 1,
4717 HWLB, 1,
4718 HWLO, 1,
4719 HWDK, 1,
4720 HWFN, 1,
4721 HWBT, 1,
4722 HWRI, 1,
4723 HWBU, 1,
4724 HWLU, 1,
4725 Offset (0x34),
4726 , 3,
4727 PIBS, 1,
4728 , 3,
4729 HPLO, 1,
4730 Offset (0x36),
4731 HWAC, 16,
4732 HB0S, 7,
4733 HB0A, 1,
4734 HB1S, 7,
4735 HB1A, 1,
4736 HCMU, 1,
4737 , 2,
4738 OVRQ, 1,
4739 DCBD, 1,
4740 DCWL, 1,
4741 DCWW, 1,
4742 HB1I, 1,
4743 , 1,
4744 KBLT, 1,
4745 BTPW, 1,
4746 FNKC, 1,
4747 HUBS, 1,
4748 BDPW, 1,
4749 BDDT, 1,
4750 HUBB, 1,
4751 Offset (0x46),
4752 , 1,
4753 BTWK, 1,
4754 HPLD, 1,
4755 , 1,
4756 HPAC, 1,
4757 BTST, 1,
4758 Offset (0x47),
4759 HPBU, 1,
4760 , 1,
4761 HBID, 1,
4762 , 3,
4763 HBCS, 1,
4764 HPNF, 1,
4765 , 1,
4766 GSTS, 1,
4767 , 2,
4768 HLBU, 1,
4769 DOCD, 1,
4770 HCBL, 1,
4771 Offset (0x49),
4772 SLUL, 1,
4773 Offset (0x4C),
4774 HTMH, 8,
4775 HTML, 8,
4776 HWAK, 16,
4777 HMPR, 8,
4778 , 7,
4779 HMDN, 1,
4780 Offset (0x78),
4781 TMP0, 8,
4782 Offset (0x80),
4783 Offset (0x81),
4784 HIID, 8,
4785 Offset (0x83),
4786 HFNI, 8,
4787 HSPD, 16,
4788 Offset (0x88),
4789 TSL0, 7,
4790 TSR0, 1,
4791 TSL1, 7,
4792 TSR1, 1,
4793 TSL2, 7,
4794 TSR2, 1,
4795 TSL3, 7,
4796 TSR3, 1,
4797 Offset (0x8D),
4798 HDAA, 3,
4799 HDAB, 3,
4800 HDAC, 2,
4801 Offset (0xB0),
4802 HDEN, 32,
4803 HDEP, 32,
4804 HDEM, 8,
4805 HDES, 8,
4806 Offset (0xBB),
4807 PLSL, 8,
4808 PLMS, 8,
4809 PLLS, 8,
4810 PLTU, 8,
4811 Offset (0xC8),
4812 ATMX, 8,
4813 HWAT, 8,
4814 Offset (0xCC),
4815 PWMH, 8,
4816 PWML, 8,
4817 Offset (0xED),
4818 , 4,
4819 HDDD, 1
4820 }
4821
4822 Method (_INI, 0, NotSerialized) // _INI: Initialize
4823 {
4824 If (\H8DR)
4825 {
4826 HSPA = 0x00
4827 }
4828 Else
4829 {
4830 \MBEC (0x05, 0xFE, 0x00)
4831 }
4832
4833 BINI ()
4834 \_SB.PCI0.LPC.EC.HKEY.WGIN ()
4835 }
4836
4837 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4838 {
4839 IO (Decode16,
4840 0x0062, // Range Minimum
4841 0x0062, // Range Maximum
4842 0x01, // Alignment
4843 0x01, // Length
4844 )
4845 IO (Decode16,
4846 0x0066, // Range Minimum
4847 0x0066, // Range Maximum
4848 0x01, // Alignment
4849 0x01, // Length
4850 )
4851 })
4852 Method (LED, 2, NotSerialized)
4853 {
4854 Local0 = (Arg0 | Arg1)
4855 If (\H8DR)
4856 {
4857 HLCL = Local0
4858 }
4859 Else
4860 {
4861 \WBEC (0x0C, Local0)
4862 }
4863 }
4864
4865 Name (BAON, 0x00)
4866 Name (WBON, 0x00)
4867 Method (BEEP, 1, NotSerialized)
4868 {
4869 If ((Arg0 == 0x05))
4870 {
4871 WBON = 0x00
4872 }
4873
4874 Local2 = WBON /* \_SB_.PCI0.LPC_.EC__.WBON */
4875 If (BAON)
4876 {
4877 If ((Arg0 == 0x00))
4878 {
4879 BAON = 0x00
4880 If (WBON)
4881 {
4882 Local0 = 0x03
4883 Local1 = 0x08
4884 }
4885 Else
4886 {
4887 Local0 = 0x00
4888 Local1 = 0x00
4889 }
4890 }
4891 Else
4892 {
4893 Local0 = 0xFF
4894 Local1 = 0xFF
4895 If ((Arg0 == 0x11))
4896 {
4897 WBON = 0x00
4898 }
4899
4900 If ((Arg0 == 0x10))
4901 {
4902 WBON = 0x01
4903 }
4904 }
4905 }
4906 Else
4907 {
4908 Local0 = Arg0
4909 Local1 = 0xFF
4910 If ((Arg0 == 0x0F))
4911 {
4912 Local0 = Arg0
4913 Local1 = 0x08
4914 BAON = 0x01
4915 }
4916
4917 If ((Arg0 == 0x11))
4918 {
4919 Local0 = 0x00
4920 Local1 = 0x00
4921 WBON = 0x00
4922 }
4923
4924 If ((Arg0 == 0x10))
4925 {
4926 Local0 = 0x03
4927 Local1 = 0x08
4928 WBON = 0x01
4929 }
4930 }
4931
4932 If ((Arg0 == 0x03))
4933 {
4934 WBON = 0x00
4935 If (Local2)
4936 {
4937 Local0 = 0x07
4938 If (((\SPS == 0x03) || (\SPS == 0x04)))
4939 {
4940 Local2 = 0x00
4941 Local0 = 0xFF
4942 Local1 = 0xFF
4943 }
4944 }
4945 }
4946
4947 If ((Arg0 == 0x07))
4948 {
4949 If (Local2)
4950 {
4951 Local2 = 0x00
4952 Local0 = 0xFF
4953 Local1 = 0xFF
4954 }
4955 }
4956
4957 If (\H8DR)
4958 {
4959 If ((Local2 && !WBON))
4960 {
4961 HSRP = 0x00
4962 HSUN = 0x00
4963 Sleep (0x64)
4964 }
4965
4966 If ((Local1 != 0xFF))
4967 {
4968 HSRP = Local1
4969 }
4970
4971 If ((Local0 != 0xFF))
4972 {
4973 HSUN = Local0
4974 }
4975 }
4976 Else
4977 {
4978 If ((Local2 && !WBON))
4979 {
4980 \WBEC (0x07, 0x00)
4981 \WBEC (0x06, 0x00)
4982 Sleep (0x64)
4983 }
4984
4985 If ((Local1 != 0xFF))
4986 {
4987 \WBEC (0x07, Local1)
4988 }
4989
4990 If ((Local0 != 0xFF))
4991 {
4992 \WBEC (0x06, Local0)
4993 }
4994 }
4995
4996 If ((Arg0 == 0x03)) {}
4997 If ((Arg0 == 0x07))
4998 {
4999 Sleep (0x01F4)
5000 }
5001 }
5002
5003 Method (EVNT, 1, NotSerialized)
5004 {
5005 If (\H8DR)
5006 {
5007 If (Arg0)
5008 {
5009 HAM7 |= 0x01
5010 HAM5 |= 0x04
5011 }
5012 Else
5013 {
5014 HAM7 &= 0xFE
5015 HAM5 &= 0xFB
5016 }
5017 }
5018 Else
5019 {
5020 If (Arg0)
5021 {
5022 \MBEC (0x17, 0xFF, 0x01)
5023 \MBEC (0x15, 0xFF, 0x04)
5024 }
5025 Else
5026 {
5027 \MBEC (0x17, 0xFE, 0x00)
5028 \MBEC (0x15, 0xFB, 0x00)
5029 }
5030 }
5031 }
5032
5033 Name (USPS, 0x00)
5034 PowerResource (PUBS, 0x03, 0x0000)
5035 {
5036 Method (_STA, 0, NotSerialized) // _STA: Status
5037 {
5038 If (\H8DR)
5039 {
5040 Local0 = HUBS /* \_SB_.PCI0.LPC_.EC__.HUBS */
5041 }
5042 Else
5043 {
5044 Local0 = (\RBEC (0x3B) & 0x10)
5045 }
5046
5047 If (Local0)
5048 {
5049 Return (0x01)
5050 }
5051 Else
5052 {
5053 Return (0x00)
5054 }
5055 }
5056
5057 Method (_ON, 0, NotSerialized) // _ON_: Power On
5058 {
5059 Local0 = 0x64
5060 While ((USPS && Local0))
5061 {
5062 Sleep (0x01)
5063 Local0--
5064 }
5065
5066 If (\H8DR)
5067 {
5068 HUBS = 0x01
5069 }
5070 Else
5071 {
5072 \MBEC (0x3B, 0xFF, 0x10)
5073 }
5074 }
5075
5076 Method (_OFF, 0, NotSerialized) // _OFF: Power Off
5077 {
5078 USPS = 0x01
5079 If (\H8DR)
5080 {
5081 HUBS = 0x00
5082 }
5083 Else
5084 {
5085 \MBEC (0x3B, 0xEF, 0x00)
5086 }
5087
5088 Sleep (0x14)
5089 USPS = 0x00
5090 }
5091 }
5092
5093 Method (CHKS, 0, NotSerialized)
5094 {
5095 Local0 = 0x03E8
5096 While (HMPR)
5097 {
5098 Sleep (0x01)
5099 Local0--
5100 If (!Local0)
5101 {
5102 Return (0x8080)
5103 }
5104 }
5105
5106 If (HMDN)
5107 {
5108 Return (Zero)
5109 }
5110
5111 Return (0x8081)
5112 }
5113
5114 Method (LPMD, 0, NotSerialized)
5115 {
5116 Local0 = 0x00
5117 Local1 = 0x00
5118 Local2 = 0x00
5119 If (\H8DR)
5120 {
5121 If (HPAC)
5122 {
5123 If (HPLO)
5124 {
5125 Local0 = \LPST
5126 }
5127 Else
5128 {
5129 If ((HWAT < 0x5A))
5130 {
5131 If (HB0A)
5132 {
5133 If (((HB0S & 0x10) || ((HB0S & 0x07) < 0x02)))
5134 {
5135 Local1 = 0x01
5136 }
5137 }
5138 Else
5139 {
5140 Local1 = 0x01
5141 }
5142
5143 If (HB1A)
5144 {
5145 If (((HB1S & 0x10) || ((HB1S & 0x07) < 0x02)))
5146 {
5147 Local2 = 0x01
5148 }
5149 }
5150 Else
5151 {
5152 Local2 = 0x01
5153 }
5154
5155 If ((Local1 && Local2))
5156 {
5157 Local0 = \LPST
5158 }
5159 }
5160 }
5161 }
5162 }
5163 Else
5164 {
5165 If ((\RBEC (0x46) & 0x10))
5166 {
5167 If ((\RBEC (0x34) & 0x80))
5168 {
5169 Local0 = \LPST
5170 }
5171 Else
5172 {
5173 If ((\RBEC (0xC9) < 0x5A))
5174 {
5175 Local3 = \RBEC (0x38)
5176 If ((Local3 & 0x80))
5177 {
5178 If (((Local3 & 0x10) || ((Local3 & 0x07) < 0x02)))
5179 {
5180 Local1 = 0x01
5181 }
5182 }
5183 Else
5184 {
5185 Local2 = 0x01
5186 }
5187
5188 Local3 = \RBEC (0x39)
5189 If ((Local3 & 0x80))
5190 {
5191 If (((Local3 & 0x10) || ((Local3 & 0x07) < 0x02)))
5192 {
5193 Local1 = 0x01
5194 }
5195 }
5196 Else
5197 {
5198 Local2 = 0x01
5199 }
5200
5201 If ((Local1 && Local2))
5202 {
5203 Local0 = \LPST
5204 }
5205 }
5206 }
5207 }
5208 }
5209
5210 Return (Local0)
5211 }
5212
5213 Method (CLPM, 0, NotSerialized)
5214 {
5215 If ((\PPMF & 0x01))
5216 {
5217 If ((\OSPX || \CPPX))
5218 {
5219 \PNTF (0x80)
5220 }
5221 Else
5222 {
5223 Local0 = LPMD ()
5224 If (Local0)
5225 {
5226 \STEP (0x04)
5227 }
5228 Else
5229 {
5230 \STEP (0x05)
5231 }
5232 }
5233 }
5234 }
5235
5236 Mutex (MCPU, 0x07)
5237 Method (_Q10, 0, NotSerialized) // _Qxx: EC Query
5238 {
5239 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x01))
5240 {
5241 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1001)
5242 }
5243 }
5244
5245 Method (_Q11, 0, NotSerialized) // _Qxx: EC Query
5246 {
5247 Noop
5248 }
5249
5250 Method (_Q12, 0, NotSerialized) // _Qxx: EC Query
5251 {
5252 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x02))
5253 {
5254 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1002)
5255 }
5256 }
5257
5258 Method (_Q13, 0, NotSerialized) // _Qxx: EC Query
5259 {
5260 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
5261 {
5262 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1004)
5263 }
5264 Else
5265 {
5266 Notify (\_SB.SLPB, 0x80) // Status Change
5267 }
5268 }
5269
5270 Method (_Q64, 0, NotSerialized) // _Qxx: EC Query
5271 {
5272 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x10))
5273 {
5274 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1005)
5275 }
5276 }
5277
5278 Method (_Q65, 0, NotSerialized) // _Qxx: EC Query
5279 {
5280 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x20))
5281 {
5282 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1006)
5283 }
5284 }
5285
5286 Method (_Q16, 0, NotSerialized) // _Qxx: EC Query
5287 {
5288 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x40))
5289 {
5290 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1007)
5291 }
5292 Else
5293 {
5294 If ((\VHYB (0x03, 0x00) == 0x03))
5295 {
5296 Notify (\_SB.PCI0.VID, 0x80) // Status Change
5297 Return (Zero)
5298 }
5299
5300 If (VIGD)
5301 {
5302 \_SB.PCI0.VID.VSWT ()
5303 }
5304 Else
5305 {
5306 \_SB.PCI0.PEG.VID.VSWT ()
5307 }
5308 }
5309 }
5310
5311 Method (_Q17, 0, NotSerialized) // _Qxx: EC Query
5312 {
5313 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x80))
5314 {
5315 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1008)
5316 }
5317 Else
5318 {
5319 If (!\WNTF)
5320 {
5321 VEXP ()
5322 }
5323 }
5324 }
5325
5326 Method (_Q18, 0, NotSerialized) // _Qxx: EC Query
5327 {
5328 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x0100))
5329 {
5330 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1009)
5331 }
5332
5333 Noop
5334 }
5335
5336 Method (_Q1A, 0, NotSerialized) // _Qxx: EC Query
5337 {
5338 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x0400))
5339 {
5340 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100B)
5341 }
5342 }
5343
5344 Method (_Q1B, 0, NotSerialized) // _Qxx: EC Query
5345 {
5346 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100C)
5347 }
5348
5349 Method (_Q62, 0, NotSerialized) // _Qxx: EC Query
5350 {
5351 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x1000))
5352 {
5353 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100D)
5354 }
5355 }
5356
5357 Method (_Q60, 0, NotSerialized) // _Qxx: EC Query
5358 {
5359 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x2000))
5360 {
5361 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100E)
5362 }
5363 }
5364
5365 Method (_Q61, 0, NotSerialized) // _Qxx: EC Query
5366 {
5367 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x4000))
5368 {
5369 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100F)
5370 }
5371 }
5372
5373 Method (_Q1F, 0, NotSerialized) // _Qxx: EC Query
5374 {
5375 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00020000))
5376 {
5377 If ((PKLI & 0x0C00))
5378 {
5379 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1012)
5380 }
5381 }
5382
5383 \UCMS (0x0E)
5384 }
5385
5386 Method (_Q1C, 0, NotSerialized) // _Qxx: EC Query
5387 {
5388 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x01000000))
5389 {
5390 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1019)
5391 }
5392 }
5393
5394 Method (_Q1D, 0, NotSerialized) // _Qxx: EC Query
5395 {
5396 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x02000000))
5397 {
5398 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101A)
5399 }
5400 }
5401
5402 Method (_Q66, 0, NotSerialized) // _Qxx: EC Query
5403 {
5404 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x10000000))
5405 {
5406 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101D)
5407 }
5408 }
5409
5410 Method (_Q67, 0, NotSerialized) // _Qxx: EC Query
5411 {
5412 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x20000000))
5413 {
5414 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101E)
5415 }
5416 }
5417
5418 Method (_Q68, 0, NotSerialized) // _Qxx: EC Query
5419 {
5420 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x40000000))
5421 {
5422 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101F)
5423 }
5424 }
5425
5426 Method (_Q69, 0, NotSerialized) // _Qxx: EC Query
5427 {
5428 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x80000000))
5429 {
5430 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1020)
5431 }
5432 }
5433
5434 Method (_Q26, 0, NotSerialized) // _Qxx: EC Query
5435 {
5436 If (VIGD)
5437 {
5438 If (\WVIS)
5439 {
5440 \VBTD ()
5441 }
5442
5443 \_SB.PCI0.LPC.EC.BRNS ()
5444 }
5445 Else
5446 {
5447 \UCMS (0x12)
5448 }
5449
5450 Sleep (0x01F4)
5451 Notify (AC, 0x80) // Status Change
5452 Notify (\_TZ.THM0, 0x80) // Thermal Status Change
5453 If (\WXPF)
5454 {
5455 Acquire (MCPU, 0xFFFF)
5456 }
5457
5458 PWRS = 0x01
5459 If ((\PPMF & 0x01))
5460 {
5461 If ((\OSPX || \CPPX))
5462 {
5463 \PNTF (0x80)
5464 }
5465 }
5466
5467 If (\WXPF)
5468 {
5469 Sleep (0x64)
5470 }
5471
5472 If (\OSC4)
5473 {
5474 \PNTF (0x81)
5475 }
5476
5477 If (\WXPF)
5478 {
5479 Release (MCPU)
5480 }
5481
5482 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6040)
5483 ATMC ()
5484 }
5485
5486 Method (_Q27, 0, NotSerialized) // _Qxx: EC Query
5487 {
5488 If (VIGD)
5489 {
5490 If (\WVIS)
5491 {
5492 \VBTD ()
5493 }
5494
5495 \_SB.PCI0.LPC.EC.BRNS ()
5496 }
5497 Else
5498 {
5499 \UCMS (0x12)
5500 }
5501
5502 If (\_SB.PCI0.PEG.VID.ISOP ())
5503 {
5504 Notify (\_SB.PCI0.PEG.VID, 0xDF) // Hardware-Specific
5505 }
5506
5507 Sleep (0x01F4)
5508 Notify (AC, 0x80) // Status Change
5509 Notify (\_TZ.THM0, 0x80) // Thermal Status Change
5510 If (\WXPF)
5511 {
5512 Acquire (MCPU, 0xFFFF)
5513 }
5514
5515 PWRS = 0x00
5516 If ((\PPMF & 0x01))
5517 {
5518 If ((\OSPX || \CPPX))
5519 {
5520 \PNTF (0x80)
5521 }
5522 }
5523
5524 If (\WXPF)
5525 {
5526 Sleep (0x64)
5527 }
5528
5529 If (\OSC4)
5530 {
5531 \PNTF (0x81)
5532 }
5533
5534 If (\WXPF)
5535 {
5536 Release (MCPU)
5537 }
5538
5539 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6040)
5540 ATMC ()
5541 }
5542
5543 Method (_Q2A, 0, NotSerialized) // _Qxx: EC Query
5544 {
5545 \VCMS (0x01, \_SB.LID._LID ())
5546 If ((\ILNF == 0x00))
5547 {
5548 If (\IOST)
5549 {
5550 If (!\ISOC (0x00))
5551 {
5552 \IOST = 0x00
5553 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x60D0)
5554 }
5555 }
5556 Else
5557 {
5558 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x5002)
5559 If ((\PLUX == 0x00))
5560 {
5561 If (VIGD)
5562 {
5563 \_SB.PCI0.VID.GLIS (0x01)
5564 \_SB.PCI0.VID.VLOC (0x01)
5565 }
5566 Else
5567 {
5568 \_SB.PCI0.PEG.VID.VLOC (0x01)
5569 }
5570
5571 Notify (\_SB.LID, 0x80) // Status Change
5572 }
5573 }
5574 }
5575 }
5576
5577 Method (_Q2B, 0, NotSerialized) // _Qxx: EC Query
5578 {
5579 \UCMS (0x0D)
5580 \VCMS (0x01, \_SB.LID._LID ())
5581 If ((\ILNF == 0x00))
5582 {
5583 If ((\IOEN && !\IOST))
5584 {
5585 If (!\ISOC (0x01))
5586 {
5587 \IOST = 0x01
5588 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x60D0)
5589 }
5590 }
5591 Else
5592 {
5593 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x5001)
5594 If ((\PLUX == 0x00))
5595 {
5596 If (VIGD)
5597 {
5598 \_SB.PCI0.VID.GLIS (0x00)
5599 }
5600 Else
5601 {
5602 \_SB.PCI0.PEG.VID.VLOC (0x00)
5603 }
5604
5605 Notify (\_SB.LID, 0x80) // Status Change
5606 }
5607 }
5608 }
5609 }
5610
5611 Method (_Q3D, 0, NotSerialized) // _Qxx: EC Query
5612 {
5613 }
5614
5615 Method (_Q48, 0, NotSerialized) // _Qxx: EC Query
5616 {
5617 If ((\PPMF & 0x01))
5618 {
5619 If ((\OSPX || \CPPX))
5620 {
5621 \PNTF (0x80)
5622 }
5623 Else
5624 {
5625 \STEP (0x04)
5626 }
5627
5628 \_SB.PCI0.LPC.EC.CALM = 0x01
5629 }
5630 }
5631
5632 Method (_Q49, 0, NotSerialized) // _Qxx: EC Query
5633 {
5634 If ((\PPMF & 0x01))
5635 {
5636 If ((\OSPX || \CPPX))
5637 {
5638 \PNTF (0x80)
5639 }
5640 Else
5641 {
5642 \STEP (0x05)
5643 }
5644 }
5645 }
5646
5647 Method (_Q7F, 0, NotSerialized) // _Qxx: EC Query
5648 {
5649 Fatal (0x01, 0x80010000, 0x1FD4)
5650 }
5651
5652 Method (_Q4E, 0, NotSerialized) // _Qxx: EC Query
5653 {
5654 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6011)
5655 }
5656
5657 Method (_Q4F, 0, NotSerialized) // _Qxx: EC Query
5658 {
5659 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6012)
5660 }
5661
5662 Method (_Q46, 0, NotSerialized) // _Qxx: EC Query
5663 {
5664 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6012)
5665 }
5666
5667 Method (_Q22, 0, NotSerialized) // _Qxx: EC Query
5668 {
5669 CLPM ()
5670 If (HB0A)
5671 {
5672 Notify (BAT0, 0x80) // Status Change
5673 }
5674 }
5675
5676 Method (_Q4A, 0, NotSerialized) // _Qxx: EC Query
5677 {
5678 CLPM ()
5679 Notify (BAT0, 0x81) // Information Change
5680 }
5681
5682 Method (_Q4B, 0, NotSerialized) // _Qxx: EC Query
5683 {
5684 CLPM ()
5685 Notify (BAT0, 0x80) // Status Change
5686 }
5687
5688 Method (_Q24, 0, NotSerialized) // _Qxx: EC Query
5689 {
5690 CLPM ()
5691 Notify (BAT0, 0x80) // Status Change
5692 }
5693
5694 Method (BATW, 1, NotSerialized)
5695 {
5696 If (\BT2T) {}
5697 }
5698
5699 Field (ECOR, ByteAcc, NoLock, Preserve)
5700 {
5701 Offset (0xA0),
5702 SBRC, 16,
5703 SBFC, 16,
5704 SBAE, 16,
5705 SBRS, 16,
5706 SBAC, 16,
5707 SBVO, 16,
5708 SBAF, 16,
5709 SBBS, 16
5710 }
5711
5712 Field (ECOR, ByteAcc, NoLock, Preserve)
5713 {
5714 Offset (0xA0),
5715 SBBM, 16,
5716 SBMD, 16,
5717 SBCC, 16
5718 }
5719
5720 Field (ECOR, ByteAcc, NoLock, Preserve)
5721 {
5722 Offset (0xA0),
5723 SBDC, 16,
5724 SBDV, 16,
5725 SBOM, 16,
5726 SBSI, 16,
5727 SBDT, 16,
5728 SBSN, 16
5729 }
5730
5731 Field (ECOR, ByteAcc, NoLock, Preserve)
5732 {
5733 Offset (0xA0),
5734 SBCH, 32
5735 }
5736
5737 Field (ECOR, ByteAcc, NoLock, Preserve)
5738 {
5739 Offset (0xA0),
5740 SBMN, 128
5741 }
5742
5743 Field (ECOR, ByteAcc, NoLock, Preserve)
5744 {
5745 Offset (0xA0),
5746 SBDN, 128
5747 }
5748
5749 Mutex (BATM, 0x07)
5750 Method (GBIF, 3, NotSerialized)
5751 {
5752 Acquire (BATM, 0xFFFF)
5753 If (Arg2)
5754 {
5755 HIID = (Arg0 | 0x01)
5756 Local7 = SBBM /* \_SB_.PCI0.LPC_.EC__.SBBM */
5757 Local7 >>= 0x0F
5758 Index (Arg1, 0x00) = (Local7 ^ 0x01)
5759 HIID = Arg0
5760 If (Local7)
5761 {
5762 Local1 = (SBFC * 0x0A)
5763 }
5764 Else
5765 {
5766 Local1 = SBFC /* \_SB_.PCI0.LPC_.EC__.SBFC */
5767 }
5768
5769 Index (Arg1, 0x02) = Local1
5770 HIID = (Arg0 | 0x02)
5771 If (Local7)
5772 {
5773 Local0 = (SBDC * 0x0A)
5774 }
5775 Else
5776 {
5777 Local0 = SBDC /* \_SB_.PCI0.LPC_.EC__.SBDC */
5778 }
5779
5780 Index (Arg1, 0x01) = Local0
5781 Divide (Local1, 0x14, Local2, Index (Arg1, 0x05))
5782 If (Local7)
5783 {
5784 Index (Arg1, 0x06) = 0xC8
5785 }
5786 Else
5787 {
5788 If (SBDV)
5789 {
5790 Divide (0x00030D40, SBDV, Local2, Index (Arg1, 0x06))
5791 }
5792 Else
5793 {
5794 Index (Arg1, 0x06) = 0x00
5795 }
5796 }
5797
5798 Index (Arg1, 0x04) = SBDV /* \_SB_.PCI0.LPC_.EC__.SBDV */
5799 Local0 = SBSN /* \_SB_.PCI0.LPC_.EC__.SBSN */
5800 Name (SERN, Buffer (0x06)
5801 {
5802 " "
5803 })
5804 Local2 = 0x04
5805 While (Local0)
5806 {
5807 Divide (Local0, 0x0A, Local1, Local0)
5808 Index (SERN, Local2) = (Local1 + 0x30)
5809 Local2--
5810 }
5811
5812 Index (Arg1, 0x0A) = SERN /* \_SB_.PCI0.LPC_.EC__.GBIF.SERN */
5813 HIID = (Arg0 | 0x06)
5814 Index (Arg1, 0x09) = SBDN /* \_SB_.PCI0.LPC_.EC__.SBDN */
5815 HIID = (Arg0 | 0x04)
5816 Name (BTYP, Buffer (0x05)
5817 {
5818 0x00, 0x00, 0x00, 0x00, 0x00 /* ..... */
5819 })
5820 BTYP = SBCH /* \_SB_.PCI0.LPC_.EC__.SBCH */
5821 Index (Arg1, 0x0B) = BTYP /* \_SB_.PCI0.LPC_.EC__.GBIF.BTYP */
5822 HIID = (Arg0 | 0x05)
5823 Index (Arg1, 0x0C) = SBMN /* \_SB_.PCI0.LPC_.EC__.SBMN */
5824 }
5825 Else
5826 {
5827 Index (Arg1, 0x01) = 0xFFFFFFFF
5828 Index (Arg1, 0x05) = 0x00
5829 Index (Arg1, 0x06) = 0x00
5830 Index (Arg1, 0x02) = 0xFFFFFFFF
5831 }
5832
5833 Release (BATM)
5834 Return (Arg1)
5835 }
5836
5837 Method (GBST, 4, NotSerialized)
5838 {
5839 Acquire (BATM, 0xFFFF)
5840 If ((Arg1 & 0x20))
5841 {
5842 Local0 = 0x02
5843 }
5844 Else
5845 {
5846 If ((Arg1 & 0x40))
5847 {
5848 Local0 = 0x01
5849 }
5850 Else
5851 {
5852 Local0 = 0x00
5853 }
5854 }
5855
5856 If ((Arg1 & 0x07)) {}
5857 Else
5858 {
5859 Local0 |= 0x04
5860 }
5861
5862 If (((Arg1 & 0x07) == 0x07))
5863 {
5864 Local0 = 0x04
5865 Local1 = 0x00
5866 Local2 = 0x00
5867 Local3 = 0x00
5868 }
5869 Else
5870 {
5871 HIID = Arg0
5872 Local3 = SBVO /* \_SB_.PCI0.LPC_.EC__.SBVO */
5873 If (Arg2)
5874 {
5875 Local2 = (SBRC * 0x0A)
5876 }
5877 Else
5878 {
5879 Local2 = SBRC /* \_SB_.PCI0.LPC_.EC__.SBRC */
5880 }
5881
5882 Local1 = SBAC /* \_SB_.PCI0.LPC_.EC__.SBAC */
5883 If ((Local1 >= 0x8000))
5884 {
5885 If ((Local0 & 0x01))
5886 {
5887 Local1 -= 0x00010000
5888 }
5889 Else
5890 {
5891 Local1 = 0x00
5892 }
5893 }
5894 Else
5895 {
5896 If (!(Local0 & 0x02))
5897 {
5898 Local1 = 0x00
5899 }
5900 }
5901
5902 If (Arg2)
5903 {
5904 Local1 *= Local3
5905 Divide (Local1, 0x03E8, Local7, Local1)
5906 }
5907 }
5908
5909 Index (Arg3, 0x00) = Local0
5910 Index (Arg3, 0x01) = Local1
5911 Index (Arg3, 0x02) = Local2
5912 Index (Arg3, 0x03) = Local3
5913 Release (BATM)
5914 Return (Arg3)
5915 }
5916
5917 Device (BAT0)
5918 {
5919 Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID
5920 Name (_UID, 0x00) // _UID: Unique ID
5921 Name (_PCL, Package (0x01) // _PCL: Power Consumer List
5922 {
5923 \_SB
5924 })
5925 Name (B0ST, 0x00)
5926 Name (BT0I, Package (0x0D)
5927 {
5928 0x00,
5929 0xFFFFFFFF,
5930 0xFFFFFFFF,
5931 0x01,
5932 0x2A30,
5933 0x00,
5934 0x00,
5935 0x01,
5936 0x01,
5937 "",
5938 "",
5939 "",
5940 ""
5941 })
5942 Name (BT0P, Package (0x04) {})
5943 Method (_STA, 0, NotSerialized) // _STA: Status
5944 {
5945 If (\H8DR)
5946 {
5947 B0ST = HB0A /* \_SB_.PCI0.LPC_.EC__.HB0A */
5948 }
5949 Else
5950 {
5951 If ((\RBEC (0x38) & 0x80))
5952 {
5953 B0ST = 0x01
5954 }
5955 Else
5956 {
5957 B0ST = 0x00
5958 }
5959 }
5960
5961 If (B0ST)
5962 {
5963 Return (0x1F)
5964 }
5965 Else
5966 {
5967 Return (0x0F)
5968 }
5969 }
5970
5971 Method (_BIF, 0, NotSerialized) // _BIF: Battery Information
5972 {
5973 Local7 = 0x00
5974 Local6 = 0x0A
5975 While ((!Local7 && Local6))
5976 {
5977 If (HB0A)
5978 {
5979 If (((HB0S & 0x07) == 0x07))
5980 {
5981 Sleep (0x03E8)
5982 Local6--
5983 }
5984 Else
5985 {
5986 Local7 = 0x01
5987 }
5988 }
5989 Else
5990 {
5991 Local6 = 0x00
5992 }
5993 }
5994
5995 Return (GBIF (0x00, BT0I, Local7))
5996 }
5997
5998 Method (_BST, 0, NotSerialized) // _BST: Battery Status
5999 {
6000 Local0 = (DerefOf (Index (BT0I, 0x00)) ^ 0x01)
6001 Return (GBST (0x00, HB0S, Local0, BT0P))
6002 }
6003
6004 Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point
6005 {
6006 HAM4 &= 0xEF
6007 If (Arg0)
6008 {
6009 Local1 = Arg0
6010 If (!DerefOf (Index (BT0I, 0x00)))
6011 {
6012 Divide (Local1, 0x0A, Local0, Local1)
6013 }
6014
6015 HT0L = (Local1 & 0xFF)
6016 HT0H = ((Local1 >> 0x08) & 0xFF)
6017 HAM4 |= 0x10
6018 }
6019 }
6020 }
6021
6022 Device (AC)
6023 {
6024 Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID
6025 Name (_UID, 0x00) // _UID: Unique ID
6026 Name (_PCL, Package (0x01) // _PCL: Power Consumer List
6027 {
6028 \_SB
6029 })
6030 Method (_PSR, 0, NotSerialized) // _PSR: Power Source
6031 {
6032 If (\H8DR)
6033 {
6034 Return (HPAC) /* \_SB_.PCI0.LPC_.EC__.HPAC */
6035 }
6036 Else
6037 {
6038 If ((\RBEC (0x46) & 0x10))
6039 {
6040 Return (0x01)
6041 }
6042 Else
6043 {
6044 Return (0x00)
6045 }
6046 }
6047 }
6048
6049 Method (_STA, 0, NotSerialized) // _STA: Status
6050 {
6051 Return (0x0F)
6052 }
6053 }
6054
6055 Device (HKEY)
6056 {
6057 Name (_HID, EisaId ("LEN0068")) // _HID: Hardware ID
6058 Method (_STA, 0, NotSerialized) // _STA: Status
6059 {
6060 Return (0x0F)
6061 }
6062
6063 Method (MHKV, 0, NotSerialized)
6064 {
6065 Return (0x0100)
6066 }
6067
6068 Name (DHKC, 0x00)
6069 Name (DHKB, 0x01)
6070 Mutex (XDHK, 0x07)
6071 Name (DHKH, 0x00)
6072 Name (DHKW, 0x00)
6073 Name (DHKS, 0x00)
6074 Name (DHKD, 0x00)
6075 Name (DHKN, 0x0808)
6076 Name (DHKT, 0x00)
6077 Name (DHWW, 0x00)
6078 Method (MHKA, 0, NotSerialized)
6079 {
6080 Return (0xFFFFFFFB)
6081 }
6082
6083 Method (MHKN, 0, NotSerialized)
6084 {
6085 Return (DHKN) /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKN */
6086 }
6087
6088 Method (MHKK, 1, NotSerialized)
6089 {
6090 If (DHKC)
6091 {
6092 Return ((DHKN & Arg0))
6093 }
6094 Else
6095 {
6096 Return (Zero)
6097 }
6098 }
6099
6100 Method (MHKM, 2, NotSerialized)
6101 {
6102 Acquire (XDHK, 0xFFFF)
6103 If ((Arg0 > 0x20))
6104 {
6105 Noop
6106 }
6107 Else
6108 {
6109 Local0 = (One << Arg0--)
6110 If ((Local0 & 0xFFFFFFFB))
6111 {
6112 If (Arg1)
6113 {
6114 DHKN |= Local0 /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKN */
6115 }
6116 Else
6117 {
6118 DHKN &= (Local0 ^ 0xFFFFFFFF)
6119 }
6120 }
6121 Else
6122 {
6123 Noop
6124 }
6125 }
6126
6127 Release (XDHK)
6128 }
6129
6130 Method (MHKS, 0, NotSerialized)
6131 {
6132 Notify (\_SB.SLPB, 0x80) // Status Change
6133 }
6134
6135 Method (MHKC, 1, NotSerialized)
6136 {
6137 DHKC = Arg0
6138 }
6139
6140 Method (MHKP, 0, NotSerialized)
6141 {
6142 Acquire (XDHK, 0xFFFF)
6143 If (DHWW)
6144 {
6145 Local1 = DHWW /* \_SB_.PCI0.LPC_.EC__.HKEY.DHWW */
6146 DHWW = Zero
6147 }
6148 Else
6149 {
6150 If (DHKW)
6151 {
6152 Local1 = DHKW /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKW */
6153 DHKW = Zero
6154 }
6155 Else
6156 {
6157 If (DHKD)
6158 {
6159 Local1 = DHKD /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKD */
6160 DHKD = Zero
6161 }
6162 Else
6163 {
6164 If (DHKS)
6165 {
6166 Local1 = DHKS /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKS */
6167 DHKS = Zero
6168 }
6169 Else
6170 {
6171 If (DHKT)
6172 {
6173 Local1 = DHKT /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKT */
6174 DHKT = Zero
6175 }
6176 Else
6177 {
6178 Local1 = DHKH /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKH */
6179 DHKH = Zero
6180 }
6181 }
6182 }
6183 }
6184 }
6185
6186 Release (XDHK)
6187 Return (Local1)
6188 }
6189
6190 Method (MHKE, 1, NotSerialized)
6191 {
6192 DHKB = Arg0
6193 Acquire (XDHK, 0xFFFF)
6194 DHKH = Zero
6195 DHKW = Zero
6196 DHKS = Zero
6197 DHKD = Zero
6198 DHKT = Zero
6199 DHWW = Zero
6200 Release (XDHK)
6201 }
6202
6203 Method (MHKQ, 1, NotSerialized)
6204 {
6205 If (DHKB)
6206 {
6207 If (DHKC)
6208 {
6209 Acquire (XDHK, 0xFFFF)
6210 If ((Arg0 < 0x1000)) {}
6211 Else
6212 {
6213 If ((Arg0 < 0x2000))
6214 {
6215 DHKH = Arg0
6216 }
6217 Else
6218 {
6219 If ((Arg0 < 0x3000))
6220 {
6221 DHKW = Arg0
6222 }
6223 Else
6224 {
6225 If ((Arg0 < 0x4000))
6226 {
6227 DHKS = Arg0
6228 }
6229 Else
6230 {
6231 If ((Arg0 < 0x5000))
6232 {
6233 DHKD = Arg0
6234 }
6235 Else
6236 {
6237 If ((Arg0 < 0x6000))
6238 {
6239 DHKH = Arg0
6240 }
6241 Else
6242 {
6243 If ((Arg0 < 0x7000))
6244 {
6245 DHKT = Arg0
6246 }
6247 Else
6248 {
6249 If ((Arg0 < 0x8000))
6250 {
6251 DHWW = Arg0
6252 }
6253 Else
6254 {
6255 }
6256 }
6257 }
6258 }
6259 }
6260 }
6261 }
6262 }
6263
6264 Release (XDHK)
6265 Notify (HKEY, 0x80) // Status Change
6266 }
6267 Else
6268 {
6269 If ((Arg0 == 0x1004))
6270 {
6271 Notify (\_SB.SLPB, 0x80) // Status Change
6272 }
6273 }
6274 }
6275 }
6276
6277 Method (MHKB, 1, NotSerialized)
6278 {
6279 If ((Arg0 == 0x00))
6280 {
6281 \_SB.PCI0.LPC.EC.BEEP (0x11)
6282 \LIDB = 0x00
6283 }
6284 Else
6285 {
6286 If ((Arg0 == 0x01))
6287 {
6288 \_SB.PCI0.LPC.EC.BEEP (0x10)
6289 \LIDB = 0x01
6290 }
6291 Else
6292 {
6293 }
6294 }
6295 }
6296
6297 Method (MHKD, 0, NotSerialized)
6298 {
6299 If ((\PLUX == 0x00))
6300 {
6301 If (VIGD)
6302 {
6303 \_SB.PCI0.VID.VLOC (0x00)
6304 }
6305 Else
6306 {
6307 \_SB.PCI0.PEG.VID.VLOC (0x00)
6308 }
6309 }
6310 }
6311
6312 Method (MHQC, 1, NotSerialized)
6313 {
6314 If (\WNTF)
6315 {
6316 If ((Arg0 == 0x00))
6317 {
6318 Return (\CWAC)
6319 }
6320 Else
6321 {
6322 If ((Arg0 == 0x01))
6323 {
6324 Return (\CWAP)
6325 }
6326 Else
6327 {
6328 If ((Arg0 == 0x02))
6329 {
6330 Return (\CWAT)
6331 }
6332 Else
6333 {
6334 Noop
6335 }
6336 }
6337 }
6338 }
6339 Else
6340 {
6341 Noop
6342 }
6343
6344 Return (0x00)
6345 }
6346
6347 Method (MHGC, 0, NotSerialized)
6348 {
6349 If (\WNTF)
6350 {
6351 Acquire (XDHK, 0xFFFF)
6352 If (CKC4 (0x00))
6353 {
6354 Local0 = 0x03
6355 }
6356 Else
6357 {
6358 Local0 = 0x04
6359 }
6360
6361 Release (XDHK)
6362 Return (Local0)
6363 }
6364 Else
6365 {
6366 Noop
6367 }
6368
6369 Return (0x00)
6370 }
6371
6372 Method (MHSC, 1, NotSerialized)
6373 {
6374 If ((\CWAC && \WNTF))
6375 {
6376 Acquire (XDHK, 0xFFFF)
6377 If (\OSC4)
6378 {
6379 If ((Arg0 == 0x03))
6380 {
6381 If (!\CWAS)
6382 {
6383 \PNTF (0x81)
6384 \CWAS = 0x01
6385 }
6386 }
6387 Else
6388 {
6389 If ((Arg0 == 0x04))
6390 {
6391 If (\CWAS)
6392 {
6393 \PNTF (0x81)
6394 \CWAS = 0x00
6395 }
6396 }
6397 Else
6398 {
6399 Noop
6400 }
6401 }
6402 }
6403
6404 Release (XDHK)
6405 }
6406 Else
6407 {
6408 Noop
6409 }
6410 }
6411
6412 Method (CKC4, 1, NotSerialized)
6413 {
6414 Local0 = 0x00
6415 If (\C4WR)
6416 {
6417 If (!\C4AC)
6418 {
6419 Local0 |= 0x01
6420 }
6421 }
6422
6423 If (\C4NA)
6424 {
6425 Local0 |= 0x02
6426 }
6427
6428 If ((\CWAC && \CWAS))
6429 {
6430 Local0 |= 0x04
6431 }
6432
6433 Local0 &= ~Arg0
6434 Return (Local0)
6435 }
6436
6437 Method (MHQE, 0, NotSerialized)
6438 {
6439 Return (\C4WR)
6440 }
6441
6442 Method (MHGE, 0, NotSerialized)
6443 {
6444 If ((\C4WR && \C4AC))
6445 {
6446 Return (0x04)
6447 }
6448
6449 Return (0x03)
6450 }
6451
6452 Method (MHSE, 1, NotSerialized)
6453 {
6454 If (\C4WR)
6455 {
6456 Local0 = \C4AC
6457 If ((Arg0 == 0x03))
6458 {
6459 \C4AC = 0x00
6460 If ((Local0 ^ \C4AC))
6461 {
6462 If (\OSC4)
6463 {
6464 \PNTF (0x81)
6465 }
6466 }
6467 }
6468 Else
6469 {
6470 If ((Arg0 == 0x04))
6471 {
6472 \C4AC = 0x01
6473 If ((Local0 ^ \C4AC))
6474 {
6475 If (\OSC4)
6476 {
6477 \PNTF (0x81)
6478 }
6479 }
6480 }
6481 }
6482 }
6483 }
6484
6485 Method (UAWO, 1, NotSerialized)
6486 {
6487 Return (\UAWS (Arg0))
6488 }
6489
6490 Method (MLCG, 1, NotSerialized)
6491 {
6492 Local0 = \KBLS (0x00, 0x00)
6493 Return (Local0)
6494 }
6495
6496 Method (MLCS, 1, NotSerialized)
6497 {
6498 Local0 = \KBLS (0x01, Arg0)
6499 If (!(Local0 & 0x80000000))
6500 {
6501 If ((Arg0 & 0x00010000))
6502 {
6503 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6001)
6504 }
6505 Else
6506 {
6507 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00020000))
6508 {
6509 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1012)
6510 }
6511 }
6512 }
6513
6514 Return (Local0)
6515 }
6516
6517 Method (DSSG, 1, NotSerialized)
6518 {
6519 Local0 = (0x0400 | \PDCI)
6520 Return (Local0)
6521 }
6522
6523 Method (DSSS, 1, NotSerialized)
6524 {
6525 \PDCI |= Arg0
6526 }
6527
6528 Method (SBSG, 1, NotSerialized)
6529 {
6530 Return (\SYBC (0x00, 0x00))
6531 }
6532
6533 Method (SBSS, 1, NotSerialized)
6534 {
6535 Return (\SYBC (0x01, Arg0))
6536 }
6537
6538 Method (PBLG, 1, NotSerialized)
6539 {
6540 Local0 = \BRLV
6541 Local1 = (Local0 | 0x0F00)
6542 Return (Local1)
6543 }
6544
6545 Method (PBLS, 1, NotSerialized)
6546 {
6547 \BRLV = Arg0
6548 If (\VIGD)
6549 {
6550 \_SB.PCI0.LPC.EC.BRNS ()
6551 }
6552 Else
6553 {
6554 \VBRC (\BRLV)
6555 }
6556
6557 If (!\NBCF)
6558 {
6559 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6050)
6560 }
6561
6562 Return (0x00)
6563 }
6564
6565 Method (PMSG, 1, NotSerialized)
6566 {
6567 Local0 = \PRSM (0x00, 0x00)
6568 Return (Local0)
6569 }
6570
6571 Method (PMSS, 1, NotSerialized)
6572 {
6573 \PRSM (0x01, Arg0)
6574 Return (0x00)
6575 }
6576
6577 Method (ISSG, 1, NotSerialized)
6578 {
6579 Local0 = \ISSP
6580 Local0 |= 0x80
6581 Local0 |= (\ISCG & 0x30)
6582 Return (Local0)
6583 }
6584
6585 Method (ISSS, 1, NotSerialized)
6586 {
6587 \ISCG = Arg0
6588 Return (0x00)
6589 }
6590
6591 Method (FFSG, 1, NotSerialized)
6592 {
6593 Return (\IFRS (0x00, 0x00))
6594 }
6595
6596 Method (FFSS, 1, NotSerialized)
6597 {
6598 \IFRS (0x01, Arg0)
6599 Return (0x00)
6600 }
6601
6602 Method (GMKS, 0, NotSerialized)
6603 {
6604 Local0 = (0x01 & \_SB.PCI0.LPC.EC.FNKC)
6605 Local0 |= 0x0200
6606 Return (Local0)
6607 }
6608
6609 Method (SMKS, 1, NotSerialized)
6610 {
6611 If ((Arg0 & 0x01))
6612 {
6613 \_SB.PCI0.LPC.EC.FNKC = 0x01
6614 }
6615 Else
6616 {
6617 \_SB.PCI0.LPC.EC.FNKC = 0x00
6618 }
6619
6620 Return (0x00)
6621 }
6622
6623 Method (INSG, 1, NotSerialized)
6624 {
6625 Local0 = \IOEN
6626 Local0 |= (\IOST << 0x07)
6627 Local0 |= (\IOCP << 0x08)
6628 Return (Local0)
6629 }
6630
6631 Method (INSS, 1, NotSerialized)
6632 {
6633 If ((\IOCP && (Arg0 & 0x01)))
6634 {
6635 \IOEN = 0x01
6636 }
6637 Else
6638 {
6639 \IOEN = 0x00
6640 If (\IOST)
6641 {
6642 If (!\ISOC (0x00))
6643 {
6644 \IOST = 0x00
6645 }
6646 }
6647 }
6648
6649 Return (0x00)
6650 }
6651 }
6652
6653 Scope (\_SB.PCI0.LPC.EC.HKEY)
6654 {
6655 Name (INDV, 0x00)
6656 Method (MHQI, 0, NotSerialized)
6657 {
6658 If ((\IPMS & 0x01))
6659 {
6660 INDV |= 0x01
6661 }
6662
6663 If ((\IPMS & 0x02))
6664 {
6665 INDV |= 0x02
6666 }
6667
6668 If ((\IPMS & 0x08))
6669 {
6670 INDV |= 0x0200
6671 }
6672
6673 If ((\IPMS & 0x10))
6674 {
6675 INDV |= 0x04
6676 }
6677
6678 Return (INDV) /* \_SB_.PCI0.LPC_.EC__.HKEY.INDV */
6679 }
6680
6681 Method (MHGI, 1, NotSerialized)
6682 {
6683 Name (RETB, Buffer (0x10) {})
6684 CreateByteField (RETB, 0x00, MHGS)
6685 Local0 = (0x01 << Arg0)
6686 If ((INDV & Local0))
6687 {
6688 If ((Arg0 == 0x00))
6689 {
6690 CreateField (RETB, 0x08, 0x78, BRBU)
6691 BRBU = \IPMB
6692 MHGS = 0x10
6693 }
6694 Else
6695 {
6696 If ((Arg0 == 0x01))
6697 {
6698 CreateField (RETB, 0x08, 0x18, RRBU)
6699 RRBU = \IPMR
6700 MHGS = 0x04
6701 }
6702 Else
6703 {
6704 If ((Arg0 == 0x08))
6705 {
6706 CreateField (RETB, 0x10, 0x18, ODBU)
6707 CreateByteField (RETB, 0x01, MHGZ)
6708 ODBU = \IPMO
6709 If ((^^BDEV == 0x03))
6710 {
6711 If (\H8DR)
6712 {
6713 Local1 = ^^HPBU /* \_SB_.PCI0.LPC_.EC__.HPBU */
6714 }
6715 Else
6716 {
6717 Local1 = (\RBEC (0x47) & 0x01)
6718 }
6719
6720 If (!Local1)
6721 {
6722 MHGZ |= 0x04 /* \_SB_.PCI0.LPC_.EC__.HKEY.MHGI.MHGZ */
6723 }
6724
6725 If ((^^BSTS == 0x00))
6726 {
6727 MHGZ |= 0x01 /* \_SB_.PCI0.LPC_.EC__.HKEY.MHGI.MHGZ */
6728 MHGZ |= 0x02 /* \_SB_.PCI0.LPC_.EC__.HKEY.MHGI.MHGZ */
6729 }
6730 }
6731
6732 MHGS = 0x05
6733 }
6734 Else
6735 {
6736 If ((Arg0 == 0x09))
6737 {
6738 CreateField (RETB, 0x10, 0x08, AUBU)
6739 AUBU = \IPMA
6740 Index (RETB, 0x01) = 0x01
6741 MHGS = 0x03
6742 }
6743 Else
6744 {
6745 If ((Arg0 == 0x02))
6746 {
6747 Local1 = \VDYN (0x00, 0x00)
6748 Index (RETB, 0x02) = (Local1 & 0x0F)
6749 Local1 >>= 0x04
6750 Index (RETB, 0x01) = (Local1 & 0x0F)
6751 MHGS = 0x03
6752 }
6753 }
6754 }
6755 }
6756 }
6757 }
6758
6759 Return (RETB) /* \_SB_.PCI0.LPC_.EC__.HKEY.MHGI.RETB */
6760 }
6761
6762 Method (MHSI, 2, NotSerialized)
6763 {
6764 Local0 = (0x01 << Arg0)
6765 If ((INDV & Local0))
6766 {
6767 If ((Arg0 == 0x08))
6768 {
6769 If (Arg1)
6770 {
6771 If (\H8DR)
6772 {
6773 Local1 = ^^HPBU /* \_SB_.PCI0.LPC_.EC__.HPBU */
6774 }
6775 Else
6776 {
6777 Local1 = (\RBEC (0x47) & 0x01)
6778 }
6779
6780 If (!Local1)
6781 {
6782 ^^BDEV = ^^BGID (0x00)
6783 ^^NBIN (Local1)
6784 }
6785 }
6786 }
6787 Else
6788 {
6789 If ((Arg0 == 0x02))
6790 {
6791 \VDYN (0x01, Arg1)
6792 }
6793 }
6794 }
6795 }
6796 }
6797
6798 Scope (\_SB.PCI0.LPC.EC)
6799 {
6800 Method (_Q6A, 0, NotSerialized) // _Qxx: EC Query
6801 {
6802 If (HDMC)
6803 {
6804 Noop
6805 }
6806 Else
6807 {
6808 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x04000000))
6809 {
6810 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101B)
6811 }
6812 }
6813 }
6814 }
6815
6816 Scope (\_SB.PCI0.LPC.EC.HKEY)
6817 {
6818 Method (MMTG, 0, NotSerialized)
6819 {
6820 Local0 = 0x0101
6821 If (HDMC)
6822 {
6823 Local0 |= 0x00010000
6824 }
6825
6826 Return (Local0)
6827 }
6828
6829 Method (MMTS, 1, NotSerialized)
6830 {
6831 If (HDMC)
6832 {
6833 Noop
6834 }
6835 Else
6836 {
6837 If ((Arg0 == 0x02))
6838 {
6839 \_SB.PCI0.LPC.EC.LED (0x0E, 0x80)
6840 }
6841 Else
6842 {
6843 If ((Arg0 == 0x03))
6844 {
6845 \_SB.PCI0.LPC.EC.LED (0x0E, 0xC0)
6846 }
6847 Else
6848 {
6849 \_SB.PCI0.LPC.EC.LED (0x0E, 0x00)
6850 }
6851 }
6852 }
6853 }
6854 }
6855
6856 Scope (\_SB.PCI0.LPC.EC.HKEY)
6857 {
6858 Method (PWMC, 0, NotSerialized)
6859 {
6860 Return (0x01)
6861 }
6862
6863 Method (PWMG, 0, NotSerialized)
6864 {
6865 Local0 = \_SB.PCI0.LPC.EC.PWMH
6866 Local0 <<= 0x08
6867 Local0 |= \_SB.PCI0.LPC.EC.PWML
6868 Return (Local0)
6869 }
6870 }
6871
6872 Scope (\_SB.PCI0.LPC.EC)
6873 {
6874 Method (_Q45, 0, NotSerialized) // _Qxx: EC Query
6875 {
6876 If (DOCD)
6877 {
6878 Sleep (0x64)
6879 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4010)
6880 }
6881 Else
6882 {
6883 Sleep (0x64)
6884 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4011)
6885 }
6886 }
6887
6888 Method (DKID, 0, NotSerialized)
6889 {
6890 Local0 = \_SB.PCI0.LPC.DOI0
6891 Local1 = \_SB.PCI0.LPC.DOI1
6892 Local2 = \_SB.PCI0.LPC.DOI2
6893 Local3 = \_SB.PCI0.LPC.DOI3
6894 Local0 |= (Local1 << 0x01)
6895 Local0 |= (Local2 << 0x02)
6896 Local0 |= (Local3 << 0x03)
6897 Return (Local0)
6898 }
6899 }
6900
6901 Scope (\_SB.PCI0.LPC.EC.HKEY)
6902 {
6903 Method (GDKS, 0, NotSerialized)
6904 {
6905 Local0 = 0x00
6906 If ((\_SB.PCI0.LPC.EC.DOCD == 0x01))
6907 {
6908 Local0 |= 0x01
6909 Local1 = \_SB.PCI0.LPC.EC.DKID ()
6910 Local1 <<= 0x08
6911 Local0 |= Local1
6912 }
6913
6914 Local0 |= 0x00010000
6915 Return (Local0)
6916 }
6917 }
6918
6919 Scope (\_SB.PCI0.LPC.EC)
6920 {
6921 Method (_Q3F, 0, NotSerialized) // _Qxx: EC Query
6922 {
6923 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6000)
6924 }
6925
6926 Method (_Q74, 0, NotSerialized) // _Qxx: EC Query
6927 {
6928 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6060)
6929 }
6930 }
6931
6932 Scope (\_SB.PCI0.LPC.EC.HKEY)
6933 {
6934 Method (NUMG, 0, NotSerialized)
6935 {
6936 Local0 = 0x01
6937 If (\_SB.PCI0.LPC.EC.SNLK)
6938 {
6939 Local0 &= ~0x02
6940 }
6941 Else
6942 {
6943 Local0 |= 0x02
6944 }
6945
6946 If (\_SB.PCI0.LPC.EC.NULS)
6947 {
6948 Local0 |= 0x0100
6949 }
6950 Else
6951 {
6952 Local0 &= ~0x0100
6953 }
6954
6955 Return (Local0)
6956 }
6957 }
6958 }
6959 }
6960
6961 Device (PEG)
6962 {
6963 Name (_ADR, 0x00010000) // _ADR: Address
6964 Name (_S3D, 0x03) // _S3D: S3 Device State
6965 Name (RID, 0x00)
6966 Name (LART, Package (0x04)
6967 {
6968 Package (0x04)
6969 {
6970 0xFFFF,
6971 0x00,
6972 LNKB,
6973 0x00
6974 },
6975
6976 Package (0x04)
6977 {
6978 0xFFFF,
6979 0x01,
6980 LNKC,
6981 0x00
6982 },
6983
6984 Package (0x04)
6985 {
6986 0xFFFF,
6987 0x02,
6988 LNKD,
6989 0x00
6990 },
6991
6992 Package (0x04)
6993 {
6994 0xFFFF,
6995 0x03,
6996 LNKA,
6997 0x00
6998 }
6999 })
7000 Name (AART, Package (0x04)
7001 {
7002 Package (0x04)
7003 {
7004 0xFFFF,
7005 0x00,
7006 0x00,
7007 0x10
7008 },
7009
7010 Package (0x04)
7011 {
7012 0xFFFF,
7013 0x01,
7014 0x00,
7015 0x11
7016 },
7017
7018 Package (0x04)
7019 {
7020 0xFFFF,
7021 0x02,
7022 0x00,
7023 0x12
7024 },
7025
7026 Package (0x04)
7027 {
7028 0xFFFF,
7029 0x03,
7030 0x00,
7031 0x13
7032 }
7033 })
7034 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
7035 {
7036 If (\GPIC)
7037 {
7038 Return (AART) /* \_SB_.PCI0.PEG_.AART */
7039 }
7040 Else
7041 {
7042 Return (LART) /* \_SB_.PCI0.PEG_.LART */
7043 }
7044 }
7045
7046 Mutex (MDGS, 0x07)
7047 Name (VDEE, 0x01)
7048 Name (VDDA, Buffer (0x04) {})
7049 CreateBitField (VDDA, 0x00, VUPC)
7050 CreateBitField (VDDA, 0x01, VQDL)
7051 CreateBitField (VDDA, 0x02, VQDC)
7052 CreateBitField (VDDA, 0x03, VQD0)
7053 CreateBitField (VDDA, 0x04, VQD1)
7054 CreateBitField (VDDA, 0x05, VQD2)
7055 CreateBitField (VDDA, 0x06, VQD3)
7056 CreateBitField (VDDA, 0x07, VQD4)
7057 CreateBitField (VDDA, 0x08, VQD5)
7058 CreateBitField (VDDA, 0x09, VSDL)
7059 CreateBitField (VDDA, 0x0A, VSDC)
7060 CreateBitField (VDDA, 0x0B, VSD0)
7061 CreateBitField (VDDA, 0x0C, VSD1)
7062 CreateBitField (VDDA, 0x0D, VSD2)
7063 CreateBitField (VDDA, 0x0E, VSD3)
7064 CreateBitField (VDDA, 0x0F, VSD4)
7065 CreateBitField (VDDA, 0x10, VSD5)
7066 CreateBitField (VDDA, 0x11, MSWT)
7067 CreateBitField (VDDA, 0x12, VWST)
7068 Name (WKEN, 0x00)
7069 Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
7070 {
7071 If (Arg1)
7072 {
7073 WKEN = 0x00
7074 }
7075 Else
7076 {
7077 If ((Arg0 && Arg2))
7078 {
7079 WKEN = 0x01
7080 }
7081 Else
7082 {
7083 WKEN = 0x00
7084 }
7085 }
7086 }
7087
7088 PowerResource (NVP3, 0x00, 0x0000)
7089 {
7090 Name (_STA, One) // _STA: Status
7091 Method (_ON, 0, Serialized) // _ON_: Power On
7092 {
7093 \_SB.PCI0.PEG.VID.GPON (0x00)
7094 _STA = One
7095 }
7096
7097 Method (_OFF, 0, Serialized) // _OFF: Power Off
7098 {
7099 \_SB.PCI0.PEG.VID.GPOF (0x00)
7100 _STA = Zero
7101 }
7102 }
7103
7104 PowerResource (NVP2, 0x00, 0x0000)
7105 {
7106 Name (_STA, One) // _STA: Status
7107 Method (_ON, 0, Serialized) // _ON_: Power On
7108 {
7109 _STA = One
7110 }
7111
7112 Method (_OFF, 0, Serialized) // _OFF: Power Off
7113 {
7114 _STA = One
7115 }
7116 }
7117
7118 Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
7119 {
7120 NVP3
7121 })
7122 Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
7123 {
7124 NVP2
7125 })
7126 Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
7127 {
7128 NVP3
7129 })
7130 Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
7131 {
7132 Return (0x04)
7133 }
7134
7135 Device (VID)
7136 {
7137 Name (_ADR, 0x00) // _ADR: Address
7138 OperationRegion (VPCG, PCI_Config, 0x00, 0x0100)
7139 Field (VPCG, DWordAcc, NoLock, Preserve)
7140 {
7141 Offset (0x2C),
7142 VSID, 32,
7143 Offset (0x40),
7144 VIDS, 32,
7145 Offset (0x70),
7146 VPWR, 8
7147 }
7148
7149 OperationRegion (GPPB, PCI_Config, 0xB4, 0x14)
7150 Field (GPPB, ByteAcc, NoLock, Preserve)
7151 {
7152 PBCI, 8,
7153 PBNP, 8,
7154 PBLS, 8,
7155 PBCC, 8,
7156 PBCR, 32,
7157 PBDI, 32,
7158 PBDO, 32,
7159 PBMR, 32
7160 }
7161
7162 Method (VRSI, 0, NotSerialized)
7163 {
7164 If ((OSYS >= 0x07DD))
7165 {
7166 VIDS = 0x221E17AA
7167 }
7168 Else
7169 {
7170 VIDS = 0x221117AA
7171 }
7172 }
7173
7174 Name (_S3D, 0x03) // _S3D: S3 Device State
7175 Name (DGOS, 0x00)
7176 Method (_INI, 0, NotSerialized) // _INI: Initialize
7177 {
7178 \VUPS (0x02)
7179 VQDL = \VCDL
7180 VQDC = \VCDC
7181 VQD0 = \VCDT
7182 VQD1 = \VCDD
7183 VRSI ()
7184 If (ISOP ())
7185 {
7186 \VHYB (0x04, 0x01)
7187 }
7188 }
7189
7190 Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
7191 {
7192 If (!VMSH)
7193 {
7194 GPON (0x00)
7195 }
7196 }
7197
7198 Method (_PS1, 0, NotSerialized) // _PS1: Power State 1
7199 {
7200 Noop
7201 }
7202
7203 Method (_PS2, 0, NotSerialized) // _PS2: Power State 2
7204 {
7205 Noop
7206 }
7207
7208 Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
7209 {
7210 If (!VMSH)
7211 {
7212 GPOF (0x00)
7213 }
7214 }
7215
7216 Method (GPON, 1, NotSerialized)
7217 {
7218 If (ISOP ())
7219 {
7220 If (DGOS)
7221 {
7222 \TDNV = 0x01
7223 If ((\PPMF & 0x01))
7224 {
7225 If ((\OSPX || \CPPX))
7226 {
7227 \PNTF (0x80)
7228 }
7229 }
7230
7231 \VHYB (0x02, 0x00)
7232 Sleep (0x64)
7233 If ((ToInteger (Arg0) == 0x00)) {}
7234 \VHYB (0x00, 0x01)
7235 Sleep (0x64)
7236 \VHYB (0x02, 0x01)
7237 Sleep (0x01)
7238 \VHYB (0x08, 0x01)
7239 Local0 = 0x0A
7240 Local1 = 0x32
7241 While (Local1)
7242 {
7243 Sleep (Local0)
7244 If (\LCHK (0x01))
7245 {
7246 Break
7247 }
7248
7249 Local1--
7250 }
7251
7252 \VHYB (0x08, 0x03)
7253 If (VMSH)
7254 {
7255 \VHYB (0x0D, 0x00)
7256 }
7257
7258 Local1 = 0xC8
7259 While (Local1)
7260 {
7261 Sleep (0x01)
7262 If (\VHYB (0x0C, 0x00))
7263 {
7264 Break
7265 }
7266
7267 Local1--
7268 }
7269
7270 \VHYB (0x04, 0x00)
7271 \SWTT (0x01)
7272 DGOS = Zero
7273 }
7274 Else
7275 {
7276 If (((VSID != 0x221117AA) && (VSID != 0x221E17AA)))
7277 {
7278 \VHYB (0x04, 0x00)
7279 }
7280 }
7281
7282 \VHYB (0x09, \_SB.PCI0.PEG.VID.HDAS)
7283 }
7284 }
7285
7286 Method (GPOF, 1, NotSerialized)
7287 {
7288 If (ISOP ())
7289 {
7290 If ((VMSH || (\_SB.PCI0.PEG.VID.OMPR == 0x03)))
7291 {
7292 \SWTT (0x00)
7293 \VHYB (0x08, 0x00)
7294 Local0 = 0x0A
7295 Local1 = 0x32
7296 While (Local1)
7297 {
7298 Sleep (Local0)
7299 If (\LCHK (0x00))
7300 {
7301 Break
7302 }
7303
7304 Local1--
7305 }
7306
7307 \VHYB (0x08, 0x02)
7308 \VHYB (0x02, 0x00)
7309 Sleep (0x64)
7310 \VHYB (0x00, 0x00)
7311 If ((ToInteger (Arg0) == 0x00)) {}
7312 DGOS = One
7313 \_SB.PCI0.PEG.VID.OMPR = 0x02
7314 \TDNV = 0x00
7315 If ((\PPMF & 0x01))
7316 {
7317 If ((\OSPX || \CPPX))
7318 {
7319 \PNTF (0x80)
7320 }
7321 }
7322 }
7323 }
7324 }
7325
7326 Method (_STA, 0, NotSerialized) // _STA: Status
7327 {
7328 Return (0x0F)
7329 }
7330
7331 Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
7332 {
7333 If (\CMPB (Arg0, ToUUID ("a486d8f8-0bda-471b-a72b-6042a6b5bee0")))
7334 {
7335 Return (NVOP (Arg0, Arg1, Arg2, Arg3))
7336 }
7337
7338 If (\CMPB (Arg0, ToUUID ("a3132d01-8cda-49ba-a52e-bc9d46df6b81")))
7339 {
7340 Return (NVPS (Arg0, Arg1, Arg2, Arg3))
7341 }
7342
7343 If (\WIN8)
7344 {
7345 If (\CMPB (Arg0, ToUUID ("d4a50b75-65c7-46f7-bfb7-41514cea0244")))
7346 {
7347 Return (NBCI (Arg0, Arg1, Arg2, Arg3))
7348 }
7349 }
7350
7351 Return (Buffer (0x04)
7352 {
7353 0x01, 0x00, 0x00, 0x80 /* .... */
7354 })
7355 }
7356
7357 OperationRegion (ATRP, SystemMemory, \ATRB, 0x00010000)
7358 Field (ATRP, AnyAcc, Lock, Preserve)
7359 {
7360 IDX0, 262144,
7361 IDX1, 262144
7362 }
7363
7364 Method (_ROM, 2, Serialized) // _ROM: Read-Only Memory
7365 {
7366 If ((Arg0 >= 0x8000))
7367 {
7368 Return (GETB ((Arg0 - 0x8000), Arg1, IDX1))
7369 }
7370
7371 If (((Arg0 + Arg1) > 0x8000))
7372 {
7373 Local0 = (0x8000 - Arg0)
7374 Local1 = (Arg1 - Local0)
7375 Local3 = GETB (Arg0, Local0, IDX0)
7376 Local4 = GETB (0x00, Local1, IDX1)
7377 Concatenate (Local3, Local4, Local5)
7378 Return (Local5)
7379 }
7380
7381 Return (GETB (Arg0, Arg1, IDX0))
7382 }
7383
7384 Method (GETB, 3, Serialized)
7385 {
7386 Local0 = (Arg0 * 0x08)
7387 Local1 = (Arg1 * 0x08)
7388 CreateField (Arg2, Local0, Local1, TBF3)
7389 Return (TBF3) /* \_SB_.PCI0.PEG_.VID_.GETB.TBF3 */
7390 }
7391
7392 Method (VSWT, 0, NotSerialized)
7393 {
7394 If (\WVIS)
7395 {
7396 Local0 = \VEVT (0x07)
7397 }
7398 Else
7399 {
7400 Local0 = \VEVT (0x05)
7401 }
7402
7403 Local1 = (0xFF & Local0)
7404 If (Local1)
7405 {
7406 ASWT (Local1, 0x01)
7407 }
7408 }
7409
7410 Method (VLOC, 1, NotSerialized)
7411 {
7412 If ((Arg0 == \_SB.LID._LID ()))
7413 {
7414 \VSLD (Arg0)
7415 If (((VPWR & 0x03) == 0x00))
7416 {
7417 If (Arg0)
7418 {
7419 Local0 = \VEVT (0x01)
7420 }
7421 Else
7422 {
7423 Local0 = \VEVT (0x02)
7424 }
7425
7426 Local1 = (0x0F & Local0)
7427 If (Local1)
7428 {
7429 ASWT (Local1, 0x00)
7430 }
7431 }
7432 }
7433 }
7434
7435 Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching
7436 {
7437 If ((Arg0 == 0x02))
7438 {
7439 Local0 = 0x14
7440 While (Local0)
7441 {
7442 Local0--
7443 Acquire (MDGS, 0xFFFF)
7444 If ((0x00 == MSWT))
7445 {
7446 MSWT = 0x01
7447 Local0 = 0x00
7448 VDEE = Arg0
7449 }
7450
7451 Release (MDGS)
7452 Sleep (0xC8)
7453 }
7454 }
7455 Else
7456 {
7457 Acquire (MDGS, 0xFFFF)
7458 If ((VDEE == 0x02))
7459 {
7460 MSWT = 0x00
7461 }
7462
7463 If ((Arg0 > 0x02))
7464 {
7465 VDEE = 0x01
7466 }
7467 Else
7468 {
7469 VDEE = Arg0
7470 }
7471
7472 Release (MDGS)
7473 }
7474 }
7475
7476 Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices
7477 {
7478 Return (Package (0x08)
7479 {
7480 0x0100,
7481 0x0114,
7482 0x0111,
7483 0x0115,
7484 0x0112,
7485 0x0116,
7486 0x0113,
7487 0x0110
7488 })
7489 }
7490
7491 Method (ASWT, 2, NotSerialized)
7492 {
7493 If ((0x01 == VDEE))
7494 {
7495 Local1 = (0x01 & Arg1)
7496 \VSDS (Arg0, Local1)
7497 }
7498 Else
7499 {
7500 Local0 = 0x14
7501 While (Local0)
7502 {
7503 Local0--
7504 Acquire (MDGS, 0xFFFF)
7505 If ((0x00 == MSWT))
7506 {
7507 Local0 = 0x00
7508 If ((0x01 & Arg1))
7509 {
7510 VUPC = 0x01
7511 }
7512 Else
7513 {
7514 VUPC = 0x00
7515 }
7516
7517 If ((0x01 & Arg0))
7518 {
7519 VQDL = 0x01
7520 }
7521 Else
7522 {
7523 VQDL = 0x00
7524 }
7525
7526 If ((0x02 & Arg0))
7527 {
7528 VQDC = 0x01
7529 }
7530 Else
7531 {
7532 VQDC = 0x00
7533 }
7534
7535 If ((0x04 & Arg0))
7536 {
7537 VQD0 = 0x01
7538 }
7539 Else
7540 {
7541 VQD0 = 0x00
7542 }
7543
7544 If ((0x08 & Arg0))
7545 {
7546 VQD1 = 0x01
7547 }
7548 Else
7549 {
7550 VQD1 = 0x00
7551 }
7552
7553 If ((0x10 & Arg0))
7554 {
7555 VQD2 = 0x01
7556 }
7557 Else
7558 {
7559 VQD2 = 0x00
7560 }
7561
7562 If ((0x20 & Arg0))
7563 {
7564 VQD3 = 0x01
7565 }
7566 Else
7567 {
7568 VQD3 = 0x00
7569 }
7570
7571 If ((0x40 & Arg0))
7572 {
7573 VQD4 = 0x01
7574 }
7575 Else
7576 {
7577 VQD4 = 0x00
7578 }
7579
7580 If ((0x80 & Arg0))
7581 {
7582 VQD5 = 0x01
7583 }
7584 Else
7585 {
7586 VQD5 = 0x00
7587 }
7588 }
7589
7590 Release (MDGS)
7591 Sleep (0xC8)
7592 }
7593
7594 If ((0x02 & Arg1))
7595 {
7596 Notify (VID, 0x81) // Information Change
7597 }
7598 Else
7599 {
7600 Notify (VID, 0x80) // Status Change
7601 }
7602 }
7603 }
7604
7605 Method (VDSW, 1, NotSerialized)
7606 {
7607 If ((VPWR == 0x00))
7608 {
7609 If (Arg0)
7610 {
7611 Local0 = \VEVT (0x03)
7612 }
7613 Else
7614 {
7615 Local0 = \VEVT (0x04)
7616 }
7617
7618 Local1 = (0x0F & Local0)
7619 If (Local1)
7620 {
7621 ASWT (Local1, 0x00)
7622 }
7623 }
7624 }
7625
7626 Device (LCD0)
7627 {
7628 Method (_ADR, 0, NotSerialized) // _ADR: Address
7629 {
7630 Return (0x0110)
7631 }
7632
7633 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
7634 {
7635 \VUPS (0x00)
7636 If (\VCDL)
7637 {
7638 Return (0x1F)
7639 }
7640 Else
7641 {
7642 Return (0x1D)
7643 }
7644 }
7645
7646 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
7647 {
7648 Return (VQDL) /* \_SB_.PCI0.PEG_.VQDL */
7649 }
7650
7651 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
7652 {
7653 VSDL = (Arg0 & 0x01)
7654 If ((Arg0 & 0x80000000))
7655 {
7656 If ((Arg0 & 0x40000000))
7657 {
7658 DSWT (0x02)
7659 }
7660 Else
7661 {
7662 DSWT (0x01)
7663 }
7664 }
7665 }
7666
7667 Method (_DDC, 1, NotSerialized) // _DDC: Display Data Current
7668 {
7669 If (ISOP ())
7670 {
7671 Return (0x00)
7672 }
7673
7674 If ((Arg0 == 0x01))
7675 {
7676 Return (\VEDI)
7677 }
7678 Else
7679 {
7680 If ((Arg0 == 0x02))
7681 {
7682 Return (\VEDI)
7683 }
7684 }
7685
7686 Return (0x00)
7687 }
7688 }
7689
7690 Device (CRT0)
7691 {
7692 Method (_ADR, 0, NotSerialized) // _ADR: Address
7693 {
7694 Return (0x0100)
7695 }
7696
7697 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
7698 {
7699 \VUPS (0x01)
7700 If (\VCSS)
7701 {
7702 If (\VCDC)
7703 {
7704 Return (0x1F)
7705 }
7706 Else
7707 {
7708 Return (0x1D)
7709 }
7710 }
7711 Else
7712 {
7713 If (\VCDC)
7714 {
7715 Return (0x0F)
7716 }
7717 Else
7718 {
7719 Return (0x0D)
7720 }
7721 }
7722 }
7723
7724 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
7725 {
7726 Return (VQDC) /* \_SB_.PCI0.PEG_.VQDC */
7727 }
7728
7729 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
7730 {
7731 VSDC = (Arg0 & 0x01)
7732 If ((Arg0 & 0x80000000))
7733 {
7734 If ((Arg0 & 0x40000000))
7735 {
7736 DSWT (0x02)
7737 }
7738 Else
7739 {
7740 DSWT (0x01)
7741 }
7742 }
7743 }
7744 }
7745
7746 Device (DVI0)
7747 {
7748 Method (_ADR, 0, NotSerialized) // _ADR: Address
7749 {
7750 Return (0x0111)
7751 }
7752
7753 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
7754 {
7755 \VUPS (0x00)
7756 If (\VCDD)
7757 {
7758 Return (0x1F)
7759 }
7760 Else
7761 {
7762 Return (0x1D)
7763 }
7764 }
7765
7766 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
7767 {
7768 Return (VQD1) /* \_SB_.PCI0.PEG_.VQD1 */
7769 }
7770
7771 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
7772 {
7773 VSD1 = (Arg0 & 0x01)
7774 If ((Arg0 & 0x80000000))
7775 {
7776 If ((Arg0 & 0x40000000))
7777 {
7778 DSWT (0x02)
7779 }
7780 Else
7781 {
7782 DSWT (0x01)
7783 }
7784 }
7785 }
7786 }
7787
7788 Device (DP0)
7789 {
7790 Method (_ADR, 0, NotSerialized) // _ADR: Address
7791 {
7792 Return (0x0114)
7793 }
7794
7795 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
7796 {
7797 \VUPS (0x00)
7798 If (\VCDT)
7799 {
7800 Return (0x1F)
7801 }
7802 Else
7803 {
7804 Return (0x1D)
7805 }
7806 }
7807
7808 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
7809 {
7810 Return (VQD0) /* \_SB_.PCI0.PEG_.VQD0 */
7811 }
7812
7813 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
7814 {
7815 VSD0 = (Arg0 & 0x01)
7816 If ((Arg0 & 0x80000000))
7817 {
7818 If ((Arg0 & 0x40000000))
7819 {
7820 DSWT (0x02)
7821 }
7822 Else
7823 {
7824 DSWT (0x01)
7825 }
7826 }
7827 }
7828 }
7829
7830 Device (DVI1)
7831 {
7832 Method (_ADR, 0, NotSerialized) // _ADR: Address
7833 {
7834 Return (0x0112)
7835 }
7836
7837 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
7838 {
7839 \VUPS (0x00)
7840 If (\VCDD)
7841 {
7842 Return (0x1F)
7843 }
7844 Else
7845 {
7846 Return (0x1D)
7847 }
7848 }
7849
7850 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
7851 {
7852 Return (VQD3) /* \_SB_.PCI0.PEG_.VQD3 */
7853 }
7854
7855 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
7856 {
7857 VSD3 = (Arg0 & 0x01)
7858 If ((Arg0 & 0x80000000))
7859 {
7860 If ((Arg0 & 0x40000000))
7861 {
7862 DSWT (0x02)
7863 }
7864 Else
7865 {
7866 DSWT (0x01)
7867 }
7868 }
7869 }
7870 }
7871
7872 Device (DP1)
7873 {
7874 Method (_ADR, 0, NotSerialized) // _ADR: Address
7875 {
7876 Return (0x0115)
7877 }
7878
7879 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
7880 {
7881 \VUPS (0x00)
7882 If (\VCDT)
7883 {
7884 Return (0x1F)
7885 }
7886 Else
7887 {
7888 Return (0x1D)
7889 }
7890 }
7891
7892 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
7893 {
7894 Return (VQD2) /* \_SB_.PCI0.PEG_.VQD2 */
7895 }
7896
7897 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
7898 {
7899 VSD2 = (Arg0 & 0x01)
7900 If ((Arg0 & 0x80000000))
7901 {
7902 If ((Arg0 & 0x40000000))
7903 {
7904 DSWT (0x02)
7905 }
7906 Else
7907 {
7908 DSWT (0x01)
7909 }
7910 }
7911 }
7912 }
7913
7914 Device (DVI2)
7915 {
7916 Method (_ADR, 0, NotSerialized) // _ADR: Address
7917 {
7918 Return (0x0113)
7919 }
7920
7921 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
7922 {
7923 \VUPS (0x00)
7924 If (\VCDD)
7925 {
7926 Return (0x1F)
7927 }
7928 Else
7929 {
7930 Return (0x1D)
7931 }
7932 }
7933
7934 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
7935 {
7936 Return (VQD5) /* \_SB_.PCI0.PEG_.VQD5 */
7937 }
7938
7939 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
7940 {
7941 VSD5 = (Arg0 & 0x01)
7942 If ((Arg0 & 0x80000000))
7943 {
7944 If ((Arg0 & 0x40000000))
7945 {
7946 DSWT (0x02)
7947 }
7948 Else
7949 {
7950 DSWT (0x01)
7951 }
7952 }
7953 }
7954 }
7955
7956 Device (DP2)
7957 {
7958 Method (_ADR, 0, NotSerialized) // _ADR: Address
7959 {
7960 Return (0x0116)
7961 }
7962
7963 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
7964 {
7965 \VUPS (0x00)
7966 If (\VCDT)
7967 {
7968 Return (0x1F)
7969 }
7970 Else
7971 {
7972 Return (0x1D)
7973 }
7974 }
7975
7976 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
7977 {
7978 Return (VQD4) /* \_SB_.PCI0.PEG_.VQD4 */
7979 }
7980
7981 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
7982 {
7983 VSD4 = (Arg0 & 0x01)
7984 If ((Arg0 & 0x80000000))
7985 {
7986 If ((Arg0 & 0x40000000))
7987 {
7988 DSWT (0x02)
7989 }
7990 Else
7991 {
7992 DSWT (0x01)
7993 }
7994 }
7995 }
7996 }
7997
7998 Method (DSWT, 1, NotSerialized)
7999 {
8000 If (VSDL)
8001 {
8002 Local0 = 0x01
8003 }
8004 Else
8005 {
8006 Local0 = 0x00
8007 }
8008
8009 If (VSDC)
8010 {
8011 Local0 |= 0x02
8012 }
8013
8014 If (VSD0)
8015 {
8016 Local0 |= 0x08
8017 }
8018
8019 If (Local0)
8020 {
8021 If (VUPC)
8022 {
8023 \VSDS (Local0, Arg0)
8024 }
8025 }
8026 Else
8027 {
8028 Noop
8029 }
8030 }
8031 }
8032
8033 Scope (\_SB.PCI0.PEG.VID)
8034 {
8035 Method (NBCI, 4, Serialized)
8036 {
8037 Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
8038 Debug = "------- NBCI DSM --------"
8039 While (One)
8040 {
8041 _T_0 = ToInteger (Arg2)
8042 If ((_T_0 == 0x00))
8043 {
8044 Local0 = Buffer (0x04)
8045 {
8046 0x00, 0x00, 0x00, 0x00 /* .... */
8047 }
8048 Divide (0x00, 0x08, Local2, Local1)
8049 Local2 <<= 0x01
8050 Index (Local0, Local1) = (DerefOf (Index (Local0, Local1)) | Local2)
8051 Divide (0x14, 0x08, Local2, Local1)
8052 Local2 <<= 0x01
8053 Index (Local0, Local1) = (DerefOf (Index (Local0, Local1)) | Local2)
8054 Return (Local0)
8055 }
8056 Else
8057 {
8058 If ((_T_0 == 0x14))
8059 {
8060 Local0 = Package (0x07)
8061 {
8062 0x0110,
8063 0x0200,
8064 0x00,
8065 0x00,
8066 0x05,
8067 0x01,
8068 Package (0x04)
8069 {
8070 0xDC,
8071 0x00,
8072 0x03E8,
8073 Package (0x03)
8074 {
8075 0x65,
8076 Package (0x65)
8077 {
8078 0x00,
8079 0x0A,
8080 0x14,
8081 0x1E,
8082 0x28,
8083 0x32,
8084 0x3C,
8085 0x46,
8086 0x50,
8087 0x5A,
8088 0x64,
8089 0x6E,
8090 0x78,
8091 0x82,
8092 0x8C,
8093 0x96,
8094 0xA0,
8095 0xAA,
8096 0xB4,
8097 0xBE,
8098 0xC8,
8099 0xD2,
8100 0xDC,
8101 0xE6,
8102 0xF0,
8103 0xFA,
8104 0x0104,
8105 0x010E,
8106 0x0118,
8107 0x0122,
8108 0x012C,
8109 0x0136,
8110 0x0140,
8111 0x014A,
8112 0x0154,
8113 0x015E,
8114 0x0168,
8115 0x0172,
8116 0x017C,
8117 0x0186,
8118 0x0190,
8119 0x019A,
8120 0x01A4,
8121 0x01AE,
8122 0x01B8,
8123 0x01C2,
8124 0x01CC,
8125 0x01D6,
8126 0x01E0,
8127 0x01EA,
8128 0x01F4,
8129 0x01FE,
8130 0x0208,
8131 0x0212,
8132 0x021C,
8133 0x0226,
8134 0x0230,
8135 0x023A,
8136 0x0244,
8137 0x024E,
8138 0x0258,
8139 0x0262,
8140 0x026C,
8141 0x0276,
8142 0x0280,
8143 0x028A,
8144 0x0294,
8145 0x029E,
8146 0x02A8,
8147 0x02B2,
8148 0x02BC,
8149 0x02C6,
8150 0x02D0,
8151 0x02DA,
8152 0x02E4,
8153 0x02EE,
8154 0x02F8,
8155 0x0302,
8156 0x030C,
8157 0x0316,
8158 0x0320,
8159 0x032A,
8160 0x0334,
8161 0x033E,
8162 0x0348,
8163 0x0352,
8164 0x035C,
8165 0x0366,
8166 0x0370,
8167 0x037A,
8168 0x0384,
8169 0x038E,
8170 0x0398,
8171 0x03A2,
8172 0x03AC,
8173 0x03B6,
8174 0x03C0,
8175 0x03CA,
8176 0x03D4,
8177 0x03DE,
8178 0x03E8
8179 },
8180
8181 Package (0x65)
8182 {
8183 0x00,
8184 0x0A,
8185 0x14,
8186 0x1E,
8187 0x28,
8188 0x32,
8189 0x3C,
8190 0x46,
8191 0x50,
8192 0x5A,
8193 0x64,
8194 0x6E,
8195 0x78,
8196 0x82,
8197 0x8C,
8198 0x96,
8199 0xA0,
8200 0xAA,
8201 0xB4,
8202 0xBE,
8203 0xC8,
8204 0xD2,
8205 0xDC,
8206 0xE6,
8207 0xF0,
8208 0xFA,
8209 0x0104,
8210 0x010E,
8211 0x0118,
8212 0x0122,
8213 0x012C,
8214 0x0136,
8215 0x0140,
8216 0x014A,
8217 0x0154,
8218 0x015E,
8219 0x0168,
8220 0x0172,
8221 0x017C,
8222 0x0186,
8223 0x0190,
8224 0x019A,
8225 0x01A4,
8226 0x01AE,
8227 0x01B8,
8228 0x01C2,
8229 0x01CC,
8230 0x01D6,
8231 0x01E0,
8232 0x01EA,
8233 0x01F4,
8234 0x01FE,
8235 0x0208,
8236 0x0212,
8237 0x021C,
8238 0x0226,
8239 0x0230,
8240 0x023A,
8241 0x0244,
8242 0x024E,
8243 0x0258,
8244 0x0262,
8245 0x026C,
8246 0x0276,
8247 0x0280,
8248 0x028A,
8249 0x0294,
8250 0x029E,
8251 0x02A8,
8252 0x02B2,
8253 0x02BC,
8254 0x02C6,
8255 0x02D0,
8256 0x02DA,
8257 0x02E4,
8258 0x02EE,
8259 0x02F8,
8260 0x0302,
8261 0x030C,
8262 0x0316,
8263 0x0320,
8264 0x032A,
8265 0x0334,
8266 0x033E,
8267 0x0348,
8268 0x0352,
8269 0x035C,
8270 0x0366,
8271 0x0370,
8272 0x037A,
8273 0x0384,
8274 0x038E,
8275 0x0398,
8276 0x03A2,
8277 0x03AC,
8278 0x03B6,
8279 0x03C0,
8280 0x03CA,
8281 0x03D4,
8282 0x03DE,
8283 0x03E8
8284 }
8285 }
8286 }
8287 }
8288 Local1 = 0x00
8289 While ((Local1 <= 0x64))
8290 {
8291 Local2 = DerefOf (Index (DerefOf (Index (\_SB.PCI0.LPC.EC.BRTD, \BRTN)), Local1))
8292 Local2 *= 0x03E8
8293 Divide (Local2, 0xFF, Local2, Local3)
8294 Index (DerefOf (Index (DerefOf (Index (DerefOf (Index (Local0, 0x06)), 0x03
8295 )), 0x01)), Local1) = Local3
8296 Local1++
8297 }
8298
8299 Return (Local0)
8300 }
8301 }
8302
8303 Break
8304 }
8305
8306 Return (0x80000002)
8307 }
8308
8309 Method (NVSB, 1, NotSerialized)
8310 {
8311 Name (CNT, 0x00)
8312 If ((PBCC == 0x01))
8313 {
8314 If ((PBMR == 0x00))
8315 {
8316 PBMR = 0x02
8317 If ((PBMR == 0x02))
8318 {
8319 While (((PBCC && 0xFF) && (CNT < 0x0A)))
8320 {
8321 CNT++
8322 Sleep (0x01)
8323 }
8324
8325 If (((PBCR & 0x02) == 0x00))
8326 {
8327 Local0 = (Arg0 * 0x03E8)
8328 Divide (Local0, 0xFF, Local1, Local2)
8329 Local2 <<= 0x08
8330 PBDI = Local2
8331 PBCR = 0x86100000
8332 }
8333
8334 PBMR = 0x00
8335 Return (0x01)
8336 }
8337 }
8338 }
8339
8340 Return (0x00)
8341 }
8342 }
8343
8344 OperationRegion (PEGC, PCI_Config, 0x00, 0x0100)
8345 Field (PEGC, DWordAcc, NoLock, Preserve)
8346 {
8347 Offset (0xEC),
8348 GMGP, 1,
8349 HPGP, 1,
8350 PMGP, 1
8351 }
8352 }
8353
8354 Device (B0D3)
8355 {
8356 Name (_ADR, 0x00030000) // _ADR: Address
8357 }
8358
8359 Device (IGBE)
8360 {
8361 Name (_ADR, 0x00190000) // _ADR: Address
8362 Name (_S3D, 0x03) // _S3D: S3 Device State
8363 Name (RID, 0x00)
8364 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
8365 {
8366 0x0D,
8367 0x04
8368 })
8369 }
8370
8371 Name (LTRE, 0x00)
8372 Name (OBFF, 0x00)
8373 Device (EXP1)
8374 {
8375 Name (_ADR, 0x001C0000) // _ADR: Address
8376 Name (RID, 0x00)
8377 OperationRegion (PECS, PCI_Config, 0x00, 0x0100)
8378 Field (PECS, DWordAcc, NoLock, Preserve)
8379 {
8380 Offset (0x62),
8381 PS, 1,
8382 PP, 1,
8383 Offset (0xDB),
8384 , 7,
8385 PMCE, 1,
8386 Offset (0xDF),
8387 , 7,
8388 PMCS, 1
8389 }
8390
8391 Name (LPRT, Package (0x04)
8392 {
8393 Package (0x04)
8394 {
8395 0xFFFF,
8396 0x00,
8397 \_SB.LNKA,
8398 0x00
8399 },
8400
8401 Package (0x04)
8402 {
8403 0xFFFF,
8404 0x01,
8405 \_SB.LNKB,
8406 0x00
8407 },
8408
8409 Package (0x04)
8410 {
8411 0xFFFF,
8412 0x02,
8413 \_SB.LNKC,
8414 0x00
8415 },
8416
8417 Package (0x04)
8418 {
8419 0xFFFF,
8420 0x03,
8421 \_SB.LNKD,
8422 0x00
8423 }
8424 })
8425 Name (APRT, Package (0x04)
8426 {
8427 Package (0x04)
8428 {
8429 0xFFFF,
8430 0x00,
8431 0x00,
8432 0x10
8433 },
8434
8435 Package (0x04)
8436 {
8437 0xFFFF,
8438 0x01,
8439 0x00,
8440 0x11
8441 },
8442
8443 Package (0x04)
8444 {
8445 0xFFFF,
8446 0x02,
8447 0x00,
8448 0x12
8449 },
8450
8451 Package (0x04)
8452 {
8453 0xFFFF,
8454 0x03,
8455 0x00,
8456 0x13
8457 }
8458 })
8459 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
8460 {
8461 If (\GPIC)
8462 {
8463 Return (APRT) /* \_SB_.PCI0.EXP1.APRT */
8464 }
8465 Else
8466 {
8467 Return (LPRT) /* \_SB_.PCI0.EXP1.LPRT */
8468 }
8469 }
8470
8471 Name (OPTS, 0x00)
8472 Name (LTRV, Package (0x04)
8473 {
8474 0x00,
8475 0x00,
8476 0x00,
8477 0x00
8478 })
8479 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
8480 {
8481 Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler
8482 Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
8483 While (One)
8484 {
8485 _T_0 = ToInteger (Arg0)
8486 If ((_T_0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
8487 {
8488 While (One)
8489 {
8490 _T_1 = ToInteger (Arg2)
8491 If ((_T_1 == 0x00))
8492 {
8493 If ((Arg1 == 0x02))
8494 {
8495 OPTS = 0x01
8496 If (LTRE)
8497 {
8498 OPTS |= 0x40
8499 }
8500
8501 If (OBFF)
8502 {
8503 OPTS |= 0x10
8504 }
8505
8506 Return (OPTS) /* \_SB_.PCI0.EXP1.OPTS */
8507 }
8508 Else
8509 {
8510 Return (0x00)
8511 }
8512 }
8513 Else
8514 {
8515 If ((_T_1 == 0x04))
8516 {
8517 If ((Arg1 == 0x02))
8518 {
8519 If (OBFF)
8520 {
8521 Return (Buffer (0x10)
8522 {
8523 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
8524 /* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 /* ........ */
8525 })
8526 }
8527 Else
8528 {
8529 Return (Buffer (0x10)
8530 {
8531 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
8532 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
8533 })
8534 }
8535 }
8536 }
8537 Else
8538 {
8539 If ((_T_1 == 0x06))
8540 {
8541 If ((Arg1 == 0x02))
8542 {
8543 If (LTRE)
8544 {
8545 Name (MLTR, 0x00)
8546 MLTR = 0x0846
8547 Index (LTRV, 0x00) = ((MLTR >> 0x0A) & 0x07)
8548 Index (LTRV, 0x01) = (MLTR & 0x03FF)
8549 Index (LTRV, 0x02) = ((MLTR >> 0x0A) & 0x07)
8550 Index (LTRV, 0x03) = (MLTR & 0x03FF)
8551 Return (LTRV) /* \_SB_.PCI0.EXP1.LTRV */
8552 }
8553 Else
8554 {
8555 Return (0x00)
8556 }
8557 }
8558 }
8559 }
8560 }
8561
8562 Break
8563 }
8564 }
8565
8566 Break
8567 }
8568
8569 Return (Buffer (0x01)
8570 {
8571 0x00 /* . */
8572 })
8573 }
8574 }
8575
8576 Device (EXP2)
8577 {
8578 Name (_ADR, 0x001C0001) // _ADR: Address
8579 Name (RID, 0x00)
8580 OperationRegion (PECS, PCI_Config, 0x00, 0x0100)
8581 Field (PECS, DWordAcc, NoLock, Preserve)
8582 {
8583 Offset (0x62),
8584 PS, 1,
8585 PP, 1,
8586 Offset (0xDB),
8587 , 7,
8588 PMCE, 1,
8589 Offset (0xDF),
8590 , 7,
8591 PMCS, 1
8592 }
8593
8594 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
8595 {
8596 0x09,
8597 0x04
8598 })
8599 Name (LPRT, Package (0x04)
8600 {
8601 Package (0x04)
8602 {
8603 0xFFFF,
8604 0x00,
8605 \_SB.LNKB,
8606 0x00
8607 },
8608
8609 Package (0x04)
8610 {
8611 0xFFFF,
8612 0x01,
8613 \_SB.LNKC,
8614 0x00
8615 },
8616
8617 Package (0x04)
8618 {
8619 0xFFFF,
8620 0x02,
8621 \_SB.LNKD,
8622 0x00
8623 },
8624
8625 Package (0x04)
8626 {
8627 0xFFFF,
8628 0x03,
8629 \_SB.LNKA,
8630 0x00
8631 }
8632 })
8633 Name (APRT, Package (0x04)
8634 {
8635 Package (0x04)
8636 {
8637 0xFFFF,
8638 0x00,
8639 0x00,
8640 0x11
8641 },
8642
8643 Package (0x04)
8644 {
8645 0xFFFF,
8646 0x01,
8647 0x00,
8648 0x12
8649 },
8650
8651 Package (0x04)
8652 {
8653 0xFFFF,
8654 0x02,
8655 0x00,
8656 0x13
8657 },
8658
8659 Package (0x04)
8660 {
8661 0xFFFF,
8662 0x03,
8663 0x00,
8664 0x10
8665 }
8666 })
8667 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
8668 {
8669 If (\GPIC)
8670 {
8671 Return (APRT) /* \_SB_.PCI0.EXP2.APRT */
8672 }
8673 Else
8674 {
8675 Return (LPRT) /* \_SB_.PCI0.EXP2.LPRT */
8676 }
8677 }
8678
8679 Name (OPTS, 0x00)
8680 Name (LTRV, Package (0x04)
8681 {
8682 0x00,
8683 0x00,
8684 0x00,
8685 0x00
8686 })
8687 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
8688 {
8689 Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler
8690 Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
8691 While (One)
8692 {
8693 _T_0 = ToInteger (Arg0)
8694 If ((_T_0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
8695 {
8696 While (One)
8697 {
8698 _T_1 = ToInteger (Arg2)
8699 If ((_T_1 == 0x00))
8700 {
8701 If ((Arg1 == 0x02))
8702 {
8703 OPTS = 0x01
8704 If (LTRE)
8705 {
8706 OPTS |= 0x40
8707 }
8708
8709 If (OBFF)
8710 {
8711 OPTS |= 0x10
8712 }
8713
8714 Return (OPTS) /* \_SB_.PCI0.EXP2.OPTS */
8715 }
8716 Else
8717 {
8718 Return (0x00)
8719 }
8720 }
8721 Else
8722 {
8723 If ((_T_1 == 0x04))
8724 {
8725 If ((Arg1 == 0x02))
8726 {
8727 If (OBFF)
8728 {
8729 Return (Buffer (0x10)
8730 {
8731 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
8732 /* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 /* ........ */
8733 })
8734 }
8735 Else
8736 {
8737 Return (Buffer (0x10)
8738 {
8739 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
8740 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
8741 })
8742 }
8743 }
8744 }
8745 Else
8746 {
8747 If ((_T_1 == 0x06))
8748 {
8749 If ((Arg1 == 0x02))
8750 {
8751 If (LTRE)
8752 {
8753 Name (MLTR, 0x00)
8754 MLTR = 0x0846
8755 Index (LTRV, 0x00) = ((MLTR >> 0x0A) & 0x07)
8756 Index (LTRV, 0x01) = (MLTR & 0x03FF)
8757 Index (LTRV, 0x02) = ((MLTR >> 0x0A) & 0x07)
8758 Index (LTRV, 0x03) = (MLTR & 0x03FF)
8759 Return (LTRV) /* \_SB_.PCI0.EXP2.LTRV */
8760 }
8761 Else
8762 {
8763 Return (0x00)
8764 }
8765 }
8766 }
8767 }
8768 }
8769
8770 Break
8771 }
8772 }
8773
8774 Break
8775 }
8776
8777 Return (Buffer (0x01)
8778 {
8779 0x00 /* . */
8780 })
8781 }
8782 }
8783
8784 Device (EXP3)
8785 {
8786 Name (_ADR, 0x001C0002) // _ADR: Address
8787 Name (RID, 0x00)
8788 OperationRegion (PECS, PCI_Config, 0x00, 0x0100)
8789 Field (PECS, DWordAcc, NoLock, Preserve)
8790 {
8791 Offset (0x5A),
8792 , 3,
8793 PDC, 1,
8794 , 2,
8795 PDS, 1,
8796 Offset (0x5B),
8797 Offset (0x62),
8798 PS, 1,
8799 PP, 1,
8800 Offset (0xDB),
8801 , 6,
8802 HPCE, 1,
8803 PMCE, 1,
8804 Offset (0xDF),
8805 , 6,
8806 HPCS, 1,
8807 PMCS, 1
8808 }
8809
8810 Method (_INI, 0, NotSerialized) // _INI: Initialize
8811 {
8812 PDSF = PDS /* \_SB_.PCI0.EXP3.PDS_ */
8813 LTRE = LTR3 /* \LTR3 */
8814 OBFF = OBF3 /* \OBF3 */
8815 }
8816
8817 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
8818 {
8819 0x09,
8820 0x04
8821 })
8822 Name (LPRT, Package (0x04)
8823 {
8824 Package (0x04)
8825 {
8826 0xFFFF,
8827 0x00,
8828 \_SB.LNKC,
8829 0x00
8830 },
8831
8832 Package (0x04)
8833 {
8834 0xFFFF,
8835 0x01,
8836 \_SB.LNKD,
8837 0x00
8838 },
8839
8840 Package (0x04)
8841 {
8842 0xFFFF,
8843 0x02,
8844 \_SB.LNKA,
8845 0x00
8846 },
8847
8848 Package (0x04)
8849 {
8850 0xFFFF,
8851 0x03,
8852 \_SB.LNKB,
8853 0x00
8854 }
8855 })
8856 Name (APRT, Package (0x04)
8857 {
8858 Package (0x04)
8859 {
8860 0xFFFF,
8861 0x00,
8862 0x00,
8863 0x12
8864 },
8865
8866 Package (0x04)
8867 {
8868 0xFFFF,
8869 0x01,
8870 0x00,
8871 0x13
8872 },
8873
8874 Package (0x04)
8875 {
8876 0xFFFF,
8877 0x02,
8878 0x00,
8879 0x10
8880 },
8881
8882 Package (0x04)
8883 {
8884 0xFFFF,
8885 0x03,
8886 0x00,
8887 0x11
8888 }
8889 })
8890 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
8891 {
8892 If (\GPIC)
8893 {
8894 Return (APRT) /* \_SB_.PCI0.EXP3.APRT */
8895 }
8896 Else
8897 {
8898 Return (LPRT) /* \_SB_.PCI0.EXP3.LPRT */
8899 }
8900 }
8901
8902 Name (OPTS, 0x00)
8903 Name (LTRV, Package (0x04)
8904 {
8905 0x00,
8906 0x00,
8907 0x00,
8908 0x00
8909 })
8910 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
8911 {
8912 Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler
8913 Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
8914 While (One)
8915 {
8916 _T_0 = ToInteger (Arg0)
8917 If ((_T_0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
8918 {
8919 While (One)
8920 {
8921 _T_1 = ToInteger (Arg2)
8922 If ((_T_1 == 0x00))
8923 {
8924 If ((Arg1 == 0x02))
8925 {
8926 OPTS = 0x01
8927 If (LTRE)
8928 {
8929 OPTS |= 0x40
8930 }
8931
8932 If (OBFF)
8933 {
8934 OPTS |= 0x10
8935 }
8936
8937 Return (OPTS) /* \_SB_.PCI0.EXP3.OPTS */
8938 }
8939 Else
8940 {
8941 Return (0x00)
8942 }
8943 }
8944 Else
8945 {
8946 If ((_T_1 == 0x04))
8947 {
8948 If ((Arg1 == 0x02))
8949 {
8950 If (OBFF)
8951 {
8952 Return (Buffer (0x10)
8953 {
8954 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
8955 /* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 /* ........ */
8956 })
8957 }
8958 Else
8959 {
8960 Return (Buffer (0x10)
8961 {
8962 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
8963 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
8964 })
8965 }
8966 }
8967 }
8968 Else
8969 {
8970 If ((_T_1 == 0x06))
8971 {
8972 If ((Arg1 == 0x02))
8973 {
8974 If (LTRE)
8975 {
8976 Name (MLTR, 0x00)
8977 MLTR = 0x0846
8978 Index (LTRV, 0x00) = ((MLTR >> 0x0A) & 0x07)
8979 Index (LTRV, 0x01) = (MLTR & 0x03FF)
8980 Index (LTRV, 0x02) = ((MLTR >> 0x0A) & 0x07)
8981 Index (LTRV, 0x03) = (MLTR & 0x03FF)
8982 Return (LTRV) /* \_SB_.PCI0.EXP3.LTRV */
8983 }
8984 Else
8985 {
8986 Return (0x00)
8987 }
8988 }
8989 }
8990 }
8991 }
8992
8993 Break
8994 }
8995 }
8996
8997 Break
8998 }
8999
9000 Return (Buffer (0x01)
9001 {
9002 0x00 /* . */
9003 })
9004 }
9005
9006 Name (PDSF, 0x00)
9007 Device (SLOT)
9008 {
9009 Name (_ADR, 0x00) // _ADR: Address
9010 Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
9011 {
9012 Return (0x01)
9013 }
9014 }
9015 }
9016
9017 Device (EXP6)
9018 {
9019 Name (_ADR, 0x001C0005) // _ADR: Address
9020 Name (RID, 0x00)
9021 OperationRegion (PECS, PCI_Config, 0x00, 0x0100)
9022 Field (PECS, DWordAcc, NoLock, Preserve)
9023 {
9024 Offset (0x5A),
9025 , 3,
9026 PDC, 1,
9027 , 2,
9028 PDS, 1,
9029 Offset (0x5B),
9030 Offset (0x62),
9031 PS, 1,
9032 PP, 1,
9033 Offset (0xDB),
9034 , 6,
9035 HPCE, 1,
9036 PMCE, 1,
9037 Offset (0xDF),
9038 , 6,
9039 HPCS, 1,
9040 PMCS, 1
9041 }
9042
9043 Method (_INI, 0, NotSerialized) // _INI: Initialize
9044 {
9045 PDSF = PDS /* \_SB_.PCI0.EXP6.PDS_ */
9046 LTRE = LTR6 /* \LTR6 */
9047 OBFF = OBF6 /* \OBF6 */
9048 }
9049
9050 Name (LPRT, Package (0x04)
9051 {
9052 Package (0x04)
9053 {
9054 0xFFFF,
9055 0x00,
9056 \_SB.LNKB,
9057 0x00
9058 },
9059
9060 Package (0x04)
9061 {
9062 0xFFFF,
9063 0x01,
9064 \_SB.LNKC,
9065 0x00
9066 },
9067
9068 Package (0x04)
9069 {
9070 0xFFFF,
9071 0x02,
9072 \_SB.LNKD,
9073 0x00
9074 },
9075
9076 Package (0x04)
9077 {
9078 0xFFFF,
9079 0x03,
9080 \_SB.LNKA,
9081 0x00
9082 }
9083 })
9084 Name (APRT, Package (0x04)
9085 {
9086 Package (0x04)
9087 {
9088 0xFFFF,
9089 0x00,
9090 0x00,
9091 0x11
9092 },
9093
9094 Package (0x04)
9095 {
9096 0xFFFF,
9097 0x01,
9098 0x00,
9099 0x12
9100 },
9101
9102 Package (0x04)
9103 {
9104 0xFFFF,
9105 0x02,
9106 0x00,
9107 0x13
9108 },
9109
9110 Package (0x04)
9111 {
9112 0xFFFF,
9113 0x03,
9114 0x00,
9115 0x10
9116 }
9117 })
9118 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
9119 {
9120 If (\GPIC)
9121 {
9122 Return (APRT) /* \_SB_.PCI0.EXP6.APRT */
9123 }
9124 Else
9125 {
9126 Return (LPRT) /* \_SB_.PCI0.EXP6.LPRT */
9127 }
9128 }
9129
9130 Name (OPTS, 0x00)
9131 Name (LTRV, Package (0x04)
9132 {
9133 0x00,
9134 0x00,
9135 0x00,
9136 0x00
9137 })
9138 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
9139 {
9140 Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler
9141 Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
9142 While (One)
9143 {
9144 _T_0 = ToInteger (Arg0)
9145 If ((_T_0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
9146 {
9147 While (One)
9148 {
9149 _T_1 = ToInteger (Arg2)
9150 If ((_T_1 == 0x00))
9151 {
9152 If ((Arg1 == 0x02))
9153 {
9154 OPTS = 0x01
9155 If (LTRE)
9156 {
9157 OPTS |= 0x40
9158 }
9159
9160 If (OBFF)
9161 {
9162 OPTS |= 0x10
9163 }
9164
9165 Return (OPTS) /* \_SB_.PCI0.EXP6.OPTS */
9166 }
9167 Else
9168 {
9169 Return (0x00)
9170 }
9171 }
9172 Else
9173 {
9174 If ((_T_1 == 0x04))
9175 {
9176 If ((Arg1 == 0x02))
9177 {
9178 If (OBFF)
9179 {
9180 Return (Buffer (0x10)
9181 {
9182 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
9183 /* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 /* ........ */
9184 })
9185 }
9186 Else
9187 {
9188 Return (Buffer (0x10)
9189 {
9190 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
9191 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
9192 })
9193 }
9194 }
9195 }
9196 Else
9197 {
9198 If ((_T_1 == 0x06))
9199 {
9200 If ((Arg1 == 0x02))
9201 {
9202 If (LTRE)
9203 {
9204 Name (MLTR, 0x00)
9205 MLTR = 0x0846
9206 Index (LTRV, 0x00) = ((MLTR >> 0x0A) & 0x07)
9207 Index (LTRV, 0x01) = (MLTR & 0x03FF)
9208 Index (LTRV, 0x02) = ((MLTR >> 0x0A) & 0x07)
9209 Index (LTRV, 0x03) = (MLTR & 0x03FF)
9210 Return (LTRV) /* \_SB_.PCI0.EXP6.LTRV */
9211 }
9212 Else
9213 {
9214 Return (0x00)
9215 }
9216 }
9217 }
9218 }
9219 }
9220
9221 Break
9222 }
9223 }
9224
9225 Break
9226 }
9227
9228 Return (Buffer (0x01)
9229 {
9230 0x00 /* . */
9231 })
9232 }
9233
9234 Name (PDSF, 0x00)
9235 Device (SLOT)
9236 {
9237 Name (_ADR, 0x00) // _ADR: Address
9238 Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
9239 {
9240 Return (0x01)
9241 }
9242 }
9243 }
9244
9245 Device (SAT1)
9246 {
9247 Name (_ADR, 0x001F0002) // _ADR: Address
9248 Name (_S3D, 0x03) // _S3D: S3 Device State
9249 Name (RID, 0x00)
9250 }
9251
9252 Device (SAT2)
9253 {
9254 Name (_ADR, 0x001F0005) // _ADR: Address
9255 Name (_S3D, 0x03) // _S3D: S3 Device State
9256 Name (RID, 0x00)
9257 }
9258
9259 Device (SMBU)
9260 {
9261 Name (_ADR, 0x001F0003) // _ADR: Address
9262 Name (_S3D, 0x03) // _S3D: S3 Device State
9263 Name (RID, 0x00)
9264 Device (NFC)
9265 {
9266 Name (_HID, EisaId ("BCM2F1B")) // _HID: Hardware ID
9267 Name (_CID, EisaId ("BCM2F1B")) // _CID: Compatible ID
9268 Name (_UID, 0x00) // _UID: Unique ID
9269 Method (_STA, 0, NotSerialized) // _STA: Status
9270 {
9271 If ((\_SB.PCI0.LPC.NFCD || \NFCF))
9272 {
9273 Return (0x00)
9274 }
9275 Else
9276 {
9277 Return (0x0F)
9278 }
9279 }
9280
9281 Method (GPEN, 0, NotSerialized)
9282 {
9283 \_GPE.GPFG = 0x01
9284 }
9285
9286 Method (SNFC, 1, NotSerialized)
9287 {
9288 If (Arg0)
9289 {
9290 \_SB.PCI0.LPC.NFCP = 0x01
9291 }
9292 Else
9293 {
9294 \_SB.PCI0.LPC.NFCP = 0x00
9295 }
9296 }
9297 }
9298 }
9299
9300 Device (XHCI)
9301 {
9302 Name (_ADR, 0x00140000) // _ADR: Address
9303 Name (_S3D, 0x03) // _S3D: S3 Device State
9304 Name (RID, 0x00)
9305 OperationRegion (XHCS, PCI_Config, 0x00, 0x0100)
9306 Field (XHCS, DWordAcc, NoLock, Preserve)
9307 {
9308 Offset (0x10),
9309 MEMB, 32,
9310 Offset (0x40),
9311 , 11,
9312 SWAI, 1,
9313 Offset (0x44),
9314 , 12,
9315 SAIP, 2,
9316 Offset (0x48),
9317 Offset (0x74),
9318 Offset (0x75),
9319 PMEE, 1,
9320 , 6,
9321 PMES, 1,
9322 Offset (0xD0),
9323 PR2, 32,
9324 PR2M, 32,
9325 PR3, 32,
9326 PR3M, 32
9327 }
9328
9329 Name (XRST, Zero)
9330 OperationRegion (XHCM, SystemMemory, (MEMB & 0xFFFF0000), 0x0600)
9331 Field (XHCM, DWordAcc, NoLock, Preserve)
9332 {
9333 Offset (0x02),
9334 XHCV, 16,
9335 Offset (0x480),
9336 HP01, 1,
9337 Offset (0x490),
9338 HP02, 1,
9339 Offset (0x4A0),
9340 HP03, 1,
9341 Offset (0x530),
9342 HP07, 1,
9343 Offset (0x570),
9344 SP00, 1,
9345 Offset (0x580),
9346 SP01, 1,
9347 Offset (0x590),
9348 SP02, 1
9349 }
9350
9351 Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
9352 {
9353 \_SB.PCI0.LPC.EC.PUBS
9354 })
9355 Name (_PR1, Package (0x01) // _PR1: Power Resources for D1
9356 {
9357 \_SB.PCI0.LPC.EC.PUBS
9358 })
9359 Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
9360 {
9361 \_SB.PCI0.LPC.EC.PUBS
9362 })
9363 Name (_PRW, Package (0x03) // _PRW: Power Resources for Wake
9364 {
9365 0x0D,
9366 0x03,
9367 \_SB.PCI0.LPC.EC.PUBS
9368 })
9369 Method (CUID, 1, Serialized)
9370 {
9371 If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71")))
9372 {
9373 Return (0x01)
9374 }
9375
9376 Return (0x00)
9377 }
9378
9379 Method (POSC, 3, Serialized)
9380 {
9381 CreateDWordField (Arg2, 0x00, CDW1)
9382 CreateDWordField (Arg2, 0x08, CDW3)
9383 If ((\XHCI == 0x00))
9384 {
9385 CDW1 |= 0x02
9386 \_SB.PCI0.LPC.XUSB = 0x00
9387 XRST = 0x00
9388 }
9389
9390 If (!(CDW1 & 0x01))
9391 {
9392 If ((CDW3 & 0x01))
9393 {
9394 ESEL ()
9395 }
9396 Else
9397 {
9398 If (0x01)
9399 {
9400 If ((Arg0 > 0x01))
9401 {
9402 SXHC ()
9403 }
9404 Else
9405 {
9406 CDW1 |= 0x0A
9407 }
9408 }
9409 Else
9410 {
9411 If ((Arg0 > 0x02))
9412 {
9413 SXHC ()
9414 }
9415 Else
9416 {
9417 CDW1 |= 0x0A
9418 }
9419 }
9420 }
9421
9422 Return (Arg2)
9423 }
9424
9425 If ((!(CDW1 & 0x01) && ((\XHCI == 0x02) || (
9426 \XHCI == 0x03))))
9427 {
9428 SXHC ()
9429 }
9430
9431 Return (Arg2)
9432 }
9433
9434 Method (ESEL, 0, Serialized)
9435 {
9436 If (((\XHCI == 0x02) || (\XHCI == 0x03)))
9437 {
9438 PR3 &= 0xFFFFFFC0
9439 PR2 &= 0xFFFF8000
9440 \_SB.PCI0.LPC.XUSB = 0x00
9441 XRST = 0x00
9442 }
9443 }
9444
9445 Method (SXHC, 0, NotSerialized)
9446 {
9447 \_SB.PCI0.LPC.XUSB = 0x01
9448 XRST = 0x01
9449 Local0 = 0x00
9450 Local0 = (PR3 & 0xFFFFFFC0)
9451 PR3 = (Local0 | PR3M) /* \_SB_.PCI0.XHCI.PR3M */
9452 Local0 = 0x00
9453 Local0 = (PR2 & 0xFFFF8000)
9454 PR2 = (Local0 | PR2M) /* \_SB_.PCI0.XHCI.PR2M */
9455 \_SB.PCI0.LPC.XUSB = 0x01
9456 \USBR = 0x01
9457 }
9458
9459 Method (XHPS, 0, NotSerialized)
9460 {
9461 If ((\_SB.PCI0.XHCI.XHCV != 0xFFFF))
9462 {
9463 \USBC = 0x01
9464 \USBC |= (\_SB.PCI0.XHCI.HP01 << 0x01)
9465 \USBC |= (\_SB.PCI0.XHCI.HP02 << 0x02)
9466 \USBC |= (\_SB.PCI0.XHCI.HP03 << 0x03)
9467 \USBC |= (\_SB.PCI0.XHCI.HP07 << 0x04)
9468 \USBC |= (\_SB.PCI0.XHCI.SP00 << 0x05)
9469 \USBC |= (\_SB.PCI0.XHCI.SP01 << 0x06)
9470 \USBC |= (\_SB.PCI0.XHCI.SP02 << 0x07)
9471 }
9472 }
9473
9474 Method (_INI, 0, NotSerialized) // _INI: Initialize
9475 {
9476 If (\WIN8)
9477 {
9478 SXHC ()
9479 }
9480 }
9481
9482 Name (PEBS, 0xF8000000)
9483 OperationRegion (XHCB, SystemMemory, (PEBS + 0x000A0000), 0x0100)
9484 Field (XHCB, DWordAcc, Lock, Preserve)
9485 {
9486 DVID, 16,
9487 Offset (0x04),
9488 PDBM, 16,
9489 Offset (0x10),
9490 MBA1, 32,
9491 Offset (0x74),
9492 D0D3, 2,
9493 Offset (0x78),
9494 Offset (0xB0),
9495 , 13,
9496 MB13, 2,
9497 Offset (0xB4)
9498 }
9499
9500 Name (SRMB, 0xBFA10000)
9501 Method (_PS0, 0, Serialized) // _PS0: Power State 0
9502 {
9503 If ((\_SB.PCI0.XHCI.DVID == 0xFFFF))
9504 {
9505 Return (Zero)
9506 }
9507
9508 Local2 = \_SB.PCI0.XHCI.MBA1
9509 Local1 = \_SB.PCI0.XHCI.PDBM
9510 \_SB.PCI0.XHCI.MBA1 = SRMB /* \_SB_.PCI0.XHCI.SRMB */
9511 Local0 = \_SB.PCI0.XHCI.PDBM
9512 Local0 |= 0x06
9513 \_SB.PCI0.XHCI.PDBM = Local0
9514 OperationRegion (MCA1, SystemMemory, SRMB, 0x9000)
9515 Field (MCA1, DWordAcc, Lock, Preserve)
9516 {
9517 Offset (0x510),
9518 P141, 14,
9519 , 17,
9520 WPR1, 1,
9521 Offset (0x520),
9522 P142, 14,
9523 , 17,
9524 WPR2, 1,
9525 Offset (0x530),
9526 P143, 14,
9527 , 17,
9528 WPR3, 1,
9529 Offset (0x540),
9530 P144, 14,
9531 , 17,
9532 WPR4, 1,
9533 Offset (0x80E0),
9534 , 15,
9535 AX15, 1,
9536 Offset (0x8154),
9537 , 31,
9538 CLK2, 1,
9539 Offset (0x816C),
9540 , 2,
9541 CLK0, 1,
9542 , 11,
9543 CLK1, 1,
9544 Offset (0x8170)
9545 }
9546
9547 Local3 = \_SB.PCI0.XHCI.D0D3
9548 If ((Local3 == 0x03))
9549 {
9550 \_SB.PCI0.XHCI.D0D3 = 0x00
9551 }
9552
9553 CLK2 = 0x01
9554 If ((Local3 == 0x03))
9555 {
9556 \_SB.PCI0.XHCI.D0D3 = 0x03
9557 }
9558
9559 \_SB.PCI0.XHCI.PDBM = Local1
9560 \_SB.PCI0.XHCI.MBA1 = Local2
9561 }
9562
9563 Method (_PS3, 0, Serialized) // _PS3: Power State 3
9564 {
9565 If ((\_SB.PCI0.XHCI.DVID == 0xFFFF))
9566 {
9567 Return (Zero)
9568 }
9569
9570 \_SB.PCI0.XHCI.PMES = 0x01
9571 \_SB.PCI0.XHCI.PMEE = 0x01
9572 Local2 = \_SB.PCI0.XHCI.MBA1
9573 Local1 = \_SB.PCI0.XHCI.PDBM
9574 \_SB.PCI0.XHCI.MBA1 = SRMB /* \_SB_.PCI0.XHCI.SRMB */
9575 Local0 = \_SB.PCI0.XHCI.PDBM
9576 Local0 |= 0x06
9577 \_SB.PCI0.XHCI.PDBM = Local0
9578 OperationRegion (MCA1, SystemMemory, SRMB, 0x9000)
9579 Field (MCA1, DWordAcc, Lock, Preserve)
9580 {
9581 Offset (0x80E0),
9582 , 15,
9583 AX15, 1,
9584 Offset (0x8154),
9585 , 31,
9586 CLK2, 1,
9587 Offset (0x816C),
9588 , 2,
9589 CLK0, 1,
9590 , 11,
9591 CLK1, 1,
9592 Offset (0x8170)
9593 }
9594
9595 Local3 = \_SB.PCI0.XHCI.D0D3
9596 If ((Local3 == 0x03))
9597 {
9598 \_SB.PCI0.XHCI.D0D3 = 0x00
9599 }
9600
9601 CLK2 = 0x00
9602 If ((Local3 == 0x03))
9603 {
9604 \_SB.PCI0.XHCI.D0D3 = 0x03
9605 }
9606
9607 \_SB.PCI0.XHCI.PDBM = Local1
9608 \_SB.PCI0.XHCI.MBA1 = Local2
9609 }
9610
9611 Device (URTH)
9612 {
9613 Name (_ADR, 0x00) // _ADR: Address
9614 Device (HSP0)
9615 {
9616 Name (_ADR, 0x01) // _ADR: Address
9617 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9618 {
9619 Name (UPCP, Package (0x04)
9620 {
9621 0x00,
9622 0x00,
9623 0x00,
9624 0x00
9625 })
9626 CopyObject (\UPC0, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP0._UPC.UPCP */
9627 If (!(PR2 & 0x01))
9628 {
9629 Index (UPCP, 0x00) = 0x00
9630 }
9631
9632 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP0._UPC.UPCP */
9633 }
9634
9635 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9636 {
9637 \_SB.PCI0.XHCI.XHPS ()
9638 Name (PLDP, Buffer (0x10) {})
9639 PLDP = \PLD0
9640 CreateBitField (PLDP, 0x40, VIS)
9641 If (!(PR2 & 0x01))
9642 {
9643 VIS &= 0x00
9644 }
9645
9646 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP0._PLD.PLDP */
9647 }
9648 }
9649
9650 Device (HSP1)
9651 {
9652 Name (_ADR, 0x02) // _ADR: Address
9653 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9654 {
9655 Name (UPCP, Package (0x04)
9656 {
9657 0x00,
9658 0x00,
9659 0x00,
9660 0x00
9661 })
9662 CopyObject (\UPC1, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP1._UPC.UPCP */
9663 If (!(PR2 & 0x02))
9664 {
9665 Index (UPCP, 0x00) = 0x00
9666 }
9667
9668 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP1._UPC.UPCP */
9669 }
9670
9671 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9672 {
9673 \_SB.PCI0.XHCI.XHPS ()
9674 Name (PLDP, Buffer (0x10) {})
9675 PLDP = \PLD1
9676 CreateBitField (PLDP, 0x40, VIS)
9677 If (!(PR2 & 0x02))
9678 {
9679 VIS &= 0x00
9680 }
9681
9682 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP1._PLD.PLDP */
9683 }
9684 }
9685
9686 Device (HSP2)
9687 {
9688 Name (_ADR, 0x03) // _ADR: Address
9689 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9690 {
9691 Name (UPCP, Package (0x04)
9692 {
9693 0x00,
9694 0x00,
9695 0x00,
9696 0x00
9697 })
9698 CopyObject (\UPC2, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP2._UPC.UPCP */
9699 If (!(PR2 & 0x04))
9700 {
9701 Index (UPCP, 0x00) = 0x00
9702 }
9703
9704 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP2._UPC.UPCP */
9705 }
9706
9707 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9708 {
9709 \_SB.PCI0.XHCI.XHPS ()
9710 Name (PLDP, Buffer (0x10) {})
9711 PLDP = \PLD2
9712 CreateBitField (PLDP, 0x40, VIS)
9713 If (!(PR2 & 0x04))
9714 {
9715 VIS &= 0x00
9716 }
9717
9718 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP2._PLD.PLDP */
9719 }
9720 }
9721
9722 Device (HSP3)
9723 {
9724 Name (_ADR, 0x04) // _ADR: Address
9725 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9726 {
9727 Name (UPCP, Package (0x04)
9728 {
9729 0x00,
9730 0x00,
9731 0x00,
9732 0x00
9733 })
9734 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP3._UPC.UPCP */
9735 If (!(PR2 & 0x08))
9736 {
9737 Index (UPCP, 0x00) = 0x00
9738 }
9739
9740 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP3._UPC.UPCP */
9741 }
9742
9743 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9744 {
9745 \_SB.PCI0.XHCI.XHPS ()
9746 Name (PLDP, Buffer (0x10) {})
9747 PLDP = \PLDI
9748 CreateBitField (PLDP, 0x40, VIS)
9749 If (!(PR2 & 0x08))
9750 {
9751 VIS &= 0x00
9752 }
9753
9754 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP3._PLD.PLDP */
9755 }
9756 }
9757
9758 Device (HSP4)
9759 {
9760 Name (_ADR, 0x05) // _ADR: Address
9761 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9762 {
9763 Name (UPCP, Package (0x04)
9764 {
9765 0x00,
9766 0x00,
9767 0x00,
9768 0x00
9769 })
9770 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP4._UPC.UPCP */
9771 If (!(PR2 & 0x10))
9772 {
9773 Index (UPCP, 0x00) = 0x00
9774 }
9775
9776 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP4._UPC.UPCP */
9777 }
9778
9779 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9780 {
9781 \_SB.PCI0.XHCI.XHPS ()
9782 Name (PLDP, Buffer (0x10) {})
9783 PLDP = \PLDI
9784 CreateBitField (PLDP, 0x40, VIS)
9785 If (!(PR2 & 0x10))
9786 {
9787 VIS &= 0x00
9788 }
9789
9790 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP4._PLD.PLDP */
9791 }
9792 }
9793
9794 Device (HSP5)
9795 {
9796 Name (_ADR, 0x06) // _ADR: Address
9797 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9798 {
9799 Name (UPCP, Package (0x04)
9800 {
9801 0x00,
9802 0x00,
9803 0x00,
9804 0x00
9805 })
9806 CopyObject (\UPC9, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP5._UPC.UPCP */
9807 If (!(PR2 & 0x20))
9808 {
9809 Index (UPCP, 0x00) = 0x00
9810 }
9811
9812 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP5._UPC.UPCP */
9813 }
9814
9815 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9816 {
9817 \_SB.PCI0.XHCI.XHPS ()
9818 Name (PLDP, Buffer (0x10) {})
9819 PLDP = \PLD9
9820 CreateBitField (PLDP, 0x40, VIS)
9821 If (!(PR2 & 0x20))
9822 {
9823 VIS &= 0x00
9824 }
9825
9826 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP5._PLD.PLDP */
9827 }
9828 }
9829
9830 Device (HSP6)
9831 {
9832 Name (_ADR, 0x07) // _ADR: Address
9833 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9834 {
9835 Name (UPCP, Package (0x04)
9836 {
9837 0x00,
9838 0x00,
9839 0x00,
9840 0x00
9841 })
9842 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP6._UPC.UPCP */
9843 If (!(PR2 & 0x40))
9844 {
9845 Index (UPCP, 0x00) = 0x00
9846 }
9847
9848 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP6._UPC.UPCP */
9849 }
9850
9851 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9852 {
9853 \_SB.PCI0.XHCI.XHPS ()
9854 Name (PLDP, Buffer (0x10) {})
9855 PLDP = \PLDI
9856 CreateBitField (PLDP, 0x40, VIS)
9857 If (!(PR2 & 0x40))
9858 {
9859 VIS &= 0x00
9860 }
9861
9862 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP6._PLD.PLDP */
9863 }
9864 }
9865
9866 Device (HSP7)
9867 {
9868 Name (_ADR, 0x08) // _ADR: Address
9869 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9870 {
9871 Name (UPCP, Package (0x04)
9872 {
9873 0x00,
9874 0x00,
9875 0x00,
9876 0x00
9877 })
9878 CopyObject (\UPCN, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP7._UPC.UPCP */
9879 If (!(PR2 & 0x80))
9880 {
9881 Index (UPCP, 0x00) = 0x00
9882 }
9883
9884 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP7._UPC.UPCP */
9885 }
9886
9887 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9888 {
9889 \_SB.PCI0.XHCI.XHPS ()
9890 Name (PLDP, Buffer (0x10) {})
9891 PLDP = \PLDN
9892 CreateBitField (PLDP, 0x40, VIS)
9893 If (!(PR2 & 0x80))
9894 {
9895 VIS &= 0x00
9896 }
9897
9898 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP7._PLD.PLDP */
9899 }
9900 }
9901
9902 Device (HSP8)
9903 {
9904 Name (_ADR, 0x09) // _ADR: Address
9905 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9906 {
9907 Name (UPCP, Package (0x04)
9908 {
9909 0x00,
9910 0x00,
9911 0x00,
9912 0x00
9913 })
9914 CopyObject (\UPC4, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP8._UPC.UPCP */
9915 If (!(PR2 & 0x0100))
9916 {
9917 Index (UPCP, 0x00) = 0x00
9918 }
9919
9920 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP8._UPC.UPCP */
9921 }
9922
9923 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9924 {
9925 \_SB.PCI0.XHCI.XHPS ()
9926 Name (PLDP, Buffer (0x10) {})
9927 PLDP = \PLD4
9928 CreateBitField (PLDP, 0x40, VIS)
9929 If (!(PR2 & 0x0100))
9930 {
9931 VIS &= 0x00
9932 }
9933
9934 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP8._PLD.PLDP */
9935 }
9936 }
9937
9938 Device (HSP9)
9939 {
9940 Name (_ADR, 0x0A) // _ADR: Address
9941 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9942 {
9943 Name (UPCP, Package (0x04)
9944 {
9945 0x00,
9946 0x00,
9947 0x00,
9948 0x00
9949 })
9950 CopyObject (\UPC5, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP9._UPC.UPCP */
9951 If (!(PR2 & 0x0200))
9952 {
9953 Index (UPCP, 0x00) = 0x00
9954 }
9955
9956 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP9._UPC.UPCP */
9957 }
9958
9959 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9960 {
9961 \_SB.PCI0.XHCI.XHPS ()
9962 Name (PLDP, Buffer (0x10) {})
9963 PLDP = \PLD5
9964 CreateBitField (PLDP, 0x40, VIS)
9965 If (!(PR2 & 0x0200))
9966 {
9967 VIS &= 0x00
9968 }
9969
9970 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP9._PLD.PLDP */
9971 }
9972 }
9973
9974 Device (HSPA)
9975 {
9976 Name (_ADR, 0x0B) // _ADR: Address
9977 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9978 {
9979 Name (UPCP, Package (0x04)
9980 {
9981 0x00,
9982 0x00,
9983 0x00,
9984 0x00
9985 })
9986 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSPA._UPC.UPCP */
9987 If (!(PR2 & 0x0400))
9988 {
9989 Index (UPCP, 0x00) = 0x00
9990 }
9991
9992 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSPA._UPC.UPCP */
9993 }
9994
9995 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9996 {
9997 \_SB.PCI0.XHCI.XHPS ()
9998 Name (PLDP, Buffer (0x10) {})
9999 PLDP = \PLDI
10000 CreateBitField (PLDP, 0x40, VIS)
10001 If (!(PR2 & 0x0400))
10002 {
10003 VIS &= 0x00
10004 }
10005
10006 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSPA._PLD.PLDP */
10007 }
10008 }
10009
10010 Device (HSPB)
10011 {
10012 Name (_ADR, 0x0C) // _ADR: Address
10013 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10014 {
10015 Name (UPCP, Package (0x04)
10016 {
10017 0x00,
10018 0x00,
10019 0x00,
10020 0x00
10021 })
10022 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSPB._UPC.UPCP */
10023 If (!(PR2 & 0x0800))
10024 {
10025 Index (UPCP, 0x00) = 0x00
10026 }
10027
10028 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSPB._UPC.UPCP */
10029 }
10030
10031 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10032 {
10033 \_SB.PCI0.XHCI.XHPS ()
10034 Name (PLDP, Buffer (0x10) {})
10035 PLDP = \PLDI
10036 CreateBitField (PLDP, 0x40, VIS)
10037 If (!(PR2 & 0x0800))
10038 {
10039 VIS &= 0x00
10040 }
10041
10042 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSPB._PLD.PLDP */
10043 }
10044
10045 Device (WCAM)
10046 {
10047 Name (_ADR, 0x0C) // _ADR: Address
10048 Method (_STA, 0, NotSerialized) // _STA: Status
10049 {
10050 If (\WIN8)
10051 {
10052 Return (0x0F)
10053 }
10054 Else
10055 {
10056 Return (0x00)
10057 }
10058 }
10059
10060 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10061 {
10062 Return (\UPCI)
10063 }
10064
10065 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10066 {
10067 \_SB.PCI0.XHCI.XHPS ()
10068 Return (\PLDC)
10069 }
10070 }
10071 }
10072
10073 Device (HSPC)
10074 {
10075 Name (_ADR, 0x0D) // _ADR: Address
10076 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10077 {
10078 Name (UPCP, Package (0x04)
10079 {
10080 0x00,
10081 0x00,
10082 0x00,
10083 0x00
10084 })
10085 CopyObject (\UPCN, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSPC._UPC.UPCP */
10086 If (!(PR2 & 0x1000))
10087 {
10088 Index (UPCP, 0x00) = 0x00
10089 }
10090
10091 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSPC._UPC.UPCP */
10092 }
10093
10094 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10095 {
10096 \_SB.PCI0.XHCI.XHPS ()
10097 Name (PLDP, Buffer (0x10) {})
10098 PLDP = \PLDN
10099 CreateBitField (PLDP, 0x40, VIS)
10100 If (!(PR2 & 0x1000))
10101 {
10102 VIS &= 0x00
10103 }
10104
10105 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSPC._PLD.PLDP */
10106 }
10107 }
10108
10109 Device (HSPD)
10110 {
10111 Name (_ADR, 0x0E) // _ADR: Address
10112 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10113 {
10114 Name (UPCP, Package (0x04)
10115 {
10116 0x00,
10117 0x00,
10118 0x00,
10119 0x00
10120 })
10121 CopyObject (\UPCN, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSPD._UPC.UPCP */
10122 If (!(PR2 & 0x2000))
10123 {
10124 Index (UPCP, 0x00) = 0x00
10125 }
10126
10127 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSPD._UPC.UPCP */
10128 }
10129
10130 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10131 {
10132 \_SB.PCI0.XHCI.XHPS ()
10133 Name (PLDP, Buffer (0x10) {})
10134 PLDP = \PLDN
10135 CreateBitField (PLDP, 0x40, VIS)
10136 If (!(PR2 & 0x2000))
10137 {
10138 VIS &= 0x00
10139 }
10140
10141 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSPD._PLD.PLDP */
10142 }
10143 }
10144
10145 Device (HSPE)
10146 {
10147 Name (_ADR, 0x0F) // _ADR: Address
10148 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10149 {
10150 Name (UPCP, Package (0x04)
10151 {
10152 0x00,
10153 0x00,
10154 0x00,
10155 0x00
10156 })
10157 CopyObject (\UPCN, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSPE._UPC.UPCP */
10158 If (!(PR2 & 0x4000))
10159 {
10160 Index (UPCP, 0x00) = 0x00
10161 }
10162
10163 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSPE._UPC.UPCP */
10164 }
10165
10166 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10167 {
10168 \_SB.PCI0.XHCI.XHPS ()
10169 Name (PLDP, Buffer (0x10) {})
10170 PLDP = \PLDN
10171 CreateBitField (PLDP, 0x40, VIS)
10172 If (!(PR2 & 0x2000))
10173 {
10174 VIS &= 0x00
10175 }
10176
10177 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSPE._PLD.PLDP */
10178 }
10179 }
10180
10181 Device (SSP0)
10182 {
10183 Name (_ADR, 0x10) // _ADR: Address
10184 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10185 {
10186 Name (UPCP, Package (0x04)
10187 {
10188 0x00,
10189 0x00,
10190 0x00,
10191 0x00
10192 })
10193 CopyObject (\UPC0, UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP0._UPC.UPCP */
10194 If ((!(PR2 & 0x01) || !(PR3 & 0x01)))
10195 {
10196 Index (UPCP, 0x00) = 0x00
10197 }
10198
10199 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP0._UPC.UPCP */
10200 }
10201
10202 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10203 {
10204 \_SB.PCI0.XHCI.XHPS ()
10205 Name (PLDP, Buffer (0x10) {})
10206 PLDP = \PLD0
10207 CreateBitField (PLDP, 0x40, VIS)
10208 If ((!(PR2 & 0x01) || !(PR3 & 0x01)))
10209 {
10210 VIS &= 0x00
10211 }
10212
10213 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.SSP0._PLD.PLDP */
10214 }
10215 }
10216
10217 Device (SSP1)
10218 {
10219 Name (_ADR, 0x11) // _ADR: Address
10220 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10221 {
10222 Name (UPCP, Package (0x04)
10223 {
10224 0x00,
10225 0x00,
10226 0x00,
10227 0x00
10228 })
10229 CopyObject (\UPC1, UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP1._UPC.UPCP */
10230 If ((!(PR2 & 0x02) || !(PR3 & 0x02)))
10231 {
10232 Index (UPCP, 0x00) = 0x00
10233 }
10234
10235 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP1._UPC.UPCP */
10236 }
10237
10238 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10239 {
10240 \_SB.PCI0.XHCI.XHPS ()
10241 Name (PLDP, Buffer (0x10) {})
10242 PLDP = \PLD1
10243 CreateBitField (PLDP, 0x40, VIS)
10244 If ((!(PR2 & 0x02) || !(PR3 & 0x02)))
10245 {
10246 VIS &= 0x00
10247 }
10248
10249 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.SSP1._PLD.PLDP */
10250 }
10251 }
10252
10253 Device (SSP2)
10254 {
10255 Name (_ADR, 0x12) // _ADR: Address
10256 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10257 {
10258 Name (UPCP, Package (0x04)
10259 {
10260 0x00,
10261 0x00,
10262 0x00,
10263 0x00
10264 })
10265 CopyObject (\UPCN, UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP2._UPC.UPCP */
10266 If ((!(PR2 & 0x04) || !(PR3 & 0x04)))
10267 {
10268 Index (UPCP, 0x00) = 0x00
10269 }
10270
10271 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP2._UPC.UPCP */
10272 }
10273
10274 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10275 {
10276 \_SB.PCI0.XHCI.XHPS ()
10277 Name (PLDP, Buffer (0x10) {})
10278 PLDP = \PLDN
10279 CreateBitField (PLDP, 0x40, VIS)
10280 If ((!(PR2 & 0x04) || !(PR3 & 0x04)))
10281 {
10282 VIS &= 0x00
10283 }
10284
10285 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.SSP2._PLD.PLDP */
10286 }
10287 }
10288
10289 Device (SSP3)
10290 {
10291 Name (_ADR, 0x13) // _ADR: Address
10292 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10293 {
10294 Name (UPCP, Package (0x04)
10295 {
10296 0x00,
10297 0x00,
10298 0x00,
10299 0x00
10300 })
10301 CopyObject (\UPCN, UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP3._UPC.UPCP */
10302 If ((!(PR2 & 0x08) || !(PR3 & 0x08)))
10303 {
10304 Index (UPCP, 0x00) = 0x00
10305 }
10306
10307 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP3._UPC.UPCP */
10308 }
10309
10310 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10311 {
10312 \_SB.PCI0.XHCI.XHPS ()
10313 Name (PLDP, Buffer (0x10) {})
10314 PLDP = \PLDN
10315 CreateBitField (PLDP, 0x40, VIS)
10316 If ((!(PR2 & 0x08) || !(PR3 & 0x08)))
10317 {
10318 VIS &= 0x00
10319 }
10320
10321 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.SSP3._PLD.PLDP */
10322 }
10323 }
10324
10325 Device (SSP4)
10326 {
10327 Name (_ADR, 0x14) // _ADR: Address
10328 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10329 {
10330 Name (UPCP, Package (0x04)
10331 {
10332 0x00,
10333 0x00,
10334 0x00,
10335 0x00
10336 })
10337 CopyObject (\UPC4, UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP4._UPC.UPCP */
10338 If ((!(PR2 & 0x10) || !(PR3 & 0x10)))
10339 {
10340 Index (UPCP, 0x00) = 0x00
10341 }
10342
10343 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP4._UPC.UPCP */
10344 }
10345
10346 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10347 {
10348 \_SB.PCI0.XHCI.XHPS ()
10349 Name (PLDP, Buffer (0x10) {})
10350 PLDP = \PLD4
10351 CreateBitField (PLDP, 0x40, VIS)
10352 If ((!(PR2 & 0x10) || !(PR3 & 0x10)))
10353 {
10354 VIS &= 0x00
10355 }
10356
10357 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.SSP4._PLD.PLDP */
10358 }
10359 }
10360
10361 Device (SSP5)
10362 {
10363 Name (_ADR, 0x15) // _ADR: Address
10364 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10365 {
10366 Name (UPCP, Package (0x04)
10367 {
10368 0x00,
10369 0x00,
10370 0x00,
10371 0x00
10372 })
10373 CopyObject (\UPCN, UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP5._UPC.UPCP */
10374 If ((!(PR2 & 0x20) || !(PR3 & 0x20)))
10375 {
10376 Index (UPCP, 0x00) = 0x00
10377 }
10378
10379 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP5._UPC.UPCP */
10380 }
10381
10382 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10383 {
10384 \_SB.PCI0.XHCI.XHPS ()
10385 Name (PLDP, Buffer (0x10) {})
10386 PLDP = \PLDN
10387 CreateBitField (PLDP, 0x40, VIS)
10388 If ((!(PR2 & 0x20) || !(PR3 & 0x20)))
10389 {
10390 VIS &= 0x00
10391 }
10392
10393 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.SSP5._PLD.PLDP */
10394 }
10395 }
10396 }
10397 }
10398
10399 Device (EHC1)
10400 {
10401 Name (_ADR, 0x001D0000) // _ADR: Address
10402 Name (_S3D, 0x03) // _S3D: S3 Device State
10403 Name (RID, 0x00)
10404 OperationRegion (EHCS, PCI_Config, 0x00, 0x0100)
10405 Field (EHCS, DWordAcc, NoLock, Preserve)
10406 {
10407 Offset (0x62),
10408 PWKI, 1,
10409 PWUC, 8,
10410 Offset (0x64)
10411 }
10412
10413 Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
10414 {
10415 \_SB.PCI0.LPC.EC.PUBS
10416 })
10417 Name (_PR1, Package (0x01) // _PR1: Power Resources for D1
10418 {
10419 \_SB.PCI0.LPC.EC.PUBS
10420 })
10421 Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
10422 {
10423 \_SB.PCI0.LPC.EC.PUBS
10424 })
10425 Method (_INI, 0, NotSerialized) // _INI: Initialize
10426 {
10427 PWKI = 0x01
10428 PWUC = 0x23
10429 }
10430
10431 Name (_PRW, Package (0x03) // _PRW: Power Resources for Wake
10432 {
10433 0x0D,
10434 0x03,
10435 \_SB.PCI0.LPC.EC.PUBS
10436 })
10437 Device (URTH)
10438 {
10439 Name (_ADR, 0x00) // _ADR: Address
10440 Device (URMH)
10441 {
10442 Name (_ADR, 0x01) // _ADR: Address
10443 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10444 {
10445 Return (\UPCI)
10446 }
10447
10448 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10449 {
10450 Return (\PLDI)
10451 }
10452
10453 Device (PRT0)
10454 {
10455 Name (_ADR, 0x01) // _ADR: Address
10456 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10457 {
10458 Name (UPCP, Package (0x04)
10459 {
10460 0x00,
10461 0x00,
10462 0x00,
10463 0x00
10464 })
10465 CopyObject (\UPC0, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT0._UPC.UPCP */
10466 If ((\XHCI == 0x00)) {}
10467 Else
10468 {
10469 If ((\_SB.PCI0.XHCI.PR2 & 0x01))
10470 {
10471 Index (UPCP, 0x00) = 0x00
10472 }
10473 }
10474
10475 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT0._UPC.UPCP */
10476 }
10477
10478 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10479 {
10480 Name (PLDP, Buffer (0x10) {})
10481 PLDP = \PLD0
10482 CreateBitField (PLDP, 0x40, VIS)
10483 If ((\XHCI == 0x00)) {}
10484 Else
10485 {
10486 If ((\_SB.PCI0.XHCI.PR2 & 0x01))
10487 {
10488 VIS &= 0x00
10489 }
10490
10491 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT0._PLD.PLDP */
10492 }
10493 }
10494 }
10495
10496 Device (PRT1)
10497 {
10498 Name (_ADR, 0x02) // _ADR: Address
10499 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10500 {
10501 Name (UPCP, Package (0x04)
10502 {
10503 0x00,
10504 0x00,
10505 0x00,
10506 0x00
10507 })
10508 CopyObject (\UPC1, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT1._UPC.UPCP */
10509 If ((\XHCI == 0x00)) {}
10510 Else
10511 {
10512 If ((\_SB.PCI0.XHCI.PR2 & 0x02))
10513 {
10514 Index (UPCP, 0x00) = 0x00
10515 }
10516 }
10517
10518 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT1._UPC.UPCP */
10519 }
10520
10521 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10522 {
10523 Name (PLDP, Buffer (0x10) {})
10524 PLDP = \PLD1
10525 CreateBitField (PLDP, 0x40, VIS)
10526 If ((\XHCI == 0x00)) {}
10527 Else
10528 {
10529 If ((\_SB.PCI0.XHCI.PR2 & 0x02))
10530 {
10531 VIS &= 0x00
10532 }
10533 }
10534
10535 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT1._PLD.PLDP */
10536 }
10537 }
10538
10539 Device (PRT2)
10540 {
10541 Name (_ADR, 0x03) // _ADR: Address
10542 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10543 {
10544 Name (UPCP, Package (0x04)
10545 {
10546 0x00,
10547 0x00,
10548 0x00,
10549 0x00
10550 })
10551 CopyObject (\UPC2, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT2._UPC.UPCP */
10552 If ((\XHCI == 0x00)) {}
10553 Else
10554 {
10555 If ((\_SB.PCI0.XHCI.PR2 & 0x04))
10556 {
10557 Index (UPCP, 0x00) = 0x00
10558 }
10559 }
10560
10561 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT2._UPC.UPCP */
10562 }
10563
10564 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10565 {
10566 Name (PLDP, Buffer (0x10) {})
10567 PLDP = \PLD2
10568 CreateBitField (PLDP, 0x40, VIS)
10569 If ((\XHCI == 0x00)) {}
10570 Else
10571 {
10572 If ((\_SB.PCI0.XHCI.PR2 & 0x04))
10573 {
10574 VIS &= 0x00
10575 }
10576 }
10577
10578 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT2._PLD.PLDP */
10579 }
10580 }
10581
10582 Device (PRT3)
10583 {
10584 Name (_ADR, 0x04) // _ADR: Address
10585 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10586 {
10587 Name (UPCP, Package (0x04)
10588 {
10589 0x00,
10590 0x00,
10591 0x00,
10592 0x00
10593 })
10594 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT3._UPC.UPCP */
10595 If ((\XHCI == 0x00)) {}
10596 Else
10597 {
10598 If ((\_SB.PCI0.XHCI.PR2 & 0x08))
10599 {
10600 Index (UPCP, 0x00) = 0x00
10601 }
10602 }
10603
10604 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT3._UPC.UPCP */
10605 }
10606
10607 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10608 {
10609 Name (PLDP, Buffer (0x10) {})
10610 PLDP = \PLDI
10611 CreateBitField (PLDP, 0x40, VIS)
10612 If ((\XHCI == 0x00)) {}
10613 Else
10614 {
10615 If ((\_SB.PCI0.XHCI.PR2 & 0x08))
10616 {
10617 VIS &= 0x00
10618 }
10619 }
10620
10621 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT3._PLD.PLDP */
10622 }
10623 }
10624
10625 Device (PRT4)
10626 {
10627 Name (_ADR, 0x05) // _ADR: Address
10628 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10629 {
10630 Name (UPCP, Package (0x04)
10631 {
10632 0x00,
10633 0x00,
10634 0x00,
10635 0x00
10636 })
10637 CopyObject (\UPC4, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT4._UPC.UPCP */
10638 If ((\XHCI == 0x00)) {}
10639 Else
10640 {
10641 If ((\_SB.PCI0.XHCI.PR2 & 0x10))
10642 {
10643 Index (UPCP, 0x00) = 0x00
10644 }
10645 }
10646
10647 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT4._UPC.UPCP */
10648 }
10649
10650 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10651 {
10652 Name (PLDP, Buffer (0x10) {})
10653 PLDP = \PLD4
10654 CreateBitField (PLDP, 0x40, VIS)
10655 If ((\XHCI == 0x00)) {}
10656 Else
10657 {
10658 If ((\_SB.PCI0.XHCI.PR2 & 0x10))
10659 {
10660 VIS &= 0x00
10661 }
10662 }
10663
10664 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT4._PLD.PLDP */
10665 }
10666 }
10667
10668 Device (PRT5)
10669 {
10670 Name (_ADR, 0x06) // _ADR: Address
10671 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10672 {
10673 Name (UPCP, Package (0x04)
10674 {
10675 0x00,
10676 0x00,
10677 0x00,
10678 0x00
10679 })
10680 CopyObject (\UPC5, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT5._UPC.UPCP */
10681 If ((\XHCI == 0x00)) {}
10682 Else
10683 {
10684 If ((\_SB.PCI0.XHCI.PR2 & 0x20))
10685 {
10686 Index (UPCP, 0x00) = 0x00
10687 }
10688 }
10689
10690 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT5._UPC.UPCP */
10691 }
10692
10693 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10694 {
10695 Name (PLDP, Buffer (0x10) {})
10696 PLDP = \PLD5
10697 CreateBitField (PLDP, 0x40, VIS)
10698 If ((\XHCI == 0x00)) {}
10699 Else
10700 {
10701 If ((\_SB.PCI0.XHCI.PR2 & 0x20))
10702 {
10703 VIS &= 0x00
10704 }
10705 }
10706
10707 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT5._PLD.PLDP */
10708 }
10709 }
10710
10711 Device (PRT6)
10712 {
10713 Name (_ADR, 0x07) // _ADR: Address
10714 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10715 {
10716 Name (UPCP, Package (0x04)
10717 {
10718 0x00,
10719 0x00,
10720 0x00,
10721 0x00
10722 })
10723 CopyObject (\UPCN, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT6._UPC.UPCP */
10724 If ((\XHCI == 0x00)) {}
10725 Else
10726 {
10727 If ((\_SB.PCI0.XHCI.PR2 & 0x40))
10728 {
10729 Index (UPCP, 0x00) = 0x00
10730 }
10731 }
10732
10733 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT6._UPC.UPCP */
10734 }
10735
10736 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10737 {
10738 Name (PLDP, Buffer (0x10) {})
10739 PLDP = \PLDN
10740 CreateBitField (PLDP, 0x40, VIS)
10741 If ((\XHCI == 0x00)) {}
10742 Else
10743 {
10744 If ((\_SB.PCI0.XHCI.PR2 & 0x40))
10745 {
10746 VIS &= 0x00
10747 }
10748 }
10749
10750 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT6._PLD.PLDP */
10751 }
10752 }
10753
10754 Device (PRT7)
10755 {
10756 Name (_ADR, 0x08) // _ADR: Address
10757 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10758 {
10759 Name (UPCP, Package (0x04)
10760 {
10761 0x00,
10762 0x00,
10763 0x00,
10764 0x00
10765 })
10766 CopyObject (\UPCN, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT7._UPC.UPCP */
10767 If ((\XHCI == 0x00)) {}
10768 Else
10769 {
10770 If ((\_SB.PCI0.XHCI.PR2 & 0x80))
10771 {
10772 Index (UPCP, 0x00) = 0x00
10773 }
10774 }
10775
10776 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT7._UPC.UPCP */
10777 }
10778
10779 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10780 {
10781 Name (PLDP, Buffer (0x10) {})
10782 PLDP = \PLDN
10783 CreateBitField (PLDP, 0x40, VIS)
10784 If ((\XHCI == 0x00)) {}
10785 Else
10786 {
10787 If ((\_SB.PCI0.XHCI.PR2 & 0x80))
10788 {
10789 VIS &= 0x00
10790 }
10791 }
10792
10793 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT7._PLD.PLDP */
10794 }
10795 }
10796 }
10797 }
10798 }
10799
10800 Device (EHC2)
10801 {
10802 Name (_ADR, 0x001A0000) // _ADR: Address
10803 Name (_S3D, 0x03) // _S3D: S3 Device State
10804 Name (RID, 0x00)
10805 OperationRegion (EHCS, PCI_Config, 0x00, 0x0100)
10806 Field (EHCS, DWordAcc, NoLock, Preserve)
10807 {
10808 Offset (0x62),
10809 PWKI, 1,
10810 PWUC, 6,
10811 Offset (0x64)
10812 }
10813
10814 Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
10815 {
10816 \_SB.PCI0.LPC.EC.PUBS
10817 })
10818 Name (_PR1, Package (0x01) // _PR1: Power Resources for D1
10819 {
10820 \_SB.PCI0.LPC.EC.PUBS
10821 })
10822 Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
10823 {
10824 \_SB.PCI0.LPC.EC.PUBS
10825 })
10826 Method (_INI, 0, NotSerialized) // _INI: Initialize
10827 {
10828 PWKI = 0x01
10829 PWUC = 0x13
10830 }
10831
10832 Name (_PRW, Package (0x03) // _PRW: Power Resources for Wake
10833 {
10834 0x0D,
10835 0x03,
10836 \_SB.PCI0.LPC.EC.PUBS
10837 })
10838 Device (URTH)
10839 {
10840 Name (_ADR, 0x00) // _ADR: Address
10841 Device (URMH)
10842 {
10843 Name (_ADR, 0x01) // _ADR: Address
10844 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10845 {
10846 Return (\UPCI)
10847 }
10848
10849 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10850 {
10851 Return (\PLDI)
10852 }
10853
10854 Device (PRT8)
10855 {
10856 Name (_ADR, 0x01) // _ADR: Address
10857 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10858 {
10859 Name (UPCP, Package (0x04)
10860 {
10861 0x00,
10862 0x00,
10863 0x00,
10864 0x00
10865 })
10866 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.EHC2.URTH.URMH.PRT8._UPC.UPCP */
10867 If ((\XHCI == 0x00)) {}
10868 Else
10869 {
10870 If ((\_SB.PCI0.XHCI.PR2 & 0x0100))
10871 {
10872 Index (UPCP, 0x00) = 0x00
10873 }
10874 }
10875
10876 Return (UPCP) /* \_SB_.PCI0.EHC2.URTH.URMH.PRT8._UPC.UPCP */
10877 }
10878
10879 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10880 {
10881 Name (PLDP, Buffer (0x10) {})
10882 PLDP = \PLDI
10883 CreateBitField (PLDP, 0x40, VIS)
10884 If ((\XHCI == 0x00)) {}
10885 Else
10886 {
10887 If ((\_SB.PCI0.XHCI.PR2 & 0x0100))
10888 {
10889 VIS &= 0x00
10890 }
10891 }
10892
10893 Return (PLDP) /* \_SB_.PCI0.EHC2.URTH.URMH.PRT8._PLD.PLDP */
10894 }
10895 }
10896
10897 Device (PRT9)
10898 {
10899 Name (_ADR, 0x02) // _ADR: Address
10900 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10901 {
10902 Name (UPCP, Package (0x04)
10903 {
10904 0x00,
10905 0x00,
10906 0x00,
10907 0x00
10908 })
10909 CopyObject (\UPC9, UPCP) /* \_SB_.PCI0.EHC2.URTH.URMH.PRT9._UPC.UPCP */
10910 If ((\XHCI == 0x00)) {}
10911 Else
10912 {
10913 If ((\_SB.PCI0.XHCI.PR2 & 0x0200))
10914 {
10915 Index (UPCP, 0x00) = 0x00
10916 }
10917 }
10918
10919 Return (UPCP) /* \_SB_.PCI0.EHC2.URTH.URMH.PRT9._UPC.UPCP */
10920 }
10921
10922 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10923 {
10924 Name (PLDP, Buffer (0x10) {})
10925 PLDP = \PLD9
10926 CreateBitField (PLDP, 0x40, VIS)
10927 If ((\XHCI == 0x00)) {}
10928 Else
10929 {
10930 If ((\_SB.PCI0.XHCI.PR2 & 0x0200))
10931 {
10932 VIS &= 0x00
10933 }
10934 }
10935
10936 Return (PLDP) /* \_SB_.PCI0.EHC2.URTH.URMH.PRT9._PLD.PLDP */
10937 }
10938 }
10939
10940 Device (PRTA)
10941 {
10942 Name (_ADR, 0x03) // _ADR: Address
10943 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10944 {
10945 Name (UPCP, Package (0x04)
10946 {
10947 0x00,
10948 0x00,
10949 0x00,
10950 0x00
10951 })
10952 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.EHC2.URTH.URMH.PRTA._UPC.UPCP */
10953 If ((\XHCI == 0x00)) {}
10954 Else
10955 {
10956 If ((\_SB.PCI0.XHCI.PR2 & 0x0400))
10957 {
10958 Index (UPCP, 0x00) = 0x00
10959 }
10960 }
10961
10962 Return (UPCP) /* \_SB_.PCI0.EHC2.URTH.URMH.PRTA._UPC.UPCP */
10963 }
10964
10965 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10966 {
10967 Name (PLDP, Buffer (0x10) {})
10968 PLDP = \PLDI
10969 CreateBitField (PLDP, 0x40, VIS)
10970 If ((\XHCI == 0x00)) {}
10971 Else
10972 {
10973 If ((\_SB.PCI0.XHCI.PR2 & 0x0400))
10974 {
10975 VIS &= 0x00
10976 }
10977 }
10978
10979 Return (PLDP) /* \_SB_.PCI0.EHC2.URTH.URMH.PRTA._PLD.PLDP */
10980 }
10981 }
10982
10983 Device (PRTB)
10984 {
10985 Name (_ADR, 0x04) // _ADR: Address
10986 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10987 {
10988 Name (UPCP, Package (0x04)
10989 {
10990 0x00,
10991 0x00,
10992 0x00,
10993 0x00
10994 })
10995 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.EHC2.URTH.URMH.PRTB._UPC.UPCP */
10996 If ((\XHCI == 0x00)) {}
10997 Else
10998 {
10999 If ((\_SB.PCI0.XHCI.PR2 & 0x0800))
11000 {
11001 Index (UPCP, 0x00) = 0x00
11002 }
11003 }
11004
11005 Return (UPCP) /* \_SB_.PCI0.EHC2.URTH.URMH.PRTB._UPC.UPCP */
11006 }
11007
11008 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
11009 {
11010 Name (PLDP, Buffer (0x10) {})
11011 PLDP = \PLDI
11012 CreateBitField (PLDP, 0x40, VIS)
11013 If ((\XHCI == 0x00)) {}
11014 Else
11015 {
11016 If ((\_SB.PCI0.XHCI.PR2 & 0x0800))
11017 {
11018 VIS &= 0x00
11019 }
11020 }
11021
11022 Return (PLDP) /* \_SB_.PCI0.EHC2.URTH.URMH.PRTB._PLD.PLDP */
11023 }
11024 }
11025
11026 Device (PRTC)
11027 {
11028 Name (_ADR, 0x05) // _ADR: Address
11029 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
11030 {
11031 Name (UPCP, Package (0x04)
11032 {
11033 0x00,
11034 0x00,
11035 0x00,
11036 0x00
11037 })
11038 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.EHC2.URTH.URMH.PRTC._UPC.UPCP */
11039 If ((\XHCI == 0x00)) {}
11040 Else
11041 {
11042 If ((\_SB.PCI0.XHCI.PR2 & 0x1000))
11043 {
11044 Index (UPCP, 0x00) = 0x00
11045 }
11046 }
11047
11048 Return (UPCP) /* \_SB_.PCI0.EHC2.URTH.URMH.PRTC._UPC.UPCP */
11049 }
11050
11051 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
11052 {
11053 Name (PLDP, Buffer (0x10) {})
11054 PLDP = \PLDI
11055 CreateBitField (PLDP, 0x40, VIS)
11056 If ((\XHCI == 0x00)) {}
11057 Else
11058 {
11059 If ((\_SB.PCI0.XHCI.PR2 & 0x1000))
11060 {
11061 VIS &= 0x00
11062 }
11063 }
11064
11065 Return (PLDP) /* \_SB_.PCI0.EHC2.URTH.URMH.PRTC._PLD.PLDP */
11066 }
11067 }
11068
11069 Device (PRTD)
11070 {
11071 Name (_ADR, 0x06) // _ADR: Address
11072 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
11073 {
11074 Name (UPCP, Package (0x04)
11075 {
11076 0x00,
11077 0x00,
11078 0x00,
11079 0x00
11080 })
11081 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.EHC2.URTH.URMH.PRTD._UPC.UPCP */
11082 If ((\XHCI == 0x00)) {}
11083 Else
11084 {
11085 If ((\_SB.PCI0.XHCI.PR2 & 0x2000))
11086 {
11087 Index (UPCP, 0x00) = 0x00
11088 }
11089 }
11090
11091 Return (UPCP) /* \_SB_.PCI0.EHC2.URTH.URMH.PRTD._UPC.UPCP */
11092 }
11093
11094 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
11095 {
11096 Return (\PLDI)
11097 }
11098
11099 Device (WCAM)
11100 {
11101 Name (_ADR, 0x06) // _ADR: Address
11102 Method (_STA, 0, NotSerialized) // _STA: Status
11103 {
11104 If (\WIN8)
11105 {
11106 Return (0x0F)
11107 }
11108 Else
11109 {
11110 Return (0x00)
11111 }
11112 }
11113
11114 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
11115 {
11116 Return (\UPCI)
11117 }
11118
11119 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
11120 {
11121 Return (\PLDC)
11122 }
11123 }
11124 }
11125 }
11126 }
11127 }
11128
11129 Device (HDEF)
11130 {
11131 Name (_ADR, 0x001B0000) // _ADR: Address
11132 Name (_S3D, 0x03) // _S3D: S3 Device State
11133 Name (RID, 0x00)
11134 }
11135 }
11136
11137 Scope (\_SB.PCI0.LPC.EC)
11138 {
11139 Name (BDEV, 0xFF)
11140 Name (BSTS, 0x00)
11141 Name (BHKE, 0x00)
11142 Method (_Q2C, 0, NotSerialized) // _Qxx: EC Query
11143 {
11144 If ((BSTS == 0x00))
11145 {
11146 BDEV = BGID (0x00)
11147 NBRE (BDEV)
11148 }
11149 }
11150
11151 Method (_Q2D, 0, NotSerialized) // _Qxx: EC Query
11152 {
11153 BDEV = BGID (0x00)
11154 NBIN (BDEV)
11155 }
11156
11157 Method (_Q38, 0, NotSerialized) // _Qxx: EC Query
11158 {
11159 Local0 = BGID (0x00)
11160 If ((Local0 == 0x0F))
11161 {
11162 BDIS ()
11163 \BHDP (0x01, 0x00)
11164 NBEJ (BDEV)
11165 BDEV = Local0
11166 If ((\BIDE == 0x03))
11167 {
11168 \_SB.PCI0.SAT1.PRIM.GTME = 0x00
11169 \_SB.PCI0.SAT1.SCND.GTME = 0x00
11170 }
11171 }
11172 Else
11173 {
11174 If (HPBU) {}
11175 Else
11176 {
11177 BDEV = Local0
11178 NBIN (Local0)
11179 }
11180 }
11181 }
11182
11183 Name (ODEJ, 0x00)
11184 Method (_Q44, 0, NotSerialized) // _Qxx: EC Query
11185 {
11186 If (\_SB.PCI0.LPC.CSON)
11187 {
11188 ODEJ = 0x01
11189 BDEV = BGID (0x00)
11190 NBIN (BDEV)
11191 ODEJ = 0x00
11192 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x3006)
11193 }
11194 }
11195
11196 Method (NBRE, 1, NotSerialized)
11197 {
11198 If ((Arg0 < 0x0C))
11199 {
11200 If ((\BIDE == 0x03))
11201 {
11202 Notify (\_SB.PCI0.SAT1.SCND.MSTR, 0x03) // Eject Request
11203 }
11204 Else
11205 {
11206 Notify (\_SB.PCI0.SAT1.PRT5, 0x03) // Eject Request
11207 }
11208 }
11209 }
11210
11211 Method (NBEJ, 1, NotSerialized)
11212 {
11213 If ((BSTS == 0x00))
11214 {
11215 If ((Arg0 < 0x0C))
11216 {
11217 If ((\BIDE == 0x03))
11218 {
11219 Notify (\_SB.PCI0.SAT1.SCND.MSTR, 0x01) // Device Check
11220 }
11221 Else
11222 {
11223 Notify (\_SB.PCI0.SAT1.PRT5, 0x01) // Device Check
11224 }
11225 }
11226 }
11227
11228 BEEP (0x00)
11229 BSTS = 0x00
11230 }
11231
11232 Method (NBIN, 1, NotSerialized)
11233 {
11234 If ((Arg0 < 0x0C))
11235 {
11236 BEN (0x01)
11237 If ((\BIDE == 0x03))
11238 {
11239 Notify (\_SB.PCI0.SAT1.SCND.MSTR, 0x01) // Device Check
11240 }
11241 Else
11242 {
11243 Notify (\_SB.PCI0.SAT1.PRT5, 0x01) // Device Check
11244 }
11245 }
11246
11247 BEEP (0x00)
11248 BSTS = 0x00
11249 }
11250
11251 Method (BEJ0, 1, NotSerialized)
11252 {
11253 If (Arg0)
11254 {
11255 BDIS ()
11256 \BHDP (0x01, 0x00)
11257 BSTS = 0x01
11258 If (BHKE)
11259 {
11260 BHKE = 0x00
11261 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x3003)
11262 }
11263 }
11264 Else
11265 {
11266 BSTS = 0x00
11267 }
11268 }
11269
11270 Method (BEJ3, 1, NotSerialized)
11271 {
11272 If (Arg0)
11273 {
11274 BDIS ()
11275 BSTS = 0x01
11276 }
11277 Else
11278 {
11279 BSTS = 0x00
11280 }
11281 }
11282
11283 Method (BPTS, 1, NotSerialized)
11284 {
11285 HDBM = 0x01
11286 If ((BSTS != 0x00))
11287 {
11288 BDEV = 0x0F
11289 BSTS = 0x00
11290 }
11291
11292 BHKE = 0x00
11293 BUWK (0x00)
11294 }
11295
11296 Method (BWAK, 1, NotSerialized)
11297 {
11298 BUWK (0x00)
11299 Local0 = BGID (0x00)
11300 If ((BSTS == 0x00))
11301 {
11302 If ((Local0 != BDEV))
11303 {
11304 NBEJ (BDEV)
11305 BDEV = Local0
11306 NBIN (Local0)
11307 }
11308 Else
11309 {
11310 If ((\LFDC || (BDEV != 0x0D)))
11311 {
11312 If ((Local0 != 0x0F))
11313 {
11314 If (HPBU)
11315 {
11316 If ((Arg0 <= 0x02)) {}
11317 Else
11318 {
11319 NBRE (Local0)
11320 }
11321 }
11322 }
11323 }
11324 }
11325 }
11326
11327 If ((BDEV < 0x0C))
11328 {
11329 \UBIS (0x00)
11330 }
11331 Else
11332 {
11333 \UBIS (0x01)
11334 }
11335 }
11336
11337 Method (BDIS, 0, NotSerialized)
11338 {
11339 If (!\_SB.PCI0.LPC.CSON)
11340 {
11341 If ((!\_SB.PCI0.LPC.GLIS && !ODDF))
11342 {
11343 \UBIS (0x01)
11344 }
11345
11346 \_SB.PCI0.LPC.CSON = 0x01
11347 \IDET = 0x0F
11348 }
11349 }
11350
11351 Method (BPON, 1, NotSerialized)
11352 {
11353 If (\_SB.PCI0.LPC.CSON)
11354 {
11355 \_SB.PCI0.LPC.CSON = 0x00
11356 If (\_SB.PCI0.LPC.GLIS)
11357 {
11358 \UBIS (0x00)
11359 }
11360 }
11361 }
11362
11363 Method (BEN, 1, NotSerialized)
11364 {
11365 If (\_SB.PCI0.LPC.CSON)
11366 {
11367 BPON (Arg0)
11368 If (ODDF)
11369 {
11370 Notify (\_SB.PCI0.SAT1, 0x85) // Device-Specific
11371 }
11372
11373 If ((Arg0 && (ODEJ == 0x01)))
11374 {
11375 \_SB.PCI0.LPC.EC.HANT = 0x09
11376 }
11377
11378 If (Arg0)
11379 {
11380 IRDY ()
11381 }
11382 }
11383 }
11384
11385 Method (BSTA, 1, NotSerialized)
11386 {
11387 If (\_SB.PCI0.LPC.CSON)
11388 {
11389 Return (0x00)
11390 }
11391
11392 BINI ()
11393 If ((Arg0 == 0x01))
11394 {
11395 Return ((BDEV < 0x0C))
11396 }
11397
11398 Return (0x00)
11399 }
11400
11401 Method (BUWK, 1, NotSerialized)
11402 {
11403 If (\H8DR)
11404 {
11405 If (Arg0)
11406 {
11407 \_SB.PCI0.LPC.EC.HWBU = 0x01
11408 }
11409 Else
11410 {
11411 \_SB.PCI0.LPC.EC.HWBU = 0x00
11412 }
11413 }
11414 Else
11415 {
11416 If (Arg0)
11417 {
11418 \MBEC (0x32, 0xFF, 0x80)
11419 }
11420 Else
11421 {
11422 \MBEC (0x32, 0x7F, 0x00)
11423 }
11424 }
11425 }
11426
11427 Method (BINI, 0, NotSerialized)
11428 {
11429 If ((BDEV == 0xFF))
11430 {
11431 BDEV = BGID (0x00)
11432 }
11433 }
11434
11435 Method (BGID, 1, NotSerialized)
11436 {
11437 If (Arg0)
11438 {
11439 Local0 = 0xFF
11440 }
11441 Else
11442 {
11443 If (\H8DR)
11444 {
11445 Local1 = HPBU /* \_SB_.PCI0.LPC_.EC__.HPBU */
11446 Local2 = HBID /* \_SB_.PCI0.LPC_.EC__.HBID */
11447 }
11448 Else
11449 {
11450 Local2 = RBEC (0x47)
11451 Local1 = (Local2 & 0x01)
11452 Local2 &= 0x04
11453 Local2 >>= 0x02
11454 }
11455
11456 If (Local2)
11457 {
11458 Local0 = 0x0F
11459 }
11460 Else
11461 {
11462 If (HDUB)
11463 {
11464 Local0 = 0x0F
11465 }
11466 Else
11467 {
11468 If (((\IDET == 0x03) || (\IDET == 0x06)))
11469 {
11470 Local0 = \IDET
11471 }
11472 Else
11473 {
11474 Local0 = 0x07
11475 }
11476 }
11477 }
11478
11479 If ((Local0 == 0x0F)) {}
11480 }
11481
11482 If ((\HDUB && (Local0 < 0x0C)))
11483 {
11484 Local0 = 0x0F
11485 }
11486
11487 Return (Local0)
11488 }
11489
11490 Method (IRDY, 0, NotSerialized)
11491 {
11492 Local0 = 0x01F4
11493 Local1 = 0x3C
11494 Local2 = Zero
11495 While (Local1)
11496 {
11497 Sleep (Local0)
11498 Local3 = \BCHK ()
11499 If (!Local3)
11500 {
11501 Break
11502 }
11503
11504 If ((Local3 == 0x02))
11505 {
11506 Local2 = One
11507 Break
11508 }
11509
11510 Local1--
11511 }
11512
11513 Return (Local2)
11514 }
11515 }
11516
11517 Scope (\_SB.PCI0.LPC.EC)
11518 {
11519 Method (_Q43, 0, NotSerialized) // _Qxx: EC Query
11520 {
11521 \UCMS (0x18)
11522 }
11523
11524 Method (SAUM, 1, NotSerialized)
11525 {
11526 If ((Arg0 > 0x03))
11527 {
11528 Noop
11529 }
11530 Else
11531 {
11532 If (\H8DR)
11533 {
11534 HAUM = Arg0
11535 }
11536 Else
11537 {
11538 \MBEC (0x03, 0x9F, (Arg0 << 0x05))
11539 }
11540 }
11541 }
11542 }
11543
11544 Scope (\_SB.PCI0.LPC.EC.HKEY)
11545 {
11546 Method (GSMS, 1, NotSerialized)
11547 {
11548 Return (\AUDC (0x00, 0x00))
11549 }
11550
11551 Method (SSMS, 1, NotSerialized)
11552 {
11553 Return (\AUDC (0x01, (Arg0 & 0x01)))
11554 }
11555
11556 Method (SHDA, 1, NotSerialized)
11557 {
11558 Return (\AUDC (0x02, (Arg0 & 0x01)))
11559 }
11560 }
11561
11562 Scope (\_SB.PCI0.LPC.EC)
11563 {
11564 Name (BRTW, Package (0x12)
11565 {
11566 0x64,
11567 0x64,
11568 0x01,
11569 0x03,
11570 0x05,
11571 0x08,
11572 0x0C,
11573 0x11,
11574 0x16,
11575 0x21,
11576 0x28,
11577 0x2E,
11578 0x36,
11579 0x3E,
11580 0x47,
11581 0x50,
11582 0x5A,
11583 0x64
11584 })
11585 Name (BRTB, Package (0x04)
11586 {
11587 Package (0x16)
11588 {
11589 0x23,
11590 0x03,
11591 0x03,
11592 0x05,
11593 0x08,
11594 0x0A,
11595 0x0D,
11596 0x0F,
11597 0x12,
11598 0x19,
11599 0x22,
11600 0x2E,
11601 0x3E,
11602 0x54,
11603 0x6E,
11604 0x93,
11605 0xC1,
11606 0xFF,
11607 0xDC,
11608 0xDC,
11609 0x03,
11610 0x03
11611 },
11612
11613 Package (0x16)
11614 {
11615 0x1E,
11616 0x03,
11617 0x03,
11618 0x05,
11619 0x08,
11620 0x0A,
11621 0x0D,
11622 0x0F,
11623 0x12,
11624 0x19,
11625 0x22,
11626 0x2E,
11627 0x3E,
11628 0x54,
11629 0x6E,
11630 0x93,
11631 0xC1,
11632 0xFF,
11633 0xDC,
11634 0xDC,
11635 0x03,
11636 0x03
11637 },
11638
11639 Package (0x16)
11640 {
11641 0x16,
11642 0x03,
11643 0x04,
11644 0x07,
11645 0x09,
11646 0x0C,
11647 0x10,
11648 0x15,
11649 0x1C,
11650 0x25,
11651 0x32,
11652 0x40,
11653 0x50,
11654 0x64,
11655 0x82,
11656 0xA5,
11657 0xCD,
11658 0xFF,
11659 0xDC,
11660 0xDC,
11661 0x03,
11662 0x03
11663 },
11664
11665 Package (0x16)
11666 {
11667 0x00,
11668 0x03,
11669 0x04,
11670 0x07,
11671 0x09,
11672 0x0C,
11673 0x10,
11674 0x15,
11675 0x1C,
11676 0x25,
11677 0x32,
11678 0x40,
11679 0x50,
11680 0x64,
11681 0x82,
11682 0xA5,
11683 0xCD,
11684 0xFF,
11685 0xDC,
11686 0xDC,
11687 0x03,
11688 0x03
11689 }
11690 })
11691 Name (BRTD, Package (0x04)
11692 {
11693 Package (0x65)
11694 {
11695 0x03,
11696 0x04,
11697 0x05,
11698 0x06,
11699 0x07,
11700 0x08,
11701 0x09,
11702 0x0A,
11703 0x0B,
11704 0x0C,
11705 0x0D,
11706 0x0E,
11707 0x0F,
11708 0x10,
11709 0x11,
11710 0x12,
11711 0x13,
11712 0x14,
11713 0x15,
11714 0x16,
11715 0x17,
11716 0x18,
11717 0x19,
11718 0x1A,
11719 0x1B,
11720 0x1C,
11721 0x1D,
11722 0x1E,
11723 0x1F,
11724 0x20,
11725 0x21,
11726 0x22,
11727 0x23,
11728 0x24,
11729 0x25,
11730 0x26,
11731 0x27,
11732 0x28,
11733 0x29,
11734 0x2A,
11735 0x2B,
11736 0x2C,
11737 0x2E,
11738 0x2F,
11739 0x31,
11740 0x33,
11741 0x35,
11742 0x37,
11743 0x38,
11744 0x3A,
11745 0x3C,
11746 0x3E,
11747 0x40,
11748 0x42,
11749 0x45,
11750 0x47,
11751 0x49,
11752 0x4B,
11753 0x4D,
11754 0x50,
11755 0x52,
11756 0x54,
11757 0x57,
11758 0x59,
11759 0x5C,
11760 0x5E,
11761 0x61,
11762 0x63,
11763 0x66,
11764 0x68,
11765 0x6B,
11766 0x6E,
11767 0x71,
11768 0x73,
11769 0x76,
11770 0x79,
11771 0x7C,
11772 0x7F,
11773 0x82,
11774 0x85,
11775 0x88,
11776 0x8D,
11777 0x92,
11778 0x97,
11779 0x9D,
11780 0xA2,
11781 0xA7,
11782 0xAD,
11783 0xB3,
11784 0xB9,
11785 0xBE,
11786 0xC4,
11787 0xCB,
11788 0xD1,
11789 0xD7,
11790 0xDD,
11791 0xE4,
11792 0xEB,
11793 0xF1,
11794 0xF8,
11795 0xFF
11796 },
11797
11798 Package (0x65)
11799 {
11800 0x03,
11801 0x04,
11802 0x05,
11803 0x06,
11804 0x07,
11805 0x08,
11806 0x09,
11807 0x0A,
11808 0x0B,
11809 0x0C,
11810 0x0D,
11811 0x0E,
11812 0x0F,
11813 0x10,
11814 0x11,
11815 0x12,
11816 0x13,
11817 0x14,
11818 0x15,
11819 0x16,
11820 0x17,
11821 0x18,
11822 0x19,
11823 0x1A,
11824 0x1B,
11825 0x1C,
11826 0x1D,
11827 0x1E,
11828 0x1F,
11829 0x20,
11830 0x21,
11831 0x22,
11832 0x23,
11833 0x24,
11834 0x25,
11835 0x26,
11836 0x27,
11837 0x28,
11838 0x29,
11839 0x2A,
11840 0x2B,
11841 0x2C,
11842 0x2E,
11843 0x2F,
11844 0x31,
11845 0x33,
11846 0x35,
11847 0x37,
11848 0x38,
11849 0x3A,
11850 0x3C,
11851 0x3E,
11852 0x40,
11853 0x42,
11854 0x45,
11855 0x47,
11856 0x49,
11857 0x4B,
11858 0x4D,
11859 0x50,
11860 0x52,
11861 0x54,
11862 0x57,
11863 0x59,
11864 0x5C,
11865 0x5E,
11866 0x61,
11867 0x63,
11868 0x66,
11869 0x68,
11870 0x6B,
11871 0x6E,
11872 0x71,
11873 0x73,
11874 0x76,
11875 0x79,
11876 0x7C,
11877 0x7F,
11878 0x82,
11879 0x85,
11880 0x88,
11881 0x8D,
11882 0x92,
11883 0x97,
11884 0x9D,
11885 0xA2,
11886 0xA7,
11887 0xAD,
11888 0xB3,
11889 0xB9,
11890 0xBE,
11891 0xC4,
11892 0xCB,
11893 0xD1,
11894 0xD7,
11895 0xDD,
11896 0xE4,
11897 0xEB,
11898 0xF1,
11899 0xF8,
11900 0xFF
11901 },
11902
11903 Package (0x65)
11904 {
11905 0x03,
11906 0x04,
11907 0x05,
11908 0x06,
11909 0x07,
11910 0x08,
11911 0x09,
11912 0x0A,
11913 0x0B,
11914 0x0C,
11915 0x0D,
11916 0x0E,
11917 0x0F,
11918 0x10,
11919 0x11,
11920 0x12,
11921 0x13,
11922 0x14,
11923 0x15,
11924 0x16,
11925 0x17,
11926 0x18,
11927 0x19,
11928 0x1A,
11929 0x1C,
11930 0x1D,
11931 0x1F,
11932 0x21,
11933 0x22,
11934 0x24,
11935 0x26,
11936 0x28,
11937 0x2A,
11938 0x2C,
11939 0x2E,
11940 0x30,
11941 0x33,
11942 0x35,
11943 0x37,
11944 0x3A,
11945 0x3C,
11946 0x3F,
11947 0x41,
11948 0x44,
11949 0x46,
11950 0x49,
11951 0x4C,
11952 0x4F,
11953 0x51,
11954 0x54,
11955 0x57,
11956 0x5A,
11957 0x5D,
11958 0x61,
11959 0x64,
11960 0x67,
11961 0x6A,
11962 0x6E,
11963 0x71,
11964 0x75,
11965 0x78,
11966 0x7C,
11967 0x80,
11968 0x83,
11969 0x87,
11970 0x8B,
11971 0x8F,
11972 0x93,
11973 0x97,
11974 0x9B,
11975 0x9F,
11976 0xA3,
11977 0xA8,
11978 0xAC,
11979 0xB0,
11980 0xB5,
11981 0xB9,
11982 0xBE,
11983 0xC3,
11984 0xC7,
11985 0xCC,
11986 0xCE,
11987 0xD1,
11988 0xD3,
11989 0xD6,
11990 0xD8,
11991 0xDB,
11992 0xDD,
11993 0xE0,
11994 0xE2,
11995 0xE5,
11996 0xE7,
11997 0xEA,
11998 0xEC,
11999 0xEF,
12000 0xF2,
12001 0xF4,
12002 0xF7,
12003 0xFA,
12004 0xFC,
12005 0xFF
12006 },
12007
12008 Package (0x65)
12009 {
12010 0x03,
12011 0x04,
12012 0x05,
12013 0x06,
12014 0x07,
12015 0x08,
12016 0x09,
12017 0x0A,
12018 0x0B,
12019 0x0C,
12020 0x0D,
12021 0x0E,
12022 0x0F,
12023 0x10,
12024 0x11,
12025 0x12,
12026 0x13,
12027 0x14,
12028 0x15,
12029 0x16,
12030 0x17,
12031 0x18,
12032 0x19,
12033 0x1A,
12034 0x1C,
12035 0x1D,
12036 0x1F,
12037 0x21,
12038 0x22,
12039 0x24,
12040 0x26,
12041 0x28,
12042 0x2A,
12043 0x2C,
12044 0x2E,
12045 0x30,
12046 0x33,
12047 0x35,
12048 0x37,
12049 0x3A,
12050 0x3C,
12051 0x3F,
12052 0x41,
12053 0x44,
12054 0x46,
12055 0x49,
12056 0x4C,
12057 0x4F,
12058 0x51,
12059 0x54,
12060 0x57,
12061 0x5A,
12062 0x5D,
12063 0x61,
12064 0x64,
12065 0x67,
12066 0x6A,
12067 0x6E,
12068 0x71,
12069 0x75,
12070 0x78,
12071 0x7C,
12072 0x80,
12073 0x83,
12074 0x87,
12075 0x8B,
12076 0x8F,
12077 0x93,
12078 0x97,
12079 0x9B,
12080 0x9F,
12081 0xA3,
12082 0xA8,
12083 0xAC,
12084 0xB0,
12085 0xB5,
12086 0xB9,
12087 0xBE,
12088 0xC3,
12089 0xC7,
12090 0xCC,
12091 0xCE,
12092 0xD1,
12093 0xD3,
12094 0xD6,
12095 0xD8,
12096 0xDB,
12097 0xDD,
12098 0xE0,
12099 0xE2,
12100 0xE5,
12101 0xE7,
12102 0xEA,
12103 0xEC,
12104 0xEF,
12105 0xF2,
12106 0xF4,
12107 0xF7,
12108 0xFA,
12109 0xFC,
12110 0xFF
12111 }
12112 })
12113 Method (_Q14, 0, NotSerialized) // _Qxx: EC Query
12114 {
12115 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x8000))
12116 {
12117 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1010)
12118 }
12119
12120 If (\NBCF)
12121 {
12122 If (\VIGD)
12123 {
12124 Notify (\_SB.PCI0.VID.LCD0, 0x86) // Device-Specific
12125 }
12126 Else
12127 {
12128 Notify (\_SB.PCI0.PEG.VID.LCD0, 0x86) // Device-Specific
12129 }
12130 }
12131 Else
12132 {
12133 Local0 = \BRLV
12134 If ((Local0 != 0x0F))
12135 {
12136 Local0++
12137 \BRLV = Local0
12138 }
12139
12140 If (\VIGD)
12141 {
12142 \UCMS (0x16)
12143 \_SB.PCI0.LPC.EC.BRNS ()
12144 }
12145 Else
12146 {
12147 \VBRC (Local0)
12148 }
12149
12150 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6050)
12151 }
12152 }
12153
12154 Method (_Q15, 0, NotSerialized) // _Qxx: EC Query
12155 {
12156 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00010000))
12157 {
12158 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1011)
12159 }
12160
12161 If (\NBCF)
12162 {
12163 If (\VIGD)
12164 {
12165 Notify (\_SB.PCI0.VID.LCD0, 0x87) // Device-Specific
12166 }
12167 Else
12168 {
12169 Notify (\_SB.PCI0.PEG.VID.LCD0, 0x87) // Device-Specific
12170 }
12171 }
12172 Else
12173 {
12174 Local0 = \BRLV
12175 If (Local0)
12176 {
12177 Local0--
12178 \BRLV = Local0
12179 }
12180
12181 If (\VIGD)
12182 {
12183 \UCMS (0x16)
12184 \_SB.PCI0.LPC.EC.BRNS ()
12185 }
12186 Else
12187 {
12188 \VBRC (Local0)
12189 }
12190
12191 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6050)
12192 }
12193
12194 Return (Zero)
12195 }
12196
12197 Method (BRNS, 0, NotSerialized)
12198 {
12199 Local0 = (\BRLV + 0x02)
12200 Local3 = \BRTN
12201 If (\_SB.PCI0.VID.DRDY)
12202 {
12203 If ((0x00 == Local0))
12204 {
12205 Local1 = DerefOf (Index (DerefOf (Index (BRTB, Local3)), 0x14))
12206 Local2 = DerefOf (Index (DerefOf (Index (BRTB, Local3)), 0x12))
12207 }
12208 Else
12209 {
12210 Local1 = DerefOf (Index (DerefOf (Index (BRTB, Local3)), 0x15))
12211 Local2 = DerefOf (Index (DerefOf (Index (BRTB, Local3)), 0x13))
12212 }
12213
12214 Local2 = (Local1 | (Local2 << 0x09))
12215 \_SB.PCI0.VID.AINT (0x03, Local2)
12216 Local2 = DerefOf (Index (DerefOf (Index (BRTB, Local3)), Local0))
12217 \_SB.PCI0.VID.AINT (0x01, Local2)
12218 }
12219 Else
12220 {
12221 \UCMS (0x12)
12222 }
12223 }
12224
12225 Method (BRCF, 1, NotSerialized)
12226 {
12227 If ((Arg0 < 0x00))
12228 {
12229 Return (0x00)
12230 }
12231
12232 If ((Arg0 > 0x64))
12233 {
12234 Return (0x0F)
12235 }
12236
12237 Local0 = (Arg0 + 0x03)
12238 Local0 *= 0x0F
12239 Divide (Local0, 0x64, Local0, Local1)
12240 Return (Local1)
12241 }
12242
12243 Method (BRCD, 1, NotSerialized)
12244 {
12245 Local0 = DerefOf (Index (DerefOf (Index (BRTD, \BRTN)), Arg0))
12246 Return (Local0)
12247 }
12248
12249 Method (BFRQ, 0, NotSerialized)
12250 {
12251 Local0 = 0x80000100
12252 Local1 = DerefOf (Index (DerefOf (Index (BRTB, \BRTN)), 0x13))
12253 Local0 |= (Local1 << 0x09)
12254 Local1 = DerefOf (Index (DerefOf (Index (BRTB, \BRTN)), 0x15))
12255 Local0 |= Local1
12256 Return (Local0)
12257 }
12258 }
12259
12260 Scope (\_SB.PCI0.LPC.EC)
12261 {
12262 Method (_Q19, 0, NotSerialized) // _Qxx: EC Query
12263 {
12264 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00800000))
12265 {
12266 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1018)
12267 }
12268
12269 \UCMS (0x03)
12270 }
12271 }
12272
12273 Scope (\_SB.PCI0.LPC.EC)
12274 {
12275 Method (_Q63, 0, NotSerialized) // _Qxx: EC Query
12276 {
12277 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00080000))
12278 {
12279 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1014)
12280 }
12281
12282 \UCMS (0x0B)
12283 }
12284 }
12285
12286 Scope (\_SB.PCI0.LPC.EC)
12287 {
12288 Method (_Q70, 0, NotSerialized) // _Qxx: EC Query
12289 {
12290 FNST ()
12291 }
12292
12293 Method (_Q72, 0, NotSerialized) // _Qxx: EC Query
12294 {
12295 FNST ()
12296 }
12297
12298 Method (_Q73, 0, NotSerialized) // _Qxx: EC Query
12299 {
12300 FNST ()
12301 }
12302
12303 Method (FNST, 0, NotSerialized)
12304 {
12305 If (\H8DR)
12306 {
12307 Local0 = HFNS /* \_SB_.PCI0.LPC_.EC__.HFNS */
12308 Local1 = HFNE /* \_SB_.PCI0.LPC_.EC__.HFNE */
12309 }
12310 Else
12311 {
12312 Local0 = (\RBEC (0x0E) & 0x03)
12313 Local1 = (\RBEC (0x00) & 0x08)
12314 }
12315
12316 If (Local1)
12317 {
12318 If ((Local0 == 0x00))
12319 {
12320 \UCMS (0x11)
12321 }
12322
12323 If ((Local0 == 0x01))
12324 {
12325 \UCMS (0x0F)
12326 }
12327
12328 If ((Local0 == 0x02))
12329 {
12330 \UCMS (0x10)
12331 }
12332
12333 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6005)
12334 }
12335 }
12336 }
12337
12338 Scope (\_SB.PCI0.LPC.EC.HKEY)
12339 {
12340 Method (GHSL, 1, NotSerialized)
12341 {
12342 Return (\FNSC (0x00, 0x00))
12343 }
12344
12345 Method (SHSL, 1, NotSerialized)
12346 {
12347 Return (\FNSC (0x01, (Arg0 & 0x01)))
12348 }
12349 }
12350
12351 Scope (\_SB.PCI0.LPC.EC.HKEY)
12352 {
12353 Name (WGFL, 0x00)
12354 Method (WSIF, 0, NotSerialized)
12355 {
12356 Return (0x00)
12357 }
12358
12359 Method (WLSW, 0, NotSerialized)
12360 {
12361 Return (0x00010001)
12362 }
12363
12364 Method (GWAN, 0, NotSerialized)
12365 {
12366 Local0 = 0x00
12367 If ((WGFL & 0x01))
12368 {
12369 Local0 |= 0x01
12370 }
12371
12372 If ((WGFL & 0x08))
12373 {
12374 Return (Local0)
12375 }
12376
12377 If (WPWS ())
12378 {
12379 Local0 |= 0x02
12380 }
12381
12382 Local0 |= 0x04
12383 Return (Local0)
12384 }
12385
12386 Method (SWAN, 1, NotSerialized)
12387 {
12388 If ((Arg0 & 0x02))
12389 {
12390 WPWC (0x01)
12391 }
12392 Else
12393 {
12394 WPWC (0x00)
12395 }
12396 }
12397
12398 Method (GBDC, 0, NotSerialized)
12399 {
12400 Local0 = 0x00
12401 If ((WGFL & 0x10))
12402 {
12403 Local0 |= 0x01
12404 }
12405
12406 If ((WGFL & 0x80))
12407 {
12408 Return (Local0)
12409 }
12410
12411 If (BPWS ())
12412 {
12413 Local0 |= 0x02
12414 }
12415
12416 Local0 |= 0x04
12417 Return (Local0)
12418 }
12419
12420 Method (SBDC, 1, NotSerialized)
12421 {
12422 If ((Arg0 & 0x02))
12423 {
12424 BPWC (0x01)
12425 }
12426 Else
12427 {
12428 BPWC (0x00)
12429 }
12430 }
12431
12432 Method (WPWS, 0, NotSerialized)
12433 {
12434 If (\H8DR)
12435 {
12436 Local0 = \_SB.PCI0.LPC.EC.DCWW
12437 }
12438 Else
12439 {
12440 Local0 = ((\RBEC (0x3A) & 0x40) >> 0x06)
12441 }
12442
12443 Return (Local0)
12444 }
12445
12446 Method (WPWC, 1, NotSerialized)
12447 {
12448 If ((Arg0 && ((WGFL & 0x01) && !(WGFL & 0x08
12449 ))))
12450 {
12451 If (\H8DR)
12452 {
12453 \_SB.PCI0.LPC.EC.DCWW = One
12454 }
12455 Else
12456 {
12457 \MBEC (0x3A, 0xFF, 0x40)
12458 }
12459
12460 WGFL |= 0x02
12461 }
12462 Else
12463 {
12464 If (\H8DR)
12465 {
12466 \_SB.PCI0.LPC.EC.DCWW = Zero
12467 }
12468 Else
12469 {
12470 \MBEC (0x3A, 0xBF, 0x00)
12471 }
12472
12473 WGFL &= ~0x02
12474 }
12475 }
12476
12477 Method (BPWS, 0, NotSerialized)
12478 {
12479 If (\H8DR)
12480 {
12481 Local0 = \_SB.PCI0.LPC.EC.DCBD
12482 }
12483 Else
12484 {
12485 Local0 = ((\RBEC (0x3A) & 0x10) >> 0x04)
12486 }
12487
12488 Return (Local0)
12489 }
12490
12491 Method (BPWC, 1, NotSerialized)
12492 {
12493 If ((Arg0 && ((WGFL & 0x10) && !(WGFL & 0x80
12494 ))))
12495 {
12496 If (\H8DR)
12497 {
12498 \_SB.PCI0.LPC.EC.DCBD = One
12499 }
12500 Else
12501 {
12502 \MBEC (0x3A, 0xFF, 0x10)
12503 }
12504
12505 WGFL |= 0x20
12506 }
12507 Else
12508 {
12509 If (\H8DR)
12510 {
12511 \_SB.PCI0.LPC.EC.DCBD = Zero
12512 }
12513 Else
12514 {
12515 \MBEC (0x3A, 0xEF, 0x00)
12516 }
12517
12518 WGFL &= ~0x20
12519 }
12520 }
12521
12522 Method (WGIN, 0, NotSerialized)
12523 {
12524 WGFL = 0x00
12525 WGFL = \WGSV (0x01)
12526 If (\WIN8)
12527 {
12528 If ((WGFL && 0x10))
12529 {
12530 BPWC (0x01)
12531 }
12532 }
12533
12534 If (WPWS ())
12535 {
12536 WGFL |= 0x02
12537 }
12538
12539 If (BPWS ())
12540 {
12541 WGFL |= 0x20
12542 }
12543 }
12544
12545 Method (WGPS, 1, NotSerialized)
12546 {
12547 If ((Arg0 >= 0x04))
12548 {
12549 \BLTH (0x05)
12550 }
12551 }
12552
12553 Method (WGWK, 1, NotSerialized)
12554 {
12555 If ((WGFL & 0x20))
12556 {
12557 BPWC (0x01)
12558 }
12559
12560 If ((WGFL & 0x02))
12561 {
12562 WPWC (0x01)
12563 }
12564 }
12565 }
12566
12567 Scope (\_SB.PCI0.LPC.EC)
12568 {
12569 Method (_Q41, 0, NotSerialized) // _Qxx: EC Query
12570 {
12571 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x7000)
12572 }
12573 }
12574
12575 Device (WMI1)
12576 {
12577 Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */) // _HID: Hardware ID
12578 Name (_UID, 0x01) // _UID: Unique ID
12579 Name (_WDG, Buffer (0xB4)
12580 {
12581 /* 0000 */ 0x0E, 0x23, 0xF5, 0x51, 0x77, 0x96, 0xCD, 0x46, /* .#.Qw..F */
12582 /* 0008 */ 0xA1, 0xCF, 0xC0, 0xB2, 0x3E, 0xE3, 0x4D, 0xB7, /* ....>.M. */
12583 /* 0010 */ 0x41, 0x30, 0x50, 0x05, 0x64, 0x9A, 0x47, 0x98, /* A0P.d.G. */
12584 /* 0018 */ 0xF5, 0x33, 0x33, 0x4E, 0xA7, 0x07, 0x8E, 0x25, /* .33N...% */
12585 /* 0020 */ 0x1E, 0xBB, 0xC3, 0xA1, 0x41, 0x31, 0x01, 0x06, /* ....A1.. */
12586 /* 0028 */ 0xEF, 0x54, 0x4B, 0x6A, 0xED, 0xA5, 0x33, 0x4D, /* .TKj..3M */
12587 /* 0030 */ 0x94, 0x55, 0xB0, 0xD9, 0xB4, 0x8D, 0xF4, 0xB3, /* .U...... */
12588 /* 0038 */ 0x41, 0x32, 0x01, 0x06, 0xB6, 0xEB, 0xF1, 0x74, /* A2.....t */
12589 /* 0040 */ 0x7A, 0x92, 0x7D, 0x4C, 0x95, 0xDF, 0x69, 0x8E, /* z.}L..i. */
12590 /* 0048 */ 0x21, 0xE8, 0x0E, 0xB5, 0x41, 0x33, 0x01, 0x06, /* !...A3.. */
12591 /* 0050 */ 0xFF, 0x04, 0xEF, 0x7E, 0x28, 0x43, 0x7C, 0x44, /* ...~(C|D */
12592 /* 0058 */ 0xB5, 0xBB, 0xD4, 0x49, 0x92, 0x5D, 0x53, 0x8D, /* ...I.]S. */
12593 /* 0060 */ 0x41, 0x34, 0x01, 0x06, 0x9E, 0x15, 0xDB, 0x8A, /* A4...... */
12594 /* 0068 */ 0x32, 0x1E, 0x5C, 0x45, 0xBC, 0x93, 0x30, 0x8A, /* 2.\E..0. */
12595 /* 0070 */ 0x7E, 0xD9, 0x82, 0x46, 0x41, 0x35, 0x01, 0x01, /* ~..FA5.. */
12596 /* 0078 */ 0xFD, 0xD9, 0x51, 0x26, 0x1C, 0x91, 0x69, 0x4B, /* ..Q&..iK */
12597 /* 0080 */ 0xB9, 0x4E, 0xD0, 0xDE, 0xD5, 0x96, 0x3B, 0xD7, /* .N....;. */
12598 /* 0088 */ 0x41, 0x36, 0x01, 0x06, 0x1A, 0x65, 0x64, 0x73, /* A6...eds */
12599 /* 0090 */ 0x2F, 0x13, 0xE7, 0x4F, 0xAD, 0xAA, 0x40, 0xC6, /* /..O..@. */
12600 /* 0098 */ 0xC7, 0xEE, 0x2E, 0x3B, 0x41, 0x37, 0x01, 0x06, /* ...;A7.. */
12601 /* 00A0 */ 0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11, /* !...f... */
12602 /* 00A8 */ 0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, /* ......). */
12603 /* 00B0 */ 0x42, 0x41, 0x01, 0x00 /* BA.. */
12604 })
12605 Name (RETN, Package (0x05)
12606 {
12607 "Success",
12608 "Not Supported",
12609 "Invalid Parameter",
12610 "Access Denied",
12611 "System Busy"
12612 })
12613 Name (ITEM, Package (0x57)
12614 {
12615 Package (0x02)
12616 {
12617 0x0E,
12618 "WakeOnLAN"
12619 },
12620
12621 Package (0x02)
12622 {
12623 0x00,
12624 "EthernetLANOptionROM"
12625 },
12626
12627 Package (0x02)
12628 {
12629 0x00,
12630 "USBBIOSSupport"
12631 },
12632
12633 Package (0x02)
12634 {
12635 0x00,
12636 "AlwaysOnUSB"
12637 },
12638
12639 Package (0x02)
12640 {
12641 0x01,
12642 "TrackPoint"
12643 },
12644
12645 Package (0x02)
12646 {
12647 0x01,
12648 "TouchPad"
12649 },
12650
12651 Package (0x02)
12652 {
12653 0x00,
12654 "FnKeyLock"
12655 },
12656
12657 Package (0x02)
12658 {
12659 0x04,
12660 "ThinkPadNumLock"
12661 },
12662
12663 Package (0x02)
12664 {
12665 0x0C,
12666 "PowerOnNumLock"
12667 },
12668
12669 Package (0x02)
12670 {
12671 0x05,
12672 "BootDisplayDevice"
12673 },
12674
12675 Package (0x02)
12676 {
12677 0x00,
12678 "SpeedStep"
12679 },
12680
12681 Package (0x02)
12682 {
12683 0x09,
12684 "AdaptiveThermalManagementAC"
12685 },
12686
12687 Package (0x02)
12688 {
12689 0x09,
12690 "AdaptiveThermalManagementBattery"
12691 },
12692
12693 Package (0x02)
12694 {
12695 0x06,
12696 "CDROMSpeed"
12697 },
12698
12699 Package (0x02)
12700 {
12701 0x01,
12702 "CPUPowerManagement"
12703 },
12704
12705 Package (0x02)
12706 {
12707 0x00,
12708 "PowerControlBeep"
12709 },
12710
12711 Package (0x02)
12712 {
12713 0x00,
12714 "LowBatteryAlarm"
12715 },
12716
12717 Package (0x02)
12718 {
12719 0x00,
12720 "PasswordBeep"
12721 },
12722
12723 Package (0x02)
12724 {
12725 0x00,
12726 "KeyboardBeep"
12727 },
12728
12729 Package (0x02)
12730 {
12731 0x00,
12732 "ExtendedMemoryTest"
12733 },
12734
12735 Package (0x02)
12736 {
12737 0x07,
12738 "SATAControllerMode"
12739 },
12740
12741 Package (0x02)
12742 {
12743 0x00,
12744 "CoreMultiProcessing"
12745 },
12746
12747 Package (0x02)
12748 {
12749 0x00,
12750 "VirtualizationTechnology"
12751 },
12752
12753 Package (0x02)
12754 {
12755 0x00,
12756 "LockBIOSSetting"
12757 },
12758
12759 Package (0x02)
12760 {
12761 0x0B,
12762 "MinimumPasswordLength"
12763 },
12764
12765 Package (0x02)
12766 {
12767 0x00,
12768 "BIOSPasswordAtUnattendedBoot"
12769 },
12770
12771 Package (0x02)
12772 {
12773 0x00,
12774 "FingerprintPredesktopAuthentication"
12775 },
12776
12777 Package (0x02)
12778 {
12779 0x08,
12780 "FingerprintReaderPriority"
12781 },
12782
12783 Package (0x02)
12784 {
12785 0x03,
12786 "FingerprintSecurityMode"
12787 },
12788
12789 Package (0x02)
12790 {
12791 0x02,
12792 "SecurityChip"
12793 },
12794
12795 Package (0x02)
12796 {
12797 0x00,
12798 "BIOSUpdateByEndUsers"
12799 },
12800
12801 Package (0x02)
12802 {
12803 0x00,
12804 "DataExecutionPrevention"
12805 },
12806
12807 Package (0x02)
12808 {
12809 0x00,
12810 "EthernetLANAccess"
12811 },
12812
12813 Package (0x02)
12814 {
12815 0x00,
12816 "WirelessLANAccess"
12817 },
12818
12819 Package (0x02)
12820 {
12821 0x00,
12822 "WirelessWANAccess"
12823 },
12824
12825 Package (0x02)
12826 {
12827 0x00,
12828 "BluetoothAccess"
12829 },
12830
12831 Package (0x02)
12832 {
12833 0x00,
12834 "WirelessUSBAccess"
12835 },
12836
12837 Package (0x02)
12838 {
12839 0x00,
12840 "ModemAccess"
12841 },
12842
12843 Package (0x02)
12844 {
12845 0x00,
12846 "USBPortAccess"
12847 },
12848
12849 Package (0x02)
12850 {
12851 0x00,
12852 "IEEE1394Access"
12853 },
12854
12855 Package (0x02)
12856 {
12857 0x00,
12858 "ExpressCardAccess"
12859 },
12860
12861 Package (0x02)
12862 {
12863 0x00,
12864 "PCIExpressSlotAccess"
12865 },
12866
12867 Package (0x02)
12868 {
12869 0x00,
12870 "UltrabayAccess"
12871 },
12872
12873 Package (0x02)
12874 {
12875 0x00,
12876 "MemoryCardSlotAccess"
12877 },
12878
12879 Package (0x02)
12880 {
12881 0x00,
12882 "SmartCardSlotAccess"
12883 },
12884
12885 Package (0x02)
12886 {
12887 0x00,
12888 "IntegratedCameraAccess"
12889 },
12890
12891 Package (0x02)
12892 {
12893 0x00,
12894 "MicrophoneAccess"
12895 },
12896
12897 Package (0x02)
12898 {
12899 0x0A,
12900 "BootMode"
12901 },
12902
12903 Package (0x02)
12904 {
12905 0x00,
12906 "StartupOptionKeys"
12907 },
12908
12909 Package (0x02)
12910 {
12911 0x00,
12912 "BootDeviceListF12Option"
12913 },
12914
12915 Package (0x02)
12916 {
12917 0x64,
12918 "BootOrder"
12919 },
12920
12921 Package (0x02)
12922 {
12923 0x00,
12924 "WiMAXAccess"
12925 },
12926
12927 Package (0x02)
12928 {
12929 0x0D,
12930 "GraphicsDevice"
12931 },
12932
12933 Package (0x02)
12934 {
12935 0x00,
12936 "TXTFeature"
12937 },
12938
12939 Package (0x02)
12940 {
12941 0x00,
12942 "VTdFeature"
12943 },
12944
12945 Package (0x02)
12946 {
12947 0x0F,
12948 "AMTControl"
12949 },
12950
12951 Package (0x02)
12952 {
12953 0x00,
12954 "FingerprintPasswordAuthentication"
12955 },
12956
12957 Package (0x02)
12958 {
12959 0x00,
12960 "FingerprintReaderAccess"
12961 },
12962
12963 Package (0x02)
12964 {
12965 0x00,
12966 "OsDetectionForSwitchableGraphics"
12967 },
12968
12969 Package (0x02)
12970 {
12971 0x0F,
12972 "ComputraceModuleActivation"
12973 },
12974
12975 Package (0x02)
12976 {
12977 0x01,
12978 "PCIExpressPowerManagement"
12979 },
12980
12981 Package (0x02)
12982 {
12983 0x0F,
12984 "ATpModuleActivation"
12985 },
12986
12987 Package (0x02)
12988 {
12989 0x00,
12990 "eSATAPortAccess"
12991 },
12992
12993 Package (0x02)
12994 {
12995 0x00,
12996 "HardwarePasswordManager"
12997 },
12998
12999 Package (0x02)
13000 {
13001 0x00,
13002 "HyperThreadingTechnology"
13003 },
13004
13005 Package (0x02)
13006 {
13007 0x00,
13008 "FnCtrlKeySwap"
13009 },
13010
13011 Package (0x02)
13012 {
13013 0x00,
13014 "BIOSPasswordAtReboot"
13015 },
13016
13017 Package (0x02)
13018 {
13019 0x00,
13020 "OnByAcAttach"
13021 },
13022
13023 Package (0x02)
13024 {
13025 0x64,
13026 "NetworkBoot"
13027 },
13028
13029 Package (0x02)
13030 {
13031 0x00,
13032 "BootOrderLock"
13033 },
13034
13035 Package (0x02)
13036 {
13037 0x10,
13038 "USB30Mode"
13039 },
13040
13041 Package (0x02)
13042 {
13043 0x11,
13044 "ExpressCardSpeed"
13045 },
13046
13047 Package (0x02)
13048 {
13049 0x00,
13050 "RapidStartTechnology"
13051 },
13052
13053 Package (0x02)
13054 {
13055 0x12,
13056 "KeyboardIllumination"
13057 },
13058
13059 Package (0x02)
13060 {
13061 0x00,
13062 "IPv4NetworkStack"
13063 },
13064
13065 Package (0x02)
13066 {
13067 0x00,
13068 "IPv6NetworkStack"
13069 },
13070
13071 Package (0x02)
13072 {
13073 0x13,
13074 "UefiPxeBootPriority"
13075 },
13076
13077 Package (0x02)
13078 {
13079 0x00,
13080 "PhysicalPresenceForTpmProvision"
13081 },
13082
13083 Package (0x02)
13084 {
13085 0x00,
13086 "PhysicalPresenceForTpmClear"
13087 },
13088
13089 Package (0x02)
13090 {
13091 0x00,
13092 "SecureRollBackPrevention"
13093 },
13094
13095 Package (0x02)
13096 {
13097 0x00,
13098 "SecureBoot"
13099 },
13100
13101 Package (0x02)
13102 {
13103 0x00,
13104 "NfcAccess"
13105 },
13106
13107 Package (0x02)
13108 {
13109 0x00,
13110 "BottomCoverTamperDetected"
13111 },
13112
13113 Package (0x02)
13114 {
13115 0x14,
13116 "DiscreteGFXPerfMode"
13117 },
13118
13119 Package (0x02)
13120 {
13121 0x15,
13122 "TotalGraphicsMemory"
13123 },
13124
13125 Package (0x02)
13126 {
13127 0x16,
13128 "SmartConnectTechnology"
13129 },
13130
13131 Package (0x02)
13132 {
13133 0x17,
13134 "BootTimeExtension"
13135 }
13136 })
13137 Name (VSEL, Package (0x18)
13138 {
13139 Package (0x02)
13140 {
13141 "Disable",
13142 "Enable"
13143 },
13144
13145 Package (0x02)
13146 {
13147 "Disable",
13148 "Automatic"
13149 },
13150
13151 Package (0x03)
13152 {
13153 "Active",
13154 "Inactive",
13155 "Disable"
13156 },
13157
13158 Package (0x02)
13159 {
13160 "Normal",
13161 "High"
13162 },
13163
13164 Package (0x02)
13165 {
13166 "Independent",
13167 "Synchronized"
13168 },
13169
13170 Package (0x04)
13171 {
13172 "LCD",
13173 "VGA",
13174 "Digital",
13175 "DockDisplay"
13176 },
13177
13178 Package (0x03)
13179 {
13180 "High",
13181 "Normal",
13182 "Silent"
13183 },
13184
13185 Package (0x02)
13186 {
13187 "Compatibility",
13188 "AHCI"
13189 },
13190
13191 Package (0x02)
13192 {
13193 "External",
13194 "InternalOnly"
13195 },
13196
13197 Package (0x02)
13198 {
13199 "MaximizePerformance",
13200 "Balanced"
13201 },
13202
13203 Package (0x02)
13204 {
13205 "Quick",
13206 "Diagnostics"
13207 },
13208
13209 Package (0x0A)
13210 {
13211 "Disable",
13212 "4",
13213 "5",
13214 "6",
13215 "7",
13216 "8",
13217 "9",
13218 "10",
13219 "11",
13220 "12"
13221 },
13222
13223 Package (0x03)
13224 {
13225 "Auto",
13226 "On",
13227 "Off"
13228 },
13229
13230 Package (0x03)
13231 {
13232 "IntegratedGfx",
13233 "",
13234 "SwitchableGfx"
13235 },
13236
13237 Package (0x04)
13238 {
13239 "Disable",
13240 "ACOnly",
13241 "ACandBattery",
13242 "Enable"
13243 },
13244
13245 Package (0x03)
13246 {
13247 "Disable",
13248 "Enable",
13249 "Disable"
13250 },
13251
13252 Package (0x03)
13253 {
13254 "Disable",
13255 "Enable",
13256 "Automatic"
13257 },
13258
13259 Package (0x02)
13260 {
13261 "Generation1",
13262 "Automatic"
13263 },
13264
13265 Package (0x03)
13266 {
13267 "ThinkLightOnly",
13268 "BacklightOnly",
13269 "Both"
13270 },
13271
13272 Package (0x02)
13273 {
13274 "IPv6First",
13275 "IPv4First"
13276 },
13277
13278 Package (0x02)
13279 {
13280 "Balanced",
13281 "HighPerformance"
13282 },
13283
13284 Package (0x02)
13285 {
13286 "256MB",
13287 "512MB"
13288 },
13289
13290 Package (0x02)
13291 {
13292 "Enable",
13293 "Disable"
13294 },
13295
13296 Package (0x0B)
13297 {
13298 "Disable",
13299 "1",
13300 "2",
13301 "3",
13302 "",
13303 "5",
13304 "",
13305 "",
13306 "",
13307 "",
13308 "10"
13309 }
13310 })
13311 Name (VLST, Package (0x0F)
13312 {
13313 "HDD0",
13314 "HDD1",
13315 "HDD2",
13316 "HDD3",
13317 "HDD4",
13318 "PCILAN",
13319 "ATAPICD0",
13320 "ATAPICD1",
13321 "ATAPICD2",
13322 "USBFDD",
13323 "USBCD",
13324 "USBHDD",
13325 "OtherHDD",
13326 "OtherCD",
13327 "NODEV"
13328 })
13329 Name (PENC, Package (0x02)
13330 {
13331 "ascii",
13332 "scancode"
13333 })
13334 Name (PKBD, Package (0x03)
13335 {
13336 "us",
13337 "fr",
13338 "gr"
13339 })
13340 Name (PTYP, Package (0x08)
13341 {
13342 "pap",
13343 "pop",
13344 "uhdp1",
13345 "mhdp1",
13346 "uhdp2",
13347 "mhdp2",
13348 "uhdp3",
13349 "mhdp3"
13350 })
13351 Mutex (MWMI, 0x07)
13352 Name (PCFG, Buffer (0x18) {})
13353 Name (IBUF, Buffer (0x0100) {})
13354 Name (ILEN, 0x00)
13355 Name (PSTR, Buffer (0x81) {})
13356 Method (WQA0, 1, NotSerialized)
13357 {
13358 Acquire (MWMI, 0xFFFF)
13359 If ((\WMIS (0x00, Arg0) != 0x00))
13360 {
13361 Release (MWMI)
13362 Return ("")
13363 }
13364
13365 Local0 = DerefOf (Index (ITEM, \WITM))
13366 Local1 = DerefOf (Index (Local0, 0x00))
13367 Local2 = DerefOf (Index (Local0, 0x01))
13368 If ((Local1 < 0x64))
13369 {
13370 Concatenate (Local2, ",", Local6)
13371 Local3 = DerefOf (Index (VSEL, Local1))
13372 Concatenate (Local6, DerefOf (Index (Local3, \WSEL)), Local7)
13373 }
13374 Else
13375 {
13376 Local3 = SizeOf (VLST)
13377 If ((\WLS0 <= Local3))
13378 {
13379 Concatenate (Local2, ",", Local7)
13380 Concatenate (Local7, DerefOf (Index (VLST, \WLS0)), Local2)
13381 }
13382
13383 If ((\WLS1 <= Local3))
13384 {
13385 Concatenate (Local2, ":", Local7)
13386 Concatenate (Local7, DerefOf (Index (VLST, \WLS1)), Local2)
13387 }
13388
13389 If ((\WLS2 <= Local3))
13390 {
13391 Concatenate (Local2, ":", Local7)
13392 Concatenate (Local7, DerefOf (Index (VLST, \WLS2)), Local2)
13393 }
13394
13395 If ((\WLS3 <= Local3))
13396 {
13397 Concatenate (Local2, ":", Local7)
13398 Concatenate (Local7, DerefOf (Index (VLST, \WLS3)), Local2)
13399 }
13400
13401 If ((\WLS4 <= Local3))
13402 {
13403 Concatenate (Local2, ":", Local7)
13404 Concatenate (Local7, DerefOf (Index (VLST, \WLS4)), Local2)
13405 }
13406
13407 If ((\WLS5 <= Local3))
13408 {
13409 Concatenate (Local2, ":", Local7)
13410 Concatenate (Local7, DerefOf (Index (VLST, \WLS5)), Local2)
13411 }
13412
13413 If ((\WLS6 <= Local3))
13414 {
13415 Concatenate (Local2, ":", Local7)
13416 Concatenate (Local7, DerefOf (Index (VLST, \WLS6)), Local2)
13417 }
13418
13419 If ((\WLS7 <= Local3))
13420 {
13421 Concatenate (Local2, ":", Local7)
13422 Concatenate (Local7, DerefOf (Index (VLST, \WLS7)), Local2)
13423 }
13424
13425 If ((\WLS8 <= Local3))
13426 {
13427 Concatenate (Local2, ":", Local7)
13428 Concatenate (Local7, DerefOf (Index (VLST, \WLS8)), Local2)
13429 }
13430
13431 If ((\WLS9 <= Local3))
13432 {
13433 Concatenate (Local2, ":", Local7)
13434 Concatenate (Local7, DerefOf (Index (VLST, \WLS9)), Local2)
13435 }
13436
13437 If ((\WLSA <= Local3))
13438 {
13439 Concatenate (Local2, ":", Local7)
13440 Concatenate (Local7, DerefOf (Index (VLST, \WLSA)), Local2)
13441 }
13442
13443 If ((\WLSB <= Local3))
13444 {
13445 Concatenate (Local2, ":", Local7)
13446 Concatenate (Local7, DerefOf (Index (VLST, \WLSB)), Local2)
13447 }
13448
13449 If ((\WLSC <= Local3))
13450 {
13451 Concatenate (Local2, ":", Local7)
13452 Concatenate (Local7, DerefOf (Index (VLST, \WLSC)), Local2)
13453 }
13454
13455 If ((\WLSD <= Local3))
13456 {
13457 Concatenate (Local2, ":", Local7)
13458 Concatenate (Local7, DerefOf (Index (VLST, \WLSD)), Local2)
13459 }
13460
13461 Local7 = Local2
13462 }
13463
13464 Release (MWMI)
13465 Return (Local7)
13466 }
13467
13468 Method (WMA1, 3, NotSerialized)
13469 {
13470 Acquire (MWMI, 0xFFFF)
13471 If ((SizeOf (Arg2) == 0x00))
13472 {
13473 Local0 = 0x02
13474 }
13475 Else
13476 {
13477 Local0 = CARG (Arg2)
13478 If ((Local0 == 0x00))
13479 {
13480 Local0 = WSET (ITEM, VSEL)
13481 If ((Local0 == 0x00))
13482 {
13483 Local0 = \WMIS (0x01, 0x00)
13484 }
13485 }
13486 }
13487
13488 Release (MWMI)
13489 Return (DerefOf (Index (RETN, Local0)))
13490 }
13491
13492 Method (WMA2, 3, NotSerialized)
13493 {
13494 Acquire (MWMI, 0xFFFF)
13495 Local0 = CARG (Arg2)
13496 If ((Local0 == 0x00))
13497 {
13498 If ((ILEN != 0x00))
13499 {
13500 Local0 = CPAS (IBUF, 0x00)
13501 }
13502
13503 If ((Local0 == 0x00))
13504 {
13505 Local0 = \WMIS (0x02, 0x00)
13506 }
13507 }
13508
13509 Release (MWMI)
13510 Return (DerefOf (Index (RETN, Local0)))
13511 }
13512
13513 Method (WMA3, 3, NotSerialized)
13514 {
13515 Acquire (MWMI, 0xFFFF)
13516 Local0 = CARG (Arg2)
13517 If ((Local0 == 0x00))
13518 {
13519 If ((ILEN != 0x00))
13520 {
13521 Local0 = CPAS (IBUF, 0x00)
13522 }
13523
13524 If ((Local0 == 0x00))
13525 {
13526 Local0 = \WMIS (0x03, 0x00)
13527 }
13528 }
13529
13530 Release (MWMI)
13531 Return (DerefOf (Index (RETN, Local0)))
13532 }
13533
13534 Method (WMA4, 3, NotSerialized)
13535 {
13536 Acquire (MWMI, 0xFFFF)
13537 Local0 = CARG (Arg2)
13538 If ((Local0 == 0x00))
13539 {
13540 If ((ILEN != 0x00))
13541 {
13542 Local0 = CPAS (IBUF, 0x00)
13543 }
13544
13545 If ((Local0 == 0x00))
13546 {
13547 Local0 = \WMIS (0x04, 0x00)
13548 }
13549 }
13550
13551 Release (MWMI)
13552 Return (DerefOf (Index (RETN, Local0)))
13553 }
13554
13555 Method (WQA5, 1, NotSerialized)
13556 {
13557 Acquire (MWMI, 0xFFFF)
13558 Local0 = \WMIS (0x05, 0x00)
13559 Index (PCFG, 0x00) = \WSPM
13560 Index (PCFG, 0x04) = \WSPS
13561 Index (PCFG, 0x08) = \WSMN
13562 Index (PCFG, 0x0C) = \WSMX
13563 Index (PCFG, 0x10) = \WSEN
13564 Index (PCFG, 0x14) = \WSKB
13565 Release (MWMI)
13566 Return (PCFG) /* \_SB_.WMI1.PCFG */
13567 }
13568
13569 Method (WMA6, 3, NotSerialized)
13570 {
13571 Acquire (MWMI, 0xFFFF)
13572 If ((SizeOf (Arg2) == 0x00))
13573 {
13574 Local0 = 0x02
13575 }
13576 Else
13577 {
13578 Local0 = CARG (Arg2)
13579 If ((Local0 == 0x00))
13580 {
13581 If ((ILEN != 0x00))
13582 {
13583 Local0 = SPAS (IBUF)
13584 }
13585
13586 If ((Local0 == 0x00))
13587 {
13588 Local0 = \WMIS (0x06, 0x00)
13589 }
13590 }
13591 }
13592
13593 Release (MWMI)
13594 Return (DerefOf (Index (RETN, Local0)))
13595 }
13596
13597 Method (WMA7, 3, NotSerialized)
13598 {
13599 If ((SizeOf (Arg2) == 0x00))
13600 {
13601 Return ("")
13602 }
13603
13604 Local0 = CARG (Arg2)
13605 If ((Local0 == 0x00))
13606 {
13607 Local1 = GITM (IBUF, ITEM)
13608 If ((Local1 == Ones))
13609 {
13610 Return ("")
13611 }
13612
13613 Local0 = DerefOf (Index (ITEM, Local1))
13614 Local1 = DerefOf (Index (Local0, 0x00))
13615 If ((Local1 < 0x64))
13616 {
13617 Local3 = DerefOf (Index (VSEL, Local1))
13618 Local2 = DerefOf (Index (Local3, 0x00))
13619 Local4 = SizeOf (Local3)
13620 Local5 = 0x01
13621 While ((Local5 < Local4))
13622 {
13623 Local6 = DerefOf (Index (Local3, Local5))
13624 If ((SizeOf (Local6) != 0x00))
13625 {
13626 Concatenate (Local2, ",", Local7)
13627 Concatenate (Local7, Local6, Local2)
13628 }
13629
13630 Local5++
13631 }
13632 }
13633 Else
13634 {
13635 Local2 = DerefOf (Index (VLST, 0x00))
13636 Local4 = SizeOf (VLST)
13637 Local5 = 0x01
13638 While ((Local5 < Local4))
13639 {
13640 Local6 = DerefOf (Index (VLST, Local5))
13641 Concatenate (Local2, ",", Local7)
13642 Concatenate (Local7, Local6, Local2)
13643 Local5++
13644 }
13645 }
13646 }
13647
13648 Return (Local2)
13649 }
13650
13651 Method (CARG, 1, NotSerialized)
13652 {
13653 Local0 = SizeOf (Arg0)
13654 If ((Local0 == 0x00))
13655 {
13656 IBUF = 0x00
13657 ILEN = 0x00
13658 Return (0x00)
13659 }
13660
13661 If ((ObjectType (Arg0) != 0x02))
13662 {
13663 Return (0x02)
13664 }
13665
13666 If ((Local0 >= 0xFF))
13667 {
13668 Return (0x02)
13669 }
13670
13671 IBUF = Arg0
13672 Local0--
13673 Local1 = DerefOf (Index (IBUF, Local0))
13674 If (((Local1 == 0x3B) || (Local1 == 0x2A)))
13675 {
13676 Index (IBUF, Local0) = 0x00
13677 ILEN = Local0
13678 }
13679 Else
13680 {
13681 ILEN = SizeOf (Arg0)
13682 }
13683
13684 Return (0x00)
13685 }
13686
13687 Method (SCMP, 3, NotSerialized)
13688 {
13689 Local0 = SizeOf (Arg0)
13690 If ((Local0 == 0x00))
13691 {
13692 Return (0x00)
13693 }
13694
13695 Local0++
13696 Name (STR1, Buffer (Local0) {})
13697 STR1 = Arg0
13698 Local0--
13699 Local1 = 0x00
13700 Local2 = Arg2
13701 While ((Local1 < Local0))
13702 {
13703 Local3 = DerefOf (Index (STR1, Local1))
13704 Local4 = DerefOf (Index (Arg1, Local2))
13705 If ((Local3 != Local4))
13706 {
13707 Return (0x00)
13708 }
13709
13710 Local1++
13711 Local2++
13712 }
13713
13714 Local4 = DerefOf (Index (Arg1, Local2))
13715 If ((Local4 == 0x00))
13716 {
13717 Return (0x01)
13718 }
13719
13720 If (((Local4 == 0x2C) || (Local4 == 0x3A)))
13721 {
13722 Return (0x01)
13723 }
13724
13725 Return (0x00)
13726 }
13727
13728 Method (GITM, 2, NotSerialized)
13729 {
13730 Local0 = 0x00
13731 Local1 = SizeOf (Arg1)
13732 While ((Local0 < Local1))
13733 {
13734 Local3 = DerefOf (Index (DerefOf (Index (Arg1, Local0)), 0x01))
13735 If (SCMP (Local3, Arg0, 0x00))
13736 {
13737 Return (Local0)
13738 }
13739
13740 Local0++
13741 }
13742
13743 Return (Ones)
13744 }
13745
13746 Method (GSEL, 3, NotSerialized)
13747 {
13748 Local0 = 0x00
13749 Local1 = SizeOf (Arg0)
13750 While ((Local0 < Local1))
13751 {
13752 Local2 = DerefOf (Index (Arg0, Local0))
13753 If (SCMP (Local2, Arg1, Arg2))
13754 {
13755 Return (Local0)
13756 }
13757
13758 Local0++
13759 }
13760
13761 Return (Ones)
13762 }
13763
13764 Method (SLEN, 2, NotSerialized)
13765 {
13766 Local0 = DerefOf (Index (Arg0, Arg1))
13767 Return (SizeOf (Local0))
13768 }
13769
13770 Method (CLRP, 0, NotSerialized)
13771 {
13772 \WPAS = 0x00
13773 \WPNW = 0x00
13774 }
13775
13776 Method (GPAS, 2, NotSerialized)
13777 {
13778 Local0 = Arg1
13779 Local1 = 0x00
13780 While ((Local1 <= 0x80))
13781 {
13782 Local2 = DerefOf (Index (Arg0, Local0))
13783 If (((Local2 == 0x2C) || (Local2 == 0x00)))
13784 {
13785 Index (PSTR, Local1) = 0x00
13786 Return (Local1)
13787 }
13788
13789 Index (PSTR, Local1) = Local2
13790 Local0++
13791 Local1++
13792 }
13793
13794 Index (PSTR, Local1) = 0x00
13795 Return (Ones)
13796 }
13797
13798 Method (CPAS, 2, NotSerialized)
13799 {
13800 CLRP ()
13801 Local0 = Arg1
13802 Local1 = GPAS (Arg0, Local0)
13803 If ((Local1 == Ones))
13804 {
13805 Return (0x02)
13806 }
13807
13808 If ((Local1 == 0x00))
13809 {
13810 Return (0x02)
13811 }
13812
13813 \WPAS = PSTR /* \_SB_.WMI1.PSTR */
13814 Local0 += Local1
13815 Local0++
13816 Local6 = GSEL (PENC, Arg0, Local0)
13817 If ((Local6 == Ones))
13818 {
13819 Return (0x02)
13820 }
13821
13822 \WENC = Local6
13823 If ((Local6 == 0x00))
13824 {
13825 Local0 += SLEN (PENC, 0x00)
13826 If ((DerefOf (Index (Arg0, Local0)) != 0x2C))
13827 {
13828 Return (0x02)
13829 }
13830
13831 Local0++
13832 Local6 = GSEL (PKBD, Arg0, Local0)
13833 If ((Local6 == Ones))
13834 {
13835 Return (0x02)
13836 }
13837
13838 \WKBD = Local6
13839 }
13840
13841 Return (0x00)
13842 }
13843
13844 Method (SPAS, 1, NotSerialized)
13845 {
13846 CLRP ()
13847 Local6 = GSEL (PTYP, Arg0, 0x00)
13848 If ((Local6 == Ones))
13849 {
13850 Return (0x02)
13851 }
13852
13853 \WPTY = Local6
13854 Local0 = SLEN (PTYP, Local6)
13855 If ((DerefOf (Index (Arg0, Local0)) != 0x2C))
13856 {
13857 Return (0x02)
13858 }
13859
13860 Local0++
13861 Local1 = GPAS (Arg0, Local0)
13862 If (((Local1 == Ones) || (Local1 == 0x00)))
13863 {
13864 Return (0x02)
13865 }
13866
13867 \WPAS = PSTR /* \_SB_.WMI1.PSTR */
13868 Local0 += Local1
13869 If ((DerefOf (Index (Arg0, Local0)) != 0x2C))
13870 {
13871 Return (0x02)
13872 }
13873
13874 Local0++
13875 Local1 = GPAS (Arg0, Local0)
13876 If ((Local1 == Ones))
13877 {
13878 Return (0x02)
13879 }
13880
13881 If ((Local1 == 0x00))
13882 {
13883 PSTR = 0x00
13884 }
13885
13886 \WPNW = PSTR /* \_SB_.WMI1.PSTR */
13887 Local0 += Local1
13888 Local0++
13889 Local6 = GSEL (PENC, Arg0, Local0)
13890 If ((Local6 == Ones))
13891 {
13892 Return (0x02)
13893 }
13894
13895 \WENC = Local6
13896 If ((Local6 == 0x00))
13897 {
13898 Local0 += SLEN (PENC, 0x00)
13899 If ((DerefOf (Index (Arg0, Local0)) != 0x2C))
13900 {
13901 Return (0x02)
13902 }
13903
13904 Local0++
13905 Local6 = GSEL (PKBD, Arg0, Local0)
13906 If ((Local6 == Ones))
13907 {
13908 Return (0x02)
13909 }
13910
13911 \WKBD = Local6
13912 }
13913
13914 Return (0x00)
13915 }
13916
13917 Method (WSET, 2, NotSerialized)
13918 {
13919 Local0 = ILEN /* \_SB_.WMI1.ILEN */
13920 Local0++
13921 Local1 = GITM (IBUF, Arg0)
13922 If ((Local1 == Ones))
13923 {
13924 Return (0x02)
13925 }
13926
13927 \WITM = Local1
13928 Local3 = DerefOf (Index (Arg0, Local1))
13929 Local4 = DerefOf (Index (Local3, 0x01))
13930 Local2 = SizeOf (Local4)
13931 Local2++
13932 Local4 = DerefOf (Index (Local3, 0x00))
13933 If ((Local4 < 0x64))
13934 {
13935 Local5 = DerefOf (Index (Arg1, Local4))
13936 Local6 = GSEL (Local5, IBUF, Local2)
13937 If ((Local6 == Ones))
13938 {
13939 Return (0x02)
13940 }
13941
13942 \WSEL = Local6
13943 Local2 += SLEN (Local5, Local6)
13944 Local4 = DerefOf (Index (IBUF, Local2))
13945 }
13946 Else
13947 {
13948 \WLS0 = 0x3F
13949 \WLS1 = 0x3F
13950 \WLS2 = 0x3F
13951 \WLS3 = 0x3F
13952 \WLS4 = 0x3F
13953 \WLS5 = 0x3F
13954 \WLS6 = 0x3F
13955 \WLS7 = 0x3F
13956 \WLS8 = 0x3F
13957 \WLS9 = 0x3F
13958 \WLSA = 0x3F
13959 \WLSB = 0x3F
13960 \WLSC = 0x3F
13961 \WLSD = 0x3F
13962 Local6 = GSEL (VLST, IBUF, Local2)
13963 If ((Local6 == Ones))
13964 {
13965 Return (0x02)
13966 }
13967
13968 \WLS0 = Local6
13969 Local2 += SLEN (VLST, Local6)
13970 Local4 = DerefOf (Index (IBUF, Local2))
13971 If (((Local2 < Local0) && (Local4 == 0x3A)))
13972 {
13973 Local2++
13974 Local6 = GSEL (VLST, IBUF, Local2)
13975 If ((Local6 == Ones))
13976 {
13977 Return (0x02)
13978 }
13979
13980 \WLS1 = Local6
13981 Local2 += SLEN (VLST, Local6)
13982 Local4 = DerefOf (Index (IBUF, Local2))
13983 }
13984
13985 If (((Local2 < Local0) && (Local4 == 0x3A)))
13986 {
13987 Local2++
13988 Local6 = GSEL (VLST, IBUF, Local2)
13989 If ((Local6 == Ones))
13990 {
13991 Return (0x02)
13992 }
13993
13994 \WLS2 = Local6
13995 Local2 += SLEN (VLST, Local6)
13996 Local4 = DerefOf (Index (IBUF, Local2))
13997 }
13998
13999 If (((Local2 < Local0) && (Local4 == 0x3A)))
14000 {
14001 Local2++
14002 Local6 = GSEL (VLST, IBUF, Local2)
14003 If ((Local6 == Ones))
14004 {
14005 Return (0x02)
14006 }
14007
14008 \WLS3 = Local6
14009 Local2 += SLEN (VLST, Local6)
14010 Local4 = DerefOf (Index (IBUF, Local2))
14011 }
14012
14013 If (((Local2 < Local0) && (Local4 == 0x3A)))
14014 {
14015 Local2++
14016 Local6 = GSEL (VLST, IBUF, Local2)
14017 If ((Local6 == Ones))
14018 {
14019 Return (0x02)
14020 }
14021
14022 \WLS4 = Local6
14023 Local2 += SLEN (VLST, Local6)
14024 Local4 = DerefOf (Index (IBUF, Local2))
14025 }
14026
14027 If (((Local2 < Local0) && (Local4 == 0x3A)))
14028 {
14029 Local2++
14030 Local6 = GSEL (VLST, IBUF, Local2)
14031 If ((Local6 == Ones))
14032 {
14033 Return (0x02)
14034 }
14035
14036 \WLS5 = Local6
14037 Local2 += SLEN (VLST, Local6)
14038 Local4 = DerefOf (Index (IBUF, Local2))
14039 }
14040
14041 If (((Local2 < Local0) && (Local4 == 0x3A)))
14042 {
14043 Local2++
14044 Local6 = GSEL (VLST, IBUF, Local2)
14045 If ((Local6 == Ones))
14046 {
14047 Return (0x02)
14048 }
14049
14050 \WLS6 = Local6
14051 Local2 += SLEN (VLST, Local6)
14052 Local4 = DerefOf (Index (IBUF, Local2))
14053 }
14054
14055 If (((Local2 < Local0) && (Local4 == 0x3A)))
14056 {
14057 Local2++
14058 Local6 = GSEL (VLST, IBUF, Local2)
14059 If ((Local6 == Ones))
14060 {
14061 Return (0x02)
14062 }
14063
14064 \WLS7 = Local6
14065 Local2 += SLEN (VLST, Local6)
14066 Local4 = DerefOf (Index (IBUF, Local2))
14067 }
14068
14069 If (((Local2 < Local0) && (Local4 == 0x3A)))
14070 {
14071 Local2++
14072 Local6 = GSEL (VLST, IBUF, Local2)
14073 If ((Local6 == Ones))
14074 {
14075 Return (0x02)
14076 }
14077
14078 \WLS8 = Local6
14079 Local2 += SLEN (VLST, Local6)
14080 Local4 = DerefOf (Index (IBUF, Local2))
14081 }
14082
14083 If (((Local2 < Local0) && (Local4 == 0x3A)))
14084 {
14085 Local2++
14086 Local6 = GSEL (VLST, IBUF, Local2)
14087 If ((Local6 == Ones))
14088 {
14089 Return (0x02)
14090 }
14091
14092 \WLS9 = Local6
14093 Local2 += SLEN (VLST, Local6)
14094 Local4 = DerefOf (Index (IBUF, Local2))
14095 }
14096
14097 If (((Local2 < Local0) && (Local4 == 0x3A)))
14098 {
14099 Local2++
14100 Local6 = GSEL (VLST, IBUF, Local2)
14101 If ((Local6 == Ones))
14102 {
14103 Return (0x02)
14104 }
14105
14106 \WLSA = Local6
14107 Local2 += SLEN (VLST, Local6)
14108 Local4 = DerefOf (Index (IBUF, Local2))
14109 }
14110
14111 If (((Local2 < Local0) && (Local4 == 0x3A)))
14112 {
14113 Local2++
14114 Local6 = GSEL (VLST, IBUF, Local2)
14115 If ((Local6 == Ones))
14116 {
14117 Return (0x02)
14118 }
14119
14120 \WLSB = Local6
14121 Local2 += SLEN (VLST, Local6)
14122 Local4 = DerefOf (Index (IBUF, Local2))
14123 }
14124
14125 If (((Local2 < Local0) && (Local4 == 0x3A)))
14126 {
14127 Local2++
14128 Local6 = GSEL (VLST, IBUF, Local2)
14129 If ((Local6 == Ones))
14130 {
14131 Return (0x02)
14132 }
14133
14134 \WLSC = Local6
14135 Local2 += SLEN (VLST, Local6)
14136 Local4 = DerefOf (Index (IBUF, Local2))
14137 }
14138
14139 If (((Local2 < Local0) && (Local4 == 0x3A)))
14140 {
14141 Local2++
14142 Local6 = GSEL (VLST, IBUF, Local2)
14143 If ((Local6 == Ones))
14144 {
14145 Return (0x02)
14146 }
14147
14148 \WLSD = Local6
14149 Local2 += SLEN (VLST, Local6)
14150 Local4 = DerefOf (Index (IBUF, Local2))
14151 }
14152 }
14153
14154 If (((Local4 == 0x2C) && (Local2 < Local0)))
14155 {
14156 Local2++
14157 Local0 = CPAS (IBUF, Local2)
14158 If ((Local0 != 0x00))
14159 {
14160 Return (Local0)
14161 }
14162 }
14163
14164 Return (0x00)
14165 }
14166
14167 Name (WQBA, Buffer (0x089D)
14168 {
14169 /* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, /* FOMB.... */
14170 /* 0008 */ 0x8D, 0x08, 0x00, 0x00, 0xF2, 0x36, 0x00, 0x00, /* .....6.. */
14171 /* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, /* DS...}.T */
14172 /* 0018 */ 0xA8, 0xC9, 0x9A, 0x00, 0x01, 0x06, 0x18, 0x42, /* .......B */
14173 /* 0020 */ 0x10, 0x13, 0x10, 0x0A, 0x0D, 0x21, 0x02, 0x0B, /* .....!.. */
14174 /* 0028 */ 0x83, 0x50, 0x4C, 0x18, 0x14, 0xA0, 0x45, 0x41, /* .PL...EA */
14175 /* 0030 */ 0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02, /* .....!.. */
14176 /* 0038 */ 0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5, /* ..p.@... */
14177 /* 0040 */ 0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F, /* (r.".... */
14178 /* 0048 */ 0x31, 0x0E, 0x88, 0x14, 0x40, 0x48, 0x26, 0x84, /* 1...@H&. */
14179 /* 0050 */ 0x44, 0x00, 0x53, 0x21, 0x70, 0x84, 0xA0, 0x5F, /* D.S!p.._ */
14180 /* 0058 */ 0x01, 0x08, 0x1D, 0xA2, 0xC9, 0xA0, 0x00, 0xA7, /* ........ */
14181 /* 0060 */ 0x08, 0x82, 0xB4, 0x65, 0x01, 0xBA, 0x05, 0xF8, /* ...e.... */
14182 /* 0068 */ 0x16, 0xA0, 0x1D, 0x42, 0x68, 0x15, 0x0A, 0x30, /* ...Bh..0 */
14183 /* 0070 */ 0x29, 0xC0, 0x27, 0x98, 0x2C, 0x0A, 0x90, 0x0D, /* ).'.,... */
14184 /* 0078 */ 0x26, 0xDB, 0x70, 0x64, 0x18, 0x4C, 0xE4, 0x18, /* &.pd.L.. */
14185 /* 0080 */ 0x50, 0x62, 0xC6, 0x80, 0xD2, 0x39, 0x05, 0xD9, /* Pb...9.. */
14186 /* 0088 */ 0x04, 0x16, 0x74, 0xA1, 0x28, 0x9A, 0x46, 0x94, /* ..t.(.F. */
14187 /* 0090 */ 0x04, 0x07, 0x75, 0x0C, 0x11, 0x82, 0x97, 0x2B, /* ..u....+ */
14188 /* 0098 */ 0x40, 0xF2, 0x04, 0xA4, 0x79, 0x5E, 0xB2, 0x3E, /* @...y^.> */
14189 /* 00A0 */ 0x08, 0x0D, 0x81, 0x8D, 0x80, 0x47, 0x91, 0x00, /* .....G.. */
14190 /* 00A8 */ 0xC2, 0x62, 0x2C, 0x53, 0xE2, 0x61, 0x50, 0x1E, /* .b,S.aP. */
14191 /* 00B0 */ 0x40, 0x24, 0x67, 0xA8, 0x28, 0x60, 0x7B, 0x9D, /* @$g.(`{. */
14192 /* 00B8 */ 0x88, 0x86, 0x75, 0x9C, 0x4C, 0x12, 0x1C, 0x6A, /* ..u.L..j */
14193 /* 00C0 */ 0x94, 0x96, 0x28, 0xC0, 0xFC, 0xC8, 0x34, 0x91, /* ..(...4. */
14194 /* 00C8 */ 0x63, 0x6B, 0x7A, 0xC4, 0x82, 0x64, 0xD2, 0x86, /* ckz..d.. */
14195 /* 00D0 */ 0x82, 0x1A, 0xBA, 0xA7, 0x75, 0x52, 0x9E, 0x68, /* ....uR.h */
14196 /* 00D8 */ 0xC4, 0x83, 0x32, 0x4C, 0x02, 0x8F, 0x82, 0xA1, /* ..2L.... */
14197 /* 00E0 */ 0x71, 0x82, 0xB2, 0x20, 0xE4, 0x60, 0xA0, 0x28, /* q.. .`.( */
14198 /* 00E8 */ 0xC0, 0x93, 0xF0, 0x1C, 0x8B, 0x17, 0x20, 0x7C, /* ...... | */
14199 /* 00F0 */ 0xC6, 0xE4, 0x28, 0x10, 0x23, 0x81, 0x8F, 0x04, /* ..(.#... */
14200 /* 00F8 */ 0x1E, 0xCD, 0x31, 0x63, 0x81, 0xC2, 0x05, 0x3C, /* ..1c...< */
14201 /* 0100 */ 0x9F, 0x63, 0x88, 0x1C, 0xF7, 0x50, 0x63, 0x1C, /* .c...Pc. */
14202 /* 0108 */ 0x45, 0xE4, 0x04, 0xEF, 0x00, 0x51, 0x8C, 0x56, /* E....Q.V */
14203 /* 0110 */ 0xD0, 0xBC, 0x85, 0x18, 0x2C, 0x9A, 0xC1, 0x7A, /* ....,..z */
14204 /* 0118 */ 0x06, 0x27, 0x83, 0x4E, 0xF0, 0xFF, 0x3F, 0x02, /* .'.N..?. */
14205 /* 0120 */ 0x2E, 0x03, 0x42, 0x1E, 0x05, 0x58, 0x1D, 0x94, /* ..B..X.. */
14206 /* 0128 */ 0xA6, 0x61, 0x82, 0xEE, 0x05, 0xBC, 0x1A, 0x1A, /* .a...... */
14207 /* 0130 */ 0x13, 0xA0, 0x11, 0x43, 0xCA, 0x04, 0x38, 0xBB, /* ...C..8. */
14208 /* 0138 */ 0x2F, 0x68, 0x46, 0x6D, 0x09, 0x30, 0x27, 0x40, /* /hFm.0'@ */
14209 /* 0140 */ 0x9B, 0x00, 0x6F, 0x08, 0x42, 0x39, 0xCF, 0x28, /* ..o.B9.( */
14210 /* 0148 */ 0xC7, 0x72, 0x8A, 0x51, 0x1E, 0x06, 0x62, 0xBE, /* .r.Q..b. */
14211 /* 0150 */ 0x0C, 0x04, 0x8D, 0x12, 0x23, 0xE6, 0xB9, 0xC4, /* ....#... */
14212 /* 0158 */ 0x35, 0x6C, 0x84, 0x18, 0x21, 0x4F, 0x21, 0x50, /* 5l..!O!P */
14213 /* 0160 */ 0xDC, 0xF6, 0x07, 0x41, 0x06, 0x8D, 0x1B, 0xBD, /* ...A.... */
14214 /* 0168 */ 0x4F, 0x0B, 0x67, 0x75, 0x02, 0x47, 0xFF, 0xA4, /* O.gu.G.. */
14215 /* 0170 */ 0x60, 0x02, 0x4F, 0xF9, 0xC0, 0x9E, 0x0D, 0x4E, /* `.O....N */
14216 /* 0178 */ 0xE0, 0x58, 0xA3, 0xC6, 0x38, 0x95, 0x04, 0x8E, /* .X..8... */
14217 /* 0180 */ 0xFD, 0x80, 0x90, 0x06, 0x10, 0x45, 0x82, 0x47, /* .....E.G */
14218 /* 0188 */ 0x9D, 0x16, 0x7C, 0x2E, 0xF0, 0xD0, 0x0E, 0xDA, /* ..|..... */
14219 /* 0190 */ 0x73, 0x3C, 0x81, 0x20, 0x87, 0x70, 0x04, 0x4F, /* s<. .p.O */
14220 /* 0198 */ 0x0C, 0x0F, 0x04, 0x1E, 0x03, 0xBB, 0x29, 0xF8, /* ......). */
14221 /* 01A0 */ 0x08, 0xE0, 0x13, 0x02, 0xDE, 0x35, 0xA0, 0xAE, /* .....5.. */
14222 /* 01A8 */ 0x06, 0x0F, 0x06, 0x6C, 0xD0, 0xE1, 0x30, 0xE3, /* ...l..0. */
14223 /* 01B0 */ 0xF5, 0xF0, 0xC3, 0x9D, 0xC0, 0x49, 0x3E, 0x60, /* .....I>` */
14224 /* 01B8 */ 0xF0, 0xC3, 0x86, 0x07, 0x87, 0x9B, 0xE7, 0xC9, /* ........ */
14225 /* 01C0 */ 0x1C, 0x59, 0xA9, 0x02, 0xCC, 0x1E, 0x0E, 0x74, /* .Y.....t */
14226 /* 01C8 */ 0x90, 0xF0, 0x69, 0x83, 0x9D, 0x01, 0x30, 0xF2, /* ..i...0. */
14227 /* 01D0 */ 0x07, 0x81, 0x1A, 0x99, 0xA1, 0x3D, 0xEE, 0x97, /* .....=.. */
14228 /* 01D8 */ 0x0E, 0x43, 0x3E, 0x27, 0x1C, 0x16, 0x13, 0x7B, /* .C>'...{ */
14229 /* 01E0 */ 0xEA, 0xA0, 0xE3, 0x01, 0xFF, 0x65, 0xE4, 0x39, /* .....e.9 */
14230 /* 01E8 */ 0xC3, 0xD3, 0xF7, 0x7C, 0x4D, 0x30, 0xEC, 0xC0, /* ...|M0.. */
14231 /* 01F0 */ 0xD1, 0x03, 0x31, 0xF4, 0xC3, 0xC6, 0x61, 0x9C, /* ..1...a. */
14232 /* 01F8 */ 0x86, 0xEF, 0x1F, 0x3E, 0x2F, 0xC0, 0x38, 0x05, /* ...>/.8. */
14233 /* 0200 */ 0x78, 0xE4, 0xFE, 0xFF, 0x1F, 0x52, 0x7C, 0x9A, /* x....R|. */
14234 /* 0208 */ 0xE0, 0x47, 0x0B, 0x9F, 0x26, 0xD8, 0xF5, 0xE0, /* .G..&... */
14235 /* 0210 */ 0x34, 0x9E, 0x03, 0x3C, 0x9C, 0xB3, 0xF2, 0x61, /* 4..<...a */
14236 /* 0218 */ 0x02, 0x6C, 0xF7, 0x13, 0x36, 0xA2, 0x77, 0x0B, /* .l..6.w. */
14237 /* 0220 */ 0x8F, 0x06, 0x7B, 0x0A, 0x00, 0xDF, 0xF9, 0x05, /* ..{..... */
14238 /* 0228 */ 0x9C, 0x77, 0x0D, 0x36, 0x58, 0x18, 0xE7, 0x17, /* .w.6X... */
14239 /* 0230 */ 0xE0, 0x71, 0x42, 0xF0, 0x10, 0xF8, 0x41, 0xC2, /* .qB...A. */
14240 /* 0238 */ 0x43, 0xE0, 0x03, 0x78, 0xFE, 0x38, 0x43, 0x2B, /* C..x.8C+ */
14241 /* 0240 */ 0x9D, 0x17, 0x72, 0x60, 0xF0, 0xCE, 0x39, 0x30, /* ..r`..90 */
14242 /* 0248 */ 0x46, 0xC1, 0xF3, 0x3C, 0x36, 0x4C, 0xA0, 0x20, /* F..<6L. */
14243 /* 0250 */ 0xAF, 0x01, 0x85, 0x7A, 0x16, 0x50, 0x18, 0x9F, /* ...z.P.. */
14244 /* 0258 */ 0x6A, 0x80, 0xD7, 0xFF, 0xFF, 0x54, 0x03, 0x5C, /* j....T.\ */
14245 /* 0260 */ 0x0E, 0x07, 0xB8, 0x93, 0x03, 0xDC, 0x7B, 0x01, /* ......{. */
14246 /* 0268 */ 0xBB, 0x38, 0x3C, 0xD7, 0xC0, 0x15, 0x7D, 0xAE, /* .8<...}. */
14247 /* 0270 */ 0x81, 0x7A, 0x6F, 0x29, 0x6E, 0x8C, 0xBA, 0xC6, /* .zo)n... */
14248 /* 0278 */ 0x04, 0x79, 0x14, 0x78, 0xA4, 0x89, 0xF2, 0x3C, /* .y.x...< */
14249 /* 0280 */ 0xF3, 0x2E, 0x13, 0xE1, 0xD9, 0xC6, 0xD7, 0x1A, /* ........ */
14250 /* 0288 */ 0x4F, 0x21, 0x8E, 0xAF, 0x35, 0x46, 0x7C, 0x99, /* O!..5F|. */
14251 /* 0290 */ 0x78, 0xB7, 0x31, 0xEE, 0xC1, 0x3D, 0xD6, 0x3C, /* x.1..=.< */
14252 /* 0298 */ 0xE4, 0x18, 0xE4, 0x68, 0x22, 0xBC, 0x18, 0x04, /* ...h"... */
14253 /* 02A0 */ 0x7C, 0xBC, 0xF1, 0xB1, 0x06, 0xBC, 0x62, 0x5E, /* |.....b^ */
14254 /* 02A8 */ 0x28, 0xB2, 0x70, 0xAC, 0x01, 0x34, 0xFE, 0xFF, /* (.p..4.. */
14255 /* 02B0 */ 0x8F, 0x35, 0xC0, 0x0D, 0xEB, 0x01, 0x05, 0x7C, /* .5.....| */
14256 /* 02B8 */ 0x47, 0x06, 0x76, 0x43, 0x81, 0x77, 0x42, 0x01, /* G.vC.wB. */
14257 /* 02C0 */ 0xFC, 0x24, 0x7E, 0x01, 0xE8, 0xC8, 0xE1, 0xB4, /* .$~..... */
14258 /* 02C8 */ 0x20, 0xB2, 0xF1, 0x06, 0xF0, 0x29, 0x80, 0xAA, /* ....).. */
14259 /* 02D0 */ 0x01, 0xD2, 0x34, 0x61, 0x13, 0x4C, 0x4F, 0x2E, /* ..4a.LO. */
14260 /* 02D8 */ 0x78, 0x1F, 0x09, 0x9C, 0x9B, 0x44, 0xC9, 0x87, /* x....D.. */
14261 /* 02E0 */ 0x45, 0xE1, 0x9C, 0xF5, 0x20, 0x42, 0x41, 0x0C, /* E... BA. */
14262 /* 02E8 */ 0xE8, 0x20, 0xC7, 0x09, 0xF4, 0x19, 0xC5, 0x07, /* . ...... */
14263 /* 02F0 */ 0x91, 0x13, 0x7D, 0x22, 0xF4, 0xA0, 0x3C, 0x8C, /* ..}"..<. */
14264 /* 02F8 */ 0x77, 0x14, 0x76, 0x02, 0xF1, 0x61, 0xC2, 0x63, /* w.v..a.c */
14265 /* 0300 */ 0xF7, 0x31, 0x81, 0xFF, 0x63, 0x3C, 0x1B, 0xA3, /* .1..c<.. */
14266 /* 0308 */ 0x5B, 0x0D, 0x86, 0xFE, 0xFF, 0xE7, 0x14, 0x0E, /* [....... */
14267 /* 0310 */ 0xE6, 0x83, 0x08, 0x27, 0xA8, 0xEB, 0x26, 0x01, /* ...'..&. */
14268 /* 0318 */ 0x32, 0x7D, 0x47, 0x05, 0x50, 0x00, 0xF9, 0x5E, /* 2}G.P..^ */
14269 /* 0320 */ 0xE0, 0x73, 0xC0, 0xB3, 0x01, 0x1B, 0xC3, 0xA3, /* .s...... */
14270 /* 0328 */ 0x80, 0xD1, 0x8C, 0xCE, 0xC3, 0x4F, 0x16, 0x15, /* .....O.. */
14271 /* 0330 */ 0x77, 0xB2, 0x14, 0xC4, 0x93, 0x75, 0x94, 0xC9, /* w....u.. */
14272 /* 0338 */ 0xA2, 0x67, 0xE2, 0x7B, 0x85, 0x67, 0xF4, 0xA6, /* .g.{.g.. */
14273 /* 0340 */ 0xE5, 0x39, 0x7A, 0xC2, 0xBE, 0x87, 0xC0, 0x3A, /* .9z....: */
14274 /* 0348 */ 0x0C, 0x84, 0x7C, 0x30, 0xF0, 0x34, 0x0C, 0xE7, /* ..|0.4.. */
14275 /* 0350 */ 0xC9, 0x72, 0x38, 0x4F, 0x96, 0x8F, 0xC5, 0xD7, /* .r8O.... */
14276 /* 0358 */ 0x10, 0xF0, 0x09, 0x9C, 0x2D, 0xC8, 0xE1, 0x31, /* ....-..1 */
14277 /* 0360 */ 0xB1, 0x46, 0x45, 0xAF, 0x42, 0x1E, 0x1E, 0xBF, /* .FE.B... */
14278 /* 0368 */ 0x1C, 0x78, 0x3E, 0xCF, 0x08, 0x47, 0xF9, 0x24, /* .x>..G.$ */
14279 /* 0370 */ 0x81, 0xC3, 0x78, 0x26, 0xF1, 0x10, 0x7D, 0x2B, /* ..x&..}+ */
14280 /* 0378 */ 0x82, 0x35, 0x91, 0x93, 0xF6, 0x6D, 0xE1, 0x64, /* .5...m.d */
14281 /* 0380 */ 0x83, 0xBE, 0x9E, 0x61, 0x6E, 0x45, 0xB0, 0xFF, /* ...anE.. */
14282 /* 0388 */ 0xFF, 0xB7, 0x22, 0x38, 0x17, 0x34, 0x98, 0x99, /* .."8.4.. */
14283 /* 0390 */ 0xEE, 0x55, 0xA8, 0x58, 0xF7, 0x2A, 0x40, 0xEC, /* .U.X.*@. */
14284 /* 0398 */ 0xB0, 0x5E, 0x7B, 0x7C, 0xB0, 0x82, 0x7B, 0xAF, /* .^{|..{. */
14285 /* 03A0 */ 0x82, 0x7B, 0xA9, 0x7A, 0x56, 0x38, 0xC6, 0xF0, /* .{.zV8.. */
14286 /* 03A8 */ 0x0F, 0x53, 0x31, 0x4E, 0xE9, 0xB5, 0xD3, 0x40, /* .S1N...@ */
14287 /* 03B0 */ 0x61, 0xA2, 0xC4, 0x7B, 0xAF, 0xF2, 0x18, 0xDF, /* a..{.... */
14288 /* 03B8 */ 0xAB, 0xD8, 0x15, 0x2A, 0x4C, 0xAC, 0x97, 0x2B, /* ...*L..+ */
14289 /* 03C0 */ 0xA3, 0xBE, 0x4E, 0x84, 0x0B, 0x14, 0x24, 0xD2, /* ..N...$. */
14290 /* 03C8 */ 0xAB, 0x55, 0x94, 0xC8, 0xF1, 0x0D, 0xF9, 0x5E, /* .U.....^ */
14291 /* 03D0 */ 0x05, 0x5E, 0x39, 0xF7, 0x2A, 0x90, 0xFD, 0xFF, /* .^9.*... */
14292 /* 03D8 */ 0xEF, 0x55, 0x80, 0x79, 0xB4, 0xF7, 0x2A, 0x30, /* .U.y..*0 */
14293 /* 03E0 */ 0x5E, 0x1B, 0xD8, 0x0D, 0x09, 0x16, 0xD0, 0x8B, /* ^....... */
14294 /* 03E8 */ 0x15, 0x60, 0x28, 0xF3, 0xC5, 0x8A, 0xE6, 0xBD, /* .`(..... */
14295 /* 03F0 */ 0x58, 0x21, 0xFE, 0xFF, 0xE7, 0x12, 0xA6, 0xE7, /* X!...... */
14296 /* 03F8 */ 0x62, 0x45, 0xE6, 0x09, 0xFF, 0x66, 0x05, 0x70, /* bE...f.p */
14297 /* 0400 */ 0xFA, 0xFF, 0x7F, 0xB3, 0x02, 0x8C, 0xDD, 0x8B, /* ........ */
14298 /* 0408 */ 0x30, 0x47, 0x2B, 0x78, 0x29, 0x6F, 0x56, 0x34, /* 0G+x)oV4 */
14299 /* 0410 */ 0xCE, 0x32, 0x14, 0x70, 0x41, 0x14, 0xC6, 0x37, /* .2.pA..7 */
14300 /* 0418 */ 0x2B, 0xC0, 0xD1, 0x75, 0x05, 0x37, 0x64, 0xB8, /* +..u.7d. */
14301 /* 0420 */ 0x60, 0x51, 0x82, 0xF9, 0x10, 0xE2, 0xE9, 0x1C, /* `Q...... */
14302 /* 0428 */ 0xF1, 0x43, 0xC2, 0x4B, 0xC0, 0x63, 0x8E, 0x07, /* .C.K.c.. */
14303 /* 0430 */ 0xFC, 0x40, 0xE0, 0xCB, 0x15, 0x98, 0xFE, 0xFF, /* .@...... */
14304 /* 0438 */ 0x04, 0x3E, 0xF9, 0x9E, 0xE5, 0xDB, 0xD4, 0x7B, /* .>.....{ */
14305 /* 0440 */ 0x2F, 0x3F, 0x60, 0xBD, 0x57, 0xF9, 0xF0, 0x1B, /* /?`.W... */
14306 /* 0448 */ 0xEB, 0x9D, 0xE1, 0xE5, 0xCA, 0x23, 0x89, 0x72, /* .....#.r */
14307 /* 0450 */ 0x12, 0xA1, 0x7C, 0xB7, 0x7A, 0xAF, 0x32, 0x4A, /* ..|.z.2J */
14308 /* 0458 */ 0xC4, 0x17, 0x62, 0x9F, 0x82, 0x0D, 0x6D, 0x94, /* ..b...m. */
14309 /* 0460 */ 0xA7, 0x8A, 0xE8, 0xC6, 0x7B, 0xB9, 0x02, 0xAF, /* ....{... */
14310 /* 0468 */ 0xA4, 0xCB, 0x15, 0x40, 0x93, 0xE1, 0xBF, 0x5C, /* ...@...\ */
14311 /* 0470 */ 0x81, 0xEF, 0xE6, 0x80, 0xBD, 0x26, 0xC1, 0xF9, /* .....&.. */
14312 /* 0478 */ 0xFF, 0x5F, 0x93, 0xF8, 0xF5, 0x0A, 0xF0, 0x93, /* ._...... */
14313 /* 0480 */ 0xFD, 0x7A, 0x45, 0x73, 0x5F, 0xAF, 0x50, 0xA2, /* .zEs_.P. */
14314 /* 0488 */ 0x20, 0xA4, 0x08, 0x48, 0x33, 0x05, 0xCF, 0xFD, /* ..H3... */
14315 /* 0490 */ 0x0A, 0xE0, 0xC4, 0xFF, 0xFF, 0x7E, 0x05, 0x58, /* .....~.X */
14316 /* 0498 */ 0x0E, 0x77, 0xBF, 0x02, 0x7A, 0xB7, 0x23, 0xF0, /* .w..z.#. */
14317 /* 04A0 */ 0xA2, 0xBC, 0x1D, 0x61, 0xAF, 0x58, 0xF8, 0x8C, /* ...a.X.. */
14318 /* 04A8 */ 0x57, 0x2C, 0x1A, 0x66, 0x25, 0x8A, 0xB7, 0x26, /* W,.f%..& */
14319 /* 04B0 */ 0x0A, 0xE3, 0x2B, 0x16, 0x30, 0xF9, 0xFF, 0x5F, /* ..+.0.._ */
14320 /* 04B8 */ 0xB1, 0x80, 0xD9, 0x41, 0x14, 0x37, 0x6A, 0xB8, /* ...A.7j. */
14321 /* 04C0 */ 0x17, 0x27, 0xDF, 0x7A, 0x3C, 0xDF, 0x88, 0xBE, /* .'.z<... */
14322 /* 04C8 */ 0xC3, 0x60, 0x4E, 0x58, 0x30, 0x6E, 0x58, 0xF0, /* .`NX0nX. */
14323 /* 04D0 */ 0x87, 0xF4, 0x30, 0xEC, 0x93, 0xC4, 0x3B, 0x96, /* ..0...;. */
14324 /* 04D8 */ 0x8F, 0x56, 0x06, 0x79, 0x03, 0x7E, 0xB2, 0x7A, /* .V.y.~.z */
14325 /* 04E0 */ 0xB0, 0x8A, 0x62, 0x84, 0x80, 0xC7, 0xF3, 0x2E, /* ..b..... */
14326 /* 04E8 */ 0xEC, 0xA3, 0xD5, 0x9B, 0x96, 0x51, 0x62, 0xC7, /* .....Qb. */
14327 /* 04F0 */ 0xF2, 0x85, 0xEA, 0x59, 0xCB, 0xD7, 0x2C, 0x43, /* ...Y..,C */
14328 /* 04F8 */ 0xC4, 0x7D, 0x20, 0xF6, 0x0D, 0x0B, 0xB0, 0xFD, /* .} ..... */
14329 /* 0500 */ 0xFF, 0xBF, 0x61, 0x01, 0x8E, 0x2E, 0x0E, 0xFC, /* ..a..... */
14330 /* 0508 */ 0xE0, 0x80, 0xBD, 0x61, 0x01, 0x3E, 0x67, 0x0A, /* ...a.>g. */
14331 /* 0510 */ 0x9E, 0x1B, 0x16, 0xB0, 0xF9, 0xFF, 0xDF, 0xB0, /* ........ */
14332 /* 0518 */ 0x00, 0xFE, 0xFF, 0xFF, 0x6F, 0x58, 0xC0, 0xE1, /* ....oX.. */
14333 /* 0520 */ 0x76, 0x85, 0xBD, 0x65, 0x61, 0x6F, 0x2F, 0x64, /* v..eao/d */
14334 /* 0528 */ 0x15, 0x34, 0xD4, 0x4A, 0x14, 0xFC, 0x7B, 0x65, /* .4.J..{e */
14335 /* 0530 */ 0x18, 0x7A, 0xC3, 0x02, 0x1C, 0x8D, 0xDB, 0xA3, /* .z...... */
14336 /* 0538 */ 0x06, 0xC7, 0xD9, 0xE0, 0x49, 0x02, 0x73, 0xAE, /* ....I.s. */
14337 /* 0540 */ 0xC6, 0xCD, 0xE6, 0xE0, 0x02, 0x47, 0xE8, 0x1D, /* .....G.. */
14338 /* 0548 */ 0x54, 0x73, 0x67, 0x97, 0x14, 0x18, 0xB7, 0x2C, /* Tsg...., */
14339 /* 0550 */ 0xB8, 0x97, 0xAA, 0x87, 0x86, 0x28, 0x07, 0xF1, /* .....(.. */
14340 /* 0558 */ 0x2A, 0xFC, 0x60, 0xF5, 0x28, 0x75, 0x64, 0x8F, /* *.`.(ud. */
14341 /* 0560 */ 0x57, 0x4F, 0xC3, 0x3E, 0x66, 0xF9, 0x96, 0x65, /* WO.>f..e */
14342 /* 0568 */ 0xA8, 0x08, 0x6F, 0x59, 0xEC, 0x0C, 0x11, 0x2F, /* ..oY.../ */
14343 /* 0570 */ 0x56, 0x94, 0x10, 0xEF, 0x15, 0xA1, 0x7D, 0xE7, /* V.....}. */
14344 /* 0578 */ 0x32, 0xF8, 0xA3, 0xB1, 0x51, 0x83, 0xBE, 0x1C, /* 2...Q... */
14345 /* 0580 */ 0xBF, 0x65, 0xC1, 0xFB, 0xFF, 0xDF, 0xB2, 0xE0, /* .e...... */
14346 /* 0588 */ 0x8B, 0xFC, 0xAB, 0xE8, 0x44, 0xE0, 0x5B, 0x16, /* ....D.[. */
14347 /* 0590 */ 0xC0, 0x8F, 0x60, 0x10, 0x72, 0x32, 0x70, 0xF4, /* ..`.r2p. */
14348 /* 0598 */ 0x79, 0x01, 0x3F, 0x80, 0x87, 0x11, 0x0F, 0x89, /* y.?..... */
14349 /* 05A0 */ 0x05, 0x18, 0x38, 0xBD, 0x2F, 0xF9, 0x4C, 0xC1, /* ..8./.L. */
14350 /* 05A8 */ 0x0F, 0x18, 0x3E, 0x53, 0xB0, 0xEB, 0x41, 0xF4, /* ..>S..A. */
14351 /* 05B0 */ 0xC7, 0x00, 0x9F, 0x4B, 0x30, 0x83, 0x03, 0xFF, /* ...K0... */
14352 /* 05B8 */ 0xB5, 0xE2, 0xD0, 0x3D, 0x8A, 0xD7, 0x07, 0x13, /* ...=.... */
14353 /* 05C0 */ 0x78, 0x70, 0xFC, 0xFF, 0x3F, 0x38, 0xB8, 0x77, /* xp..?8.w */
14354 /* 05C8 */ 0x86, 0x23, 0xF2, 0x1D, 0xC6, 0x83, 0x03, 0xDB, /* .#...... */
14355 /* 05D0 */ 0x41, 0x00, 0x38, 0x0C, 0x0E, 0x1F, 0x6A, 0x70, /* A.8...jp */
14356 /* 05D8 */ 0xE8, 0xF1, 0x18, 0x38, 0xA4, 0xCF, 0x63, 0xEC, /* ...8..c. */
14357 /* 05E0 */ 0xC2, 0xF0, 0x90, 0xE3, 0xA1, 0x81, 0x0D, 0xD0, /* ........ */
14358 /* 05E8 */ 0x43, 0x03, 0x96, 0x93, 0x78, 0x0A, 0x39, 0x34, /* C...x.94 */
14359 /* 05F0 */ 0x30, 0x4B, 0x18, 0x1A, 0x50, 0x8A, 0x37, 0x34, /* 0K..P.74 */
14360 /* 05F8 */ 0xFA, 0xFF, 0x1F, 0x1A, 0x1F, 0x92, 0x0F, 0x0B, /* ........ */
14361 /* 0600 */ 0x31, 0x9F, 0x72, 0x22, 0xBC, 0x2F, 0xF8, 0x04, /* 1.r"./.. */
14362 /* 0608 */ 0xC5, 0xD0, 0x5F, 0x53, 0x7C, 0xBB, 0xF0, 0x4D, /* .._S|..M */
14363 /* 0610 */ 0x10, 0x37, 0x3E, 0x70, 0x5D, 0x3A, 0x3D, 0x3E, /* .7>p]:=> */
14364 /* 0618 */ 0xE0, 0x73, 0xE4, 0xF2, 0xF8, 0x70, 0x47, 0x27, /* .s...pG' */
14365 /* 0620 */ 0x8F, 0x0F, 0x86, 0xCB, 0xAB, 0x0C, 0x39, 0x9A, /* ......9. */
14366 /* 0628 */ 0xF8, 0x68, 0xC5, 0x86, 0x07, 0xB6, 0x9B, 0x9E, /* .h...... */
14367 /* 0630 */ 0x87, 0x07, 0x7C, 0xAE, 0x9B, 0x60, 0xBC, 0x42, /* ..|..`.B */
14368 /* 0638 */ 0xF2, 0x6B, 0x09, 0x8C, 0x13, 0x14, 0xFE, 0xBA, /* .k...... */
14369 /* 0640 */ 0x09, 0xDE, 0xFF, 0xFF, 0x75, 0x13, 0x78, 0x8E, /* ....u.x. */
14370 /* 0648 */ 0x82, 0x6B, 0xBD, 0x64, 0xD3, 0x20, 0xAF, 0x1C, /* .k.d. .. */
14371 /* 0650 */ 0xC5, 0x7A, 0x11, 0x50, 0x18, 0x9F, 0xD9, 0x00, /* .z.P.... */
14372 /* 0658 */ 0x47, 0x63, 0x7D, 0x66, 0x03, 0xCB, 0xBD, 0x80, /* Gc}f.... */
14373 /* 0660 */ 0xDD, 0xD8, 0xE0, 0x9E, 0xD6, 0x60, 0xDF, 0x1D, /* .....`.. */
14374 /* 0668 */ 0x1E, 0xCE, 0x1E, 0xD3, 0x1E, 0xD5, 0x1E, 0xD0, /* ........ */
14375 /* 0670 */ 0x7C, 0xC4, 0x8E, 0xF1, 0x96, 0x16, 0x24, 0x4E, /* |.....$N */
14376 /* 0678 */ 0x84, 0xD7, 0x81, 0xA7, 0x35, 0x5F, 0x32, 0xE2, /* ....5_2. */
14377 /* 0680 */ 0x05, 0x7A, 0x5A, 0x33, 0x46, 0x9C, 0x97, 0x36, /* .zZ3F..6 */
14378 /* 0688 */ 0x23, 0xBE, 0x52, 0x84, 0x78, 0x58, 0xF3, 0xC9, /* #.R.xX.. */
14379 /* 0690 */ 0xCD, 0x78, 0x0F, 0x13, 0xE1, 0xC2, 0xBC, 0xB0, /* .x...... */
14380 /* 0698 */ 0x3D, 0xAD, 0x81, 0xE3, 0xFF, 0x7F, 0x5A, 0x83, /* =.....Z. */
14381 /* 06A0 */ 0x23, 0xE7, 0x8A, 0x0D, 0xD0, 0xE4, 0xA2, 0x8F, /* #....... */
14382 /* 06A8 */ 0x3B, 0xA4, 0x80, 0xE5, 0xDA, 0xC0, 0x6E, 0x29, /* ;.....n) */
14383 /* 06B0 */ 0xF0, 0x2E, 0xD8, 0xC0, 0xF9, 0xFF, 0x7F, 0x44, /* .......D */
14384 /* 06B8 */ 0x01, 0x5F, 0x96, 0x0B, 0x36, 0xCD, 0x71, 0xC1, /* ._..6.q. */
14385 /* 06C0 */ 0x46, 0x71, 0x58, 0x0D, 0x90, 0xE6, 0x09, 0xFF, /* FqX..... */
14386 /* 06C8 */ 0x7A, 0x0D, 0xFE, 0x49, 0xF8, 0x7A, 0x0D, 0xD8, /* z..I.z.. */
14387 /* 06D0 */ 0xBE, 0xC5, 0xE2, 0xAE, 0xD7, 0xC0, 0xEA, 0xFF, /* ........ */
14388 /* 06D8 */ 0x7F, 0xBD, 0x06, 0x96, 0x82, 0x47, 0x4A, 0xEF, /* .....GJ. */
14389 /* 06E0 */ 0xD4, 0xE0, 0xBA, 0x69, 0xE3, 0x41, 0xDF, 0xB4, /* ...i.A.. */
14390 /* 06E8 */ 0x61, 0x0A, 0xBE, 0x45, 0xD1, 0x28, 0xE4, 0x8A, /* a..E.(.. */
14391 /* 06F0 */ 0xB6, 0x10, 0x0A, 0xE3, 0x5B, 0x14, 0xE0, 0x08, /* ....[... */
14392 /* 06F8 */ 0xFB, 0x2D, 0x0A, 0x2C, 0x17, 0xA7, 0xB7, 0x28, /* .-.,...( */
14393 /* 0700 */ 0xFC, 0x0C, 0x3C, 0x68, 0xDF, 0x75, 0x18, 0xA6, /* ..<h.u.. */
14394 /* 0708 */ 0xEF, 0xD0, 0xF0, 0x4F, 0x4D, 0xCF, 0x4D, 0x0F, /* ...OM.M. */
14395 /* 0710 */ 0x4E, 0x0F, 0xCD, 0x3E, 0x48, 0xF9, 0x70, 0xF0, /* N..>H.p. */
14396 /* 0718 */ 0xFC, 0xF4, 0xFF, 0x8F, 0xF1, 0x5E, 0xE7, 0x9B, /* .....^.. */
14397 /* 0720 */ 0xD4, 0x6B, 0x94, 0x2F, 0x30, 0xC7, 0x10, 0x31, /* .k./0..1 */
14398 /* 0728 */ 0xCA, 0xCB, 0xB4, 0x21, 0xE2, 0xF9, 0xD4, 0xE4, /* ...!.... */
14399 /* 0730 */ 0xB3, 0x42, 0xDC, 0x10, 0x0F, 0xD1, 0x46, 0x88, /* .B....F. */
14400 /* 0738 */ 0xFA, 0x3C, 0xED, 0x09, 0xBD, 0x46, 0x81, 0x57, /* .<...F.W */
14401 /* 0740 */ 0xD0, 0x35, 0x0A, 0xA0, 0xC9, 0xFD, 0x08, 0x77, /* .5.....w */
14402 /* 0748 */ 0x8D, 0x02, 0xCB, 0xBD, 0x81, 0x9D, 0x87, 0xF8, /* ........ */
14403 /* 0750 */ 0x95, 0xC8, 0xD7, 0x06, 0x18, 0xF7, 0x28, 0x38, /* ......(8 */
14404 /* 0758 */ 0xFF, 0xFF, 0x7B, 0x14, 0x60, 0x23, 0xCC, 0x3D, /* ..{.`#.= */
14405 /* 0760 */ 0x8A, 0x06, 0xB9, 0x47, 0xA1, 0x4E, 0x26, 0xBE, /* ...G.N&. */
14406 /* 0768 */ 0xD4, 0x79, 0xA2, 0xE0, 0x08, 0x7F, 0x91, 0x42, /* .y.....B */
14407 /* 0770 */ 0xC5, 0x26, 0x51, 0xE8, 0xC3, 0x10, 0x2A, 0xE6, /* .&Q...*. */
14408 /* 0778 */ 0x61, 0x84, 0x82, 0x18, 0xD0, 0x19, 0x4E, 0x14, /* a.....N. */
14409 /* 0780 */ 0x68, 0x15, 0x27, 0x0A, 0x72, 0x8B, 0xF1, 0xA4, /* h.'.r... */
14410 /* 0788 */ 0x1E, 0xA3, 0x00, 0x5F, 0xCB, 0xF4, 0x50, 0x79, /* ..._..Py */
14411 /* 0790 */ 0xE4, 0xA1, 0x52, 0x10, 0x0F, 0xD5, 0x71, 0x86, /* ..R...q. */
14412 /* 0798 */ 0x8A, 0x9E, 0xA4, 0xE7, 0x8F, 0xF9, 0xFF, 0x1F, /* ........ */
14413 /* 07A0 */ 0x1C, 0xB0, 0x07, 0x29, 0x80, 0x17, 0x0A, 0x6D, /* ...)...m */
14414 /* 07A8 */ 0xFA, 0xD4, 0x68, 0xD4, 0xAA, 0x41, 0x99, 0x1A, /* ..h..A.. */
14415 /* 07B0 */ 0x65, 0x1A, 0xD4, 0xEA, 0x53, 0xA9, 0x31, 0x63, /* e...S.1c */
14416 /* 07B8 */ 0xE7, 0x50, 0x4B, 0x3B, 0x4B, 0x50, 0x31, 0x8B, /* .PK;KP1. */
14417 /* 07C0 */ 0xD1, 0x68, 0x1C, 0x05, 0x84, 0xCA, 0xFE, 0x9B, /* .h...... */
14418 /* 07C8 */ 0x0B, 0xC4, 0x21, 0x9F, 0x3A, 0x02, 0x74, 0xB0, /* ..!.:.t. */
14419 /* 07D0 */ 0x17, 0x95, 0x80, 0x2C, 0x6B, 0x6D, 0x02, 0x71, /* ...,km.q */
14420 /* 07D8 */ 0x7C, 0x13, 0x10, 0x8D, 0x80, 0x48, 0xCB, 0x63, /* |....H.c */
14421 /* 07E0 */ 0x42, 0x40, 0xCE, 0x0D, 0x22, 0x20, 0xAB, 0x58, /* B@.." .X */
14422 /* 07E8 */ 0x93, 0x80, 0xAC, 0xF9, 0x01, 0x23, 0x70, 0xEB, /* .....#p. */
14423 /* 07F0 */ 0xD4, 0x01, 0xC4, 0x52, 0x82, 0xD0, 0x44, 0x0B, /* ...R..D. */
14424 /* 07F8 */ 0x17, 0xA8, 0xE3, 0x81, 0x68, 0x30, 0x84, 0x46, /* ....h0.F */
14425 /* 0800 */ 0x40, 0x0E, 0x46, 0x21, 0x20, 0xCB, 0xF8, 0x74, /* @.F! ..t */
14426 /* 0808 */ 0x0B, 0xDC, 0x02, 0xAC, 0x00, 0x31, 0xF9, 0x20, /* .....1. */
14427 /* 0810 */ 0x54, 0xB0, 0x17, 0x50, 0xA6, 0x1E, 0x44, 0x40, /* T..P..D@ */
14428 /* 0818 */ 0x56, 0xBA, 0x56, 0x01, 0x59, 0x37, 0x88, 0x80, /* V.V.Y7.. */
14429 /* 0820 */ 0xFE, 0xFF, 0x2F, 0x83, 0x32, 0x03, 0xCE, 0x32, /* ../.2..2 */
14430 /* 0828 */ 0xBA, 0x01, 0x62, 0x0A, 0x1F, 0x0A, 0x02, 0xB1, /* ..b..... */
14431 /* 0830 */ 0x26, 0x3D, 0xA0, 0x4C, 0x20, 0x88, 0xAE, 0x1C, /* &=.L ... */
14432 /* 0838 */ 0xC4, 0x0F, 0x10, 0x93, 0x06, 0x22, 0x20, 0xC7, /* ....." . */
14433 /* 0840 */ 0x39, 0x98, 0x08, 0xDC, 0x71, 0x14, 0x01, 0x52, /* 9...q..R */
14434 /* 0848 */ 0x47, 0xC3, 0xA5, 0x20, 0x54, 0xFC, 0xF3, 0x44, /* G.. T..D */
14435 /* 0850 */ 0x20, 0x16, 0x64, 0x09, 0x8C, 0x82, 0xD0, 0x08, /* .d..... */
14436 /* 0858 */ 0x9A, 0x40, 0x98, 0x3C, 0x4F, 0x20, 0x2C, 0xD4, /* .@.<O ,. */
14437 /* 0860 */ 0x9F, 0x5C, 0xA7, 0x15, 0xA2, 0x6A, 0x88, 0xD4, /* .\...j.. */
14438 /* 0868 */ 0x15, 0x08, 0x0B, 0xFC, 0x30, 0xD0, 0x60, 0x9C, /* ....0.`. */
14439 /* 0870 */ 0x1E, 0x44, 0x40, 0x4E, 0xFA, 0xA7, 0x0A, 0x44, /* .D@N...D */
14440 /* 0878 */ 0x72, 0x83, 0x08, 0xC8, 0xF9, 0x9F, 0x22, 0x02, /* r.....". */
14441 /* 0880 */ 0x77, 0xEA, 0xD7, 0x84, 0x86, 0x4F, 0xBE, 0x58, /* w....O.X */
14442 /* 0888 */ 0x41, 0x88, 0xB8, 0x87, 0x55, 0x50, 0xA2, 0x14, /* A...UP.. */
14443 /* 0890 */ 0x44, 0x40, 0x56, 0xF6, 0xB4, 0x12, 0x90, 0x75, /* D@V....u */
14444 /* 0898 */ 0x82, 0x08, 0xC8, 0xFF, 0x7F /* ..... */
14445 })
14446 }
14447
14448 Device (WMI2)
14449 {
14450 Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */) // _HID: Hardware ID
14451 Name (_UID, 0x02) // _UID: Unique ID
14452 Name (_WDG, Buffer (0x64)
14453 {
14454 /* 0000 */ 0xF1, 0x24, 0xB4, 0xFC, 0x5A, 0x07, 0x0E, 0x4E, /* .$..Z..N */
14455 /* 0008 */ 0xBF, 0xC4, 0x62, 0xF3, 0xE7, 0x17, 0x71, 0xFA, /* ..b...q. */
14456 /* 0010 */ 0x41, 0x37, 0x01, 0x01, 0xE3, 0x5E, 0xBE, 0xE2, /* A7...^.. */
14457 /* 0018 */ 0xDA, 0x42, 0xDB, 0x49, 0x83, 0x78, 0x1F, 0x52, /* .B.I.x.R */
14458 /* 0020 */ 0x47, 0x38, 0x82, 0x02, 0x41, 0x38, 0x01, 0x02, /* G8..A8.. */
14459 /* 0028 */ 0x9A, 0x01, 0x30, 0x74, 0xE9, 0xDC, 0x48, 0x45, /* ..0t..HE */
14460 /* 0030 */ 0xBA, 0xB0, 0x9F, 0xDE, 0x09, 0x35, 0xCA, 0xFF, /* .....5.. */
14461 /* 0038 */ 0x41, 0x39, 0x0A, 0x05, 0x03, 0x70, 0xF4, 0x7F, /* A9...p.. */
14462 /* 0040 */ 0x6C, 0x3B, 0x5E, 0x4E, 0xA2, 0x27, 0xE9, 0x79, /* l;^N.'.y */
14463 /* 0048 */ 0x82, 0x4A, 0x85, 0xD1, 0x41, 0x41, 0x01, 0x06, /* .J..AA.. */
14464 /* 0050 */ 0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11, /* !...f... */
14465 /* 0058 */ 0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, /* ......). */
14466 /* 0060 */ 0x42, 0x42, 0x01, 0x00 /* BB.. */
14467 })
14468 Name (PREL, Buffer (0x08)
14469 {
14470 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
14471 })
14472 Method (WQA7, 1, NotSerialized)
14473 {
14474 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
14475 \WMIS (0x07, 0x00)
14476 Index (PREL, 0x00) = \WLS0
14477 Index (PREL, 0x01) = \WLS1
14478 Index (PREL, 0x02) = \WLS2
14479 Index (PREL, 0x03) = \WLS3
14480 Index (PREL, 0x04) = \WLS4
14481 Index (PREL, 0x05) = \WLS5
14482 Index (PREL, 0x06) = \WLS6
14483 Index (PREL, 0x07) = \WLS7
14484 Release (\_SB.WMI1.MWMI)
14485 Return (PREL) /* \_SB_.WMI2.PREL */
14486 }
14487
14488 Method (WMA8, 3, NotSerialized)
14489 {
14490 CreateByteField (Arg2, 0x00, PRE0)
14491 CreateByteField (Arg2, 0x01, PRE1)
14492 CreateByteField (Arg2, 0x02, PRE2)
14493 CreateByteField (Arg2, 0x03, PRE3)
14494 CreateByteField (Arg2, 0x04, PRE4)
14495 CreateByteField (Arg2, 0x05, PRE5)
14496 CreateByteField (Arg2, 0x06, PRE6)
14497 CreateByteField (Arg2, 0x07, PRE7)
14498 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
14499 \WLS0 = PRE0 /* \_SB_.WMI2.WMA8.PRE0 */
14500 \WLS1 = PRE1 /* \_SB_.WMI2.WMA8.PRE1 */
14501 \WLS2 = PRE2 /* \_SB_.WMI2.WMA8.PRE2 */
14502 \WLS3 = PRE3 /* \_SB_.WMI2.WMA8.PRE3 */
14503 \WLS4 = PRE4 /* \_SB_.WMI2.WMA8.PRE4 */
14504 \WLS5 = PRE5 /* \_SB_.WMI2.WMA8.PRE5 */
14505 \WLS6 = PRE6 /* \_SB_.WMI2.WMA8.PRE6 */
14506 \WLS7 = PRE7 /* \_SB_.WMI2.WMA8.PRE7 */
14507 \WMIS (0x08, 0x00)
14508 Release (\_SB.WMI1.MWMI)
14509 }
14510
14511 Name (ITEM, Package (0x05)
14512 {
14513 Package (0x02)
14514 {
14515 0x00,
14516 "InhibitEnteringThinkPadSetup"
14517 },
14518
14519 Package (0x02)
14520 {
14521 0x00,
14522 "MTMSerialConcatenation"
14523 },
14524
14525 Package (0x02)
14526 {
14527 0x00,
14528 "SwapProductName"
14529 },
14530
14531 Package (0x02)
14532 {
14533 0x00,
14534 "ComputraceMsgDisable"
14535 },
14536
14537 Package (0x02)
14538 {
14539 0x00,
14540 "AtpMsgDisable"
14541 }
14542 })
14543 Name (VSEL, Package (0x02)
14544 {
14545 Package (0x02)
14546 {
14547 "Disable",
14548 "Enable"
14549 },
14550
14551 Package (0x02)
14552 {
14553 "Off",
14554 "On"
14555 }
14556 })
14557 Method (WQA9, 1, NotSerialized)
14558 {
14559 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
14560 If ((\WMIS (0x09, Arg0) != 0x00))
14561 {
14562 Release (\_SB.WMI1.MWMI)
14563 Return ("")
14564 }
14565
14566 Local0 = DerefOf (Index (ITEM, \WITM))
14567 Local1 = DerefOf (Index (Local0, 0x00))
14568 Local2 = DerefOf (Index (Local0, 0x01))
14569 Concatenate (Local2, ",", Local6)
14570 Local3 = DerefOf (Index (VSEL, Local1))
14571 Concatenate (Local6, DerefOf (Index (Local3, \WSEL)), Local7)
14572 Release (\_SB.WMI1.MWMI)
14573 Return (Local7)
14574 }
14575
14576 Method (WMAA, 3, NotSerialized)
14577 {
14578 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
14579 If ((SizeOf (Arg2) == 0x00))
14580 {
14581 Local0 = 0x02
14582 }
14583 Else
14584 {
14585 Local0 = \_SB.WMI1.CARG (Arg2)
14586 If ((Local0 == 0x00))
14587 {
14588 Local0 = \_SB.WMI1.WSET (ITEM, VSEL)
14589 If ((Local0 == 0x00))
14590 {
14591 Local0 = \WMIS (0x0A, 0x00)
14592 }
14593 }
14594 }
14595
14596 Release (\_SB.WMI1.MWMI)
14597 Return (DerefOf (Index (\_SB.WMI1.RETN, Local0)))
14598 }
14599
14600 Name (WQBB, Buffer (0x0538)
14601 {
14602 /* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, /* FOMB.... */
14603 /* 0008 */ 0x28, 0x05, 0x00, 0x00, 0xAE, 0x18, 0x00, 0x00, /* (....... */
14604 /* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, /* DS...}.T */
14605 /* 0018 */ 0x98, 0xDE, 0x8B, 0x00, 0x01, 0x06, 0x18, 0x42, /* .......B */
14606 /* 0020 */ 0x10, 0x0D, 0x10, 0x8A, 0x0D, 0x21, 0x02, 0x0B, /* .....!.. */
14607 /* 0028 */ 0x83, 0x50, 0x50, 0x18, 0x14, 0xA0, 0x45, 0x41, /* .PP...EA */
14608 /* 0030 */ 0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02, /* .....!.. */
14609 /* 0038 */ 0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5, /* ..p.@... */
14610 /* 0040 */ 0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F, /* (r.".... */
14611 /* 0048 */ 0x31, 0x10, 0x88, 0x14, 0x40, 0x48, 0x28, 0x84, /* 1...@H(. */
14612 /* 0050 */ 0x44, 0x00, 0x53, 0x21, 0x70, 0x84, 0xA0, 0x5F, /* D.S!p.._ */
14613 /* 0058 */ 0x01, 0x08, 0x1D, 0x0A, 0x90, 0x29, 0xC0, 0xA0, /* .....).. */
14614 /* 0060 */ 0x00, 0xA7, 0x08, 0x22, 0x88, 0xD2, 0xB2, 0x00, /* ...".... */
14615 /* 0068 */ 0xDD, 0x02, 0x7C, 0x0B, 0xD0, 0x0E, 0x21, 0xB4, /* ..|...!. */
14616 /* 0070 */ 0xC8, 0x95, 0x0A, 0xB0, 0x08, 0x25, 0x9F, 0x80, /* .....%.. */
14617 /* 0078 */ 0x92, 0x88, 0x22, 0xD9, 0x78, 0xB2, 0x8D, 0x48, /* ..".x..H */
14618 /* 0080 */ 0xE6, 0x61, 0x91, 0x83, 0x40, 0x89, 0x19, 0x04, /* .a..@... */
14619 /* 0088 */ 0x4A, 0x27, 0xAE, 0x6C, 0xE2, 0x6A, 0x10, 0x07, /* J'.l.j.. */
14620 /* 0090 */ 0x10, 0xE5, 0x3C, 0xA2, 0x24, 0x38, 0xAA, 0x83, /* ..<.$8.. */
14621 /* 0098 */ 0x88, 0x10, 0xBB, 0x5C, 0x01, 0x92, 0x07, 0x20, /* ...\... */
14622 /* 00A0 */ 0xCD, 0x13, 0x93, 0xF5, 0x39, 0x68, 0x64, 0x6C, /* ....9hdl */
14623 /* 00A8 */ 0x04, 0x3C, 0x98, 0x04, 0x10, 0x16, 0x65, 0x9D, /* .<....e. */
14624 /* 00B0 */ 0x8A, 0x02, 0x83, 0xF2, 0x00, 0x22, 0x39, 0x63, /* ....."9c */
14625 /* 00B8 */ 0x45, 0x01, 0xDB, 0xEB, 0x44, 0x64, 0x72, 0xA0, /* E...Ddr. */
14626 /* 00C0 */ 0x54, 0x12, 0x1C, 0x6A, 0x98, 0x9E, 0x5A, 0xF3, /* T..j..Z. */
14627 /* 00C8 */ 0x13, 0xD3, 0x44, 0x4E, 0xAD, 0xE9, 0x21, 0x0B, /* ..DN..!. */
14628 /* 00D0 */ 0x92, 0x49, 0x1B, 0x0A, 0x6A, 0xEC, 0x9E, 0xD6, /* .I..j... */
14629 /* 00D8 */ 0x49, 0x79, 0xA6, 0x11, 0x0F, 0xCA, 0x30, 0x09, /* Iy....0. */
14630 /* 00E0 */ 0x3C, 0x0A, 0x86, 0xC6, 0x09, 0xCA, 0x82, 0x90, /* <....... */
14631 /* 00E8 */ 0x83, 0x81, 0xA2, 0x00, 0x4F, 0xC2, 0x73, 0x2C, /* ....O.s, */
14632 /* 00F0 */ 0x5E, 0x80, 0xF0, 0x11, 0x93, 0xB3, 0x40, 0x8C, /* ^.....@. */
14633 /* 00F8 */ 0x04, 0x3E, 0x13, 0x78, 0xE4, 0xC7, 0x8C, 0x1D, /* .>.x.... */
14634 /* 0100 */ 0x51, 0xB8, 0x80, 0xE7, 0x73, 0x0C, 0x91, 0xE3, /* Q...s... */
14635 /* 0108 */ 0x1E, 0x6A, 0x8C, 0xA3, 0x88, 0x7C, 0x38, 0x0C, /* .j...|8. */
14636 /* 0110 */ 0xED, 0x74, 0xE3, 0x1C, 0xD8, 0xE9, 0x14, 0x04, /* .t...... */
14637 /* 0118 */ 0x2E, 0x90, 0x60, 0x3D, 0xCF, 0x59, 0x20, 0xFF, /* ..`=.Y . */
14638 /* 0120 */ 0xFF, 0x18, 0x07, 0xC1, 0xF0, 0x8E, 0x01, 0x23, /* .......# */
14639 /* 0128 */ 0x03, 0x42, 0x1E, 0x05, 0x58, 0x1D, 0x96, 0x26, /* .B..X..& */
14640 /* 0130 */ 0x91, 0xC0, 0xEE, 0x05, 0x68, 0xBC, 0x04, 0x48, /* ....h..H */
14641 /* 0138 */ 0xE1, 0x20, 0xA5, 0x0C, 0x42, 0x30, 0x8D, 0x09, /* . ..B0.. */
14642 /* 0140 */ 0xB0, 0x75, 0x68, 0x90, 0x37, 0x01, 0xD6, 0xAE, /* .uh.7... */
14643 /* 0148 */ 0x02, 0x42, 0x89, 0x74, 0x02, 0x71, 0x42, 0x44, /* .B.t.qBD */
14644 /* 0150 */ 0x89, 0x18, 0xD4, 0x40, 0x51, 0x6A, 0x43, 0x15, /* ...@QjC. */
14645 /* 0158 */ 0x4C, 0x67, 0xC3, 0x13, 0x66, 0xDC, 0x10, 0x31, /* Lg..f..1 */
14646 /* 0160 */ 0x0C, 0x14, 0xB7, 0xFD, 0x41, 0x90, 0x61, 0xE3, /* ....A.a. */
14647 /* 0168 */ 0xC6, 0xEF, 0x41, 0x9D, 0xD6, 0xD9, 0x1D, 0xD3, /* ..A..... */
14648 /* 0170 */ 0xAB, 0x82, 0x09, 0x3C, 0xE9, 0x37, 0x84, 0xA7, /* ...<.7.. */
14649 /* 0178 */ 0x83, 0xA3, 0x38, 0xDA, 0xA8, 0x31, 0x9A, 0x23, /* ..8..1.# */
14650 /* 0180 */ 0x65, 0xAB, 0xD6, 0xB9, 0xC2, 0x91, 0xE0, 0x51, /* e......Q */
14651 /* 0188 */ 0xE7, 0x05, 0x9F, 0x0C, 0x3C, 0xB4, 0xC3, 0xF6, /* ....<... */
14652 /* 0190 */ 0x60, 0xCF, 0xD2, 0x43, 0x38, 0x82, 0x67, 0x86, /* `..C8.g. */
14653 /* 0198 */ 0x47, 0x02, 0x8F, 0x81, 0xDD, 0x15, 0x7C, 0x08, /* G.....|. */
14654 /* 01A0 */ 0xF0, 0x19, 0x01, 0xEF, 0x1A, 0x50, 0x97, 0x83, /* .....P.. */
14655 /* 01A8 */ 0x47, 0x03, 0x36, 0xE9, 0x70, 0x98, 0xF1, 0x7A, /* G.6.p..z */
14656 /* 01B0 */ 0xEE, 0x9E, 0xBA, 0xCF, 0x18, 0xFC, 0xBC, 0xE1, /* ........ */
14657 /* 01B8 */ 0xC1, 0xE1, 0x46, 0x7A, 0x32, 0x47, 0x56, 0xAA, /* ..Fz2GV. */
14658 /* 01C0 */ 0x00, 0xB3, 0xD7, 0x00, 0x1D, 0x25, 0x7C, 0xE0, /* .....%|. */
14659 /* 01C8 */ 0x60, 0x77, 0x81, 0xA7, 0x00, 0x13, 0x58, 0xFE, /* `w....X. */
14660 /* 01D0 */ 0x20, 0x50, 0x23, 0x33, 0xB4, 0xC7, 0xFB, 0xDE, /* P#3.... */
14661 /* 01D8 */ 0x61, 0xC8, 0x27, 0x85, 0xC3, 0x62, 0x62, 0x0F, /* a.'..bb. */
14662 /* 01E0 */ 0x1E, 0x74, 0x3C, 0xE0, 0xBF, 0x8F, 0x3C, 0x69, /* .t<...<i */
14663 /* 01E8 */ 0x78, 0xFA, 0x9E, 0xAF, 0x09, 0x06, 0x86, 0x90, /* x....... */
14664 /* 01F0 */ 0x95, 0xF1, 0xA0, 0x06, 0x62, 0xE8, 0x57, 0x85, /* ....b.W. */
14665 /* 01F8 */ 0xC3, 0x38, 0x0D, 0x9F, 0x40, 0x7C, 0x0E, 0x08, /* .8..@|.. */
14666 /* 0200 */ 0x12, 0xE3, 0x98, 0x3C, 0x38, 0xFF, 0xFF, 0x09, /* ...<8... */
14667 /* 0208 */ 0x1C, 0x6B, 0xE4, 0xF4, 0x9C, 0xE2, 0xF3, 0x04, /* .k...... */
14668 /* 0210 */ 0x3F, 0x5C, 0xF8, 0x3C, 0xC1, 0x4E, 0x0C, 0xA7, /* ?\.<.N.. */
14669 /* 0218 */ 0xF1, 0x1C, 0xE0, 0xE1, 0x9C, 0x95, 0x8F, 0x13, /* ........ */
14670 /* 0220 */ 0xC0, 0x02, 0xE2, 0x75, 0x82, 0x0F, 0x14, 0x3E, /* ...u...> */
14671 /* 0228 */ 0xEC, 0xA1, 0x79, 0x14, 0x2F, 0x11, 0x6F, 0x0F, /* ..y./.o. */
14672 /* 0230 */ 0x26, 0x88, 0xF6, 0x10, 0x03, 0xC6, 0x19, 0xE1, /* &....... */
14673 /* 0238 */ 0xCE, 0x1B, 0x70, 0x4E, 0x31, 0xC0, 0x03, 0xEA, /* ..pN1... */
14674 /* 0240 */ 0x10, 0x30, 0x87, 0x09, 0x0F, 0x81, 0x0F, 0xE0, /* .0...... */
14675 /* 0248 */ 0x19, 0xE4, 0x1C, 0x7D, 0xCC, 0x39, 0x33, 0xDC, /* ...}.93. */
14676 /* 0250 */ 0x71, 0x07, 0x6C, 0xC3, 0xE0, 0x91, 0x2D, 0x80, /* q.l...-. */
14677 /* 0258 */ 0xB0, 0x38, 0x4F, 0x02, 0x05, 0x7C, 0x1B, 0x50, /* .8O..|.P */
14678 /* 0260 */ 0x18, 0x1F, 0x6E, 0xC0, 0xFB, 0xFF, 0x3F, 0xDC, /* ..n...?. */
14679 /* 0268 */ 0x00, 0xD7, 0xF3, 0x01, 0xEE, 0xF8, 0x00, 0xF7, /* ........ */
14680 /* 0270 */ 0x62, 0xC1, 0x0E, 0x0F, 0x8F, 0x37, 0xC0, 0x60, /* b....7.` */
14681 /* 0278 */ 0x48, 0x8F, 0x34, 0x6F, 0x35, 0x31, 0x5E, 0x6D, /* H.4o51^m */
14682 /* 0280 */ 0x42, 0x44, 0x78, 0xA8, 0x79, 0xB7, 0x31, 0x52, /* BDx.y.1R */
14683 /* 0288 */ 0xBC, 0xC7, 0x1B, 0x76, 0x8D, 0x39, 0x8B, 0x07, /* ...v.9.. */
14684 /* 0290 */ 0x90, 0x28, 0xC5, 0xA1, 0xE9, 0x62, 0x13, 0x23, /* .(...b.# */
14685 /* 0298 */ 0xCA, 0x9B, 0x8D, 0x61, 0xDF, 0x74, 0x0C, 0x14, /* ...a.t.. */
14686 /* 02A0 */ 0x2A, 0x52, 0x84, 0x30, 0x2F, 0x16, 0x21, 0x1E, /* *R.0/.!. */
14687 /* 02A8 */ 0x6F, 0xC0, 0x2C, 0xE9, 0xA5, 0xA2, 0xCF, 0x81, /* o.,..... */
14688 /* 02B0 */ 0x8F, 0x37, 0x80, 0x97, 0xFF, 0xFF, 0xF1, 0x06, /* .7...... */
14689 /* 02B8 */ 0xF0, 0x30, 0x0C, 0x1F, 0x53, 0xC0, 0x76, 0x73, /* .0..S.vs */
14690 /* 02C0 */ 0x60, 0xF7, 0x14, 0xF8, 0xE7, 0x14, 0xC0, 0x91, /* `....... */
14691 /* 02C8 */ 0x90, 0x47, 0x80, 0x0E, 0x1E, 0x16, 0x01, 0x22, /* .G....." */
14692 /* 02D0 */ 0x1B, 0xCF, 0x00, 0x9F, 0x89, 0xA8, 0x40, 0x2A, /* ......@* */
14693 /* 02D8 */ 0xCD, 0x14, 0x2C, 0xE3, 0x14, 0xAC, 0x4E, 0x88, /* ..,...N. */
14694 /* 02E0 */ 0x5C, 0x06, 0x85, 0x44, 0x40, 0x68, 0x64, 0x86, /* \..D@hd. */
14695 /* 02E8 */ 0xF3, 0x21, 0xD1, 0x60, 0x06, 0xF1, 0xF9, 0xC0, /* .!.`.... */
14696 /* 02F0 */ 0x67, 0x0A, 0x9F, 0x9C, 0xF8, 0xFF, 0xFF, 0xE4, /* g....... */
14697 /* 02F8 */ 0x04, 0x9E, 0x83, 0xC9, 0x43, 0x05, 0x2C, 0x44, /* ....C.,D */
14698 /* 0300 */ 0x9F, 0x16, 0x38, 0x9C, 0xCF, 0x2C, 0x1C, 0xCE, /* ..8..,.. */
14699 /* 0308 */ 0x47, 0x12, 0x7E, 0x80, 0xE4, 0x47, 0x25, 0x70, /* G.~..G%p */
14700 /* 0310 */ 0x09, 0x3C, 0x34, 0x80, 0x02, 0xC8, 0xF7, 0x03, /* .<4..... */
14701 /* 0318 */ 0x9F, 0x03, 0x9E, 0x11, 0xD8, 0x1C, 0x1E, 0x09, /* ........ */
14702 /* 0320 */ 0x7C, 0x20, 0x60, 0xF0, 0x3C, 0xDA, 0xA8, 0xE8, /* | `.<... */
14703 /* 0328 */ 0xD1, 0xC6, 0xC3, 0xE3, 0x47, 0x06, 0xCF, 0xE7, /* ....G... */
14704 /* 0330 */ 0x81, 0xE0, 0x28, 0x1F, 0x09, 0x70, 0x18, 0xEF, /* ..(..p.. */
14705 /* 0338 */ 0x17, 0x1E, 0xA2, 0x4F, 0x39, 0xB0, 0x26, 0x72, /* ...O9.&r */
14706 /* 0340 */ 0xD4, 0x16, 0x7D, 0x22, 0x10, 0xE8, 0x33, 0x17, /* ..}"..3. */
14707 /* 0348 */ 0xE6, 0x94, 0x03, 0x9C, 0x82, 0x8F, 0x1E, 0x15, /* ........ */
14708 /* 0350 */ 0xF5, 0x40, 0x0A, 0xDA, 0x93, 0x82, 0xCF, 0x0A, /* .@...... */
14709 /* 0358 */ 0x3E, 0x7C, 0xC1, 0xFF, 0xFF, 0x1F, 0xBE, 0xE0, /* >|...... */
14710 /* 0360 */ 0xCC, 0xEB, 0x65, 0xCD, 0x07, 0x8E, 0x38, 0x67, /* ..e...8g */
14711 /* 0368 */ 0x71, 0xBA, 0xEF, 0x16, 0xF8, 0x13, 0x29, 0x30, /* q.....)0 */
14712 /* 0370 */ 0x0B, 0x72, 0x22, 0x45, 0xC1, 0xF8, 0x44, 0x0A, /* .r"E..D. */
14713 /* 0378 */ 0xD8, 0xBC, 0x05, 0x60, 0xAF, 0x0B, 0x4F, 0x22, /* ...`..O" */
14714 /* 0380 */ 0x30, 0xCE, 0x11, 0xCF, 0x58, 0x30, 0x0F, 0x55, /* 0...X0.U */
14715 /* 0388 */ 0xA7, 0xF8, 0x52, 0xF5, 0xC6, 0x10, 0xE1, 0xC9, /* ..R..... */
14716 /* 0390 */ 0xEA, 0x35, 0xEA, 0x01, 0xCB, 0x60, 0x2F, 0x02, /* .5...`/. */
14717 /* 0398 */ 0x86, 0x79, 0xC5, 0xF2, 0xE9, 0x2A, 0xC4, 0x03, /* .y...*.. */
14718 /* 03A0 */ 0x96, 0xCF, 0x5A, 0xD1, 0x42, 0x84, 0x8C, 0x12, /* ..Z.B... */
14719 /* 03A8 */ 0xEC, 0x15, 0xEB, 0x55, 0xC6, 0x47, 0x2A, 0x83, /* ...U.G*. */
14720 /* 03B0 */ 0x07, 0x0C, 0x1B, 0x2D, 0x52, 0x84, 0x47, 0x2C, /* ...-R.G, */
14721 /* 03B8 */ 0xFC, 0xFF, 0xFF, 0x88, 0x05, 0x1E, 0x09, 0x07, /* ........ */
14722 /* 03C0 */ 0x52, 0x80, 0x2A, 0x03, 0xC7, 0x1D, 0x48, 0x81, /* R.*...H. */
14723 /* 03C8 */ 0xFD, 0x69, 0x02, 0x7F, 0xBD, 0xF0, 0x78, 0xB0, /* .i....x. */
14724 /* 03D0 */ 0xFF, 0xFF, 0x73, 0x00, 0xF8, 0x0E, 0x31, 0xC0, /* ..s...1. */
14725 /* 03D8 */ 0x60, 0xC0, 0x30, 0x0E, 0x31, 0xC0, 0x43, 0xF0, /* `.0.1.C. */
14726 /* 03E0 */ 0xC9, 0x0C, 0xF4, 0xC7, 0x1D, 0xF8, 0xE3, 0xE0, /* ........ */
14727 /* 03E8 */ 0x19, 0x9F, 0x1C, 0x26, 0x50, 0x98, 0x13, 0x29, /* ...&P..) */
14728 /* 03F0 */ 0x0A, 0xC6, 0x27, 0x52, 0xC0, 0xD9, 0xFF, 0xFF, /* ..'R.... */
14729 /* 03F8 */ 0x70, 0x05, 0x86, 0xE3, 0x0D, 0xF8, 0x6F, 0x33, /* p.....o3 */
14730 /* 0400 */ 0x3E, 0x84, 0xFA, 0x7C, 0xE3, 0x0B, 0xA9, 0x21, /* >..|...! */
14731 /* 0408 */ 0x5E, 0x6C, 0xDE, 0xD4, 0x5E, 0x09, 0x5E, 0xDF, /* ^l..^.^. */
14732 /* 0410 */ 0xD9, 0xB5, 0xE6, 0xF5, 0xDD, 0xA7, 0x82, 0x27, /* .......' */
14733 /* 0418 */ 0xD1, 0x08, 0x21, 0xA3, 0xBC, 0xE4, 0x18, 0x24, /* ..!....$ */
14734 /* 0420 */ 0xC4, 0xEB, 0xA8, 0x01, 0x83, 0x05, 0x89, 0x78, /* .......x */
14735 /* 0428 */ 0x0A, 0x4F, 0x3B, 0x8F, 0x37, 0xE0, 0x15, 0x75, /* .O;.7..u */
14736 /* 0430 */ 0x20, 0x05, 0xE8, 0xF1, 0xFF, 0x3F, 0x90, 0x02, /* ....?.. */
14737 /* 0438 */ 0x83, 0x7B, 0x0A, 0xEC, 0x73, 0x0A, 0xE0, 0x29, /* .{..s..) */
14738 /* 0440 */ 0xF9, 0x89, 0x94, 0xA6, 0x3E, 0x91, 0xA2, 0x15, /* ....>... */
14739 /* 0448 */ 0x01, 0x69, 0xAA, 0x60, 0x21, 0x98, 0xFE, 0x44, /* .i.`!..D */
14740 /* 0450 */ 0x4A, 0x0F, 0x06, 0xCE, 0x4D, 0xA2, 0xE4, 0x43, /* J...M..C */
14741 /* 0458 */ 0xA3, 0x70, 0xCE, 0x7A, 0x20, 0xA1, 0x20, 0x06, /* .p.z . . */
14742 /* 0460 */ 0x74, 0x90, 0x43, 0x05, 0xFA, 0xAC, 0xE2, 0x03, /* t.C..... */
14743 /* 0468 */ 0xC9, 0x81, 0x3C, 0x22, 0x7A, 0x58, 0x3E, 0x54, /* ..<"zX>T */
14744 /* 0470 */ 0xFA, 0xAE, 0xE2, 0x73, 0x88, 0x8F, 0x14, 0x1E, /* ...s.... */
14745 /* 0478 */ 0xBF, 0x0F, 0x0B, 0xFC, 0x3F, 0xE3, 0xE3, 0x28, /* ....?..( */
14746 /* 0480 */ 0x03, 0xAF, 0xE6, 0xBC, 0x82, 0x02, 0xF3, 0x69, /* .......i */
14747 /* 0488 */ 0x14, 0xA3, 0xEB, 0x3E, 0x01, 0x92, 0xFF, 0xFF, /* ...>.... */
14748 /* 0490 */ 0xFC, 0xB8, 0xBE, 0xC3, 0x28, 0xC8, 0xD1, 0x79, /* ....(..y */
14749 /* 0498 */ 0xF8, 0xC9, 0xA2, 0xE2, 0x4E, 0x96, 0x82, 0x78, /* ....N..x */
14750 /* 04A0 */ 0xB2, 0x8E, 0x32, 0x59, 0xF4, 0x4C, 0x7C, 0xBB, /* ..2Y.L|. */
14751 /* 04A8 */ 0xF0, 0x8C, 0xDE, 0xBB, 0x7C, 0x83, 0x65, 0x37, /* ....|.e7 */
14752 /* 04B0 */ 0x59, 0x78, 0x97, 0x81, 0x90, 0x8F, 0x06, 0xBE, /* Yx...... */
14753 /* 04B8 */ 0xC9, 0xC2, 0x1D, 0x8B, 0x2F, 0x23, 0xE0, 0xBB, /* ..../#.. */
14754 /* 04C0 */ 0xC9, 0x02, 0x5E, 0x47, 0xE3, 0xB3, 0x05, 0x3B, /* ..^G...; */
14755 /* 04C8 */ 0x85, 0xF8, 0xBA, 0x06, 0x4B, 0xA1, 0x4D, 0x9F, /* ....K.M. */
14756 /* 04D0 */ 0x1A, 0x8D, 0x5A, 0xFD, 0xFF, 0x1B, 0x94, 0xA9, /* ..Z..... */
14757 /* 04D8 */ 0x51, 0xA6, 0x41, 0xAD, 0x3E, 0x95, 0x1A, 0x33, /* Q.A.>..3 */
14758 /* 04E0 */ 0x76, 0xA1, 0xB0, 0xB8, 0x0B, 0x06, 0x95, 0xB4, /* v....... */
14759 /* 04E8 */ 0x2C, 0x8D, 0xCB, 0x81, 0x40, 0x68, 0x80, 0x5B, /* ,...@h.[ */
14760 /* 04F0 */ 0xA9, 0x40, 0x1C, 0xFA, 0x0B, 0xA4, 0x53, 0x02, /* .@....S. */
14761 /* 04F8 */ 0xF9, 0x6A, 0x09, 0xC8, 0x62, 0x57, 0x25, 0x10, /* .j..bW%. */
14762 /* 0500 */ 0xCB, 0x54, 0x01, 0xD1, 0xC8, 0xDD, 0xC2, 0x20, /* .T..... */
14763 /* 0508 */ 0x02, 0x72, 0xBC, 0x4F, 0x8D, 0x40, 0x1D, 0x49, /* .r.O.@.I */
14764 /* 0510 */ 0x07, 0x10, 0x13, 0xE4, 0x63, 0xAC, 0xF4, 0x25, /* ....c..% */
14765 /* 0518 */ 0x20, 0x10, 0xCB, 0xA6, 0x15, 0xA0, 0xE5, 0x3A, /* ......: */
14766 /* 0520 */ 0x01, 0x62, 0x61, 0x41, 0x68, 0xC0, 0x5F, 0xB5, /* .baAh._. */
14767 /* 0528 */ 0x86, 0xE0, 0xB4, 0x20, 0x02, 0x72, 0x32, 0x2D, /* ... .r2- */
14768 /* 0530 */ 0x40, 0x2C, 0x27, 0x88, 0x80, 0xFC, 0xFF, 0x07 /* @,'..... */
14769 })
14770 }
14771
14772 Device (WMI3)
14773 {
14774 Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */) // _HID: Hardware ID
14775 Name (_UID, 0x03) // _UID: Unique ID
14776 Name (_WDG, /**** Is ResourceTemplate, but EndTag not at buffer end ****/ Buffer (0x3C)
14777 {
14778 /* 0000 */ 0x79, 0x36, 0x4D, 0x8F, 0x9E, 0x74, 0x79, 0x44, /* y6M..tyD */
14779 /* 0008 */ 0x9B, 0x16, 0xC6, 0x26, 0x01, 0xFD, 0x25, 0xF0, /* ...&..%. */
14780 /* 0010 */ 0x41, 0x42, 0x01, 0x02, 0x69, 0xE8, 0xD2, 0x85, /* AB..i... */
14781 /* 0018 */ 0x5A, 0x36, 0xCE, 0x4A, 0xA4, 0xD3, 0xCD, 0x69, /* Z6.J...i */
14782 /* 0020 */ 0x2B, 0x16, 0x98, 0xA0, 0x41, 0x43, 0x01, 0x02, /* +...AC.. */
14783 /* 0028 */ 0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11, /* !...f... */
14784 /* 0030 */ 0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, /* ......). */
14785 /* 0038 */ 0x42, 0x43, 0x01, 0x00 /* BC.. */
14786 })
14787 Method (WMAB, 3, NotSerialized)
14788 {
14789 CreateByteField (Arg2, 0x00, ASS0)
14790 CreateWordField (Arg2, 0x01, ASS1)
14791 CreateByteField (Arg2, 0x03, ASS2)
14792 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
14793 \WASB = ASS0 /* \_SB_.WMI3.WMAB.ASS0 */
14794 \WASI = ASS1 /* \_SB_.WMI3.WMAB.ASS1 */
14795 \WASD = ASS2 /* \_SB_.WMI3.WMAB.ASS2 */
14796 \WMIS (0x0B, 0x00)
14797 Local0 = \WASS
14798 Release (\_SB.WMI1.MWMI)
14799 Return (Local0)
14800 }
14801
14802 Method (WMAC, 3, NotSerialized)
14803 {
14804 CreateByteField (Arg2, 0x00, ASS0)
14805 CreateWordField (Arg2, 0x01, ASS1)
14806 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
14807 \WASB = ASS0 /* \_SB_.WMI3.WMAC.ASS0 */
14808 \WASI = ASS1 /* \_SB_.WMI3.WMAC.ASS1 */
14809 \WMIS (0x0C, Arg1)
14810 Local0 = \WASS
14811 Release (\_SB.WMI1.MWMI)
14812 Return (Local0)
14813 }
14814
14815 Name (WQBC, Buffer (0x040A)
14816 {
14817 /* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, /* FOMB.... */
14818 /* 0008 */ 0xFA, 0x03, 0x00, 0x00, 0x32, 0x12, 0x00, 0x00, /* ....2... */
14819 /* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, /* DS...}.T */
14820 /* 0018 */ 0x98, 0xC3, 0x88, 0x00, 0x01, 0x06, 0x18, 0x42, /* .......B */
14821 /* 0020 */ 0x10, 0x07, 0x10, 0x8A, 0x0D, 0x21, 0x02, 0x0B, /* .....!.. */
14822 /* 0028 */ 0x83, 0x50, 0x50, 0x18, 0x14, 0xA0, 0x45, 0x41, /* .PP...EA */
14823 /* 0030 */ 0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02, /* .....!.. */
14824 /* 0038 */ 0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5, /* ..p.@... */
14825 /* 0040 */ 0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F, /* (r.".... */
14826 /* 0048 */ 0x31, 0x10, 0x88, 0x14, 0x40, 0x48, 0x28, 0x84, /* 1...@H(. */
14827 /* 0050 */ 0x44, 0x00, 0x53, 0x21, 0x70, 0x84, 0xA0, 0x5F, /* D.S!p.._ */
14828 /* 0058 */ 0x01, 0x08, 0x1D, 0x0A, 0x90, 0x29, 0xC0, 0xA0, /* .....).. */
14829 /* 0060 */ 0x00, 0xA7, 0x08, 0x22, 0x88, 0xD2, 0xB2, 0x00, /* ...".... */
14830 /* 0068 */ 0xDD, 0x02, 0x7C, 0x0B, 0xD0, 0x0E, 0x21, 0xB4, /* ..|...!. */
14831 /* 0070 */ 0x58, 0x07, 0x11, 0x21, 0xD2, 0x31, 0x34, 0x29, /* X..!.14) */
14832 /* 0078 */ 0x40, 0xA2, 0x00, 0x8B, 0x02, 0x64, 0xC3, 0xC8, /* @....d.. */
14833 /* 0080 */ 0x36, 0x22, 0x99, 0x87, 0x45, 0x0E, 0x02, 0x25, /* 6"..E..% */
14834 /* 0088 */ 0x66, 0x10, 0x28, 0x9D, 0xE0, 0xB2, 0x89, 0xAB, /* f.(..... */
14835 /* 0090 */ 0x41, 0x9C, 0x4C, 0x94, 0xF3, 0x88, 0x92, 0xE0, /* A.L..... */
14836 /* 0098 */ 0xA8, 0x0E, 0x22, 0x42, 0xEC, 0x72, 0x05, 0x48, /* .."B.r.H */
14837 /* 00A0 */ 0x1E, 0x80, 0x34, 0x4F, 0x4C, 0xD6, 0xE7, 0xA0, /* ..4OL... */
14838 /* 00A8 */ 0x91, 0xB1, 0x11, 0xF0, 0x94, 0x1A, 0x40, 0x58, /* ......@X */
14839 /* 00B0 */ 0xA0, 0x75, 0x2A, 0xE0, 0x7A, 0x0D, 0x43, 0x3D, /* .u*.z.C= */
14840 /* 00B8 */ 0x80, 0x48, 0xCE, 0x58, 0x51, 0xC0, 0xF6, 0x3A, /* .H.XQ..: */
14841 /* 00C0 */ 0x11, 0x8D, 0xEA, 0x40, 0x99, 0x24, 0x38, 0xD4, /* ...@.$8. */
14842 /* 00C8 */ 0x30, 0x3D, 0xB5, 0xE6, 0x27, 0xA6, 0x89, 0x9C, /* 0=..'... */
14843 /* 00D0 */ 0x5A, 0xD3, 0x43, 0x16, 0x24, 0x93, 0x36, 0x14, /* Z.C.$.6. */
14844 /* 00D8 */ 0xD4, 0xD8, 0x3D, 0xAD, 0x93, 0xF2, 0x4C, 0x23, /* ..=...L# */
14845 /* 00E0 */ 0x1E, 0x94, 0x61, 0x12, 0x78, 0x14, 0x0C, 0x8D, /* ..a.x... */
14846 /* 00E8 */ 0x13, 0x94, 0x75, 0x22, 0xA0, 0x03, 0xE5, 0x80, /* ..u".... */
14847 /* 00F0 */ 0x27, 0xE1, 0x39, 0x16, 0x2F, 0x40, 0xF8, 0x88, /* '.9./@.. */
14848 /* 00F8 */ 0xC9, 0xB4, 0x4D, 0xE0, 0x33, 0x81, 0x87, 0x79, /* ..M.3..y */
14849 /* 0100 */ 0xCC, 0xD8, 0x11, 0x85, 0x0B, 0x78, 0x3E, 0xC7, /* .....x>. */
14850 /* 0108 */ 0x10, 0x39, 0xEE, 0xA1, 0xC6, 0x38, 0x8A, 0xC8, /* .9...8.. */
14851 /* 0110 */ 0x47, 0x60, 0x24, 0x03, 0xC5, 0x2B, 0x08, 0x89, /* G`$..+.. */
14852 /* 0118 */ 0x80, 0xF8, 0x76, 0x70, 0x70, 0x91, 0xFC, 0xFF, /* ..vpp... */
14853 /* 0120 */ 0x47, 0x89, 0x11, 0x2A, 0xC6, 0xDB, 0x00, 0x6E, /* G..*...n */
14854 /* 0128 */ 0x5E, 0x09, 0x8A, 0x1E, 0x07, 0x4A, 0x06, 0x84, /* ^....J.. */
14855 /* 0130 */ 0x3C, 0x0A, 0xB0, 0x7A, 0x28, 0x20, 0x04, 0x16, /* <..z( .. */
14856 /* 0138 */ 0x27, 0x40, 0xE3, 0x38, 0x05, 0xD3, 0x99, 0x00, /* '@.8.... */
14857 /* 0140 */ 0x6D, 0x02, 0xBC, 0x09, 0x30, 0x27, 0xC0, 0x16, /* m...0'.. */
14858 /* 0148 */ 0x86, 0x80, 0x82, 0x9C, 0x59, 0x94, 0x20, 0x11, /* ....Y. . */
14859 /* 0150 */ 0x42, 0x31, 0x88, 0x0A, 0x05, 0x18, 0x43, 0x14, /* B1....C. */
14860 /* 0158 */ 0xCA, 0x3B, 0x41, 0x8C, 0xCA, 0x20, 0x74, 0x82, /* .;A.. t. */
14861 /* 0160 */ 0x08, 0x14, 0x3D, 0x78, 0x98, 0xD6, 0x40, 0x74, /* ..=x..@t */
14862 /* 0168 */ 0x89, 0xF0, 0xC8, 0xB1, 0x47, 0x00, 0x9F, 0x19, /* ....G... */
14863 /* 0170 */ 0xCE, 0xE9, 0x04, 0x1F, 0x01, 0xDE, 0x16, 0x4C, /* .......L */
14864 /* 0178 */ 0xE0, 0x79, 0xBF, 0x24, 0x1C, 0x6A, 0xD8, 0x03, /* .y.$.j.. */
14865 /* 0180 */ 0x8E, 0x1A, 0xE3, 0x28, 0x12, 0x58, 0xD0, 0x33, /* ...(.X.3 */
14866 /* 0188 */ 0x42, 0x16, 0x40, 0x14, 0x09, 0x1E, 0x75, 0x64, /* B.@...ud */
14867 /* 0190 */ 0xF0, 0xE1, 0xC0, 0x23, 0x3B, 0x72, 0xCF, 0xF0, /* ...#;r.. */
14868 /* 0198 */ 0x04, 0x82, 0x1C, 0xC2, 0x11, 0x3C, 0x36, 0x3C, /* .....<6< */
14869 /* 01A0 */ 0x15, 0x78, 0x0C, 0xEC, 0xBA, 0xE0, 0x73, 0x80, /* .x....s. */
14870 /* 01A8 */ 0x8F, 0x09, 0x78, 0xD7, 0x80, 0x9A, 0xF3, 0xD3, /* ..x..... */
14871 /* 01B0 */ 0x01, 0x9B, 0x72, 0x38, 0xCC, 0x70, 0x3D, 0xFD, /* ..r8.p=. */
14872 /* 01B8 */ 0x70, 0x27, 0x70, 0xD2, 0x06, 0x64, 0xB3, 0xF3, /* p'p..d.. */
14873 /* 01C0 */ 0xE0, 0x70, 0xE3, 0x3C, 0x99, 0x23, 0x2B, 0x55, /* .p.<.#+U */
14874 /* 01C8 */ 0x80, 0xD9, 0x13, 0x82, 0x4E, 0x13, 0x3E, 0x73, /* ....N.>s */
14875 /* 01D0 */ 0xB0, 0xBB, 0xC0, 0xF9, 0xF4, 0x0C, 0x49, 0xE4, /* ......I. */
14876 /* 01D8 */ 0x0F, 0x02, 0x35, 0x32, 0x43, 0xFB, 0x2C, 0xF0, /* ..52C.,. */
14877 /* 01E0 */ 0xEA, 0x61, 0xC8, 0x87, 0x85, 0xC3, 0x62, 0x62, /* .a....bb */
14878 /* 01E8 */ 0xCF, 0x1E, 0x74, 0x3C, 0xE0, 0x3F, 0x25, 0x3C, /* ..t<.?%< */
14879 /* 01F0 */ 0x6C, 0x78, 0xFA, 0x9E, 0xAF, 0x09, 0xA2, 0x3D, /* lx.....= */
14880 /* 01F8 */ 0x8F, 0x80, 0xE1, 0xFF, 0x7F, 0x1E, 0x81, 0x39, /* .......9 */
14881 /* 0200 */ 0x9C, 0x07, 0x84, 0x27, 0x07, 0x76, 0x80, 0xC0, /* ...'.v.. */
14882 /* 0208 */ 0x1C, 0x48, 0x80, 0xC9, 0xF9, 0x02, 0x77, 0x28, /* .H....w( */
14883 /* 0210 */ 0xF0, 0x10, 0xF8, 0x00, 0x1E, 0x25, 0xCE, 0xD1, /* .....%.. */
14884 /* 0218 */ 0x4A, 0x67, 0x86, 0x3C, 0xB9, 0x80, 0x2D, 0xFB, /* Jg.<..-. */
14885 /* 0220 */ 0x1B, 0x40, 0x07, 0x0F, 0xE7, 0x06, 0x91, 0x8D, /* .@...... */
14886 /* 0228 */ 0x57, 0x80, 0x09, 0x74, 0x38, 0xB1, 0x1E, 0x20, /* W..t8.. */
14887 /* 0230 */ 0x4D, 0x14, 0x0C, 0x04, 0xD3, 0xD3, 0x6B, 0x00, /* M.....k. */
14888 /* 0238 */ 0x3E, 0x15, 0x38, 0x37, 0x89, 0x92, 0x0F, 0x8C, /* >.87.... */
14889 /* 0240 */ 0xC2, 0x39, 0xEB, 0x79, 0x84, 0x82, 0x18, 0xD0, /* .9.y.... */
14890 /* 0248 */ 0x41, 0x20, 0xE4, 0xE4, 0xA0, 0x80, 0x3A, 0xAA, /* A ....:. */
14891 /* 0250 */ 0xF8, 0x3C, 0x72, 0xAA, 0x0F, 0x3D, 0x9E, 0x94, /* .<r..=.. */
14892 /* 0258 */ 0x47, 0xE1, 0xAB, 0x8A, 0x0F, 0x21, 0x3E, 0x4F, /* G....!>O */
14893 /* 0260 */ 0x78, 0xF4, 0x3E, 0x29, 0xF0, 0xEF, 0x8C, 0xAF, /* x.>).... */
14894 /* 0268 */ 0x0E, 0x46, 0xB7, 0x9A, 0xE3, 0x0A, 0x0A, 0xCC, /* .F...... */
14895 /* 0270 */ 0x67, 0x11, 0x4E, 0x50, 0xD7, 0x6D, 0x01, 0xFA, /* g.NP.m.. */
14896 /* 0278 */ 0x29, 0xE0, 0x08, 0x3C, 0x94, 0x77, 0x92, 0xC7, /* )..<.w.. */
14897 /* 0280 */ 0x90, 0x04, 0xF5, 0x9D, 0x16, 0x40, 0x01, 0xE4, /* .....@.. */
14898 /* 0288 */ 0x9B, 0x81, 0x4F, 0x02, 0x21, 0xFE, 0xFF, 0x4F, /* ..O.!..O */
14899 /* 0290 */ 0x07, 0x1E, 0xC3, 0xC3, 0x80, 0xD1, 0x8C, 0xCE, /* ........ */
14900 /* 0298 */ 0xC3, 0x4F, 0x16, 0x15, 0x77, 0xB2, 0x14, 0xC4, /* .O..w... */
14901 /* 02A0 */ 0x93, 0x75, 0x94, 0xC9, 0xA2, 0x67, 0xE2, 0xAB, /* .u...g.. */
14902 /* 02A8 */ 0x85, 0x27, 0x74, 0x4A, 0x41, 0xCE, 0xD1, 0x13, /* .'tJA... */
14903 /* 02B0 */ 0xF6, 0x55, 0x04, 0xD6, 0xF9, 0x20, 0xE4, 0x8B, /* .U... .. */
14904 /* 02B8 */ 0x81, 0xA7, 0x61, 0x38, 0x4F, 0x96, 0xC3, 0x79, /* ..a8O..y */
14905 /* 02C0 */ 0xB2, 0x7C, 0x2C, 0xBE, 0x6A, 0xC0, 0x1F, 0x2D, /* .|,.j..- */
14906 /* 02C8 */ 0x96, 0xA0, 0xC0, 0xD9, 0x82, 0x1C, 0x1E, 0x13, /* ........ */
14907 /* 02D0 */ 0x6F, 0x54, 0xF4, 0x46, 0xE4, 0xE1, 0xF1, 0xCB, /* oT.F.... */
14908 /* 02D8 */ 0x81, 0xE7, 0xF3, 0x8C, 0x70, 0x94, 0x6F, 0x12, /* ....p.o. */
14909 /* 02E0 */ 0x38, 0x8C, 0xC7, 0x12, 0x0F, 0xD1, 0x97, 0x23, /* 8......# */
14910 /* 02E8 */ 0x58, 0x13, 0x39, 0x69, 0xDF, 0x16, 0x4E, 0x36, /* X.9i..N6 */
14911 /* 02F0 */ 0xE8, 0x4B, 0x10, 0xBB, 0x1C, 0x01, 0xBF, 0x88, /* .K...... */
14912 /* 02F8 */ 0x26, 0x86, 0xC1, 0x22, 0x2D, 0x45, 0x11, 0x17, /* &.."-E.. */
14913 /* 0300 */ 0x45, 0x61, 0x7C, 0xC5, 0x82, 0xFD, 0xFF, 0xBF, /* Ea|..... */
14914 /* 0308 */ 0x62, 0x01, 0x16, 0x04, 0x0F, 0x1B, 0x34, 0x87, /* b.....4. */
14915 /* 0310 */ 0x83, 0x97, 0x1E, 0x36, 0x6B, 0x38, 0x07, 0x99, /* ...6k8.. */
14916 /* 0318 */ 0xD3, 0xF1, 0x48, 0x4E, 0x1B, 0xC6, 0x1D, 0x0B, /* ..HN.... */
14917 /* 0320 */ 0xFE, 0x9D, 0xEA, 0xA9, 0xCA, 0xD3, 0x8A, 0xF2, /* ........ */
14918 /* 0328 */ 0x64, 0xF5, 0x7A, 0xE5, 0x63, 0x96, 0xA1, 0xCE, /* d.z.c... */
14919 /* 0330 */ 0xE0, 0x1D, 0xCB, 0xB7, 0x3C, 0x4F, 0x21, 0x4A, /* ....<O!J */
14920 /* 0338 */ 0x9C, 0x97, 0x2D, 0x76, 0xC7, 0x32, 0x48, 0x50, /* ..-v.2HP */
14921 /* 0340 */ 0x23, 0x3F, 0x68, 0x31, 0x94, 0xE0, 0xF1, 0xDE, /* #?h1.... */
14922 /* 0348 */ 0xB1, 0x00, 0x6F, 0xFF, 0xFF, 0x3B, 0x16, 0x60, /* ..o..;.` */
14923 /* 0350 */ 0xFC, 0x04, 0xC1, 0x09, 0x7C, 0xC7, 0x02, 0x1C, /* ....|... */
14924 /* 0358 */ 0xC5, 0x7E, 0x37, 0xE8, 0x4A, 0x45, 0xEE, 0x58, /* .~7.JE.X */
14925 /* 0360 */ 0x28, 0x0E, 0xAB, 0xB9, 0x63, 0x41, 0x9C, 0x28, /* (...cA.( */
14926 /* 0368 */ 0xE6, 0x8A, 0x05, 0x86, 0xFF, 0xFF, 0x15, 0x0B, /* ........ */
14927 /* 0370 */ 0xE0, 0x75, 0xC0, 0x2B, 0x16, 0x68, 0xFE, 0xFF, /* .u.+.h.. */
14928 /* 0378 */ 0x57, 0x2C, 0xF0, 0x5E, 0x8E, 0x80, 0xDF, 0x09, /* W,.^.... */
14929 /* 0380 */ 0xD1, 0x77, 0x0D, 0x7E, 0x9A, 0xB6, 0xA2, 0xBB, /* .w.~.... */
14930 /* 0388 */ 0x06, 0x94, 0x19, 0xBE, 0x07, 0xF9, 0xB0, 0x13, /* ........ */
14931 /* 0390 */ 0x2C, 0xD2, 0xA3, 0x8D, 0x6F, 0x49, 0xE1, 0x7C, /* ,...oI.| */
14932 /* 0398 */ 0xDB, 0x00, 0xD8, 0xF2, 0xFF, 0xBF, 0x6D, 0x00, /* ......m. */
14933 /* 03A0 */ 0x4C, 0x19, 0xBF, 0x6F, 0x1B, 0xC0, 0x4F, 0xA1, /* L..o..O. */
14934 /* 03A8 */ 0x4D, 0x9F, 0x1A, 0x8D, 0x5A, 0x35, 0x28, 0x53, /* M...Z5(S */
14935 /* 03B0 */ 0xA3, 0x4C, 0x83, 0x5A, 0x7D, 0x2A, 0x35, 0x66, /* .L.Z}*5f */
14936 /* 03B8 */ 0x4C, 0xC9, 0xC1, 0xCE, 0x77, 0x0C, 0x2A, 0x6C, /* L...w.*l */
14937 /* 03C0 */ 0x65, 0x1A, 0x9A, 0x63, 0x81, 0xD0, 0x10, 0xC7, /* e..c.... */
14938 /* 03C8 */ 0x26, 0x19, 0x01, 0x51, 0x22, 0x10, 0x01, 0x59, /* &..Q"..Y */
14939 /* 03D0 */ 0xFD, 0x6F, 0x42, 0x40, 0xCE, 0x02, 0x22, 0x20, /* .oB@.." */
14940 /* 03D8 */ 0x2B, 0x58, 0x9A, 0xC0, 0x9D, 0xFF, 0xD8, 0x28, /* +X.....( */
14941 /* 03E0 */ 0x40, 0xA2, 0x02, 0x84, 0x29, 0x7D, 0x93, 0x09, /* @...)}.. */
14942 /* 03E8 */ 0xD4, 0xB2, 0x41, 0x04, 0xF4, 0xFF, 0x3F, 0x42, /* ..A...?B */
14943 /* 03F0 */ 0xD9, 0x00, 0x62, 0x82, 0x41, 0x04, 0x64, 0x91, /* ..b.A.d. */
14944 /* 03F8 */ 0x3E, 0x80, 0x98, 0x62, 0x10, 0x01, 0x59, 0xDD, /* >..b..Y. */
14945 /* 0400 */ 0xA3, 0x40, 0x40, 0xD6, 0x0A, 0x22, 0x20, 0xFF, /* .@@.." . */
14946 /* 0408 */ 0xFF, 0x01 /* .. */
14947 })
14948 }
14949
14950 Scope (\_SB.PCI0.LPC.EC.HKEY)
14951 {
14952 Mutex (BFWM, 0x07)
14953 Method (MHCF, 1, NotSerialized)
14954 {
14955 Local0 = \BFWC (Arg0)
14956 Return (Local0)
14957 }
14958
14959 Method (MHPF, 1, NotSerialized)
14960 {
14961 Name (RETB, Buffer (0x25) {})
14962 Acquire (BFWM, 0xFFFF)
14963 If ((SizeOf (Arg0) <= 0x25))
14964 {
14965 \BFWB = Arg0
14966 If (\BFWP ())
14967 {
14968 \_SB.PCI0.LPC.EC.CHKS ()
14969 \BFWL ()
14970 }
14971
14972 RETB = \BFWB
14973 }
14974
14975 Release (BFWM)
14976 Return (RETB) /* \_SB_.PCI0.LPC_.EC__.HKEY.MHPF.RETB */
14977 }
14978
14979 Method (MHIF, 1, NotSerialized)
14980 {
14981 Name (RETB, Buffer (0x0A) {})
14982 Acquire (BFWM, 0xFFFF)
14983 \BFWG (Arg0)
14984 RETB = \BFWB
14985 Release (BFWM)
14986 Return (RETB) /* \_SB_.PCI0.LPC_.EC__.HKEY.MHIF.RETB */
14987 }
14988
14989 Method (MHDM, 1, NotSerialized)
14990 {
14991 \BDMC (Arg0)
14992 }
14993 }
14994
14995 Scope (\_SB.PCI0.LPC.EC.HKEY)
14996 {
14997 Method (PSSG, 1, NotSerialized)
14998 {
14999 Return (\PSIF (0x00, 0x00))
15000 }
15001
15002 Method (PSSS, 1, NotSerialized)
15003 {
15004 Return (\PSIF (0x01, Arg0))
15005 }
15006
15007 Method (PSBS, 1, NotSerialized)
15008 {
15009 Return (\PSIF (0x02, Arg0))
15010 }
15011
15012 Method (BICG, 1, NotSerialized)
15013 {
15014 Return (\PSIF (0x03, Arg0))
15015 }
15016
15017 Method (BICS, 1, NotSerialized)
15018 {
15019 Return (\PSIF (0x04, Arg0))
15020 }
15021
15022 Method (BCTG, 1, NotSerialized)
15023 {
15024 Return (\PSIF (0x05, Arg0))
15025 }
15026
15027 Method (BCCS, 1, NotSerialized)
15028 {
15029 Return (\PSIF (0x06, Arg0))
15030 }
15031
15032 Method (BCSG, 1, NotSerialized)
15033 {
15034 Return (\PSIF (0x07, Arg0))
15035 }
15036
15037 Method (BCSS, 1, NotSerialized)
15038 {
15039 Return (\PSIF (0x08, Arg0))
15040 }
15041
15042 Method (BDSG, 1, NotSerialized)
15043 {
15044 Return (\PSIF (0x09, Arg0))
15045 }
15046
15047 Method (BDSS, 1, NotSerialized)
15048 {
15049 Return (\PSIF (0x0A, Arg0))
15050 }
15051 }
15052
15053 Scope (\_SB.PCI0.LPC.EC.HKEY)
15054 {
15055 Method (GILN, 0, NotSerialized)
15056 {
15057 Return ((0x02 | \ILNF))
15058 }
15059
15060 Method (SILN, 1, NotSerialized)
15061 {
15062 If ((0x01 == Arg0))
15063 {
15064 \ILNF = 0x01
15065 BBLS = 0x00
15066 Return (0x00)
15067 }
15068 Else
15069 {
15070 If ((0x02 == Arg0))
15071 {
15072 \ILNF = 0x00
15073 BBLS = 0x01
15074 Return (0x00)
15075 }
15076 Else
15077 {
15078 Return (0x01)
15079 }
15080 }
15081 }
15082
15083 Method (GLSI, 0, NotSerialized)
15084 {
15085 If (\H8DR)
15086 {
15087 Return ((0x02 + \_SB.PCI0.LPC.EC.HPLD))
15088 }
15089 Else
15090 {
15091 If ((\RBEC (0x46) & 0x04))
15092 {
15093 Return (0x03)
15094 }
15095 Else
15096 {
15097 Return (0x02)
15098 }
15099 }
15100 }
15101 }
15102
15103 Scope (\_SB.PCI0.LPC.EC.HKEY)
15104 {
15105 Method (GDLN, 0, NotSerialized)
15106 {
15107 Return ((0x02 | \PLUX))
15108 }
15109
15110 Method (SDLN, 1, NotSerialized)
15111 {
15112 If ((0x01 == Arg0))
15113 {
15114 \PLUX = 0x01
15115 Return (0x00)
15116 }
15117 Else
15118 {
15119 If ((0x02 == Arg0))
15120 {
15121 \PLUX = 0x00
15122 Return (0x00)
15123 }
15124 Else
15125 {
15126 Return (0x01)
15127 }
15128 }
15129 }
15130 }
15131
15132 Name (\VHCC, 0x00)
15133 Scope (\_SB.PCI0.PEG.VID)
15134 {
15135 Method (ISOP, 0, NotSerialized)
15136 {
15137 Return ((VDSP && (VIGD && VDSC)))
15138 }
15139 }
15140
15141 Scope (\_SB.PCI0)
15142 {
15143 Name (OTM, "OTMACPI 2009-Nov-12 18:18:51")
15144 }
15145
15146 Scope (\_SB.PCI0.PEG.VID)
15147 {
15148 Method (GOBT, 1, NotSerialized)
15149 {
15150 Name (OPVK, Buffer (0xE6)
15151 {
15152 /* 0000 */ 0xE4, 0xB8, 0x4F, 0x51, 0x50, 0x72, 0x8A, 0xC2, /* ..OQPr.. */
15153 /* 0008 */ 0x4B, 0x56, 0xE6, 0x00, 0x00, 0x00, 0x01, 0x00, /* KV...... */
15154 /* 0010 */ 0x31, 0x34, 0x38, 0x35, 0x39, 0x37, 0x34, 0x35, /* 14859745 */
15155 /* 0018 */ 0x36, 0x39, 0x38, 0x35, 0x47, 0x65, 0x6E, 0x75, /* 6985Genu */
15156 /* 0020 */ 0x69, 0x6E, 0x65, 0x20, 0x4E, 0x56, 0x49, 0x44, /* ine NVID */
15157 /* 0028 */ 0x49, 0x41, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, /* IA Certi */
15158 /* 0030 */ 0x66, 0x69, 0x65, 0x64, 0x20, 0x4F, 0x70, 0x74, /* fied Opt */
15159 /* 0038 */ 0x69, 0x6D, 0x75, 0x73, 0x20, 0x52, 0x65, 0x61, /* imus Rea */
15160 /* 0040 */ 0x64, 0x79, 0x20, 0x4D, 0x6F, 0x74, 0x68, 0x65, /* dy Mothe */
15161 /* 0048 */ 0x72, 0x62, 0x6F, 0x61, 0x72, 0x64, 0x20, 0x66, /* rboard f */
15162 /* 0050 */ 0x6F, 0x72, 0x20, 0x36, 0x38, 0x38, 0x33, 0x32, /* or 68832 */
15163 /* 0058 */ 0x35, 0x6E, 0x6F, 0x7A, 0x6F, 0x6D, 0x69, 0x32, /* 5nozomi2 */
15164 /* 0060 */ 0x31, 0x44, 0x35, 0x20, 0x20, 0x20, 0x20, 0x20, /* 1D5 */
15165 /* 0068 */ 0x2D, 0x20, 0x40, 0x4A, 0x20, 0x24, 0x55, 0x27, /* - @J $U' */
15166 /* 0070 */ 0x5C, 0x22, 0x54, 0x20, 0x29, 0x5F, 0x47, 0x42, /* \"T )_GB */
15167 /* 0078 */ 0x20, 0x50, 0x2F, 0x41, 0x4F, 0x5C, 0x37, 0x22, /* P/AO\7" */
15168 /* 0080 */ 0x3D, 0x46, 0x37, 0x39, 0x4B, 0x37, 0x2B, 0x5F, /* =F79K7+_ */
15169 /* 0088 */ 0x3F, 0x4B, 0x48, 0x5C, 0x5F, 0x46, 0x58, 0x48, /* ?KH\_FXH */
15170 /* 0090 */ 0x5F, 0x44, 0x57, 0x32, 0x26, 0x4A, 0x46, 0x50, /* _DW2&JFP */
15171 /* 0098 */ 0x52, 0x25, 0x24, 0x2F, 0x46, 0x24, 0x20, 0x2D, /* R%$/F$ - */
15172 /* 00A0 */ 0x20, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, /* Copyrig */
15173 /* 00A8 */ 0x68, 0x74, 0x20, 0x32, 0x30, 0x31, 0x30, 0x20, /* ht 2010 */
15174 /* 00B0 */ 0x4E, 0x56, 0x49, 0x44, 0x49, 0x41, 0x20, 0x43, /* NVIDIA C */
15175 /* 00B8 */ 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, /* orporati */
15176 /* 00C0 */ 0x6F, 0x6E, 0x20, 0x41, 0x6C, 0x6C, 0x20, 0x52, /* on All R */
15177 /* 00C8 */ 0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x52, 0x65, /* ights Re */
15178 /* 00D0 */ 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2D, 0x31, /* served-1 */
15179 /* 00D8 */ 0x34, 0x38, 0x35, 0x39, 0x37, 0x34, 0x35, 0x36, /* 48597456 */
15180 /* 00E0 */ 0x39, 0x38, 0x35, 0x28, 0x52, 0x29 /* 985(R) */
15181 })
15182 CreateWordField (Arg0, 0x02, USRG)
15183 If ((USRG == 0x564B))
15184 {
15185 Return (OPVK) /* \_SB_.PCI0.PEG_.VID_.GOBT.OPVK */
15186 }
15187
15188 Return (Zero)
15189 }
15190 }
15191
15192 Scope (\_SB.PCI0.PEG.VID)
15193 {
15194 Name (OMPR, 0x02)
15195 Name (HDAS, 0x00)
15196 Method (NVOP, 4, Serialized)
15197 {
15198 Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
15199 Debug = "------- NV OPTIMUS DSM --------"
15200 If ((Arg1 != 0x0100))
15201 {
15202 Return (0x80000001)
15203 }
15204
15205 While (One)
15206 {
15207 _T_0 = ToInteger (Arg2)
15208 If ((_T_0 == 0x00))
15209 {
15210 Local0 = Buffer (0x04)
15211 {
15212 0x00, 0x00, 0x00, 0x00 /* .... */
15213 }
15214 Divide (0x00, 0x08, Local2, Local1)
15215 Local2 <<= 0x01
15216 Index (Local0, Local1) = (DerefOf (Index (Local0, Local1)) | Local2)
15217 Divide (0x1A, 0x08, Local2, Local1)
15218 Local2 <<= 0x01
15219 Index (Local0, Local1) = (DerefOf (Index (Local0, Local1)) | Local2)
15220 Divide (0x1B, 0x08, Local2, Local1)
15221 Local2 <<= 0x01
15222 Index (Local0, Local1) = (DerefOf (Index (Local0, Local1)) | Local2)
15223 Divide (0x10, 0x08, Local2, Local1)
15224 Local2 <<= 0x01
15225 Index (Local0, Local1) = (DerefOf (Index (Local0, Local1)) | Local2)
15226 Return (Local0)
15227 }
15228 Else
15229 {
15230 If ((_T_0 == 0x1A))
15231 {
15232 CreateField (Arg3, 0x18, 0x02, OPCE)
15233 CreateField (Arg3, 0x00, 0x01, FLCH)
15234 If (ToInteger (FLCH))
15235 {
15236 OMPR = OPCE /* \_SB_.PCI0.PEG_.VID_.NVOP.OPCE */
15237 }
15238
15239 Local0 = Buffer (0x04)
15240 {
15241 0x00, 0x00, 0x00, 0x00 /* .... */
15242 }
15243 CreateField (Local0, 0x00, 0x01, OPEN)
15244 CreateField (Local0, 0x03, 0x02, CGCS)
15245 CreateField (Local0, 0x06, 0x01, SHPC)
15246 CreateField (Local0, 0x18, 0x03, DGPC)
15247 CreateField (Local0, 0x1B, 0x02, HDAC)
15248 OPEN = One
15249 SHPC = One
15250 DGPC = One
15251 If (\_SB.PCI0.PEG.VID._STA ())
15252 {
15253 CGCS = 0x03
15254 }
15255
15256 HDAC = 0x02
15257 Return (Local0)
15258 }
15259 Else
15260 {
15261 If ((_T_0 == 0x1B))
15262 {
15263 CreateField (Arg3, 0x00, 0x01, HDAU)
15264 CreateField (Arg3, 0x01, 0x01, HDAR)
15265 Local0 = Buffer (0x04)
15266 {
15267 0x00, 0x00, 0x00, 0x00 /* .... */
15268 }
15269 CreateField (Local0, 0x02, 0x02, RQGS)
15270 CreateField (Local0, 0x04, 0x01, PWST)
15271 PWST = One
15272 RQGS = Zero
15273 If (ToInteger (HDAR))
15274 {
15275 HDAS = ToInteger (HDAU)
15276 }
15277
15278 Return (Local0)
15279 }
15280 Else
15281 {
15282 If ((_T_0 == 0x10))
15283 {
15284 Return (\_SB.PCI0.PEG.VID.GOBT (Arg3))
15285 }
15286 }
15287 }
15288 }
15289
15290 Break
15291 }
15292
15293 Return (0x80000002)
15294 }
15295 }
15296
15297 Scope (\)
15298 {
15299 Method (CMPB, 2, NotSerialized)
15300 {
15301 Local1 = SizeOf (Arg0)
15302 If ((Local1 != SizeOf (Arg1)))
15303 {
15304 Return (0x00)
15305 }
15306
15307 Local0 = 0x00
15308 While ((Local0 < Local1))
15309 {
15310 If ((DerefOf (Index (Arg0, Local0)) != DerefOf (Index (Arg1, Local0
15311 ))))
15312 {
15313 Return (0x00)
15314 }
15315
15316 Local0++
15317 }
15318
15319 Return (0x01)
15320 }
15321 }
15322
15323 Scope (\_SB.PCI0.PEG.VID)
15324 {
15325 Name (CPPC, 0x00)
15326 Method (NVPS, 4, Serialized)
15327 {
15328 Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler
15329 Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
15330 Debug = "------- NV GPS DSM --------"
15331 While (One)
15332 {
15333 _T_0 = ToInteger (Arg2)
15334 If ((_T_0 == 0x00))
15335 {
15336 Local0 = Buffer (0x08)
15337 {
15338 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
15339 }
15340 Local3 = Buffer (0x07)
15341 {
15342 0x00, 0x20, 0x21, 0x22, 0x23, 0x2A, 0xFF /* . !"#*. */
15343 }
15344 Local4 = Zero
15345 Local5 = DerefOf (Index (Local3, Local4))
15346 While ((Local5 != 0xFF))
15347 {
15348 Divide (Local5, 0x08, Local2, Local1)
15349 Local2 <<= 0x01
15350 Index (Local0, Local1) = (DerefOf (Index (Local0, Local1)) | Local2)
15351 Local4++
15352 Local5 = DerefOf (Index (Local3, Local4))
15353 }
15354
15355 Return (Local0)
15356 }
15357 Else
15358 {
15359 If ((_T_0 == 0x20))
15360 {
15361 Local0 = Buffer (0x04)
15362 {
15363 0x00, 0x00, 0x00, 0x00 /* .... */
15364 }
15365 CreateField (Local0, 0x18, 0x01, CUIT)
15366 CreateField (Local0, 0x1E, 0x01, PSER)
15367 CUIT = One
15368 PSER = One
15369 Return (Local0)
15370 }
15371 Else
15372 {
15373 If ((_T_0 == 0x21))
15374 {
15375 Return (\_PR.CPU0._PSS)
15376 }
15377 Else
15378 {
15379 If ((_T_0 == 0x22))
15380 {
15381 CreateField (Arg3, 0x00, 0x08, PPCV)
15382 CPPC = PPCV /* \_SB_.PCI0.PEG_.VID_.NVPS.PPCV */
15383 \PNTF (0x80)
15384 Return (Buffer (0x04)
15385 {
15386 0x00, 0x00, 0x00, 0x00 /* .... */
15387 })
15388 }
15389 Else
15390 {
15391 If ((_T_0 == 0x23))
15392 {
15393 Local0 = Buffer (0x04)
15394 {
15395 0x00, 0x00, 0x00, 0x00 /* .... */
15396 }
15397 Index (Local0, 0x00) = CPPC /* \_SB_.PCI0.PEG_.VID_.CPPC */
15398 Return (Local0)
15399 }
15400 Else
15401 {
15402 If ((_T_0 == 0x2A))
15403 {
15404 Local0 = Buffer (0x24)
15405 {
15406 /* 0000 */ 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, /* ........ */
15407 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
15408 /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
15409 /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
15410 /* 0020 */ 0x00, 0x00, 0x00, 0x00 /* .... */
15411 }
15412 Index (Local0, 0x00) = DerefOf (Index (Arg3, 0x00))
15413 CreateField (Arg3, 0x00, 0x04, QTYP)
15414 While (One)
15415 {
15416 _T_1 = ToInteger (QTYP)
15417 If ((_T_1 == 0x00))
15418 {
15419 Local1 = \_SB.PCI0.LPC.EC.TMP0
15420 Index (Local0, 0x0C) = (Local1 & 0xFF)
15421 Return (Local0)
15422 }
15423 Else
15424 {
15425 If ((_T_1 == 0x01))
15426 {
15427 Index (Local0, 0x0D) = 0x08
15428 Index (Local0, 0x01) = 0x03
15429 Return (Local0)
15430 }
15431 Else
15432 {
15433 If ((_T_1 == 0x02))
15434 {
15435 Index (Local0, 0x01) = Zero
15436 Return (Local0)
15437 }
15438 }
15439 }
15440
15441 Break
15442 }
15443 }
15444 }
15445 }
15446 }
15447 }
15448 }
15449
15450 Break
15451 }
15452
15453 Return (Buffer (0x04)
15454 {
15455 0x02, 0x00, 0x00, 0x80 /* .... */
15456 })
15457 }
15458 }
15459 }
15460
15461 Name (\_S0, Package (0x04) // _S0_: S0 System State
15462 {
15463 0x00,
15464 0x00,
15465 0x00,
15466 0x00
15467 })
15468 Name (\_S3, Package (0x04) // _S3_: S3 System State
15469 {
15470 0x05,
15471 0x05,
15472 0x00,
15473 0x00
15474 })
15475 Name (\_S4, Package (0x04) // _S4_: S4 System State
15476 {
15477 0x06,
15478 0x06,
15479 0x00,
15480 0x00
15481 })
15482 Name (\_S5, Package (0x04) // _S5_: S5 System State
15483 {
15484 0x07,
15485 0x07,
15486 0x00,
15487 0x00
15488 })
15489 Method (\_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep
15490 {
15491 Local0 = 0x01
15492 If ((Arg0 == \SPS))
15493 {
15494 Local0 = 0x00
15495 }
15496
15497 If (((Arg0 == 0x00) || (Arg0 >= 0x06)))
15498 {
15499 Local0 = 0x00
15500 }
15501
15502 If (Local0)
15503 {
15504 \SPS = Arg0
15505 \_SB.PCI0.LPC.EC.HKEY.MHKE (0x00)
15506 If (\_SB.PCI0.LPC.EC.KBLT)
15507 {
15508 \UCMS (0x0D)
15509 }
15510
15511 If ((Arg0 == 0x01))
15512 {
15513 \FNID = \_SB.PCI0.LPC.EC.HFNI
15514 \_SB.PCI0.LPC.EC.HFNI = 0x00
15515 \_SB.PCI0.LPC.EC.HFSP = 0x00
15516 }
15517
15518 If ((Arg0 == 0x03))
15519 {
15520 \VVPD (0x03)
15521 \TRAP ()
15522 \ACST = \_SB.PCI0.LPC.EC.AC._PSR ()
15523 If ((\FNWK == 0x01))
15524 {
15525 If (\H8DR)
15526 {
15527 \_SB.PCI0.LPC.EC.HWFN = 0x00
15528 }
15529 Else
15530 {
15531 \MBEC (0x32, 0xEF, 0x00)
15532 }
15533 }
15534 }
15535
15536 If ((Arg0 == 0x04))
15537 {
15538 If (VDSP)
15539 {
15540 SHA1 = Zero
15541 }
15542
15543 \_SB.SLPB._PSW (0x00)
15544 \TRAP ()
15545 \_SB.PCI0.LPC.TPM.CMOR ()
15546 \AWON (0x04)
15547 }
15548
15549 If ((Arg0 == 0x05))
15550 {
15551 \TRAP ()
15552 \_SB.PCI0.LPC.TPM.CMOR ()
15553 \AWON (0x05)
15554 }
15555
15556 \_SB.PCI0.LPC.EC.BPTS (Arg0)
15557 If ((Arg0 >= 0x04))
15558 {
15559 \_SB.PCI0.LPC.EC.HWLB = 0x00
15560 }
15561 Else
15562 {
15563 \_SB.PCI0.LPC.EC.HWLB = 0x01
15564 }
15565
15566 If ((Arg0 >= 0x03))
15567 {
15568 \_SB.PCI0.LPC.EC.HCMU = 0x01
15569 }
15570
15571 If ((Arg0 != 0x05))
15572 {
15573 \_SB.PCI0.EXP3.PDSF = \_SB.PCI0.EXP3.PDS
15574 \_SB.PCI0.EXP6.PDSF = \_SB.PCI0.EXP6.PDS
15575 }
15576
15577 \_SB.PCI0.LPC.EC.HKEY.WGPS (Arg0)
15578 }
15579 }
15580
15581 Name (WAKI, Package (0x02)
15582 {
15583 0x00,
15584 0x00
15585 })
15586 Method (\_WAK, 1, NotSerialized) // _WAK: Wake
15587 {
15588 If (((Arg0 == 0x00) || (Arg0 >= 0x05)))
15589 {
15590 Return (WAKI) /* \WAKI */
15591 }
15592
15593 \SPS = 0x00
15594 \_SB.PCI0.LPC.EC.HCMU = 0x00
15595 \_SB.PCI0.LPC.EC.EVNT (0x01)
15596 \_SB.PCI0.LPC.EC.HKEY.MHKE (0x01)
15597 \_SB.PCI0.LPC.EC.FNST ()
15598 \UCMS (0x0D)
15599 \LIDB = 0x00
15600 \_SB.PCI0.VID.VRSI ()
15601 If ((Arg0 == 0x01))
15602 {
15603 \FNID = \_SB.PCI0.LPC.EC.HFNI
15604 }
15605
15606 If ((Arg0 == 0x03))
15607 {
15608 \NVSS (0x00)
15609 \PWRS = \_SB.PCI0.LPC.EC.AC._PSR ()
15610 If (\OSC4)
15611 {
15612 \PNTF (0x81)
15613 }
15614
15615 If ((\ACST != \_SB.PCI0.LPC.EC.AC._PSR ()))
15616 {
15617 \_SB.PCI0.LPC.EC.ATMC ()
15618 }
15619
15620 If (\SCRM)
15621 {
15622 \_SB.PCI0.LPC.EC.HFSP = 0x07
15623 If (\MTAU)
15624 {
15625 Local2 = 0x03E8
15626 While ((\_SB.PCI0.LPC.EC.PIBS && Local2))
15627 {
15628 Sleep (0x01)
15629 Local2--
15630 }
15631
15632 If (Local2)
15633 {
15634 \_SB.PCI0.LPC.EC.PLSL = 0x01
15635 \_SB.PCI0.LPC.EC.PLTU = \MTAU
15636 \_SB.PCI0.LPC.EC.PLLS = \PL1L
15637 \_SB.PCI0.LPC.EC.PLMS = \PL1M
15638 }
15639 }
15640 }
15641
15642 \IOEN = 0x00
15643 \IOST = 0x00
15644 If ((\ISWK == 0x01))
15645 {
15646 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
15647 {
15648 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6070)
15649 }
15650 }
15651
15652 If (\VIGD)
15653 {
15654 \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
15655 If (\WVIS)
15656 {
15657 \VBTD ()
15658 }
15659 }
15660 Else
15661 {
15662 If (\WVIS)
15663 {
15664 \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
15665 \VBTD ()
15666 }
15667 }
15668
15669 \VCMS (0x01, \_SB.LID._LID ())
15670 \AWON (0x00)
15671 If (\CMPR)
15672 {
15673 Notify (\_SB.SLPB, 0x02) // Device Wake
15674 \CMPR = 0x00
15675 }
15676
15677 If ((\USBR || \_SB.PCI0.XHCI.XRST))
15678 {
15679 If (((\XHCI == 0x02) || (\XHCI == 0x03)))
15680 {
15681 Local0 = 0x00
15682 Local0 = (\_SB.PCI0.XHCI.PR3 & 0xFFFFFFC0)
15683 \_SB.PCI0.XHCI.PR3 = (Local0 | \_SB.PCI0.XHCI.PR3M)
15684 Local0 = 0x00
15685 Local0 = (\_SB.PCI0.XHCI.PR2 & 0xFFFF8000)
15686 \_SB.PCI0.XHCI.PR2 = (Local0 | \_SB.PCI0.XHCI.PR2M)
15687 }
15688 }
15689
15690 If ((\ISCT != 0x00))
15691 {
15692 If (\VIGD)
15693 {
15694 If ((\_SB.PCI0.VID.TCHE & 0x0100))
15695 {
15696 If ((\_SB.IAOE.GAOS & 0x01))
15697 {
15698 If ((\_SB.IAOE.GSWR & 0x02))
15699 {
15700 \_SB.PCI0.VID.STAT = ((\_SB.PCI0.VID.STAT & ~0x03) | 0x01)
15701 \_SB.PCI0.LPC.EC.SKEM = 0x01
15702 }
15703 }
15704 }
15705 }
15706 }
15707 }
15708
15709 If ((Arg0 == 0x04))
15710 {
15711 \NVSS (0x00)
15712 \_SB.PCI0.LPC.EC.HSPA = 0x00
15713 \PWRS = \_SB.PCI0.LPC.EC.AC._PSR ()
15714 If (\OSC4)
15715 {
15716 \PNTF (0x81)
15717 }
15718
15719 \_SB.PCI0.LPC.EC.ATMC ()
15720 If (\SCRM)
15721 {
15722 \_SB.PCI0.LPC.EC.HFSP = 0x07
15723 If (\MTAU)
15724 {
15725 Local2 = 0x03E8
15726 While ((\_SB.PCI0.LPC.EC.PIBS && Local2))
15727 {
15728 Sleep (0x01)
15729 Local2--
15730 }
15731
15732 If (Local2)
15733 {
15734 \_SB.PCI0.LPC.EC.PLSL = 0x01
15735 \_SB.PCI0.LPC.EC.PLTU = \MTAU
15736 \_SB.PCI0.LPC.EC.PLLS = \PL1L
15737 \_SB.PCI0.LPC.EC.PLMS = \PL1M
15738 }
15739 }
15740 }
15741
15742 If (!\NBCF)
15743 {
15744 If (\VIGD)
15745 {
15746 \_SB.PCI0.LPC.EC.BRNS ()
15747 }
15748 Else
15749 {
15750 \VBRC (\BRLV)
15751 }
15752 }
15753
15754 \IOEN = 0x00
15755 \IOST = 0x00
15756 If ((\ISWK == 0x02))
15757 {
15758 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
15759 {
15760 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6080)
15761 }
15762 }
15763
15764 If (\_SB.PCI0.XHCI.XRST)
15765 {
15766 If (((\XHCI == 0x02) || (\XHCI == 0x03)))
15767 {
15768 Local0 = 0x00
15769 Local0 = (\_SB.PCI0.XHCI.PR3 & 0xFFFFFFC0)
15770 \_SB.PCI0.XHCI.PR3 = (Local0 | \_SB.PCI0.XHCI.PR3M)
15771 Local0 = 0x00
15772 Local0 = (\_SB.PCI0.XHCI.PR2 & 0xFFFF8000)
15773 \_SB.PCI0.XHCI.PR2 = (Local0 | \_SB.PCI0.XHCI.PR2M)
15774 }
15775 }
15776 }
15777
15778 If ((\_SB.PCI0.EXP3.PDS ^ \_SB.PCI0.EXP3.PDSF))
15779 {
15780 \_SB.PCI0.EXP3.PDSF = \_SB.PCI0.EXP3.PDS
15781 Notify (\_SB.PCI0.EXP3, 0x00) // Bus Check
15782 }
15783
15784 If ((\_SB.PCI0.EXP6.PDS ^ \_SB.PCI0.EXP6.PDSF))
15785 {
15786 \_SB.PCI0.EXP6.PDSF = \_SB.PCI0.EXP6.PDS
15787 Notify (\_SB.PCI0.EXP6, 0x00) // Bus Check
15788 }
15789
15790 \_SB.PCI0.LPC.EC.BATW (Arg0)
15791 \_SB.PCI0.LPC.EC.BWAK (Arg0)
15792 \_SB.PCI0.LPC.EC.HKEY.WGWK (Arg0)
15793 Notify (\_TZ.THM0, 0x80) // Thermal Status Change
15794 \VSLD (\_SB.LID._LID ())
15795 If (\VIGD)
15796 {
15797 \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
15798 }
15799 Else
15800 {
15801 If (\WVIS)
15802 {
15803 \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
15804 }
15805 }
15806
15807 If ((Arg0 < 0x04))
15808 {
15809 If (((\RRBF & 0x02) || (\_SB.PCI0.LPC.EC.HWAC & 0x02)))
15810 {
15811 Local0 = (Arg0 << 0x08)
15812 Local0 = (0x2013 | Local0)
15813 \_SB.PCI0.LPC.EC.HKEY.MHKQ (Local0)
15814 }
15815 }
15816
15817 If ((Arg0 == 0x04))
15818 {
15819 Local0 = 0x00
15820 Local1 = \CSUM (0x00)
15821 If ((Local1 != \CHKC))
15822 {
15823 Local0 = 0x01
15824 \CHKC = Local1
15825 }
15826
15827 Local1 = \CSUM (0x01)
15828 If ((Local1 != \CHKE))
15829 {
15830 Local0 = 0x01
15831 \CHKE = Local1
15832 }
15833
15834 If (Local0)
15835 {
15836 Notify (\_SB, 0x00) // Bus Check
15837 }
15838 }
15839
15840 \RRBF = Zero
15841 Return (WAKI) /* \WAKI */
15842 }
15843
15844 Scope (\_SI)
15845 {
15846 Method (_SST, 1, NotSerialized) // _SST: System Status
15847 {
15848 If ((Arg0 == 0x00))
15849 {
15850 \_SB.PCI0.LPC.EC.LED (0x00, 0x00)
15851 \_SB.PCI0.LPC.EC.LED (0x0A, 0x00)
15852 \_SB.PCI0.LPC.EC.LED (0x07, 0x00)
15853 }
15854
15855 If ((Arg0 == 0x01))
15856 {
15857 If ((\SPS || \WNTF))
15858 {
15859 \_SB.PCI0.LPC.EC.BEEP (0x05)
15860 }
15861
15862 \_SB.PCI0.LPC.EC.LED (0x00, 0x80)
15863 \_SB.PCI0.LPC.EC.LED (0x0A, 0x80)
15864 \_SB.PCI0.LPC.EC.LED (0x07, 0x00)
15865 }
15866
15867 If ((Arg0 == 0x02))
15868 {
15869 \_SB.PCI0.LPC.EC.LED (0x00, 0xC0)
15870 \_SB.PCI0.LPC.EC.LED (0x0A, 0xC0)
15871 \_SB.PCI0.LPC.EC.LED (0x07, 0xC0)
15872 }
15873
15874 If ((Arg0 == 0x03))
15875 {
15876 If ((\SPS > 0x03))
15877 {
15878 \_SB.PCI0.LPC.EC.BEEP (0x07)
15879 }
15880 Else
15881 {
15882 If ((\SPS == 0x03))
15883 {
15884 \_SB.PCI0.LPC.EC.BEEP (0x03)
15885 }
15886 Else
15887 {
15888 \_SB.PCI0.LPC.EC.BEEP (0x04)
15889 }
15890 }
15891
15892 If ((\SPS == 0x03)) {}
15893 Else
15894 {
15895 \_SB.PCI0.LPC.EC.LED (0x00, 0x80)
15896 \_SB.PCI0.LPC.EC.LED (0x0A, 0x80)
15897 }
15898
15899 \_SB.PCI0.LPC.EC.LED (0x07, 0xC0)
15900 \_SB.PCI0.LPC.EC.LED (0x00, 0xC0)
15901 \_SB.PCI0.LPC.EC.LED (0x0A, 0xC0)
15902 }
15903
15904 If ((Arg0 == 0x04))
15905 {
15906 \_SB.PCI0.LPC.EC.BEEP (0x03)
15907 \_SB.PCI0.LPC.EC.LED (0x07, 0xC0)
15908 \_SB.PCI0.LPC.EC.LED (0x00, 0xC0)
15909 \_SB.PCI0.LPC.EC.LED (0x0A, 0xC0)
15910 }
15911 }
15912 }
15913
15914 Scope (\_GPE)
15915 {
15916 Method (_L1D, 0, NotSerialized) // _Lxx: Level-Triggered GPE
15917 {
15918 Local0 = \_SB.PCI0.LPC.EC.HWAC
15919 \RRBF = Local0
15920 Sleep (0x0A)
15921 If ((Local0 & 0x02)) {}
15922 If ((Local0 & 0x04))
15923 {
15924 Notify (\_SB.LID, 0x02) // Device Wake
15925 }
15926
15927 If ((Local0 & 0x08))
15928 {
15929 Notify (\_SB.SLPB, 0x02) // Device Wake
15930 }
15931
15932 If ((Local0 & 0x10))
15933 {
15934 Notify (\_SB.SLPB, 0x02) // Device Wake
15935 }
15936
15937 If ((Local0 & 0x40)) {}
15938 If ((Local0 & 0x80))
15939 {
15940 Notify (\_SB.SLPB, 0x02) // Device Wake
15941 }
15942 }
15943
15944 Method (_L09, 0, NotSerialized) // _Lxx: Level-Triggered GPE
15945 {
15946 If (\_SB.PCI0.EXP1.PS)
15947 {
15948 \_SB.PCI0.EXP1.PS = 0x01
15949 \_SB.PCI0.EXP1.PMCS = 0x01
15950 Notify (\_SB.PCI0.EXP1, 0x02) // Device Wake
15951 }
15952
15953 If (\_SB.PCI0.EXP2.PS)
15954 {
15955 \_SB.PCI0.EXP2.PS = 0x01
15956 \_SB.PCI0.EXP2.PMCS = 0x01
15957 Notify (\_SB.PCI0.EXP2, 0x02) // Device Wake
15958 }
15959
15960 If (\_SB.PCI0.EXP3.PS)
15961 {
15962 \_SB.PCI0.EXP3.PS = 0x01
15963 \_SB.PCI0.EXP3.PMCS = 0x01
15964 Notify (\_SB.PCI0.EXP3, 0x02) // Device Wake
15965 }
15966
15967 If (\_SB.PCI0.EXP6.PS)
15968 {
15969 \_SB.PCI0.EXP6.PS = 0x01
15970 \_SB.PCI0.EXP6.PMCS = 0x01
15971 Notify (\_SB.PCI0.EXP6, 0x02) // Device Wake
15972 }
15973 }
15974
15975 Method (_L01, 0, NotSerialized) // _Lxx: Level-Triggered GPE
15976 {
15977 If (\_SB.PCI0.EXP3.HPCS)
15978 {
15979 Sleep (0x64)
15980 \_SB.PCI0.EXP3.HPCS = 0x01
15981 If (\_SB.PCI0.EXP3.PDC)
15982 {
15983 \_SB.PCI0.EXP3.PDC = 0x01
15984 \_SB.PCI0.EXP3.PDSF = \_SB.PCI0.EXP3.PDS
15985 Notify (\_SB.PCI0.EXP3, 0x00) // Bus Check
15986 }
15987 }
15988
15989 If (\_SB.PCI0.EXP6.HPCS)
15990 {
15991 Sleep (0x64)
15992 \_SB.PCI0.EXP6.HPCS = 0x01
15993 If (\_SB.PCI0.EXP6.PDC)
15994 {
15995 \_SB.PCI0.EXP6.PDC = 0x01
15996 \_SB.PCI0.EXP6.PDSF = \_SB.PCI0.EXP6.PDS
15997 Notify (\_SB.PCI0.EXP6, 0x00) // Bus Check
15998 }
15999 }
16000 }
16001
16002 Method (_L02, 0, NotSerialized) // _Lxx: Level-Triggered GPE
16003 {
16004 \_SB.PCI0.LPC.SWGE = 0x00
16005 If (CondRefOf (\_SB.PCCD.PENB))
16006 {
16007 If ((\_SB.PCCD.PENB == 0x01))
16008 {
16009 Notify (\_SB.PCCD, 0x80) // Status Change
16010 }
16011 }
16012 }
16013
16014 Method (_L06, 0, NotSerialized) // _Lxx: Level-Triggered GPE
16015 {
16016 If (\_SB.PCI0.VID.GSSE)
16017 {
16018 \_SB.PCI0.VID.GSCI ()
16019 }
16020 Else
16021 {
16022 \_SB.PCI0.LPC.SCIS = 0x01
16023 }
16024 }
16025
16026 Name (GPFG, 0x00)
16027 Method (_L12, 0, NotSerialized) // _Lxx: Level-Triggered GPE
16028 {
16029 If ((GPFG && \_SB.PCI0.LPC.NFCI))
16030 {
16031 GPFG = 0x00
16032 Notify (\_SB.PCI0.SMBU.NFC, 0xC0) // Hardware-Specific
16033 }
16034 }
16035 }
16036
16037 Scope (\_SB.PCI0.LPC.EC.HKEY)
16038 {
16039 Method (MHQT, 1, NotSerialized)
16040 {
16041 If ((\WNTF && \TATC))
16042 {
16043 If ((Arg0 == 0x00))
16044 {
16045 Local0 = \TATC
16046 Return (Local0)
16047 }
16048 Else
16049 {
16050 If ((Arg0 == 0x01))
16051 {
16052 Local0 = \TDFA
16053 Local0 += (\TDTA << 0x04)
16054 Local0 += (\TDFD << 0x08)
16055 Local0 += (\TDTD << 0x0C)
16056 Local0 += (\TNFT << 0x10)
16057 Local0 += (\TNTT << 0x14)
16058 Return (Local0)
16059 }
16060 Else
16061 {
16062 If ((Arg0 == 0x02))
16063 {
16064 Local0 = \TCFA
16065 Local0 += (\TCTA << 0x04)
16066 Local0 += (\TCFD << 0x08)
16067 Local0 += (\TCTD << 0x0C)
16068 Return (Local0)
16069 }
16070 Else
16071 {
16072 If ((Arg0 == 0x03)) {}
16073 Else
16074 {
16075 If ((Arg0 == 0x04))
16076 {
16077 Local0 = \TATW
16078 Return (Local0)
16079 }
16080 Else
16081 {
16082 Noop
16083 }
16084 }
16085 }
16086 }
16087 }
16088 }
16089
16090 Return (0x00)
16091 }
16092
16093 Method (MHAT, 1, NotSerialized)
16094 {
16095 If ((\WNTF && \TATC))
16096 {
16097 Local0 = (Arg0 & 0xFF)
16098 If (!ATMV (Local0))
16099 {
16100 Return (0x00)
16101 }
16102
16103 Local0 = ((Arg0 >> 0x08) & 0xFF)
16104 If (!ATMV (Local0))
16105 {
16106 Return (0x00)
16107 }
16108
16109 \TCFA = (Arg0 & 0x0F)
16110 \TCTA = ((Arg0 >> 0x04) & 0x0F)
16111 \TCFD = ((Arg0 >> 0x08) & 0x0F)
16112 \TCTD = ((Arg0 >> 0x0C) & 0x0F)
16113 ATMC ()
16114 If ((\PPMF & 0x0100))
16115 {
16116 Local1 = \FTPS
16117 If ((Arg0 & 0x00010000))
16118 {
16119 \FTPS = 0x01
16120 }
16121 Else
16122 {
16123 \FTPS = 0x00
16124 }
16125
16126 If ((\FTPS ^ Local1))
16127 {
16128 If ((\OSPX || \CPPX))
16129 {
16130 \PNTF (0x80)
16131 }
16132 }
16133 }
16134
16135 Local2 = \SCRM
16136 If ((Arg0 & 0x00040000))
16137 {
16138 \SCRM = 0x01
16139 \_SB.PCI0.LPC.EC.HFSP = 0x07
16140 }
16141 Else
16142 {
16143 \SCRM = 0x00
16144 \_SB.PCI0.LPC.EC.HFSP = 0x80
16145 }
16146
16147 Local3 = \ETAU
16148 If ((Arg0 & 0x00020000))
16149 {
16150 \ETAU = 0x01
16151 }
16152 Else
16153 {
16154 \ETAU = 0x00
16155 }
16156
16157 If (\MTAU)
16158 {
16159 If (((\SCRM ^ Local2) || (\ETAU ^ Local3)))
16160 {
16161 Local4 = 0x03E8
16162 While (\_SB.PCI0.LPC.EC.PIBS)
16163 {
16164 Sleep (0x01)
16165 Local4--
16166 If (!Local4)
16167 {
16168 Return (0x00)
16169 }
16170 }
16171
16172 \_SB.PCI0.LPC.EC.PLSL = 0x01
16173 If ((Arg0 & 0x00060000))
16174 {
16175 \_SB.PCI0.LPC.EC.PLTU = \MTAU
16176 }
16177 Else
16178 {
16179 \_SB.PCI0.LPC.EC.PLTU = 0x1C
16180 }
16181
16182 \_SB.PCI0.LPC.EC.PLLS = \PL1L
16183 \_SB.PCI0.LPC.EC.PLMS = \PL1M
16184 }
16185 }
16186
16187 Return (0x01)
16188 }
16189
16190 Return (0x00)
16191 }
16192
16193 Method (MHGT, 1, NotSerialized)
16194 {
16195 If ((\WNTF && \TATC))
16196 {
16197 Local0 = 0x01000000
16198 If ((\PPMF & 0x0100))
16199 {
16200 Local0 |= 0x08000000
16201 }
16202
16203 If (\SCRM)
16204 {
16205 Local0 |= 0x10000000
16206 }
16207
16208 If (\ETAU)
16209 {
16210 Local0 |= 0x04000000
16211 }
16212
16213 If (\FTPS)
16214 {
16215 Local0 |= 0x02000000
16216 }
16217
16218 Local0 += (\TSFT << 0x10)
16219 Local0 += (\TSTT << 0x14)
16220 Local1 = (Arg0 & 0xFF)
16221 If (!ATMV (Local1))
16222 {
16223 Local0 |= 0xFFFF
16224 Return (Local0)
16225 }
16226
16227 Local1 = (Arg0 & 0x0F)
16228 If ((Local1 == 0x00))
16229 {
16230 Local0 += \TIF0
16231 }
16232 Else
16233 {
16234 If ((Local1 == 0x01))
16235 {
16236 Local0 += \TIF1
16237 }
16238 Else
16239 {
16240 If ((Local1 == 0x02))
16241 {
16242 Local0 += \TIF2
16243 }
16244 Else
16245 {
16246 Local0 += 0xFF
16247 }
16248 }
16249 }
16250
16251 Local1 = ((Arg0 >> 0x04) & 0x0F)
16252 If ((Local1 == 0x00))
16253 {
16254 Local0 += (\TIT0 << 0x08)
16255 }
16256 Else
16257 {
16258 If ((Local1 == 0x01))
16259 {
16260 Local0 += (\TIT1 << 0x08)
16261 }
16262 Else
16263 {
16264 If ((Local1 == 0x02))
16265 {
16266 Local0 += (\TIT2 << 0x08)
16267 }
16268 Else
16269 {
16270 Local0 += (0xFF << 0x08)
16271 }
16272 }
16273 }
16274
16275 Return (Local0)
16276 }
16277
16278 Return (0x00)
16279 }
16280
16281 Method (ATMV, 1, NotSerialized)
16282 {
16283 Local1 = (Arg0 & 0x0F)
16284 Local0 = \TNFT
16285 If ((Local1 >= Local0))
16286 {
16287 Return (0x00)
16288 }
16289
16290 Local2 = ((Arg0 >> 0x04) & 0x0F)
16291 Local0 = \TNTT
16292 If ((Local2 >= Local0))
16293 {
16294 Return (0x00)
16295 }
16296
16297 If (\TATL)
16298 {
16299 If ((Local1 ^ Local2))
16300 {
16301 Return (0x00)
16302 }
16303 }
16304
16305 Return (0x01)
16306 }
16307
16308 Method (MHCT, 1, NotSerialized)
16309 {
16310 Local0 = 0x00
16311 If (\SPEN)
16312 {
16313 Local0 = \LWST
16314 Local0++
16315 Local0 <<= 0x08
16316 }
16317
16318 Local1 = 0x08
16319 Local1 <<= 0x08
16320 If ((Arg0 == 0xFFFFFFFF))
16321 {
16322 Local1 |= \TPCR
16323 If (\SPEN)
16324 {
16325 Local0 |= \PPCR
16326 If (!(\PPMF && 0x02000000))
16327 {
16328 Local1 |= 0x80
16329 }
16330
16331 If (!(\PPMF && 0x08000000))
16332 {
16333 Local1 |= 0x40
16334 }
16335 }
16336 Else
16337 {
16338 Local1 |= 0xC0
16339 }
16340 }
16341 Else
16342 {
16343 If (((\OSPX || \CPPX) && \SPEN))
16344 {
16345 Local2 = (Arg0 & 0x00FF0000)
16346 Local2 >>= 0x10
16347 Local0 |= Local2
16348 If ((Local2 ^ \PPCR))
16349 {
16350 \PPCA = Local2
16351 \PNTF (0x80)
16352 }
16353 }
16354
16355 If (\WVIS)
16356 {
16357 Local2 = (Arg0 & 0x1F)
16358 Local1 |= Local2
16359 If ((Local2 ^ \TPCR))
16360 {
16361 \TPCA = Local2
16362 \PNTF (0x82)
16363 }
16364 }
16365 }
16366
16367 Local0 <<= 0x10
16368 Local0 |= Local1
16369 Return (Local0)
16370 }
16371 }
16372
16373 Scope (\_SB.PCI0.LPC.EC)
16374 {
16375 Method (ATMC, 0, NotSerialized)
16376 {
16377 If ((\WNTF && \TATC))
16378 {
16379 If (HPAC)
16380 {
16381 Local0 = \TCFA
16382 Local1 = \TCTA
16383 Local2 = ((Local1 << 0x04) | Local0)
16384 Local3 = (Local2 ^ ATMX) /* \_SB_.PCI0.LPC_.EC__.ATMX */
16385 ATMX = Local2
16386 If ((\TCTA == 0x00))
16387 {
16388 \TCRT = \TCR0
16389 \TPSV = \TPS0
16390 }
16391 Else
16392 {
16393 If ((\TCTA == 0x01))
16394 {
16395 \TCRT = \TCR1
16396 \TPSV = \TPS1
16397 }
16398 Else
16399 {
16400 }
16401 }
16402 }
16403 Else
16404 {
16405 Local0 = \TCFD
16406 Local1 = \TCTD
16407 Local2 = ((Local1 << 0x04) | Local0)
16408 Local3 = (Local2 ^ ATMX) /* \_SB_.PCI0.LPC_.EC__.ATMX */
16409 ATMX = Local2
16410 If ((\TCTD == 0x00))
16411 {
16412 \TCRT = \TCR0
16413 \TPSV = \TPS0
16414 }
16415 Else
16416 {
16417 If ((\TCTD == 0x01))
16418 {
16419 \TCRT = \TCR1
16420 \TPSV = \TPS1
16421 }
16422 Else
16423 {
16424 }
16425 }
16426 }
16427
16428 If (Local3)
16429 {
16430 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
16431 {
16432 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6030)
16433 }
16434 }
16435
16436 Notify (\_TZ.THM0, 0x81) // Thermal Trip Point Change
16437 }
16438 }
16439 }
16440
16441 Scope (\_TZ)
16442 {
16443 ThermalZone (THM0)
16444 {
16445 Method (_CRT, 0, NotSerialized) // _CRT: Critical Temperature
16446 {
16447 Return (\TCRT)
16448 }
16449
16450 Method (_TMP, 0, NotSerialized) // _TMP: Temperature
16451 {
16452 If (\H8DR)
16453 {
16454 Local0 = \_SB.PCI0.LPC.EC.TMP0
16455 Local1 = \_SB.PCI0.LPC.EC.TSL2
16456 Local2 = \_SB.PCI0.LPC.EC.TSL3
16457 }
16458 Else
16459 {
16460 Local0 = \RBEC (0x78)
16461 Local1 = (\RBEC (0x8A) & 0x7F)
16462 Local2 = (\RBEC (0x8B) & 0x7F)
16463 }
16464
16465 If ((Local0 == 0x80))
16466 {
16467 Local0 = 0x30
16468 }
16469
16470 If (Local2)
16471 {
16472 \TSDL ()
16473 Return (C2K (0x80))
16474 }
16475
16476 If (!\_SB.PCI0.LPC.EC.HKEY.DHKC)
16477 {
16478 If (Local1)
16479 {
16480 \TSDL ()
16481 Return (C2K (0x80))
16482 }
16483 }
16484
16485 Return (C2K (Local0))
16486 }
16487 }
16488
16489 Method (C2K, 1, NotSerialized)
16490 {
16491 Local0 = ((Arg0 * 0x0A) + 0x0AAC)
16492 If ((Local0 <= 0x0AAC))
16493 {
16494 Local0 = 0x0BB8
16495 }
16496
16497 If ((Local0 > 0x0FAC))
16498 {
16499 Local0 = 0x0BB8
16500 }
16501
16502 Return (Local0)
16503 }
16504 }
16505
16506 Scope (\_SB.PCI0.LPC.EC)
16507 {
16508 Method (_Q40, 0, NotSerialized) // _Qxx: EC Query
16509 {
16510 Notify (\_TZ.THM0, 0x80) // Thermal Status Change
16511 If (\H8DR)
16512 {
16513 Local1 = \_SB.PCI0.LPC.EC.TSL2
16514 }
16515 Else
16516 {
16517 Local1 = (\RBEC (0x8A) & 0x7F)
16518 }
16519
16520 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
16521 {
16522 If (Local1)
16523 {
16524 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6022)
16525 }
16526 }
16527
16528 If (VIGD)
16529 {
16530 Noop
16531 }
16532 Else
16533 {
16534 \VTHR ()
16535 }
16536
16537 If ((\PPMF & 0x01))
16538 {
16539 If ((\OSPX || \CPPX))
16540 {
16541 \PNTF (0x80)
16542 }
16543 Else
16544 {
16545 Local2 = (\_SB.PCI0.LPC.EC.TSL0 & 0x77)
16546 If (Local2)
16547 {
16548 \STEP (0x09)
16549 }
16550 Else
16551 {
16552 \STEP (0x0A)
16553 }
16554 }
16555 }
16556 }
16557 }
16558
16559 Name (GPIC, 0x00)
16560 Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
16561 {
16562 \GPIC = Arg0
16563 }
16564
16565 OperationRegion (SMI0, SystemIO, 0xB2, 0x01)
16566 Field (SMI0, ByteAcc, NoLock, Preserve)
16567 {
16568 APMC, 8
16569 }
16570
16571 Field (MNVS, AnyAcc, NoLock, Preserve)
16572 {
16573 Offset (0xFC0),
16574 CMD, 8,
16575 ERR, 32,
16576 PAR0, 32,
16577 PAR1, 32,
16578 PAR2, 32,
16579 PAR3, 32
16580 }
16581
16582 Mutex (MSMI, 0x07)
16583 Method (SMI, 5, NotSerialized)
16584 {
16585 Acquire (MSMI, 0xFFFF)
16586 CMD = Arg0
16587 ERR = 0x01
16588 PAR0 = Arg1
16589 PAR1 = Arg2
16590 PAR2 = Arg3
16591 PAR3 = Arg4
16592 APMC = 0xF5
16593 While ((ERR == 0x01))
16594 {
16595 Sleep (0x01)
16596 APMC = 0xF5
16597 }
16598
16599 Local0 = PAR0 /* \PAR0 */
16600 Release (MSMI)
16601 Return (Local0)
16602 }
16603
16604 Method (RPCI, 1, NotSerialized)
16605 {
16606 Return (SMI (0x00, 0x00, Arg0, 0x00, 0x00))
16607 }
16608
16609 Method (WPCI, 2, NotSerialized)
16610 {
16611 SMI (0x00, 0x01, Arg0, Arg1, 0x00)
16612 }
16613
16614 Method (MPCI, 3, NotSerialized)
16615 {
16616 SMI (0x00, 0x02, Arg0, Arg1, Arg2)
16617 }
16618
16619 Method (RBEC, 1, NotSerialized)
16620 {
16621 Return (SMI (0x00, 0x03, Arg0, 0x00, 0x00))
16622 }
16623
16624 Method (WBEC, 2, NotSerialized)
16625 {
16626 SMI (0x00, 0x04, Arg0, Arg1, 0x00)
16627 }
16628
16629 Method (MBEC, 3, NotSerialized)
16630 {
16631 SMI (0x00, 0x05, Arg0, Arg1, Arg2)
16632 }
16633
16634 Method (RISA, 1, NotSerialized)
16635 {
16636 Return (SMI (0x00, 0x06, Arg0, 0x00, 0x00))
16637 }
16638
16639 Method (WISA, 2, NotSerialized)
16640 {
16641 SMI (0x00, 0x07, Arg0, Arg1, 0x00)
16642 }
16643
16644 Method (MISA, 3, NotSerialized)
16645 {
16646 SMI (0x00, 0x08, Arg0, Arg1, Arg2)
16647 }
16648
16649 Method (VEXP, 0, NotSerialized)
16650 {
16651 SMI (0x01, 0x00, 0x00, 0x00, 0x00)
16652 }
16653
16654 Method (VUPS, 1, NotSerialized)
16655 {
16656 SMI (0x01, 0x01, Arg0, 0x00, 0x00)
16657 }
16658
16659 Method (VSDS, 2, NotSerialized)
16660 {
16661 SMI (0x01, 0x02, Arg0, Arg1, 0x00)
16662 }
16663
16664 Method (VDDC, 0, NotSerialized)
16665 {
16666 SMI (0x01, 0x03, 0x00, 0x00, 0x00)
16667 }
16668
16669 Method (VVPD, 1, NotSerialized)
16670 {
16671 SMI (0x01, 0x04, Arg0, 0x00, 0x00)
16672 }
16673
16674 Method (VNRS, 1, NotSerialized)
16675 {
16676 SMI (0x01, 0x05, Arg0, 0x00, 0x00)
16677 }
16678
16679 Method (GLPW, 0, NotSerialized)
16680 {
16681 Return (SMI (0x01, 0x06, 0x00, 0x00, 0x00))
16682 }
16683
16684 Method (VSLD, 1, NotSerialized)
16685 {
16686 SMI (0x01, 0x07, Arg0, 0x00, 0x00)
16687 }
16688
16689 Method (VEVT, 1, NotSerialized)
16690 {
16691 Return (SMI (0x01, 0x08, Arg0, 0x00, 0x00))
16692 }
16693
16694 Method (VTHR, 0, NotSerialized)
16695 {
16696 Return (SMI (0x01, 0x09, 0x00, 0x00, 0x00))
16697 }
16698
16699 Method (VBRC, 1, NotSerialized)
16700 {
16701 SMI (0x01, 0x0A, Arg0, 0x00, 0x00)
16702 }
16703
16704 Method (VBRG, 0, NotSerialized)
16705 {
16706 Return (SMI (0x01, 0x0E, 0x00, 0x00, 0x00))
16707 }
16708
16709 Method (VCMS, 2, NotSerialized)
16710 {
16711 Return (SMI (0x01, 0x0B, Arg0, Arg1, 0x00))
16712 }
16713
16714 Method (VBTD, 0, NotSerialized)
16715 {
16716 Return (SMI (0x01, 0x0F, 0x00, 0x00, 0x00))
16717 }
16718
16719 Method (VHYB, 2, NotSerialized)
16720 {
16721 Return (SMI (0x01, 0x10, Arg0, Arg1, 0x00))
16722 }
16723
16724 Method (VDYN, 2, NotSerialized)
16725 {
16726 Return (SMI (0x01, 0x11, Arg0, Arg1, 0x00))
16727 }
16728
16729 Method (UCMS, 1, NotSerialized)
16730 {
16731 Return (SMI (0x02, Arg0, 0x00, 0x00, 0x00))
16732 }
16733
16734 Method (BHDP, 2, NotSerialized)
16735 {
16736 Return (SMI (0x03, 0x00, Arg0, Arg1, 0x00))
16737 }
16738
16739 Method (STEP, 1, NotSerialized)
16740 {
16741 SMI (0x04, Arg0, 0x00, 0x00, 0x00)
16742 }
16743
16744 Method (TRAP, 0, NotSerialized)
16745 {
16746 SMI (0x05, 0x00, 0x00, 0x00, 0x00)
16747 }
16748
16749 Method (CBRI, 0, NotSerialized)
16750 {
16751 SMI (0x05, 0x01, 0x00, 0x00, 0x00)
16752 }
16753
16754 Method (BCHK, 0, NotSerialized)
16755 {
16756 Return (SMI (0x05, 0x04, 0x00, 0x00, 0x00))
16757 }
16758
16759 Method (BYRS, 0, NotSerialized)
16760 {
16761 SMI (0x05, 0x05, 0x00, 0x00, 0x00)
16762 }
16763
16764 Method (LCHK, 1, NotSerialized)
16765 {
16766 Return (SMI (0x05, 0x06, Arg0, 0x00, 0x00))
16767 }
16768
16769 Method (BLTH, 1, NotSerialized)
16770 {
16771 Return (SMI (0x06, Arg0, 0x00, 0x00, 0x00))
16772 }
16773
16774 Method (PRSM, 2, NotSerialized)
16775 {
16776 Return (SMI (0x07, 0x00, Arg0, Arg1, 0x00))
16777 }
16778
16779 Method (IFRS, 2, NotSerialized)
16780 {
16781 Return (SMI (0x07, 0x01, Arg0, Arg1, 0x00))
16782 }
16783
16784 Method (TDPC, 1, NotSerialized)
16785 {
16786 Return (SMI (0x07, 0x02, Arg0, 0x00, 0x00))
16787 }
16788
16789 Method (ISOC, 1, NotSerialized)
16790 {
16791 Return (SMI (0x07, 0x03, Arg0, 0x00, 0x00))
16792 }
16793
16794 Method (WGSV, 1, NotSerialized)
16795 {
16796 Return (SMI (0x09, Arg0, 0x00, 0x00, 0x00))
16797 }
16798
16799 Method (SWTT, 1, NotSerialized)
16800 {
16801 If (SMI (0x0A, 0x02, Arg0, 0x00, 0x00))
16802 {
16803 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
16804 {
16805 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6030)
16806 }
16807 }
16808 }
16809
16810 Method (TSDL, 0, NotSerialized)
16811 {
16812 Return (SMI (0x0A, 0x03, 0x00, 0x00, 0x00))
16813 }
16814
16815 Method (SITT, 1, NotSerialized)
16816 {
16817 Return (SMI (0x0A, 0x04, Arg0, 0x00, 0x00))
16818 }
16819
16820 Method (TPHY, 1, NotSerialized)
16821 {
16822 SMI (0x0C, Arg0, 0x00, 0x00, 0x00)
16823 }
16824
16825 Method (CSUM, 1, NotSerialized)
16826 {
16827 Return (SMI (0x0E, Arg0, 0x00, 0x00, 0x00))
16828 }
16829
16830 Method (NVSS, 1, NotSerialized)
16831 {
16832 Return (SMI (0x0F, Arg0, 0x00, 0x00, 0x00))
16833 }
16834
16835 Method (WMIS, 2, NotSerialized)
16836 {
16837 Return (SMI (0x10, Arg0, Arg1, 0x00, 0x00))
16838 }
16839
16840 Method (AWON, 1, NotSerialized)
16841 {
16842 Return (SMI (0x12, Arg0, 0x00, 0x00, 0x00))
16843 }
16844
16845 Method (PMON, 2, NotSerialized)
16846 {
16847 Local0 = SizeOf (Arg0)
16848 Name (TSTR, Buffer (Local0) {})
16849 TSTR = Arg0
16850 \DBGS = TSTR /* \PMON.TSTR */
16851 SMI (0x11, Arg1, 0x00, 0x00, 0x00)
16852 }
16853
16854 Method (UAWS, 1, NotSerialized)
16855 {
16856 Return (SMI (0x13, Arg0, 0x00, 0x00, 0x00))
16857 }
16858
16859 Method (BFWC, 1, NotSerialized)
16860 {
16861 Return (SMI (0x14, 0x00, Arg0, 0x00, 0x00))
16862 }
16863
16864 Method (BFWP, 0, NotSerialized)
16865 {
16866 Return (SMI (0x14, 0x01, 0x00, 0x00, 0x00))
16867 }
16868
16869 Method (BFWL, 0, NotSerialized)
16870 {
16871 SMI (0x14, 0x02, 0x00, 0x00, 0x00)
16872 }
16873
16874 Method (BFWG, 1, NotSerialized)
16875 {
16876 SMI (0x14, 0x03, Arg0, 0x00, 0x00)
16877 }
16878
16879 Method (BDMC, 1, NotSerialized)
16880 {
16881 SMI (0x14, 0x04, Arg0, 0x00, 0x00)
16882 }
16883
16884 Method (PSIF, 2, NotSerialized)
16885 {
16886 Return (SMI (0x14, 0x05, Arg0, Arg1, 0x00))
16887 }
16888
16889 Method (FNSC, 2, NotSerialized)
16890 {
16891 Return (SMI (0x14, 0x06, Arg0, Arg1, 0x00))
16892 }
16893
16894 Method (AUDC, 2, NotSerialized)
16895 {
16896 Return (SMI (0x14, 0x07, Arg0, Arg1, 0x00))
16897 }
16898
16899 Method (SYBC, 2, NotSerialized)
16900 {
16901 Return (SMI (0x14, 0x08, Arg0, Arg1, 0x00))
16902 }
16903
16904 Method (KBLS, 2, NotSerialized)
16905 {
16906 Return (SMI (0x14, 0x09, Arg0, Arg1, 0x00))
16907 }
16908
16909 Method (UBIS, 1, NotSerialized)
16910 {
16911 Return (SMI (0x15, 0x00, Arg0, 0x00, 0x00))
16912 }
16913
16914 Method (DPIO, 2, NotSerialized)
16915 {
16916 If (!Arg0)
16917 {
16918 Return (0x00)
16919 }
16920
16921 If ((Arg0 > 0xF0))
16922 {
16923 Return (0x00)
16924 }
16925
16926 If ((Arg0 > 0xB4))
16927 {
16928 If (Arg1)
16929 {
16930 Return (0x02)
16931 }
16932 Else
16933 {
16934 Return (0x01)
16935 }
16936 }
16937
16938 If ((Arg0 > 0x78))
16939 {
16940 Return (0x03)
16941 }
16942
16943 Return (0x04)
16944 }
16945
16946 Method (DUDM, 2, NotSerialized)
16947 {
16948 If (!Arg1)
16949 {
16950 Return (0xFF)
16951 }
16952
16953 If ((Arg0 > 0x5A))
16954 {
16955 Return (0x00)
16956 }
16957
16958 If ((Arg0 > 0x3C))
16959 {
16960 Return (0x01)
16961 }
16962
16963 If ((Arg0 > 0x2D))
16964 {
16965 Return (0x02)
16966 }
16967
16968 If ((Arg0 > 0x1E))
16969 {
16970 Return (0x03)
16971 }
16972
16973 If ((Arg0 > 0x14))
16974 {
16975 Return (0x04)
16976 }
16977
16978 Return (0x05)
16979 }
16980
16981 Method (DMDM, 2, NotSerialized)
16982 {
16983 If (Arg1)
16984 {
16985 Return (0x00)
16986 }
16987
16988 If (!Arg0)
16989 {
16990 Return (0x00)
16991 }
16992
16993 If ((Arg0 > 0x96))
16994 {
16995 Return (0x01)
16996 }
16997
16998 If ((Arg0 > 0x78))
16999 {
17000 Return (0x02)
17001 }
17002
17003 Return (0x03)
17004 }
17005
17006 Method (UUDM, 2, NotSerialized)
17007 {
17008 If (!(Arg0 & 0x04))
17009 {
17010 Return (0x00)
17011 }
17012
17013 If ((Arg1 & 0x20))
17014 {
17015 Return (0x14)
17016 }
17017
17018 If ((Arg1 & 0x10))
17019 {
17020 Return (0x1E)
17021 }
17022
17023 If ((Arg1 & 0x08))
17024 {
17025 Return (0x2D)
17026 }
17027
17028 If ((Arg1 & 0x04))
17029 {
17030 Return (0x3C)
17031 }
17032
17033 If ((Arg1 & 0x02))
17034 {
17035 Return (0x5A)
17036 }
17037
17038 If ((Arg1 & 0x01))
17039 {
17040 Return (0x78)
17041 }
17042
17043 Return (0x00)
17044 }
17045
17046 Method (UMDM, 4, NotSerialized)
17047 {
17048 If (!(Arg0 & 0x02))
17049 {
17050 Return (0x00)
17051 }
17052
17053 If ((Arg1 & 0x04))
17054 {
17055 Return (Arg3)
17056 }
17057
17058 If ((Arg1 & 0x02))
17059 {
17060 If ((Arg3 <= 0x78))
17061 {
17062 Return (0xB4)
17063 }
17064 Else
17065 {
17066 Return (Arg3)
17067 }
17068 }
17069
17070 If ((Arg2 & 0x04))
17071 {
17072 If ((Arg3 <= 0xB4))
17073 {
17074 Return (0xF0)
17075 }
17076 Else
17077 {
17078 Return (Arg3)
17079 }
17080 }
17081
17082 Return (0x00)
17083 }
17084
17085 Method (UPIO, 4, NotSerialized)
17086 {
17087 If (!(Arg0 & 0x02))
17088 {
17089 If ((Arg2 == 0x02))
17090 {
17091 Return (0xF0)
17092 }
17093 Else
17094 {
17095 Return (0x0384)
17096 }
17097 }
17098
17099 If ((Arg1 & 0x02))
17100 {
17101 Return (Arg3)
17102 }
17103
17104 If ((Arg1 & 0x01))
17105 {
17106 If ((Arg3 <= 0x78))
17107 {
17108 Return (0xB4)
17109 }
17110 Else
17111 {
17112 Return (Arg3)
17113 }
17114 }
17115
17116 If ((Arg2 == 0x02))
17117 {
17118 Return (0xF0)
17119 }
17120 Else
17121 {
17122 Return (0x0384)
17123 }
17124 }
17125
17126 Method (FDMA, 2, NotSerialized)
17127 {
17128 If ((Arg1 != 0xFF))
17129 {
17130 Return ((Arg1 | 0x40))
17131 }
17132
17133 If ((Arg0 >= 0x03))
17134 {
17135 Return (((Arg0 - 0x02) | 0x20))
17136 }
17137
17138 If (Arg0)
17139 {
17140 Return (0x12)
17141 }
17142
17143 Return (0x00)
17144 }
17145
17146 Method (FPIO, 1, NotSerialized)
17147 {
17148 If ((Arg0 >= 0x03))
17149 {
17150 Return ((Arg0 | 0x08))
17151 }
17152
17153 If ((Arg0 == 0x01))
17154 {
17155 Return (0x01)
17156 }
17157
17158 Return (0x00)
17159 }
17160
17161 Method (SCMP, 2, NotSerialized)
17162 {
17163 Local0 = SizeOf (Arg0)
17164 If ((Local0 != SizeOf (Arg1)))
17165 {
17166 Return (One)
17167 }
17168
17169 Local0++
17170 Name (STR1, Buffer (Local0) {})
17171 Name (STR2, Buffer (Local0) {})
17172 STR1 = Arg0
17173 STR2 = Arg1
17174 Local1 = Zero
17175 While ((Local1 < Local0))
17176 {
17177 Local2 = DerefOf (Index (STR1, Local1))
17178 Local3 = DerefOf (Index (STR2, Local1))
17179 If ((Local2 != Local3))
17180 {
17181 Return (One)
17182 }
17183
17184 Local1++
17185 }
17186
17187 Return (Zero)
17188 }
17189
17190 Name (SPS, 0x00)
17191 Name (OSIF, 0x00)
17192 Name (WNTF, 0x00)
17193 Name (WXPF, 0x00)
17194 Name (WVIS, 0x00)
17195 Name (WIN7, 0x00)
17196 Name (WIN8, 0x00)
17197 Name (WSPV, 0x00)
17198 Name (LNUX, 0x00)
17199 Name (H8DR, 0x00)
17200 Name (MEMX, 0x00)
17201 Name (ACST, 0x00)
17202 Name (FMBL, 0x01)
17203 Name (FDTP, 0x02)
17204 Name (FUPS, 0x03)
17205 Name (FNID, 0x00)
17206 Name (RRBF, 0x00)
17207 Name (NBCF, 0x00)
17208 Scope (\)
17209 {
17210 Method (KOU1, 0, NotSerialized)
17211 {
17212 Stall (0x64)
17213 }
17214 }
17215
17216 Scope (\)
17217 {
17218 Method (KOU2, 0, NotSerialized)
17219 {
17220 Stall (0x64)
17221 }
17222 }
17223
17224 Scope (\_SB.PCI0.VID.LCD0)
17225 {
17226 Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
17227 {
17228 If (\WVIS)
17229 {
17230 \NBCF = 0x01
17231 }
17232
17233 Local0 = \_SB.PCI0.LPC.EC.BFRQ ()
17234 If ((\_SB.PCI0.VID.PFMB != Local0))
17235 {
17236 \_SB.PCI0.VID.AINT (0x03, Local0)
17237 }
17238
17239 If (\WIN8)
17240 {
17241 Return (Package (0x67)
17242 {
17243 0x64,
17244 0x64,
17245 0x00,
17246 0x01,
17247 0x02,
17248 0x03,
17249 0x04,
17250 0x05,
17251 0x06,
17252 0x07,
17253 0x08,
17254 0x09,
17255 0x0A,
17256 0x0B,
17257 0x0C,
17258 0x0D,
17259 0x0E,
17260 0x0F,
17261 0x10,
17262 0x11,
17263 0x12,
17264 0x13,
17265 0x14,
17266 0x15,
17267 0x16,
17268 0x17,
17269 0x18,
17270 0x19,
17271 0x1A,
17272 0x1B,
17273 0x1C,
17274 0x1D,
17275 0x1E,
17276 0x1F,
17277 0x20,
17278 0x21,
17279 0x22,
17280 0x23,
17281 0x24,
17282 0x25,
17283 0x26,
17284 0x27,
17285 0x28,
17286 0x29,
17287 0x2A,
17288 0x2B,
17289 0x2C,
17290 0x2D,
17291 0x2E,
17292 0x2F,
17293 0x30,
17294 0x31,
17295 0x32,
17296 0x33,
17297 0x34,
17298 0x35,
17299 0x36,
17300 0x37,
17301 0x38,
17302 0x39,
17303 0x3A,
17304 0x3B,
17305 0x3C,
17306 0x3D,
17307 0x3E,
17308 0x3F,
17309 0x40,
17310 0x41,
17311 0x42,
17312 0x43,
17313 0x44,
17314 0x45,
17315 0x46,
17316 0x47,
17317 0x48,
17318 0x49,
17319 0x4A,
17320 0x4B,
17321 0x4C,
17322 0x4D,
17323 0x4E,
17324 0x4F,
17325 0x50,
17326 0x51,
17327 0x52,
17328 0x53,
17329 0x54,
17330 0x55,
17331 0x56,
17332 0x57,
17333 0x58,
17334 0x59,
17335 0x5A,
17336 0x5B,
17337 0x5C,
17338 0x5D,
17339 0x5E,
17340 0x5F,
17341 0x60,
17342 0x61,
17343 0x62,
17344 0x63,
17345 0x64
17346 })
17347 }
17348
17349 Return (\_SB.PCI0.LPC.EC.BRTW)
17350 }
17351
17352 Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
17353 {
17354 If (\WIN8)
17355 {
17356 \_SB.PCI0.VID.AINT (0x01, \_SB.PCI0.LPC.EC.BRCD (Arg0))
17357 }
17358 Else
17359 {
17360 Local0 = Match (\_SB.PCI0.LPC.EC.BRTW, MEQ, Arg0, MTR, 0x00, 0x02)
17361 If ((Local0 != Ones))
17362 {
17363 Local1 = (Local0 - 0x02)
17364 \BRLV = Local1
17365 \_SB.PCI0.LPC.EC.BRNS ()
17366 \UCMS (0x16)
17367 }
17368 }
17369 }
17370
17371 Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
17372 {
17373 Local0 = \BRLV
17374 Local1 = (Local0 + 0x02)
17375 If ((Local1 <= 0x11))
17376 {
17377 Return (DerefOf (Index (\_SB.PCI0.LPC.EC.BRTW, Local1)))
17378 }
17379 Else
17380 {
17381 Return (Zero)
17382 }
17383 }
17384 }
17385
17386 Scope (\_SB.PCI0.PEG.VID.LCD0)
17387 {
17388 Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
17389 {
17390 If (\WVIS)
17391 {
17392 \NBCF = 0x01
17393 }
17394
17395 If (\WIN8)
17396 {
17397 Return (Package (0x67)
17398 {
17399 0x64,
17400 0x64,
17401 0x00,
17402 0x01,
17403 0x02,
17404 0x03,
17405 0x04,
17406 0x05,
17407 0x06,
17408 0x07,
17409 0x08,
17410 0x09,
17411 0x0A,
17412 0x0B,
17413 0x0C,
17414 0x0D,
17415 0x0E,
17416 0x0F,
17417 0x10,
17418 0x11,
17419 0x12,
17420 0x13,
17421 0x14,
17422 0x15,
17423 0x16,
17424 0x17,
17425 0x18,
17426 0x19,
17427 0x1A,
17428 0x1B,
17429 0x1C,
17430 0x1D,
17431 0x1E,
17432 0x1F,
17433 0x20,
17434 0x21,
17435 0x22,
17436 0x23,
17437 0x24,
17438 0x25,
17439 0x26,
17440 0x27,
17441 0x28,
17442 0x29,
17443 0x2A,
17444 0x2B,
17445 0x2C,
17446 0x2D,
17447 0x2E,
17448 0x2F,
17449 0x30,
17450 0x31,
17451 0x32,
17452 0x33,
17453 0x34,
17454 0x35,
17455 0x36,
17456 0x37,
17457 0x38,
17458 0x39,
17459 0x3A,
17460 0x3B,
17461 0x3C,
17462 0x3D,
17463 0x3E,
17464 0x3F,
17465 0x40,
17466 0x41,
17467 0x42,
17468 0x43,
17469 0x44,
17470 0x45,
17471 0x46,
17472 0x47,
17473 0x48,
17474 0x49,
17475 0x4A,
17476 0x4B,
17477 0x4C,
17478 0x4D,
17479 0x4E,
17480 0x4F,
17481 0x50,
17482 0x51,
17483 0x52,
17484 0x53,
17485 0x54,
17486 0x55,
17487 0x56,
17488 0x57,
17489 0x58,
17490 0x59,
17491 0x5A,
17492 0x5B,
17493 0x5C,
17494 0x5D,
17495 0x5E,
17496 0x5F,
17497 0x60,
17498 0x61,
17499 0x62,
17500 0x63,
17501 0x64
17502 })
17503 }
17504
17505 Return (\_SB.PCI0.LPC.EC.BRTW)
17506 }
17507
17508 Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
17509 {
17510 If (((\WIN7 != 0x00) && \_SB.PCI0.PEG.VID.ISOP ()))
17511 {
17512 \_SB.PCI0.VID.LCD0._BCM (Arg0)
17513 }
17514 Else
17515 {
17516 If (\NBCF)
17517 {
17518 Local0 = Match (\_SB.PCI0.LPC.EC.BRTW, MEQ, Arg0, MTR, 0x00, 0x02)
17519 If ((Local0 != Ones))
17520 {
17521 Local1 = (Local0 - 0x02)
17522 \VBRC (Local1)
17523 \BRLV = Local1
17524 }
17525 }
17526 }
17527 }
17528
17529 Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
17530 {
17531 If (((\WIN7 != 0x00) && \_SB.PCI0.PEG.VID.ISOP ()))
17532 {
17533 Return (\_SB.PCI0.VID.LCD0._BQC ())
17534 }
17535 Else
17536 {
17537 Local0 = \BRLV
17538 Local1 = (Local0 + 0x02)
17539 If ((Local1 <= 0x11))
17540 {
17541 Return (DerefOf (Index (\_SB.PCI0.LPC.EC.BRTW, Local1)))
17542 }
17543 Else
17544 {
17545 Return (Zero)
17546 }
17547 }
17548 }
17549 }
17550
17551 Scope (\_SB.PCI0.SAT1)
17552 {
17553 Device (PRT0)
17554 {
17555 Name (DIP0, 0x00)
17556 Name (HDTF, Buffer (0x0E)
17557 {
17558 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17559 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5 /* ...... */
17560 })
17561 Name (HETF, Buffer (0x15)
17562 {
17563 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17564 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09, /* ........ */
17565 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17566 })
17567 Name (ERTF, Buffer (0x15)
17568 {
17569 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17570 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, /* ......_. */
17571 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17572 })
17573 Name (HPTF, Buffer (0x15)
17574 {
17575 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17576 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, /* ........ */
17577 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17578 })
17579 Name (HQTF, Buffer (0x1C)
17580 {
17581 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17582 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, /* ........ */
17583 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00, /* ........ */
17584 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF /* .... */
17585 })
17586 Name (HXTF, Buffer (0x1C)
17587 {
17588 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17589 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, /* ......_. */
17590 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00, /* ........ */
17591 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF /* .... */
17592 })
17593 Name (DDTF, Buffer (0x0E)
17594 {
17595 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, /* ........ */
17596 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3 /* ...... */
17597 })
17598 CreateByteField (DDTF, 0x01, DTAT)
17599 CreateByteField (DDTF, 0x08, DTFT)
17600 Name (DGTF, Buffer (0x15)
17601 {
17602 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, /* ........ */
17603 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03, /* ........ */
17604 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17605 })
17606 CreateByteField (DGTF, 0x01, GTAT)
17607 CreateByteField (DGTF, 0x08, GTFT)
17608 Name (_ADR, 0xFFFF) // _ADR: Address
17609 Method (_SDD, 1, NotSerialized) // _SDD: Set Device Data
17610 {
17611 DIP0 = 0x00
17612 If ((SizeOf (Arg0) == 0x0200))
17613 {
17614 CreateWordField (Arg0, 0x9C, M078)
17615 If ((\DPP0 && (M078 & 0x08)))
17616 {
17617 DIP0 = 0x01
17618 }
17619 }
17620 }
17621
17622 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
17623 {
17624 If (DIP0)
17625 {
17626 Return (HPTF) /* \_SB_.PCI0.SAT1.PRT0.HPTF */
17627 }
17628 Else
17629 {
17630 Return (HDTF) /* \_SB_.PCI0.SAT1.PRT0.HDTF */
17631 }
17632 }
17633 }
17634
17635 Device (PRT1)
17636 {
17637 Name (DIP0, 0x00)
17638 Name (HDTF, Buffer (0x0E)
17639 {
17640 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17641 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5 /* ...... */
17642 })
17643 Name (HETF, Buffer (0x15)
17644 {
17645 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17646 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09, /* ........ */
17647 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17648 })
17649 Name (ERTF, Buffer (0x15)
17650 {
17651 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17652 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, /* ......_. */
17653 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17654 })
17655 Name (HPTF, Buffer (0x15)
17656 {
17657 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17658 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, /* ........ */
17659 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17660 })
17661 Name (HQTF, Buffer (0x1C)
17662 {
17663 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17664 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, /* ........ */
17665 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00, /* ........ */
17666 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF /* .... */
17667 })
17668 Name (HXTF, Buffer (0x1C)
17669 {
17670 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17671 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, /* ......_. */
17672 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00, /* ........ */
17673 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF /* .... */
17674 })
17675 Name (DDTF, Buffer (0x0E)
17676 {
17677 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, /* ........ */
17678 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3 /* ...... */
17679 })
17680 CreateByteField (DDTF, 0x01, DTAT)
17681 CreateByteField (DDTF, 0x08, DTFT)
17682 Name (DGTF, Buffer (0x15)
17683 {
17684 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, /* ........ */
17685 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03, /* ........ */
17686 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17687 })
17688 CreateByteField (DGTF, 0x01, GTAT)
17689 CreateByteField (DGTF, 0x08, GTFT)
17690 Name (_ADR, 0x0001FFFF) // _ADR: Address
17691 Method (_SDD, 1, NotSerialized) // _SDD: Set Device Data
17692 {
17693 DIP0 = 0x00
17694 If ((SizeOf (Arg0) == 0x0200))
17695 {
17696 CreateWordField (Arg0, 0x9C, M078)
17697 If ((\DPP1 && (M078 & 0x08)))
17698 {
17699 DIP0 = 0x01
17700 }
17701 }
17702 }
17703
17704 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
17705 {
17706 If (DIP0)
17707 {
17708 Return (HPTF) /* \_SB_.PCI0.SAT1.PRT1.HPTF */
17709 }
17710 Else
17711 {
17712 Return (HDTF) /* \_SB_.PCI0.SAT1.PRT1.HDTF */
17713 }
17714 }
17715 }
17716
17717 Device (PRT2)
17718 {
17719 Name (DIP0, 0x00)
17720 Name (HDTF, Buffer (0x0E)
17721 {
17722 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17723 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5 /* ...... */
17724 })
17725 Name (HETF, Buffer (0x15)
17726 {
17727 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17728 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09, /* ........ */
17729 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17730 })
17731 Name (ERTF, Buffer (0x15)
17732 {
17733 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17734 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, /* ......_. */
17735 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17736 })
17737 Name (HPTF, Buffer (0x15)
17738 {
17739 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17740 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, /* ........ */
17741 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17742 })
17743 Name (HQTF, Buffer (0x1C)
17744 {
17745 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17746 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, /* ........ */
17747 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00, /* ........ */
17748 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF /* .... */
17749 })
17750 Name (HXTF, Buffer (0x1C)
17751 {
17752 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17753 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, /* ......_. */
17754 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00, /* ........ */
17755 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF /* .... */
17756 })
17757 Name (DDTF, Buffer (0x0E)
17758 {
17759 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, /* ........ */
17760 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3 /* ...... */
17761 })
17762 CreateByteField (DDTF, 0x01, DTAT)
17763 CreateByteField (DDTF, 0x08, DTFT)
17764 Name (DGTF, Buffer (0x15)
17765 {
17766 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, /* ........ */
17767 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03, /* ........ */
17768 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17769 })
17770 CreateByteField (DGTF, 0x01, GTAT)
17771 CreateByteField (DGTF, 0x08, GTFT)
17772 Name (_ADR, 0x0002FFFF) // _ADR: Address
17773 Method (_SDD, 1, NotSerialized) // _SDD: Set Device Data
17774 {
17775 DIP0 = 0x00
17776 If ((SizeOf (Arg0) == 0x0200))
17777 {
17778 CreateWordField (Arg0, 0x9C, M078)
17779 If ((\DPP2 && (M078 & 0x08)))
17780 {
17781 DIP0 = 0x01
17782 }
17783 }
17784 }
17785
17786 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
17787 {
17788 If (DIP0)
17789 {
17790 Return (HPTF) /* \_SB_.PCI0.SAT1.PRT2.HPTF */
17791 }
17792 Else
17793 {
17794 Return (HDTF) /* \_SB_.PCI0.SAT1.PRT2.HDTF */
17795 }
17796 }
17797 }
17798
17799 Device (PRT3)
17800 {
17801 Name (DIP0, 0x00)
17802 Name (HDTF, Buffer (0x0E)
17803 {
17804 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17805 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5 /* ...... */
17806 })
17807 Name (HETF, Buffer (0x15)
17808 {
17809 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17810 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09, /* ........ */
17811 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17812 })
17813 Name (ERTF, Buffer (0x15)
17814 {
17815 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17816 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, /* ......_. */
17817 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17818 })
17819 Name (HPTF, Buffer (0x15)
17820 {
17821 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17822 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, /* ........ */
17823 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17824 })
17825 Name (HQTF, Buffer (0x1C)
17826 {
17827 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17828 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, /* ........ */
17829 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00, /* ........ */
17830 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF /* .... */
17831 })
17832 Name (HXTF, Buffer (0x1C)
17833 {
17834 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17835 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, /* ......_. */
17836 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00, /* ........ */
17837 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF /* .... */
17838 })
17839 Name (DDTF, Buffer (0x0E)
17840 {
17841 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, /* ........ */
17842 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3 /* ...... */
17843 })
17844 CreateByteField (DDTF, 0x01, DTAT)
17845 CreateByteField (DDTF, 0x08, DTFT)
17846 Name (DGTF, Buffer (0x15)
17847 {
17848 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, /* ........ */
17849 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03, /* ........ */
17850 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17851 })
17852 CreateByteField (DGTF, 0x01, GTAT)
17853 CreateByteField (DGTF, 0x08, GTFT)
17854 Name (_ADR, 0x0003FFFF) // _ADR: Address
17855 Method (_SDD, 1, NotSerialized) // _SDD: Set Device Data
17856 {
17857 DIP0 = 0x00
17858 If ((SizeOf (Arg0) == 0x0200))
17859 {
17860 CreateWordField (Arg0, 0x9C, M078)
17861 If ((\DPP3 && (M078 & 0x08)))
17862 {
17863 DIP0 = 0x01
17864 }
17865 }
17866 }
17867
17868 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
17869 {
17870 If (DIP0)
17871 {
17872 Return (HPTF) /* \_SB_.PCI0.SAT1.PRT3.HPTF */
17873 }
17874 Else
17875 {
17876 Return (HDTF) /* \_SB_.PCI0.SAT1.PRT3.HDTF */
17877 }
17878 }
17879 }
17880
17881 Device (PRT4)
17882 {
17883 Name (DIP0, 0x00)
17884 Name (HDTF, Buffer (0x0E)
17885 {
17886 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17887 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5 /* ...... */
17888 })
17889 Name (HETF, Buffer (0x15)
17890 {
17891 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17892 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09, /* ........ */
17893 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17894 })
17895 Name (ERTF, Buffer (0x15)
17896 {
17897 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17898 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, /* ......_. */
17899 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17900 })
17901 Name (HPTF, Buffer (0x15)
17902 {
17903 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17904 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, /* ........ */
17905 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17906 })
17907 Name (HQTF, Buffer (0x1C)
17908 {
17909 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17910 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, /* ........ */
17911 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00, /* ........ */
17912 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF /* .... */
17913 })
17914 Name (HXTF, Buffer (0x1C)
17915 {
17916 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17917 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, /* ......_. */
17918 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00, /* ........ */
17919 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF /* .... */
17920 })
17921 Name (DDTF, Buffer (0x0E)
17922 {
17923 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, /* ........ */
17924 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3 /* ...... */
17925 })
17926 CreateByteField (DDTF, 0x01, DTAT)
17927 CreateByteField (DDTF, 0x08, DTFT)
17928 Name (DGTF, Buffer (0x15)
17929 {
17930 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, /* ........ */
17931 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03, /* ........ */
17932 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17933 })
17934 CreateByteField (DGTF, 0x01, GTAT)
17935 CreateByteField (DGTF, 0x08, GTFT)
17936 Name (_ADR, 0x0004FFFF) // _ADR: Address
17937 Method (_SDD, 1, NotSerialized) // _SDD: Set Device Data
17938 {
17939 DIP0 = 0x00
17940 If ((SizeOf (Arg0) == 0x0200))
17941 {
17942 CreateWordField (Arg0, 0x9C, M078)
17943 If ((\DPP4 && (M078 & 0x08)))
17944 {
17945 DIP0 = 0x01
17946 }
17947 }
17948 }
17949
17950 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
17951 {
17952 If (DIP0)
17953 {
17954 Return (HPTF) /* \_SB_.PCI0.SAT1.PRT4.HPTF */
17955 }
17956
17957 Return (HDTF) /* \_SB_.PCI0.SAT1.PRT4.HDTF */
17958 }
17959 }
17960
17961 Device (PRT5)
17962 {
17963 Name (DIP0, 0x00)
17964 Name (HDTF, Buffer (0x0E)
17965 {
17966 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17967 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5 /* ...... */
17968 })
17969 Name (HETF, Buffer (0x15)
17970 {
17971 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17972 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09, /* ........ */
17973 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17974 })
17975 Name (ERTF, Buffer (0x15)
17976 {
17977 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17978 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, /* ......_. */
17979 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17980 })
17981 Name (HPTF, Buffer (0x15)
17982 {
17983 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17984 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, /* ........ */
17985 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
17986 })
17987 Name (HQTF, Buffer (0x1C)
17988 {
17989 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17990 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, /* ........ */
17991 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00, /* ........ */
17992 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF /* .... */
17993 })
17994 Name (HXTF, Buffer (0x1C)
17995 {
17996 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, /* ........ */
17997 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, /* ......_. */
17998 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00, /* ........ */
17999 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF /* .... */
18000 })
18001 Name (DDTF, Buffer (0x0E)
18002 {
18003 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, /* ........ */
18004 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3 /* ...... */
18005 })
18006 CreateByteField (DDTF, 0x01, DTAT)
18007 CreateByteField (DDTF, 0x08, DTFT)
18008 Name (DGTF, Buffer (0x15)
18009 {
18010 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, /* ........ */
18011 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03, /* ........ */
18012 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF /* ..... */
18013 })
18014 CreateByteField (DGTF, 0x01, GTAT)
18015 CreateByteField (DGTF, 0x08, GTFT)
18016 Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
18017 {
18018 \_SB.PCI0.LPC.EC.BEJ0 (Arg0)
18019 }
18020
18021 Method (_STA, 0, NotSerialized) // _STA: Status
18022 {
18023 If (\_SB.PCI0.LPC.EC.BSTA (0x01))
18024 {
18025 Return (0x0F)
18026 }
18027 Else
18028 {
18029 Return (0x00)
18030 }
18031 }
18032
18033 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
18034 {
18035 Name (PLDP, Package (0x01)
18036 {
18037 Buffer (0x10)
18038 {
18039 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
18040 /* 0008 */ 0x59, 0x11, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00 /* Y....... */
18041 }
18042 })
18043 Return (PLDP) /* \_SB_.PCI0.SAT1.PRT5._PLD.PLDP */
18044 }
18045
18046 Name (_ADR, 0x0005FFFF) // _ADR: Address
18047 Method (_SDD, 1, NotSerialized) // _SDD: Set Device Data
18048 {
18049 DIP0 = 0x00
18050 If ((SizeOf (Arg0) == 0x0200))
18051 {
18052 CreateWordField (Arg0, 0x9C, M078)
18053 CreateWordField (Arg0, 0x00, M000)
18054 If ((M000 & 0xC000))
18055 {
18056 If (!(M000 & 0x4000))
18057 {
18058 \IDET = 0x03
18059 \_SB.PCI0.LPC.EC.BDEV = 0x03
18060 }
18061 }
18062 Else
18063 {
18064 \IDET = 0x06
18065 \_SB.PCI0.LPC.EC.BDEV = 0x06
18066 }
18067
18068 If ((\DPP5 && (M078 & 0x08)))
18069 {
18070 DIP0 = 0x01
18071 }
18072 }
18073 }
18074
18075 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
18076 {
18077 Local0 = \_SB.PCI0.LPC.EC.BGID (0x00)
18078 If ((Local0 == 0x07))
18079 {
18080 Local0 = 0x06
18081 }
18082
18083 If ((Local0 == 0x06))
18084 {
18085 If (DIP0)
18086 {
18087 Return (HPTF) /* \_SB_.PCI0.SAT1.PRT5.HPTF */
18088 }
18089 Else
18090 {
18091 Return (HDTF) /* \_SB_.PCI0.SAT1.PRT5.HDTF */
18092 }
18093 }
18094
18095 If (DIP0)
18096 {
18097 GTFT = \CDFL
18098 GTAT = \CDAH
18099 Return (DGTF) /* \_SB_.PCI0.SAT1.PRT5.DGTF */
18100 }
18101
18102 DTFT = \CDFL
18103 DTAT = \CDAH
18104 Return (DDTF) /* \_SB_.PCI0.SAT1.PRT5.DDTF */
18105 }
18106
18107 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
18108 {
18109 Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler
18110 Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
18111 If ((Arg0 == ToUUID ("bdfaef30-aebb-11de-8a39-0800200c9a66")))
18112 {
18113 While (One)
18114 {
18115 _T_0 = ToInteger (Arg2)
18116 If ((_T_0 == 0x00))
18117 {
18118 While (One)
18119 {
18120 _T_1 = ToInteger (Arg1)
18121 If ((_T_1 == 0x01))
18122 {
18123 Return (Buffer (0x01)
18124 {
18125 0x0F /* . */
18126 })
18127 }
18128 Else
18129 {
18130 Return (Buffer (0x01)
18131 {
18132 0x00 /* . */
18133 })
18134 }
18135
18136 Break
18137 }
18138 }
18139 Else
18140 {
18141 If ((_T_0 == 0x01))
18142 {
18143 ODDF = 0x01
18144 Return (0x01)
18145 }
18146 Else
18147 {
18148 If ((_T_0 == 0x02))
18149 {
18150 \_SB.PCI0.LPC.EC.BDIS ()
18151 Sleep (0xC8)
18152 ODDF = 0x01
18153 Return (0x01)
18154 }
18155 Else
18156 {
18157 If ((_T_0 == 0x03))
18158 {
18159 If (\_SB.PCI0.LPC.CSON)
18160 {
18161 \_SB.PCI0.LPC.EC.BPON (0x00)
18162 Sleep (0xC8)
18163 }
18164
18165 Return (0x01)
18166 }
18167 Else
18168 {
18169 Return (0x00)
18170 }
18171 }
18172 }
18173 }
18174
18175 Break
18176 }
18177 }
18178 Else
18179 {
18180 Return (0x00)
18181 }
18182 }
18183 }
18184 }
18185
18186 Scope (\_PR.CPU0)
18187 {
18188 Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilites
18189 {
18190 Local0 = Zero
18191 Local0 = \_SB.PCI0.LPC.EC.LPMD ()
18192 If (!Local0)
18193 {
18194 If (((\_SB.PCI0.LPC.EC.AC._PSR () && \TCFA) || (!\_SB.PCI0.LPC.EC.AC._PSR () && \TCFD)))
18195 {
18196 If ((\_SB.PCI0.LPC.EC.TSL0 & 0x76))
18197 {
18198 Local0 = \LWST
18199 }
18200 }
18201 Else
18202 {
18203 If ((\_SB.PCI0.LPC.EC.TSL0 & 0x77))
18204 {
18205 Local0 = \LWST
18206 }
18207 }
18208
18209 If (!Local0)
18210 {
18211 If ((\PPCA || \FTPS))
18212 {
18213 If ((\FTPS <= \PPCA))
18214 {
18215 Local0 = \PPCA
18216 }
18217 Else
18218 {
18219 Local0 = \FTPS
18220 }
18221 }
18222 }
18223 }
18224
18225 If (((\GFPL && !Local0) || (!\GFPL && Local0)))
18226 {
18227 Local1 = 0x03E8
18228 While (\_SB.PCI0.LPC.EC.PIBS)
18229 {
18230 Sleep (One)
18231 Local1--
18232 If (!Local1)
18233 {
18234 \PPCR = Local0
18235 Return (Local0)
18236 }
18237 }
18238
18239 If (Local0)
18240 {
18241 If (!\GFPL)
18242 {
18243 \GFPL = One
18244 \_SB.PCI0.LPC.EC.PLSL = 0x04
18245 \_SB.PCI0.LPC.EC.PLTU = One
18246 \_SB.PCI0.LPC.EC.PLLS = 0x0D
18247 \_SB.PCI0.LPC.EC.PLMS = Zero
18248 }
18249 }
18250 Else
18251 {
18252 If (\GFPL)
18253 {
18254 \GFPL = Zero
18255 \_SB.PCI0.LPC.EC.PLSL = 0x04
18256 If (\MTAU)
18257 {
18258 \_SB.PCI0.LPC.EC.PLTU = \MTAU
18259 }
18260 Else
18261 {
18262 \_SB.PCI0.LPC.EC.PLTU = 0x1C
18263 }
18264
18265 \_SB.PCI0.LPC.EC.PLLS = \PL1L
18266 \_SB.PCI0.LPC.EC.PLMS = \PL1M
18267 }
18268 }
18269 }
18270
18271 If (!Local0)
18272 {
18273 If (!\_SB.PCI0.LPC.EC.AC._PSR ())
18274 {
18275 If (((\VIGD == One) && (\VDSC == Zero)))
18276 {
18277 Noop
18278 }
18279 Else
18280 {
18281 If ((\TDNV || \_SB.PCI0.LPC.IVPW))
18282 {
18283 If (\CPUC)
18284 {
18285 Noop
18286 }
18287 Else
18288 {
18289 Local0 = \LPST
18290 }
18291 }
18292 }
18293 }
18294 }
18295
18296 \PPCR = Local0
18297 Return (Local0)
18298 }
18299
18300 Method (_PCT, 0, NotSerialized) // _PCT: Performance Control
18301 {
18302 If (((CFGD & One) && (PDC0 & One)))
18303 {
18304 Return (Package (0x02)
18305 {
18306 ResourceTemplate ()
18307 {
18308 Register (FFixedHW,
18309 0x00, // Bit Width
18310 0x00, // Bit Offset
18311 0x0000000000000000, // Address
18312 ,)
18313 },
18314
18315 ResourceTemplate ()
18316 {
18317 Register (FFixedHW,
18318 0x00, // Bit Width
18319 0x00, // Bit Offset
18320 0x0000000000000000, // Address
18321 ,)
18322 }
18323 })
18324 }
18325 }
18326
18327 Name (_PSS, Package (0x10) // _PSS: Performance Supported States
18328 {
18329 Package (0x06)
18330 {
18331 0x00000A8D,
18332 0x0000B798,
18333 0x0000000A,
18334 0x0000000A,
18335 0x00002900,
18336 0x00002900
18337 },
18338
18339 Package (0x06)
18340 {
18341 0x00000A8C,
18342 0x0000B798,
18343 0x0000000A,
18344 0x0000000A,
18345 0x00001B00,
18346 0x00001B00
18347 },
18348
18349 Package (0x06)
18350 {
18351 0x00000A28,
18352 0x0000AE3F,
18353 0x0000000A,
18354 0x0000000A,
18355 0x00001A00,
18356 0x00001A00
18357 },
18358
18359 Package (0x06)
18360 {
18361 0x00000960,
18362 0x00009C15,
18363 0x0000000A,
18364 0x0000000A,
18365 0x00001800,
18366 0x00001800
18367 },
18368
18369 Package (0x06)
18370 {
18371 0x000008FC,
18372 0x00009505,
18373 0x0000000A,
18374 0x0000000A,
18375 0x00001700,
18376 0x00001700
18377 },
18378
18379 Package (0x06)
18380 {
18381 0x00000898,
18382 0x00008C5A,
18383 0x0000000A,
18384 0x0000000A,
18385 0x00001600,
18386 0x00001600
18387 },
18388
18389 Package (0x06)
18390 {
18391 0x000007D0,
18392 0x00007D42,
18393 0x0000000A,
18394 0x0000000A,
18395 0x00001400,
18396 0x00001400
18397 },
18398
18399 Package (0x06)
18400 {
18401 0x0000076C,
18402 0x00007516,
18403 0x0000000A,
18404 0x0000000A,
18405 0x00001300,
18406 0x00001300
18407 },
18408
18409 Package (0x06)
18410 {
18411 0x000006A4,
18412 0x0000653E,
18413 0x0000000A,
18414 0x0000000A,
18415 0x00001100,
18416 0x00001100
18417 },
18418
18419 Package (0x06)
18420 {
18421 0x00000640,
18422 0x00005F34,
18423 0x0000000A,
18424 0x0000000A,
18425 0x00001000,
18426 0x00001000
18427 },
18428
18429 Package (0x06)
18430 {
18431 0x000005DC,
18432 0x000057AC,
18433 0x0000000A,
18434 0x0000000A,
18435 0x00000F00,
18436 0x00000F00
18437 },
18438
18439 Package (0x06)
18440 {
18441 0x00000514,
18442 0x00004AA7,
18443 0x0000000A,
18444 0x0000000A,
18445 0x00000D00,
18446 0x00000D00
18447 },
18448
18449 Package (0x06)
18450 {
18451 0x000004B0,
18452 0x00004396,
18453 0x0000000A,
18454 0x0000000A,
18455 0x00000C00,
18456 0x00000C00
18457 },
18458
18459 Package (0x06)
18460 {
18461 0x0000044C,
18462 0x00003CAE,
18463 0x0000000A,
18464 0x0000000A,
18465 0x00000B00,
18466 0x00000B00
18467 },
18468
18469 Package (0x06)
18470 {
18471 0x00000384,
18472 0x000030D2,
18473 0x0000000A,
18474 0x0000000A,
18475 0x00000900,
18476 0x00000900
18477 },
18478
18479 Package (0x06)
18480 {
18481 0x00000320,
18482 0x00002A5C,
18483 0x0000000A,
18484 0x0000000A,
18485 0x00000800,
18486 0x00000800
18487 }
18488 })
18489 Package (0x06)
18490 {
18491 0x80000000,
18492 0x80000000,
18493 0x80000000,
18494 0x80000000,
18495 0x80000000,
18496 0x80000000
18497 }
18498
18499 Package (0x06)
18500 {
18501 0x80000000,
18502 0x80000000,
18503 0x80000000,
18504 0x80000000,
18505 0x80000000,
18506 0x80000000
18507 }
18508
18509 Package (0x06)
18510 {
18511 0x80000000,
18512 0x80000000,
18513 0x80000000,
18514 0x80000000,
18515 0x80000000,
18516 0x80000000
18517 }
18518
18519 Package (0x06)
18520 {
18521 0x80000000,
18522 0x80000000,
18523 0x80000000,
18524 0x80000000,
18525 0x80000000,
18526 0x80000000
18527 }
18528
18529 Package (0x06)
18530 {
18531 0x80000000,
18532 0x80000000,
18533 0x80000000,
18534 0x80000000,
18535 0x80000000,
18536 0x80000000
18537 }
18538
18539 Package (0x06)
18540 {
18541 0x80000000,
18542 0x80000000,
18543 0x80000000,
18544 0x80000000,
18545 0x80000000,
18546 0x80000000
18547 }
18548
18549 Package (0x06)
18550 {
18551 0x80000000,
18552 0x80000000,
18553 0x80000000,
18554 0x80000000,
18555 0x80000000,
18556 0x80000000
18557 }
18558
18559 Package (0x06)
18560 {
18561 0x80000000,
18562 0x80000000,
18563 0x80000000,
18564 0x80000000,
18565 0x80000000,
18566 0x80000000
18567 }
18568
18569 Package (0x06)
18570 {
18571 0x80000000,
18572 0x80000000,
18573 0x80000000,
18574 0x80000000,
18575 0x80000000,
18576 0x80000000
18577 }
18578
18579 Package (0x06)
18580 {
18581 0x80000000,
18582 0x80000000,
18583 0x80000000,
18584 0x80000000,
18585 0x80000000,
18586 0x80000000
18587 }
18588
18589 Package (0x06)
18590 {
18591 0x80000000,
18592 0x80000000,
18593 0x80000000,
18594 0x80000000,
18595 0x80000000,
18596 0x80000000
18597 }
18598
18599 Package (0x06)
18600 {
18601 0x80000000,
18602 0x80000000,
18603 0x80000000,
18604 0x80000000,
18605 0x80000000,
18606 0x80000000
18607 }
18608
18609 Package (0x06)
18610 {
18611 0x80000000,
18612 0x80000000,
18613 0x80000000,
18614 0x80000000,
18615 0x80000000,
18616 0x80000000
18617 }
18618
18619 Package (0x06)
18620 {
18621 0x80000000,
18622 0x80000000,
18623 0x80000000,
18624 0x80000000,
18625 0x80000000,
18626 0x80000000
18627 }
18628
18629 Package (0x06)
18630 {
18631 0x80000000,
18632 0x80000000,
18633 0x80000000,
18634 0x80000000,
18635 0x80000000,
18636 0x80000000
18637 }
18638
18639 Package (0x06)
18640 {
18641 0x80000000,
18642 0x80000000,
18643 0x80000000,
18644 0x80000000,
18645 0x80000000,
18646 0x80000000
18647 }
18648
18649 Name (PSDF, Zero)
18650 Method (_PSD, 0, NotSerialized) // _PSD: Power State Dependencies
18651 {
18652 If (!PSDF)
18653 {
18654 Index (DerefOf (Index (HPSD, Zero)), 0x04) = TCNT /* \TCNT */
18655 Index (DerefOf (Index (SPSD, Zero)), 0x04) = TCNT /* \TCNT */
18656 PSDF = Ones
18657 }
18658
18659 If ((PDC0 & 0x0800))
18660 {
18661 Return (HPSD) /* \_PR_.CPU0.HPSD */
18662 }
18663
18664 Return (SPSD) /* \_PR_.CPU0.SPSD */
18665 }
18666
18667 Name (HPSD, Package (0x01)
18668 {
18669 Package (0x05)
18670 {
18671 0x05,
18672 Zero,
18673 Zero,
18674 0xFE,
18675 0x80
18676 }
18677 })
18678 Name (SPSD, Package (0x01)
18679 {
18680 Package (0x05)
18681 {
18682 0x05,
18683 Zero,
18684 Zero,
18685 0xFC,
18686 0x80
18687 }
18688 })
18689 }
18690
18691 Scope (\)
18692 {
18693 Name (SSDT, Package (0x0C)
18694 {
18695 "CPU0IST ",
18696 0xB5F6D018,
18697 0x000007D3,
18698 "APIST ",
18699 0xBCD1D618,
18700 0x000005AA,
18701 "CPU0CST ",
18702 0xBCCC7918,
18703 0x00000436,
18704 "APCST ",
18705 0xBCD1EC18,
18706 0x00000119
18707 })
18708 Name (\PDC0, 0x80000000)
18709 Name (\PDC1, 0x80000000)
18710 Name (\PDC2, 0x80000000)
18711 Name (\PDC3, 0x80000000)
18712 Name (\PDC4, 0x80000000)
18713 Name (\PDC5, 0x80000000)
18714 Name (\PDC6, 0x80000000)
18715 Name (\PDC7, 0x80000000)
18716 Name (\SDTL, Zero)
18717 }
18718
18719 Scope (\_PR)
18720 {
18721 OperationRegion (PPMT, SystemMemory, 0xBCE69F98, 0x003A)
18722 Field (PPMT, AnyAcc, Lock, Preserve)
18723 {
18724 PGRV, 8,
18725 CFGD, 32,
18726 Offset (0x06),
18727 ACRT, 8,
18728 APSV, 8,
18729 AAC0, 8,
18730 CPID, 32,
18731 CPPC, 8,
18732 CCTP, 8,
18733 CLVL, 8,
18734 CBMI, 8,
18735 PL10, 16,
18736 PL20, 16,
18737 PLW0, 8,
18738 CTC0, 8,
18739 TAR0, 8,
18740 PPC0, 8,
18741 PL11, 16,
18742 PL21, 16,
18743 PLW1, 8,
18744 CTC1, 8,
18745 TAR1, 8,
18746 PPC1, 8,
18747 PL12, 16,
18748 PL22, 16,
18749 PLW2, 8,
18750 CTC2, 8,
18751 TAR2, 8,
18752 PPC2, 8,
18753 C3MW, 8,
18754 C6MW, 8,
18755 C7MW, 8,
18756 CDMW, 8,
18757 C3LT, 16,
18758 C6LT, 16,
18759 C7LT, 16,
18760 CDLT, 16,
18761 CDLV, 16,
18762 CDPW, 16,
18763 MPMF, 8
18764 }
18765 }
18766
18767 Scope (\_PR.CPU0)
18768 {
18769 Name (HI0, Zero)
18770 Name (HC0, Zero)
18771 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
18772 {
18773 If (CondRefOf (\_PR.CPU0._PPC))
18774 {
18775 \_PR.CPU0._PPC = CPPC /* \_PR_.CPPC */
18776 }
18777
18778 Local0 = CPDC (Arg0)
18779 GCAP (Local0)
18780 Return (Local0)
18781 }
18782
18783 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
18784 {
18785 Local0 = COSC (Arg0, Arg1, Arg2, Arg3)
18786 GCAP (Local0)
18787 Return (Local0)
18788 }
18789
18790 Method (CPDC, 1, NotSerialized)
18791 {
18792 CreateDWordField (Arg0, Zero, REVS)
18793 CreateDWordField (Arg0, 0x04, SIZE)
18794 Local0 = SizeOf (Arg0)
18795 Local1 = (Local0 - 0x08)
18796 CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
18797 Name (STS0, Buffer (0x04)
18798 {
18799 0x00, 0x00, 0x00, 0x00 /* .... */
18800 })
18801 Concatenate (STS0, TEMP, Local2)
18802 Return (COSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2))
18803 }
18804
18805 Method (COSC, 4, NotSerialized)
18806 {
18807 CreateDWordField (Arg3, Zero, STS0)
18808 CreateDWordField (Arg3, 0x04, CAP0)
18809 CreateDWordField (Arg0, Zero, IID0)
18810 CreateDWordField (Arg0, 0x04, IID1)
18811 CreateDWordField (Arg0, 0x08, IID2)
18812 CreateDWordField (Arg0, 0x0C, IID3)
18813 Name (UID0, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
18814 CreateDWordField (UID0, Zero, EID0)
18815 CreateDWordField (UID0, 0x04, EID1)
18816 CreateDWordField (UID0, 0x08, EID2)
18817 CreateDWordField (UID0, 0x0C, EID3)
18818 If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
18819 IID2 == EID2) && (IID3 == EID3))))
18820 {
18821 STS0 = 0x06
18822 Return (Arg3)
18823 }
18824
18825 If ((Arg1 != One))
18826 {
18827 STS0 = 0x0A
18828 Return (Arg3)
18829 }
18830
18831 Return (Arg3)
18832 }
18833
18834 Method (GCAP, 1, NotSerialized)
18835 {
18836 CreateDWordField (Arg0, Zero, STS0)
18837 CreateDWordField (Arg0, 0x04, CAP0)
18838 If (((STS0 == 0x06) || (STS0 == 0x0A)))
18839 {
18840 Return (Zero)
18841 }
18842
18843 If ((STS0 & One))
18844 {
18845 CAP0 &= 0x0BFF
18846 Return (Zero)
18847 }
18848
18849 PDC0 = ((PDC0 & 0x7FFFFFFF) | CAP0) /* \_PR_.CPU0.GCAP.CAP0 */
18850 If ((CFGD & 0x7A))
18851 {
18852 If ((((CFGD & 0x0200) && (PDC0 & 0x18)) && !
18853 (SDTL & 0x02)))
18854 {
18855 SDTL |= 0x02
18856 OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08)))
18857 Load (CST0, HC0) /* \_PR_.CPU0.HC0_ */
18858 }
18859 }
18860
18861 Return (Zero)
18862 }
18863 }
18864
18865 Scope (\_PR.CPU1)
18866 {
18867 Name (HI1, Zero)
18868 Name (HC1, Zero)
18869 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
18870 {
18871 Local0 = \_PR.CPU0.CPDC (Arg0)
18872 GCAP (Local0)
18873 Return (Local0)
18874 }
18875
18876 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
18877 {
18878 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
18879 GCAP (Local0)
18880 Return (Local0)
18881 }
18882
18883 Method (GCAP, 1, NotSerialized)
18884 {
18885 CreateDWordField (Arg0, Zero, STS1)
18886 CreateDWordField (Arg0, 0x04, CAP1)
18887 If (((STS1 == 0x06) || (STS1 == 0x0A)))
18888 {
18889 Return (Zero)
18890 }
18891
18892 If ((STS1 & One))
18893 {
18894 CAP1 &= 0x0BFF
18895 Return (Zero)
18896 }
18897
18898 PDC1 = ((PDC1 & 0x7FFFFFFF) | CAP1) /* \_PR_.CPU1.GCAP.CAP1 */
18899 If (((PDC1 & 0x09) == 0x09))
18900 {
18901 APPT ()
18902 }
18903
18904 If ((PDC1 & 0x18))
18905 {
18906 APCT ()
18907 }
18908
18909 PDC0 = PDC1 /* \PDC1 */
18910 Return (Zero)
18911 }
18912
18913 Method (APCT, 0, NotSerialized)
18914 {
18915 If (((CFGD & 0x7A) && !(SDTL & 0x20)))
18916 {
18917 SDTL |= 0x20
18918 OperationRegion (CST1, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B)))
18919 Load (CST1, HC1) /* \_PR_.CPU1.HC1_ */
18920 }
18921 }
18922
18923 Method (APPT, 0, NotSerialized)
18924 {
18925 If (((CFGD & One) && !(SDTL & 0x10)))
18926 {
18927 SDTL |= 0x10
18928 OperationRegion (IST1, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05)))
18929 Load (IST1, HI1) /* \_PR_.CPU1.HI1_ */
18930 }
18931 }
18932 }
18933
18934 Scope (\_PR.CPU2)
18935 {
18936 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
18937 {
18938 Local0 = \_PR.CPU0.CPDC (Arg0)
18939 GCAP (Local0)
18940 Return (Local0)
18941 }
18942
18943 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
18944 {
18945 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
18946 GCAP (Local0)
18947 Return (Local0)
18948 }
18949
18950 Method (GCAP, 1, NotSerialized)
18951 {
18952 CreateDWordField (Arg0, Zero, STS2)
18953 CreateDWordField (Arg0, 0x04, CAP2)
18954 If (((STS2 == 0x06) || (STS2 == 0x0A)))
18955 {
18956 Return (Zero)
18957 }
18958
18959 If ((STS2 & One))
18960 {
18961 CAP2 &= 0x0BFF
18962 Return (Zero)
18963 }
18964
18965 PDC2 = ((PDC2 & 0x7FFFFFFF) | CAP2) /* \_PR_.CPU2.GCAP.CAP2 */
18966 If (((PDC2 & 0x09) == 0x09))
18967 {
18968 \_PR.CPU1.APPT ()
18969 }
18970
18971 If ((PDC2 & 0x18))
18972 {
18973 \_PR.CPU1.APCT ()
18974 }
18975
18976 PDC0 = PDC2 /* \PDC2 */
18977 Return (Zero)
18978 }
18979 }
18980
18981 Scope (\_PR.CPU3)
18982 {
18983 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
18984 {
18985 Local0 = \_PR.CPU0.CPDC (Arg0)
18986 GCAP (Local0)
18987 Return (Local0)
18988 }
18989
18990 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
18991 {
18992 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
18993 GCAP (Local0)
18994 Return (Local0)
18995 }
18996
18997 Method (GCAP, 1, NotSerialized)
18998 {
18999 CreateDWordField (Arg0, Zero, STS3)
19000 CreateDWordField (Arg0, 0x04, CAP3)
19001 If (((STS3 == 0x06) || (STS3 == 0x0A)))
19002 {
19003 Return (Zero)
19004 }
19005
19006 If ((STS3 & One))
19007 {
19008 CAP3 &= 0x0BFF
19009 Return (Zero)
19010 }
19011
19012 PDC3 = ((PDC3 & 0x7FFFFFFF) | CAP3) /* \_PR_.CPU3.GCAP.CAP3 */
19013 If (((PDC3 & 0x09) == 0x09))
19014 {
19015 \_PR.CPU1.APPT ()
19016 }
19017
19018 If ((PDC3 & 0x18))
19019 {
19020 \_PR.CPU1.APCT ()
19021 }
19022
19023 PDC0 = PDC3 /* \PDC3 */
19024 Return (Zero)
19025 }
19026 }
19027
19028 Scope (\_PR.CPU4)
19029 {
19030 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
19031 {
19032 Local0 = \_PR.CPU0.CPDC (Arg0)
19033 GCAP (Local0)
19034 Return (Local0)
19035 }
19036
19037 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
19038 {
19039 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
19040 GCAP (Local0)
19041 Return (Local0)
19042 }
19043
19044 Method (GCAP, 1, NotSerialized)
19045 {
19046 CreateDWordField (Arg0, Zero, STS4)
19047 CreateDWordField (Arg0, 0x04, CAP4)
19048 If (((STS4 == 0x06) || (STS4 == 0x0A)))
19049 {
19050 Return (Zero)
19051 }
19052
19053 If ((STS4 & One))
19054 {
19055 CAP4 &= 0x0BFF
19056 Return (Zero)
19057 }
19058
19059 PDC4 = ((PDC4 & 0x7FFFFFFF) | CAP4) /* \_PR_.CPU4.GCAP.CAP4 */
19060 If (((PDC4 & 0x09) == 0x09))
19061 {
19062 \_PR.CPU1.APPT ()
19063 }
19064
19065 If ((PDC4 & 0x18))
19066 {
19067 \_PR.CPU1.APCT ()
19068 }
19069
19070 PDC0 = PDC4 /* \PDC4 */
19071 Return (Zero)
19072 }
19073 }
19074
19075 Scope (\_PR.CPU5)
19076 {
19077 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
19078 {
19079 Local0 = \_PR.CPU0.CPDC (Arg0)
19080 GCAP (Local0)
19081 Return (Local0)
19082 }
19083
19084 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
19085 {
19086 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
19087 GCAP (Local0)
19088 Return (Local0)
19089 }
19090
19091 Method (GCAP, 1, NotSerialized)
19092 {
19093 CreateDWordField (Arg0, Zero, STS5)
19094 CreateDWordField (Arg0, 0x04, CAP5)
19095 If (((STS5 == 0x06) || (STS5 == 0x0A)))
19096 {
19097 Return (Zero)
19098 }
19099
19100 If ((STS5 & One))
19101 {
19102 CAP5 &= 0x0BFF
19103 Return (Zero)
19104 }
19105
19106 PDC5 = ((PDC5 & 0x7FFFFFFF) | CAP5) /* \_PR_.CPU5.GCAP.CAP5 */
19107 If (((PDC5 & 0x09) == 0x09))
19108 {
19109 \_PR.CPU1.APPT ()
19110 }
19111
19112 If ((PDC5 & 0x18))
19113 {
19114 \_PR.CPU1.APCT ()
19115 }
19116
19117 PDC0 = PDC5 /* \PDC5 */
19118 Return (Zero)
19119 }
19120 }
19121
19122 Scope (\_PR.CPU6)
19123 {
19124 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
19125 {
19126 Local0 = \_PR.CPU0.CPDC (Arg0)
19127 GCAP (Local0)
19128 Return (Local0)
19129 }
19130
19131 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
19132 {
19133 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
19134 GCAP (Local0)
19135 Return (Local0)
19136 }
19137
19138 Method (GCAP, 1, NotSerialized)
19139 {
19140 CreateDWordField (Arg0, Zero, STS6)
19141 CreateDWordField (Arg0, 0x04, CAP6)
19142 If (((STS6 == 0x06) || (STS6 == 0x0A)))
19143 {
19144 Return (Zero)
19145 }
19146
19147 If ((STS6 & One))
19148 {
19149 CAP6 &= 0x0BFF
19150 Return (Zero)
19151 }
19152
19153 PDC6 = ((PDC6 & 0x7FFFFFFF) | CAP6) /* \_PR_.CPU6.GCAP.CAP6 */
19154 If (((PDC6 & 0x09) == 0x09))
19155 {
19156 \_PR.CPU1.APPT ()
19157 }
19158
19159 If ((PDC6 & 0x18))
19160 {
19161 \_PR.CPU1.APCT ()
19162 }
19163
19164 PDC0 = PDC6 /* \PDC6 */
19165 Return (Zero)
19166 }
19167 }
19168
19169 Scope (\_PR.CPU7)
19170 {
19171 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
19172 {
19173 Local0 = \_PR.CPU0.CPDC (Arg0)
19174 GCAP (Local0)
19175 Return (Local0)
19176 }
19177
19178 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
19179 {
19180 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
19181 GCAP (Local0)
19182 Return (Local0)
19183 }
19184
19185 Method (GCAP, 1, NotSerialized)
19186 {
19187 CreateDWordField (Arg0, Zero, STS7)
19188 CreateDWordField (Arg0, 0x04, CAP7)
19189 If (((STS7 == 0x06) || (STS7 == 0x0A)))
19190 {
19191 Return (Zero)
19192 }
19193
19194 If ((STS7 & One))
19195 {
19196 CAP7 &= 0x0BFF
19197 Return (Zero)
19198 }
19199
19200 PDC7 = ((PDC7 & 0x7FFFFFFF) | CAP7) /* \_PR_.CPU7.GCAP.CAP7 */
19201 If (((PDC7 & 0x09) == 0x09))
19202 {
19203 \_PR.CPU1.APPT ()
19204 }
19205
19206 If ((PDC7 & 0x18))
19207 {
19208 \_PR.CPU1.APCT ()
19209 }
19210
19211 PDC0 = PDC7 /* \PDC7 */
19212 Return (Zero)
19213 }
19214 }
19215
19216 OperationRegion (SANV, SystemMemory, 0xBCE68D98, 0x0141)
19217 Field (SANV, AnyAcc, Lock, Preserve)
19218 {
19219 SARV, 32,
19220 ASLB, 32,
19221 IMON, 8,
19222 IGDS, 8,
19223 CADL, 8,
19224 PADL, 8,
19225 CSTE, 16,
19226 NSTE, 16,
19227 DID9, 32,
19228 DIDA, 32,
19229 DIDB, 32,
19230 IBTT, 8,
19231 IPAT, 8,
19232 IPSC, 8,
19233 IBLC, 8,
19234 IBIA, 8,
19235 ISSC, 8,
19236 IPCF, 8,
19237 IDMS, 8,
19238 IF1E, 8,
19239 HVCO, 8,
19240 NXD1, 32,
19241 NXD2, 32,
19242 NXD3, 32,
19243 NXD4, 32,
19244 NXD5, 32,
19245 NXD6, 32,
19246 NXD7, 32,
19247 NXD8, 32,
19248 GSMI, 8,
19249 PAVP, 8,
19250 Offset (0x49),
19251 KSV0, 32,
19252 KSV1, 8,
19253 BBAR, 32,
19254 BLCS, 8,
19255 BRTL, 8,
19256 ALSE, 8,
19257 ALAF, 8,
19258 LLOW, 8,
19259 LHIH, 8,
19260 ALFP, 8,
19261 AUDA, 32,
19262 AUDB, 32,
19263 Offset (0x65),
19264 DIDC, 32,
19265 DIDD, 32,
19266 DIDE, 32,
19267 DIDF, 32,
19268 CADR, 32,
19269 CCNT, 8,
19270 Offset (0xC8),
19271 SGMD, 8,
19272 SGFL, 8,
19273 PWOK, 8,
19274 HLRS, 8,
19275 PWEN, 8,
19276 PRST, 8,
19277 CPSP, 32,
19278 EECP, 8,
19279 EVCP, 16,
19280 XBAS, 32,
19281 GBAS, 16,
19282 SGGP, 8,
19283 NVGA, 32,
19284 NVHA, 32,
19285 AMDA, 32,
19286 NDID, 8,
19287 DID1, 32,
19288 DID2, 32,
19289 DID3, 32,
19290 DID4, 32,
19291 DID5, 32,
19292 DID6, 32,
19293 DID7, 32,
19294 DID8, 32,
19295 OBS1, 32,
19296 OBS2, 32,
19297 OBS3, 32,
19298 OBS4, 32,
19299 OBS5, 32,
19300 OBS6, 32,
19301 OBS7, 32,
19302 OBS8, 32,
19303 LTRA, 8,
19304 OBFA, 8,
19305 LTRB, 8,
19306 OBFB, 8,
19307 LTRC, 8,
19308 OBFC, 8,
19309 SMSL, 16,
19310 SNSL, 16,
19311 P0UB, 8,
19312 P1UB, 8,
19313 P2UB, 8,
19314 EDPV, 8,
19315 NXDX, 32,
19316 DIDX, 32,
19317 PCSL, 8,
19318 SC7A, 8
19319 }
19320
19321 Scope (\_SB.PCI0.B0D3)
19322 {
19323 Name (BARA, 0x80000000)
19324 Name (TBAR, Zero)
19325 Name (TCMD, Zero)
19326 Name (MODB, Zero)
19327 Name (MODC, Zero)
19328 Method (_STA, 0, NotSerialized) // _STA: Status
19329 {
19330 If ((AUVD != 0xFFFF))
19331 {
19332 Return (0x0F)
19333 }
19334
19335 Return (Zero)
19336 }
19337
19338 Method (_INI, 0, NotSerialized) // _INI: Initialize
19339 {
19340 If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
19341 ABAR & 0xFFFFC000) != Zero)))
19342 {
19343 BARA = ABAR /* \_SB_.PCI0.B0D3.ABAR */
19344 }
19345 }
19346
19347 OperationRegion (RPCS, SystemMemory, \XBAS, 0x00018040)
19348 Field (RPCS, AnyAcc, NoLock, Preserve)
19349 {
19350 Offset (0x18004),
19351 ACMD, 8,
19352 Offset (0x18010),
19353 ABAR, 32
19354 }
19355
19356 OperationRegion (RPCZ, PCI_Config, Zero, 0x40)
19357 Field (RPCZ, DWordAcc, Lock, Preserve)
19358 {
19359 AUVD, 16
19360 }
19361
19362 Method (ASTR, 0, Serialized)
19363 {
19364 If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
19365 ABAR & 0xFFFFC000) != Zero)))
19366 {
19367 BBAR = (ABAR & 0xFFFFFFF0)
19368 BBAR += 0x1000
19369 OperationRegion (RPCY, SystemMemory, BBAR, 0x25)
19370 Field (RPCY, DWordAcc, NoLock, Preserve)
19371 {
19372 Offset (0x0C),
19373 EM4W, 32,
19374 EMWA, 32,
19375 Offset (0x1C),
19376 ADWA, 32
19377 }
19378
19379 EMWA = AUDA /* \AUDA */
19380 ADWA = AUDB /* \AUDB */
19381 }
19382 }
19383
19384 Method (VSTR, 1, Serialized)
19385 {
19386 Name (CONT, 0x03E8)
19387 Name (ADDR, 0x80000000)
19388 ADDR = Arg0
19389 OperationRegion (CCDC, SystemMemory, ADDR, 0x04)
19390 Field (CCDC, ByteAcc, NoLock, Preserve)
19391 {
19392 CDEC, 32
19393 }
19394
19395 If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
19396 ABAR & 0xFFFFC000) != Zero)))
19397 {
19398 If ((CDEC != Zero))
19399 {
19400 BBAR = (ABAR & 0xFFFFFFF0)
19401 OperationRegion (IPCV, SystemMemory, BBAR, 0x70)
19402 Field (IPCV, DWordAcc, NoLock, Preserve)
19403 {
19404 Offset (0x60),
19405 AVIC, 32,
19406 Offset (0x68),
19407 AIRS, 16
19408 }
19409
19410 CONT = 0x03E8
19411 While ((((AIRS & One) == One) && (CONT != Zero)))
19412 {
19413 Stall (One)
19414 CONT--
19415 }
19416
19417 AIRS |= 0x02
19418 AVIC = CDEC /* \_SB_.PCI0.B0D3.VSTR.CDEC */
19419 AIRS |= One
19420 CONT = 0x03E8
19421 While ((((AIRS & One) == One) && (CONT != Zero)))
19422 {
19423 Stall (One)
19424 CONT--
19425 }
19426 }
19427 }
19428 }
19429
19430 Method (CXDC, 0, Serialized)
19431 {
19432 Name (IDDX, 0x80000000)
19433 If (((CADR != Zero) && (CCNT != Zero)))
19434 {
19435 IDDX = CADR /* \CADR */
19436 While ((IDDX < (CADR + (CCNT * 0x04))))
19437 {
19438 VSTR (IDDX)
19439 IDDX += 0x04
19440 }
19441 }
19442 }
19443
19444 Method (ARST, 0, Serialized)
19445 {
19446 If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
19447 ABAR & 0xFFFFC000) != Zero)))
19448 {
19449 BBAR = (ABAR & 0xFFFFFFF0)
19450 OperationRegion (IPCV, SystemMemory, BBAR, 0xBF)
19451 Field (IPCV, AnyAcc, NoLock, Preserve)
19452 {
19453 Offset (0x08),
19454 CRST, 32,
19455 Offset (0x4C),
19456 CORB, 32,
19457 Offset (0x5C),
19458 RIRB, 32,
19459 Offset (0x80),
19460 OSD1, 32,
19461 Offset (0xA0),
19462 OSD2, 32
19463 }
19464
19465 CORB &= 0xFFFFFFFD
19466 RIRB &= 0xFFFFFFFD
19467 OSD1 &= 0xFFFFFFFD
19468 OSD2 &= 0xFFFFFFFD
19469 CRST &= 0xFFFFFFFE
19470 }
19471 }
19472
19473 Method (AINI, 0, Serialized)
19474 {
19475 Name (CONT, 0x03E8)
19476 If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
19477 ABAR & 0xFFFFC000) != Zero)))
19478 {
19479 BBAR = (ABAR & 0xFFFFFFF0)
19480 OperationRegion (IPCV, SystemMemory, BBAR, 0x70)
19481 Field (IPCV, DWordAcc, NoLock, Preserve)
19482 {
19483 GCAP, 16,
19484 Offset (0x08),
19485 GCTL, 32,
19486 Offset (0x0E),
19487 SSTS, 8,
19488 Offset (0x60),
19489 AVIC, 32,
19490 Offset (0x68),
19491 AIRS, 16
19492 }
19493
19494 GCTL |= One
19495 CONT = 0x03E8
19496 While ((((GCTL & One) == Zero) && (CONT != Zero)))
19497 {
19498 Stall (One)
19499 CONT--
19500 }
19501
19502 GCAP &= 0xFFFF
19503 SSTS |= 0x0F
19504 GCTL &= 0xFFFFFFFE
19505 CONT = 0x03E8
19506 While ((((GCTL & One) == One) && (CONT != Zero)))
19507 {
19508 Stall (One)
19509 CONT--
19510 }
19511
19512 GCTL |= One
19513 CONT = 0x03E8
19514 While ((((GCTL & One) == Zero) && (CONT != Zero)))
19515 {
19516 Stall (One)
19517 CONT--
19518 }
19519 }
19520 }
19521
19522 Method (ABWA, 1, Serialized)
19523 {
19524 If (Arg0)
19525 {
19526 If ((((ABAR & 0xFFFFC004) == 0xFFFFC004) || ((ABAR & 0xFFFFC000
19527 ) == Zero)))
19528 {
19529 If ((BARA != 0x80000000))
19530 {
19531 TBAR = ABAR /* \_SB_.PCI0.B0D3.ABAR */
19532 TCMD = ACMD /* \_SB_.PCI0.B0D3.ACMD */
19533 ABAR = BARA /* \_SB_.PCI0.B0D3.BARA */
19534 ACMD = 0x06
19535 MODB = One
19536 }
19537 }
19538 Else
19539 {
19540 If (((ACMD & 0x06) != 0x06))
19541 {
19542 TCMD = ACMD /* \_SB_.PCI0.B0D3.ACMD */
19543 ACMD = 0x06
19544 MODC = One
19545 }
19546 }
19547 }
19548 Else
19549 {
19550 If (MODB)
19551 {
19552 If ((ABAR == BARA))
19553 {
19554 ABAR = TBAR /* \_SB_.PCI0.B0D3.TBAR */
19555 ACMD = TCMD /* \_SB_.PCI0.B0D3.TCMD */
19556 }
19557 }
19558
19559 If (MODC)
19560 {
19561 ACMD = TCMD /* \_SB_.PCI0.B0D3.TCMD */
19562 }
19563 }
19564 }
19565 }
19566
19567 Scope (\_SB.PCI0.VID)
19568 {
19569 Scope (\_SB.PCI0)
19570 {
19571 OperationRegion (MCHP, PCI_Config, 0x40, 0xC0)
19572 Field (MCHP, AnyAcc, NoLock, Preserve)
19573 {
19574 Offset (0x14),
19575 AUDE, 8,
19576 Offset (0x60),
19577 TASM, 10,
19578 Offset (0x62)
19579 }
19580 }
19581
19582 OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
19583 Field (IGDP, AnyAcc, NoLock, Preserve)
19584 {
19585 Offset (0x12),
19586 , 1,
19587 GIVD, 1,
19588 , 2,
19589 GUMA, 3,
19590 Offset (0x14),
19591 , 4,
19592 GMFN, 1,
19593 Offset (0x18),
19594 Offset (0xA4),
19595 ASLE, 8,
19596 Offset (0xA8),
19597 GSSE, 1,
19598 GSSB, 14,
19599 GSES, 1,
19600 Offset (0xB0),
19601 , 12,
19602 CDVL, 1,
19603 Offset (0xB2),
19604 Offset (0xB5),
19605 LBPC, 8,
19606 Offset (0xBC),
19607 ASLS, 32
19608 }
19609
19610 OperationRegion (IGDM, SystemMemory, \ASLB, 0x2000)
19611 Field (IGDM, AnyAcc, NoLock, Preserve)
19612 {
19613 SIGN, 128,
19614 SIZE, 32,
19615 OVER, 32,
19616 SVER, 256,
19617 VVER, 128,
19618 GVER, 128,
19619 MBOX, 32,
19620 DMOD, 32,
19621 PCON, 32,
19622 DVER, 64,
19623 Offset (0x100),
19624 DRDY, 32,
19625 CSTS, 32,
19626 CEVT, 32,
19627 Offset (0x120),
19628 DIDL, 32,
19629 DDL2, 32,
19630 DDL3, 32,
19631 DDL4, 32,
19632 DDL5, 32,
19633 DDL6, 32,
19634 DDL7, 32,
19635 DDL8, 32,
19636 CPDL, 32,
19637 CPL2, 32,
19638 CPL3, 32,
19639 CPL4, 32,
19640 CPL5, 32,
19641 CPL6, 32,
19642 CPL7, 32,
19643 CPL8, 32,
19644 CADL, 32,
19645 CAL2, 32,
19646 CAL3, 32,
19647 CAL4, 32,
19648 CAL5, 32,
19649 CAL6, 32,
19650 CAL7, 32,
19651 CAL8, 32,
19652 NADL, 32,
19653 NDL2, 32,
19654 NDL3, 32,
19655 NDL4, 32,
19656 NDL5, 32,
19657 NDL6, 32,
19658 NDL7, 32,
19659 NDL8, 32,
19660 ASLP, 32,
19661 TIDX, 32,
19662 CHPD, 32,
19663 CLID, 32,
19664 CDCK, 32,
19665 SXSW, 32,
19666 EVTS, 32,
19667 CNOT, 32,
19668 NRDY, 32,
19669 DDL9, 32,
19670 DD10, 32,
19671 DD11, 32,
19672 DD12, 32,
19673 DD13, 32,
19674 DD14, 32,
19675 DD15, 32,
19676 CPL9, 32,
19677 CP10, 32,
19678 CP11, 32,
19679 CP12, 32,
19680 CP13, 32,
19681 CP14, 32,
19682 CP15, 32,
19683 Offset (0x200),
19684 SCIE, 1,
19685 GEFC, 4,
19686 GXFC, 3,
19687 GESF, 8,
19688 Offset (0x204),
19689 PARM, 32,
19690 DSLP, 32,
19691 Offset (0x300),
19692 ARDY, 32,
19693 ASLC, 32,
19694 TCHE, 32,
19695 ALSI, 32,
19696 BCLP, 32,
19697 PFIT, 32,
19698 CBLV, 32,
19699 BCLM, 320,
19700 CPFM, 32,
19701 EPFM, 32,
19702 PLUT, 592,
19703 PFMB, 32,
19704 CCDV, 32,
19705 PCFT, 32,
19706 SROT, 32,
19707 IUER, 32,
19708 FDSP, 64,
19709 FDSS, 32,
19710 STAT, 32,
19711 Offset (0x400),
19712 GVD1, 49152,
19713 PHED, 32,
19714 BDDC, 2048
19715 }
19716
19717 Name (DBTB, Package (0x15)
19718 {
19719 Zero,
19720 0x07,
19721 0x38,
19722 0x01C0,
19723 0x0E00,
19724 0x3F,
19725 0x01C7,
19726 0x0E07,
19727 0x01F8,
19728 0x0E38,
19729 0x0FC0,
19730 Zero,
19731 Zero,
19732 Zero,
19733 Zero,
19734 Zero,
19735 0x7000,
19736 0x7007,
19737 0x7038,
19738 0x71C0,
19739 0x7E00
19740 })
19741 Name (CDCT, Package (0x05)
19742 {
19743 Package (0x02)
19744 {
19745 0xE4,
19746 0x0140
19747 },
19748
19749 Package (0x02)
19750 {
19751 0xDE,
19752 0x014D
19753 },
19754
19755 Package (0x02)
19756 {
19757 0xDE,
19758 0x014D
19759 },
19760
19761 Package (0x02)
19762 {
19763 Zero,
19764 Zero
19765 },
19766
19767 Package (0x02)
19768 {
19769 0xDE,
19770 0x014D
19771 }
19772 })
19773 Name (SUCC, One)
19774 Name (NVLD, 0x02)
19775 Name (CRIT, 0x04)
19776 Name (NCRT, 0x06)
19777 Method (GSCI, 0, Serialized)
19778 {
19779 If ((GEFC == 0x04))
19780 {
19781 GXFC = GBDA ()
19782 }
19783
19784 If ((GEFC == 0x06))
19785 {
19786 GXFC = SBCB ()
19787 }
19788
19789 GEFC = Zero
19790 \_SB.PCI0.LPC.SCIS = One
19791 GSSE = Zero
19792 SCIE = Zero
19793 Return (Zero)
19794 }
19795
19796 Method (GBDA, 0, Serialized)
19797 {
19798 If ((GESF == Zero))
19799 {
19800 PARM = 0x0241
19801 GESF = Zero
19802 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19803 }
19804
19805 If ((GESF == One))
19806 {
19807 PARM = 0x00200382
19808 GESF = Zero
19809 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19810 }
19811
19812 If ((GESF == 0x04))
19813 {
19814 PARM &= 0xEFFF0000
19815 PARM &= (DerefOf (Index (DBTB, IBTT)) << 0x10)
19816 PARM |= IBTT /* \_SB_.PCI0.VID_.PARM */
19817 GESF = Zero
19818 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19819 }
19820
19821 If ((GESF == 0x05))
19822 {
19823 If (\_SB.LID._LID ())
19824 {
19825 LIDS = One
19826 }
19827 Else
19828 {
19829 LIDS = Zero
19830 }
19831
19832 PARM = IPSC /* \IPSC */
19833 PARM |= (IPAT << 0x08)
19834 PARM += 0x0100
19835 PARM |= (LIDS << 0x10)
19836 PARM += 0x00010000
19837 PARM |= (IBIA << 0x14)
19838 GESF = Zero
19839 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19840 }
19841
19842 If ((GESF == 0x07))
19843 {
19844 PARM = GIVD /* \_SB_.PCI0.VID_.GIVD */
19845 PARM ^= One
19846 PARM |= (GMFN << One)
19847 PARM |= 0x1800
19848 PARM |= 0x00060000
19849 PARM |= (IDMS << 0x11)
19850 PARM |= (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), CDVL)) <<
19851 0x15) /* \_SB_.PCI0.VID_.PARM */
19852 GESF = One
19853 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19854 }
19855
19856 If ((GESF == 0x0A))
19857 {
19858 PARM = Zero
19859 If (ISSC)
19860 {
19861 PARM |= 0x03
19862 }
19863
19864 GESF = Zero
19865 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19866 }
19867
19868 If ((GESF == 0x0B))
19869 {
19870 PARM = KSV0 /* \KSV0 */
19871 GESF = KSV1 /* \KSV1 */
19872 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19873 }
19874
19875 GESF = Zero
19876 Return (CRIT) /* \_SB_.PCI0.VID_.CRIT */
19877 }
19878
19879 Method (SBCB, 0, Serialized)
19880 {
19881 If ((GESF == Zero))
19882 {
19883 PARM = 0x00220382
19884 GESF = Zero
19885 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19886 }
19887
19888 If ((GESF == One))
19889 {
19890 GESF = Zero
19891 PARM = Zero
19892 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19893 }
19894
19895 If ((GESF == 0x03))
19896 {
19897 GESF = Zero
19898 PARM = Zero
19899 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19900 }
19901
19902 If ((GESF == 0x04))
19903 {
19904 GESF = Zero
19905 PARM = Zero
19906 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19907 }
19908
19909 If ((GESF == 0x05))
19910 {
19911 GESF = Zero
19912 PARM = Zero
19913 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19914 }
19915
19916 If ((GESF == 0x07))
19917 {
19918 If ((S0ID == One))
19919 {
19920 If (((PARM & 0xFF) == One))
19921 {
19922 \GUAM (One)
19923 }
19924 }
19925
19926 If ((PARM == Zero))
19927 {
19928 Local0 = CLID /* \_SB_.PCI0.VID_.CLID */
19929 If ((0x80000000 & Local0))
19930 {
19931 CLID &= 0x0F
19932 GLID (CLID)
19933 }
19934 }
19935
19936 GESF = Zero
19937 PARM = Zero
19938 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19939 }
19940
19941 If ((GESF == 0x08))
19942 {
19943 If ((S0ID == One))
19944 {
19945 Local0 = ((PARM >> 0x08) & 0xFF)
19946 If ((Local0 == Zero))
19947 {
19948 \GUAM (Zero)
19949 }
19950 }
19951
19952 GESF = Zero
19953 PARM = Zero
19954 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19955 }
19956
19957 If ((GESF == 0x09))
19958 {
19959 IBTT = (PARM & 0xFF)
19960 GESF = Zero
19961 PARM = Zero
19962 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19963 }
19964
19965 If ((GESF == 0x0A))
19966 {
19967 IPSC = (PARM & 0xFF)
19968 If (((PARM >> 0x08) & 0xFF))
19969 {
19970 IPAT = ((PARM >> 0x08) & 0xFF)
19971 IPAT--
19972 }
19973
19974 IBIA = ((PARM >> 0x14) & 0x07)
19975 GESF = Zero
19976 PARM = Zero
19977 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19978 }
19979
19980 If ((GESF == 0x0B))
19981 {
19982 IF1E = ((PARM >> One) & One)
19983 If ((PARM & 0x0001E000))
19984 {
19985 IDMS = ((PARM >> 0x0D) & 0x0F)
19986 }
19987 Else
19988 {
19989 IDMS = ((PARM >> 0x11) & 0x0F)
19990 }
19991
19992 GESF = Zero
19993 PARM = Zero
19994 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19995 }
19996
19997 If ((GESF == 0x10))
19998 {
19999 GESF = Zero
20000 PARM = Zero
20001 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
20002 }
20003
20004 If ((GESF == 0x11))
20005 {
20006 PARM = (LIDS << 0x08)
20007 PARM += 0x0100
20008 GESF = Zero
20009 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
20010 }
20011
20012 If ((GESF == 0x12))
20013 {
20014 If ((PARM & One))
20015 {
20016 If (((PARM >> One) == One))
20017 {
20018 ISSC = One
20019 }
20020 Else
20021 {
20022 GESF = Zero
20023 Return (CRIT) /* \_SB_.PCI0.VID_.CRIT */
20024 }
20025 }
20026 Else
20027 {
20028 ISSC = Zero
20029 }
20030
20031 GESF = Zero
20032 PARM = Zero
20033 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
20034 }
20035
20036 If ((GESF == 0x13))
20037 {
20038 GESF = Zero
20039 PARM = Zero
20040 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
20041 }
20042
20043 If ((GESF == 0x14))
20044 {
20045 PAVP = (PARM & 0x0F)
20046 GESF = Zero
20047 PARM = Zero
20048 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
20049 }
20050
20051 If ((GESF == 0x15))
20052 {
20053 If ((PARM == One))
20054 {
20055 \_SB.PCI0.AUDE |= 0x20
20056 \_SB.PCI0.B0D3.ABWA (One)
20057 \_SB.PCI0.B0D3.ARST ()
20058 \_SB.PCI0.B0D3.ASTR ()
20059 \_SB.PCI0.B0D3.AINI ()
20060 \_SB.PCI0.B0D3.CXDC ()
20061 \_SB.PCI0.B0D3.ABWA (Zero)
20062 Notify (\_SB.PCI0, Zero) // Bus Check
20063 }
20064
20065 If ((PARM == Zero))
20066 {
20067 \_SB.PCI0.AUDE &= 0xDF
20068 Notify (\_SB.PCI0, Zero) // Bus Check
20069 }
20070
20071 GESF = Zero
20072 PARM = Zero
20073 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
20074 }
20075
20076 GESF = Zero
20077 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
20078 }
20079
20080 Method (PDRD, 0, NotSerialized)
20081 {
20082 If (!DRDY)
20083 {
20084 Sleep (ASLP)
20085 }
20086
20087 Return (!DRDY)
20088 }
20089
20090 Method (PSTS, 0, NotSerialized)
20091 {
20092 If ((CSTS > 0x02))
20093 {
20094 Sleep (ASLP)
20095 }
20096
20097 Return ((CSTS == 0x03))
20098 }
20099
20100 Method (GNOT, 2, NotSerialized)
20101 {
20102 If (PDRD ())
20103 {
20104 Return (One)
20105 }
20106
20107 CEVT = Arg0
20108 CSTS = 0x03
20109 If (((CHPD == Zero) && (Arg1 == Zero)))
20110 {
20111 If ((Arg0 != One))
20112 {
20113 If ((\WXPF && !\WVIS))
20114 {
20115 Notify (\_SB.PCI0, Arg1)
20116 }
20117 Else
20118 {
20119 Notify (\_SB.PCI0.VID, Arg1)
20120 }
20121 }
20122 }
20123
20124 Notify (\_SB.PCI0.VID, 0x80) // Status Change
20125 Return (Zero)
20126 }
20127
20128 Method (GHDS, 1, NotSerialized)
20129 {
20130 TIDX = Arg0
20131 Return (GNOT (One, Zero))
20132 }
20133
20134 Method (GLID, 1, NotSerialized)
20135 {
20136 CLID = Arg0
20137 Return (GNOT (0x02, Zero))
20138 }
20139
20140 Method (GLIS, 1, NotSerialized)
20141 {
20142 CLID = Arg0
20143 Return (Zero)
20144 }
20145
20146 Method (GDCK, 1, NotSerialized)
20147 {
20148 CDCK = Arg0
20149 Return (GNOT (0x04, 0x80))
20150 }
20151
20152 Method (GDCS, 1, NotSerialized)
20153 {
20154 CDCK = Arg0
20155 }
20156
20157 Method (PARD, 0, NotSerialized)
20158 {
20159 If (!ARDY)
20160 {
20161 Sleep (ASLP)
20162 }
20163
20164 Return (!ARDY)
20165 }
20166
20167 Method (AINT, 2, NotSerialized)
20168 {
20169 If (!(TCHE & (One << Arg0)))
20170 {
20171 Return (One)
20172 }
20173
20174 If (PARD ())
20175 {
20176 Return (One)
20177 }
20178
20179 If ((Arg0 == 0x02))
20180 {
20181 PFIT ^= 0x07
20182 PFIT |= 0x80000000
20183 ASLC = 0x04
20184 }
20185 Else
20186 {
20187 If ((Arg0 == One))
20188 {
20189 BCLP = Arg1
20190 BCLP |= 0x80000000
20191 ASLC = 0x0A
20192 }
20193 Else
20194 {
20195 If ((Arg0 == 0x03))
20196 {
20197 PFMB = Arg1
20198 PFMB |= 0x80000100
20199 ASLC = 0x08
20200 }
20201 Else
20202 {
20203 If ((Arg0 == Zero))
20204 {
20205 ALSI = Arg1
20206 ASLC = One
20207 }
20208 Else
20209 {
20210 Return (One)
20211 }
20212 }
20213 }
20214 }
20215
20216 ASLE = One
20217 Return (Zero)
20218 }
20219 }
20220
20221 Scope (\_SB)
20222 {
20223 Device (PCCD)
20224 {
20225 Name (PCCA, 0xBCE63018)
20226 Name (PCCS, 0x00001000)
20227 Name (PENB, 0x00000001)
20228 Name (_HID, EisaId ("INT340F")) // _HID: Hardware ID
20229 Name (_STR, Unicode ("Collaborative Processor Performance Control (CPPC)")) // _STR: Description String
20230 Method (_STA, 0, NotSerialized) // _STA: Status
20231 {
20232 If (\_OSI ("Windows 2012"))
20233 {
20234 Return (0x0F)
20235 }
20236 Else
20237 {
20238 Return (Zero)
20239 }
20240 }
20241
20242 Name (TMPP, Package (0x02)
20243 {
20244 0x80000000,
20245 0x80000000
20246 })
20247 Method (PADR, 0, NotSerialized)
20248 {
20249 Index (TMPP, Zero) = PCCA /* \_SB_.PCCD.PCCA */
20250 Index (TMPP, One) = PCCS /* \_SB_.PCCD.PCCS */
20251 Return (TMPP) /* \_SB_.PCCD.TMPP */
20252 }
20253
20254 Method (GPRN, 0, Serialized)
20255 {
20256 Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
20257 While (One)
20258 {
20259 _T_0 = TCNT /* \TCNT */
20260 If ((_T_0 == 0x08))
20261 {
20262 Notify (\_PR.CPU0, 0x83) // Device-Specific Change
20263 Notify (\_PR.CPU1, 0x83) // Device-Specific Change
20264 Notify (\_PR.CPU2, 0x83) // Device-Specific Change
20265 Notify (\_PR.CPU3, 0x83) // Device-Specific Change
20266 Notify (\_PR.CPU4, 0x83) // Device-Specific Change
20267 Notify (\_PR.CPU5, 0x83) // Device-Specific Change
20268 Notify (\_PR.CPU6, 0x83) // Device-Specific Change
20269 Notify (\_PR.CPU7, 0x83) // Device-Specific Change
20270 }
20271 Else
20272 {
20273 If ((_T_0 == 0x04))
20274 {
20275 Notify (\_PR.CPU0, 0x83) // Device-Specific Change
20276 Notify (\_PR.CPU1, 0x83) // Device-Specific Change
20277 Notify (\_PR.CPU2, 0x83) // Device-Specific Change
20278 Notify (\_PR.CPU3, 0x83) // Device-Specific Change
20279 }
20280 Else
20281 {
20282 If ((_T_0 == 0x02))
20283 {
20284 Notify (\_PR.CPU0, 0x83) // Device-Specific Change
20285 Notify (\_PR.CPU1, 0x83) // Device-Specific Change
20286 }
20287 Else
20288 {
20289 Notify (\_PR.CPU0, 0x83) // Device-Specific Change
20290 }
20291 }
20292 }
20293
20294 Break
20295 }
20296 }
20297
20298 Name (PCFG, Zero)
20299 Method (_PTC, 0, NotSerialized) // _PTC: Processor Throttling Control
20300 {
20301 If ((CondRefOf (\PDC0) && (\PDC0 != 0x80000000)))
20302 {
20303 If ((\PDC0 & 0x04))
20304 {
20305 Return (Package (0x02)
20306 {
20307 ResourceTemplate ()
20308 {
20309 Register (FFixedHW,
20310 0x00, // Bit Width
20311 0x00, // Bit Offset
20312 0x0000000000000000, // Address
20313 ,)
20314 },
20315
20316 ResourceTemplate ()
20317 {
20318 Register (FFixedHW,
20319 0x00, // Bit Width
20320 0x00, // Bit Offset
20321 0x0000000000000000, // Address
20322 ,)
20323 }
20324 })
20325 }
20326 Else
20327 {
20328 Return (Package (0x02)
20329 {
20330 ResourceTemplate ()
20331 {
20332 Register (SystemIO,
20333 0x05, // Bit Width
20334 0x00, // Bit Offset
20335 0x0000000000001810, // Address
20336 ,)
20337 },
20338
20339 ResourceTemplate ()
20340 {
20341 Register (SystemIO,
20342 0x05, // Bit Width
20343 0x00, // Bit Offset
20344 0x0000000000001810, // Address
20345 ,)
20346 }
20347 })
20348 }
20349 }
20350 Else
20351 {
20352 Return (Package (0x02)
20353 {
20354 ResourceTemplate ()
20355 {
20356 Register (FFixedHW,
20357 0x00, // Bit Width
20358 0x00, // Bit Offset
20359 0x0000000000000000, // Address
20360 ,)
20361 },
20362
20363 ResourceTemplate ()
20364 {
20365 Register (FFixedHW,
20366 0x00, // Bit Width
20367 0x00, // Bit Offset
20368 0x0000000000000000, // Address
20369 ,)
20370 }
20371 })
20372 }
20373 }
20374
20375 Method (_PSS, 0, NotSerialized) // _PSS: Performance Supported States
20376 {
20377 If (CondRefOf (\_PR.CPU0._PSS))
20378 {
20379 Return (\_PR.CPU0._PSS)
20380 }
20381 Else
20382 {
20383 Return (Package (0x01)
20384 {
20385 Zero
20386 })
20387 }
20388 }
20389
20390 Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilites
20391 {
20392 If (CondRefOf (\_PR.CPU0._PPC))
20393 {
20394 Return (\_PR.CPU0._PPC ())
20395 }
20396 Else
20397 {
20398 Return (Zero)
20399 }
20400 }
20401
20402 Method (_TSS, 0, NotSerialized) // _TSS: Throttling Supported States
20403 {
20404 If (CondRefOf (\_PR.CPU0._TSS))
20405 {
20406 Return (\_PR.CPU0._TSS) /* External reference */
20407 }
20408 Else
20409 {
20410 Return (Package (0x01)
20411 {
20412 Zero
20413 })
20414 }
20415 }
20416 }
20417 }
20418
20419 Scope (\_PR.CPU0)
20420 {
20421 Name (_CPC, Package (0x11) // _CPC: Continuous Performance Control
20422 {
20423 0x11,
20424 One,
20425 ResourceTemplate ()
20426 {
20427 Register (PCC,
20428 0x20, // Bit Width
20429 0x00, // Bit Offset
20430 0x0000000000000000, // Address
20431 ,)
20432 },
20433
20434 ResourceTemplate ()
20435 {
20436 Register (PCC,
20437 0x20, // Bit Width
20438 0x00, // Bit Offset
20439 0x0000000000000004, // Address
20440 ,)
20441 },
20442
20443 ResourceTemplate ()
20444 {
20445 Register (PCC,
20446 0x20, // Bit Width
20447 0x00, // Bit Offset
20448 0x0000000000000008, // Address
20449 ,)
20450 },
20451
20452 ResourceTemplate ()
20453 {
20454 Register (PCC,
20455 0x20, // Bit Width
20456 0x00, // Bit Offset
20457 0x000000000000000C, // Address
20458 ,)
20459 },
20460
20461 ResourceTemplate ()
20462 {
20463 Register (PCC,
20464 0x20, // Bit Width
20465 0x00, // Bit Offset
20466 0x0000000000000010, // Address
20467 ,)
20468 },
20469
20470 ResourceTemplate ()
20471 {
20472 Register (PCC,
20473 0x20, // Bit Width
20474 0x00, // Bit Offset
20475 0x0000000000000014, // Address
20476 ,)
20477 },
20478
20479 ResourceTemplate ()
20480 {
20481 Register (PCC,
20482 0x20, // Bit Width
20483 0x00, // Bit Offset
20484 0x0000000000000018, // Address
20485 ,)
20486 },
20487
20488 ResourceTemplate ()
20489 {
20490 Register (PCC,
20491 0x20, // Bit Width
20492 0x00, // Bit Offset
20493 0x000000000000001C, // Address
20494 ,)
20495 },
20496
20497 ResourceTemplate ()
20498 {
20499 Register (PCC,
20500 0x20, // Bit Width
20501 0x00, // Bit Offset
20502 0x0000000000000020, // Address
20503 ,)
20504 },
20505
20506 ResourceTemplate ()
20507 {
20508 Register (PCC,
20509 0x20, // Bit Width
20510 0x00, // Bit Offset
20511 0x0000000000000024, // Address
20512 ,)
20513 },
20514
20515 ResourceTemplate ()
20516 {
20517 Register (PCC,
20518 0x20, // Bit Width
20519 0x00, // Bit Offset
20520 0x0000000000000028, // Address
20521 ,)
20522 },
20523
20524 ResourceTemplate ()
20525 {
20526 Register (FFixedHW,
20527 0x40, // Bit Width
20528 0x00, // Bit Offset
20529 0x00000000000000E7, // Address
20530 0x04, // Access Size
20531 )
20532 },
20533
20534 ResourceTemplate ()
20535 {
20536 Register (FFixedHW,
20537 0x40, // Bit Width
20538 0x00, // Bit Offset
20539 0x00000000000000E8, // Address
20540 0x04, // Access Size
20541 )
20542 },
20543
20544 ResourceTemplate ()
20545 {
20546 Register (PCC,
20547 0x20, // Bit Width
20548 0x00, // Bit Offset
20549 0x000000000000003C, // Address
20550 ,)
20551 },
20552
20553 ResourceTemplate ()
20554 {
20555 Register (PCC,
20556 0x20, // Bit Width
20557 0x00, // Bit Offset
20558 0x0000000000000040, // Address
20559 ,)
20560 }
20561 })
20562 }
20563
20564 Scope (\_PR.CPU1)
20565 {
20566 Name (_CPC, Package (0x11) // _CPC: Continuous Performance Control
20567 {
20568 0x11,
20569 One,
20570 ResourceTemplate ()
20571 {
20572 Register (PCC,
20573 0x20, // Bit Width
20574 0x00, // Bit Offset
20575 0x0000000000000064, // Address
20576 ,)
20577 },
20578
20579 ResourceTemplate ()
20580 {
20581 Register (PCC,
20582 0x20, // Bit Width
20583 0x00, // Bit Offset
20584 0x0000000000000068, // Address
20585 ,)
20586 },
20587
20588 ResourceTemplate ()
20589 {
20590 Register (PCC,
20591 0x20, // Bit Width
20592 0x00, // Bit Offset
20593 0x000000000000006C, // Address
20594 ,)
20595 },
20596
20597 ResourceTemplate ()
20598 {
20599 Register (PCC,
20600 0x20, // Bit Width
20601 0x00, // Bit Offset
20602 0x0000000000000070, // Address
20603 ,)
20604 },
20605
20606 ResourceTemplate ()
20607 {
20608 Register (PCC,
20609 0x20, // Bit Width
20610 0x00, // Bit Offset
20611 0x0000000000000074, // Address
20612 ,)
20613 },
20614
20615 ResourceTemplate ()
20616 {
20617 Register (PCC,
20618 0x20, // Bit Width
20619 0x00, // Bit Offset
20620 0x0000000000000078, // Address
20621 ,)
20622 },
20623
20624 ResourceTemplate ()
20625 {
20626 Register (PCC,
20627 0x20, // Bit Width
20628 0x00, // Bit Offset
20629 0x000000000000007C, // Address
20630 ,)
20631 },
20632
20633 ResourceTemplate ()
20634 {
20635 Register (PCC,
20636 0x20, // Bit Width
20637 0x00, // Bit Offset
20638 0x0000000000000080, // Address
20639 ,)
20640 },
20641
20642 ResourceTemplate ()
20643 {
20644 Register (PCC,
20645 0x20, // Bit Width
20646 0x00, // Bit Offset
20647 0x0000000000000084, // Address
20648 ,)
20649 },
20650
20651 ResourceTemplate ()
20652 {
20653 Register (PCC,
20654 0x20, // Bit Width
20655 0x00, // Bit Offset
20656 0x0000000000000088, // Address
20657 ,)
20658 },
20659
20660 ResourceTemplate ()
20661 {
20662 Register (PCC,
20663 0x20, // Bit Width
20664 0x00, // Bit Offset
20665 0x000000000000008C, // Address
20666 ,)
20667 },
20668
20669 ResourceTemplate ()
20670 {
20671 Register (FFixedHW,
20672 0x40, // Bit Width
20673 0x00, // Bit Offset
20674 0x00000000000000E7, // Address
20675 0x04, // Access Size
20676 )
20677 },
20678
20679 ResourceTemplate ()
20680 {
20681 Register (FFixedHW,
20682 0x40, // Bit Width
20683 0x00, // Bit Offset
20684 0x00000000000000E8, // Address
20685 0x04, // Access Size
20686 )
20687 },
20688
20689 ResourceTemplate ()
20690 {
20691 Register (PCC,
20692 0x20, // Bit Width
20693 0x00, // Bit Offset
20694 0x00000000000000A0, // Address
20695 ,)
20696 },
20697
20698 ResourceTemplate ()
20699 {
20700 Register (PCC,
20701 0x20, // Bit Width
20702 0x00, // Bit Offset
20703 0x00000000000000A4, // Address
20704 ,)
20705 }
20706 })
20707 }
20708
20709 Scope (\_PR.CPU2)
20710 {
20711 Name (_CPC, Package (0x11) // _CPC: Continuous Performance Control
20712 {
20713 0x11,
20714 One,
20715 ResourceTemplate ()
20716 {
20717 Register (PCC,
20718 0x20, // Bit Width
20719 0x00, // Bit Offset
20720 0x00000000000000C8, // Address
20721 ,)
20722 },
20723
20724 ResourceTemplate ()
20725 {
20726 Register (PCC,
20727 0x20, // Bit Width
20728 0x00, // Bit Offset
20729 0x00000000000000CC, // Address
20730 ,)
20731 },
20732
20733 ResourceTemplate ()
20734 {
20735 Register (PCC,
20736 0x20, // Bit Width
20737 0x00, // Bit Offset
20738 0x00000000000000D0, // Address
20739 ,)
20740 },
20741
20742 ResourceTemplate ()
20743 {
20744 Register (PCC,
20745 0x20, // Bit Width
20746 0x00, // Bit Offset
20747 0x00000000000000D4, // Address
20748 ,)
20749 },
20750
20751 ResourceTemplate ()
20752 {
20753 Register (PCC,
20754 0x20, // Bit Width
20755 0x00, // Bit Offset
20756 0x00000000000000D8, // Address
20757 ,)
20758 },
20759
20760 ResourceTemplate ()
20761 {
20762 Register (PCC,
20763 0x20, // Bit Width
20764 0x00, // Bit Offset
20765 0x00000000000000DC, // Address
20766 ,)
20767 },
20768
20769 ResourceTemplate ()
20770 {
20771 Register (PCC,
20772 0x20, // Bit Width
20773 0x00, // Bit Offset
20774 0x00000000000000E0, // Address
20775 ,)
20776 },
20777
20778 ResourceTemplate ()
20779 {
20780 Register (PCC,
20781 0x20, // Bit Width
20782 0x00, // Bit Offset
20783 0x00000000000000E4, // Address
20784 ,)
20785 },
20786
20787 ResourceTemplate ()
20788 {
20789 Register (PCC,
20790 0x20, // Bit Width
20791 0x00, // Bit Offset
20792 0x00000000000000E8, // Address
20793 ,)
20794 },
20795
20796 ResourceTemplate ()
20797 {
20798 Register (PCC,
20799 0x20, // Bit Width
20800 0x00, // Bit Offset
20801 0x00000000000000EC, // Address
20802 ,)
20803 },
20804
20805 ResourceTemplate ()
20806 {
20807 Register (PCC,
20808 0x20, // Bit Width
20809 0x00, // Bit Offset
20810 0x00000000000000F0, // Address
20811 ,)
20812 },
20813
20814 ResourceTemplate ()
20815 {
20816 Register (FFixedHW,
20817 0x40, // Bit Width
20818 0x00, // Bit Offset
20819 0x00000000000000E7, // Address
20820 0x04, // Access Size
20821 )
20822 },
20823
20824 ResourceTemplate ()
20825 {
20826 Register (FFixedHW,
20827 0x40, // Bit Width
20828 0x00, // Bit Offset
20829 0x00000000000000E8, // Address
20830 0x04, // Access Size
20831 )
20832 },
20833
20834 ResourceTemplate ()
20835 {
20836 Register (PCC,
20837 0x20, // Bit Width
20838 0x00, // Bit Offset
20839 0x0000000000000104, // Address
20840 ,)
20841 },
20842
20843 ResourceTemplate ()
20844 {
20845 Register (PCC,
20846 0x20, // Bit Width
20847 0x00, // Bit Offset
20848 0x0000000000000108, // Address
20849 ,)
20850 }
20851 })
20852 }
20853
20854 Scope (\_PR.CPU3)
20855 {
20856 Name (_CPC, Package (0x11) // _CPC: Continuous Performance Control
20857 {
20858 0x11,
20859 One,
20860 ResourceTemplate ()
20861 {
20862 Register (PCC,
20863 0x20, // Bit Width
20864 0x00, // Bit Offset
20865 0x000000000000012C, // Address
20866 ,)
20867 },
20868
20869 ResourceTemplate ()
20870 {
20871 Register (PCC,
20872 0x20, // Bit Width
20873 0x00, // Bit Offset
20874 0x0000000000000130, // Address
20875 ,)
20876 },
20877
20878 ResourceTemplate ()
20879 {
20880 Register (PCC,
20881 0x20, // Bit Width
20882 0x00, // Bit Offset
20883 0x0000000000000134, // Address
20884 ,)
20885 },
20886
20887 ResourceTemplate ()
20888 {
20889 Register (PCC,
20890 0x20, // Bit Width
20891 0x00, // Bit Offset
20892 0x0000000000000138, // Address
20893 ,)
20894 },
20895
20896 ResourceTemplate ()
20897 {
20898 Register (PCC,
20899 0x20, // Bit Width
20900 0x00, // Bit Offset
20901 0x000000000000013C, // Address
20902 ,)
20903 },
20904
20905 ResourceTemplate ()
20906 {
20907 Register (PCC,
20908 0x20, // Bit Width
20909 0x00, // Bit Offset
20910 0x0000000000000140, // Address
20911 ,)
20912 },
20913
20914 ResourceTemplate ()
20915 {
20916 Register (PCC,
20917 0x20, // Bit Width
20918 0x00, // Bit Offset
20919 0x0000000000000144, // Address
20920 ,)
20921 },
20922
20923 ResourceTemplate ()
20924 {
20925 Register (PCC,
20926 0x20, // Bit Width
20927 0x00, // Bit Offset
20928 0x0000000000000148, // Address
20929 ,)
20930 },
20931
20932 ResourceTemplate ()
20933 {
20934 Register (PCC,
20935 0x20, // Bit Width
20936 0x00, // Bit Offset
20937 0x000000000000014C, // Address
20938 ,)
20939 },
20940
20941 ResourceTemplate ()
20942 {
20943 Register (PCC,
20944 0x20, // Bit Width
20945 0x00, // Bit Offset
20946 0x0000000000000150, // Address
20947 ,)
20948 },
20949
20950 ResourceTemplate ()
20951 {
20952 Register (PCC,
20953 0x20, // Bit Width
20954 0x00, // Bit Offset
20955 0x0000000000000154, // Address
20956 ,)
20957 },
20958
20959 ResourceTemplate ()
20960 {
20961 Register (FFixedHW,
20962 0x40, // Bit Width
20963 0x00, // Bit Offset
20964 0x00000000000000E7, // Address
20965 0x04, // Access Size
20966 )
20967 },
20968
20969 ResourceTemplate ()
20970 {
20971 Register (FFixedHW,
20972 0x40, // Bit Width
20973 0x00, // Bit Offset
20974 0x00000000000000E8, // Address
20975 0x04, // Access Size
20976 )
20977 },
20978
20979 ResourceTemplate ()
20980 {
20981 Register (PCC,
20982 0x20, // Bit Width
20983 0x00, // Bit Offset
20984 0x0000000000000168, // Address
20985 ,)
20986 },
20987
20988 ResourceTemplate ()
20989 {
20990 Register (PCC,
20991 0x20, // Bit Width
20992 0x00, // Bit Offset
20993 0x000000000000016C, // Address
20994 ,)
20995 }
20996 })
20997 }
20998
20999 Scope (\_PR.CPU4)
21000 {
21001 Name (_CPC, Package (0x11) // _CPC: Continuous Performance Control
21002 {
21003 0x11,
21004 One,
21005 ResourceTemplate ()
21006 {
21007 Register (PCC,
21008 0x20, // Bit Width
21009 0x00, // Bit Offset
21010 0x0000000000000190, // Address
21011 ,)
21012 },
21013
21014 ResourceTemplate ()
21015 {
21016 Register (PCC,
21017 0x20, // Bit Width
21018 0x00, // Bit Offset
21019 0x0000000000000194, // Address
21020 ,)
21021 },
21022
21023 ResourceTemplate ()
21024 {
21025 Register (PCC,
21026 0x20, // Bit Width
21027 0x00, // Bit Offset
21028 0x0000000000000198, // Address
21029 ,)
21030 },
21031
21032 ResourceTemplate ()
21033 {
21034 Register (PCC,
21035 0x20, // Bit Width
21036 0x00, // Bit Offset
21037 0x000000000000019C, // Address
21038 ,)
21039 },
21040
21041 ResourceTemplate ()
21042 {
21043 Register (PCC,
21044 0x20, // Bit Width
21045 0x00, // Bit Offset
21046 0x00000000000001A0, // Address
21047 ,)
21048 },
21049
21050 ResourceTemplate ()
21051 {
21052 Register (PCC,
21053 0x20, // Bit Width
21054 0x00, // Bit Offset
21055 0x00000000000001A4, // Address
21056 ,)
21057 },
21058
21059 ResourceTemplate ()
21060 {
21061 Register (PCC,
21062 0x20, // Bit Width
21063 0x00, // Bit Offset
21064 0x00000000000001A8, // Address
21065 ,)
21066 },
21067
21068 ResourceTemplate ()
21069 {
21070 Register (PCC,
21071 0x20, // Bit Width
21072 0x00, // Bit Offset
21073 0x00000000000001AC, // Address
21074 ,)
21075 },
21076
21077 ResourceTemplate ()
21078 {
21079 Register (PCC,
21080 0x20, // Bit Width
21081 0x00, // Bit Offset
21082 0x00000000000001B0, // Address
21083 ,)
21084 },
21085
21086 ResourceTemplate ()
21087 {
21088 Register (PCC,
21089 0x20, // Bit Width
21090 0x00, // Bit Offset
21091 0x00000000000001B4, // Address
21092 ,)
21093 },
21094
21095 ResourceTemplate ()
21096 {
21097 Register (PCC,
21098 0x20, // Bit Width
21099 0x00, // Bit Offset
21100 0x00000000000001B8, // Address
21101 ,)
21102 },
21103
21104 ResourceTemplate ()
21105 {
21106 Register (FFixedHW,
21107 0x40, // Bit Width
21108 0x00, // Bit Offset
21109 0x00000000000000E7, // Address
21110 0x04, // Access Size
21111 )
21112 },
21113
21114 ResourceTemplate ()
21115 {
21116 Register (FFixedHW,
21117 0x40, // Bit Width
21118 0x00, // Bit Offset
21119 0x00000000000000E8, // Address
21120 0x04, // Access Size
21121 )
21122 },
21123
21124 ResourceTemplate ()
21125 {
21126 Register (PCC,
21127 0x20, // Bit Width
21128 0x00, // Bit Offset
21129 0x00000000000001CC, // Address
21130 ,)
21131 },
21132
21133 ResourceTemplate ()
21134 {
21135 Register (PCC,
21136 0x20, // Bit Width
21137 0x00, // Bit Offset
21138 0x00000000000001D0, // Address
21139 ,)
21140 }
21141 })
21142 }
21143
21144 Scope (\_PR.CPU5)
21145 {
21146 Name (_CPC, Package (0x11) // _CPC: Continuous Performance Control
21147 {
21148 0x11,
21149 One,
21150 ResourceTemplate ()
21151 {
21152 Register (PCC,
21153 0x20, // Bit Width
21154 0x00, // Bit Offset
21155 0x00000000000001F4, // Address
21156 ,)
21157 },
21158
21159 ResourceTemplate ()
21160 {
21161 Register (PCC,
21162 0x20, // Bit Width
21163 0x00, // Bit Offset
21164 0x00000000000001F8, // Address
21165 ,)
21166 },
21167
21168 ResourceTemplate ()
21169 {
21170 Register (PCC,
21171 0x20, // Bit Width
21172 0x00, // Bit Offset
21173 0x00000000000001FC, // Address
21174 ,)
21175 },
21176
21177 ResourceTemplate ()
21178 {
21179 Register (PCC,
21180 0x20, // Bit Width
21181 0x00, // Bit Offset
21182 0x0000000000000200, // Address
21183 ,)
21184 },
21185
21186 ResourceTemplate ()
21187 {
21188 Register (PCC,
21189 0x20, // Bit Width
21190 0x00, // Bit Offset
21191 0x0000000000000204, // Address
21192 ,)
21193 },
21194
21195 ResourceTemplate ()
21196 {
21197 Register (PCC,
21198 0x20, // Bit Width
21199 0x00, // Bit Offset
21200 0x0000000000000208, // Address
21201 ,)
21202 },
21203
21204 ResourceTemplate ()
21205 {
21206 Register (PCC,
21207 0x20, // Bit Width
21208 0x00, // Bit Offset
21209 0x000000000000020C, // Address
21210 ,)
21211 },
21212
21213 ResourceTemplate ()
21214 {
21215 Register (PCC,
21216 0x20, // Bit Width
21217 0x00, // Bit Offset
21218 0x0000000000000210, // Address
21219 ,)
21220 },
21221
21222 ResourceTemplate ()
21223 {
21224 Register (PCC,
21225 0x20, // Bit Width
21226 0x00, // Bit Offset
21227 0x0000000000000214, // Address
21228 ,)
21229 },
21230
21231 ResourceTemplate ()
21232 {
21233 Register (PCC,
21234 0x20, // Bit Width
21235 0x00, // Bit Offset
21236 0x0000000000000218, // Address
21237 ,)
21238 },
21239
21240 ResourceTemplate ()
21241 {
21242 Register (PCC,
21243 0x20, // Bit Width
21244 0x00, // Bit Offset
21245 0x000000000000021C, // Address
21246 ,)
21247 },
21248
21249 ResourceTemplate ()
21250 {
21251 Register (FFixedHW,
21252 0x40, // Bit Width
21253 0x00, // Bit Offset
21254 0x00000000000000E7, // Address
21255 0x04, // Access Size
21256 )
21257 },
21258
21259 ResourceTemplate ()
21260 {
21261 Register (FFixedHW,
21262 0x40, // Bit Width
21263 0x00, // Bit Offset
21264 0x00000000000000E8, // Address
21265 0x04, // Access Size
21266 )
21267 },
21268
21269 ResourceTemplate ()
21270 {
21271 Register (PCC,
21272 0x20, // Bit Width
21273 0x00, // Bit Offset
21274 0x0000000000000230, // Address
21275 ,)
21276 },
21277
21278 ResourceTemplate ()
21279 {
21280 Register (PCC,
21281 0x20, // Bit Width
21282 0x00, // Bit Offset
21283 0x0000000000000234, // Address
21284 ,)
21285 }
21286 })
21287 }
21288
21289 Scope (\_PR.CPU6)
21290 {
21291 Name (_CPC, Package (0x11) // _CPC: Continuous Performance Control
21292 {
21293 0x11,
21294 One,
21295 ResourceTemplate ()
21296 {
21297 Register (PCC,
21298 0x20, // Bit Width
21299 0x00, // Bit Offset
21300 0x0000000000000258, // Address
21301 ,)
21302 },
21303
21304 ResourceTemplate ()
21305 {
21306 Register (PCC,
21307 0x20, // Bit Width
21308 0x00, // Bit Offset
21309 0x000000000000025C, // Address
21310 ,)
21311 },
21312
21313 ResourceTemplate ()
21314 {
21315 Register (PCC,
21316 0x20, // Bit Width
21317 0x00, // Bit Offset
21318 0x0000000000000260, // Address
21319 ,)
21320 },
21321
21322 ResourceTemplate ()
21323 {
21324 Register (PCC,
21325 0x20, // Bit Width
21326 0x00, // Bit Offset
21327 0x0000000000000264, // Address
21328 ,)
21329 },
21330
21331 ResourceTemplate ()
21332 {
21333 Register (PCC,
21334 0x20, // Bit Width
21335 0x00, // Bit Offset
21336 0x0000000000000268, // Address
21337 ,)
21338 },
21339
21340 ResourceTemplate ()
21341 {
21342 Register (PCC,
21343 0x20, // Bit Width
21344 0x00, // Bit Offset
21345 0x000000000000026C, // Address
21346 ,)
21347 },
21348
21349 ResourceTemplate ()
21350 {
21351 Register (PCC,
21352 0x20, // Bit Width
21353 0x00, // Bit Offset
21354 0x0000000000000270, // Address
21355 ,)
21356 },
21357
21358 ResourceTemplate ()
21359 {
21360 Register (PCC,
21361 0x20, // Bit Width
21362 0x00, // Bit Offset
21363 0x0000000000000274, // Address
21364 ,)
21365 },
21366
21367 ResourceTemplate ()
21368 {
21369 Register (PCC,
21370 0x20, // Bit Width
21371 0x00, // Bit Offset
21372 0x0000000000000278, // Address
21373 ,)
21374 },
21375
21376 ResourceTemplate ()
21377 {
21378 Register (PCC,
21379 0x20, // Bit Width
21380 0x00, // Bit Offset
21381 0x000000000000027C, // Address
21382 ,)
21383 },
21384
21385 ResourceTemplate ()
21386 {
21387 Register (PCC,
21388 0x20, // Bit Width
21389 0x00, // Bit Offset
21390 0x0000000000000280, // Address
21391 ,)
21392 },
21393
21394 ResourceTemplate ()
21395 {
21396 Register (FFixedHW,
21397 0x40, // Bit Width
21398 0x00, // Bit Offset
21399 0x00000000000000E7, // Address
21400 0x04, // Access Size
21401 )
21402 },
21403
21404 ResourceTemplate ()
21405 {
21406 Register (FFixedHW,
21407 0x40, // Bit Width
21408 0x00, // Bit Offset
21409 0x00000000000000E8, // Address
21410 0x04, // Access Size
21411 )
21412 },
21413
21414 ResourceTemplate ()
21415 {
21416 Register (PCC,
21417 0x20, // Bit Width
21418 0x00, // Bit Offset
21419 0x0000000000000294, // Address
21420 ,)
21421 },
21422
21423 ResourceTemplate ()
21424 {
21425 Register (PCC,
21426 0x20, // Bit Width
21427 0x00, // Bit Offset
21428 0x0000000000000298, // Address
21429 ,)
21430 }
21431 })
21432 }
21433
21434 Scope (\_PR.CPU7)
21435 {
21436 Name (_CPC, Package (0x11) // _CPC: Continuous Performance Control
21437 {
21438 0x11,
21439 One,
21440 ResourceTemplate ()
21441 {
21442 Register (PCC,
21443 0x20, // Bit Width
21444 0x00, // Bit Offset
21445 0x00000000000002BC, // Address
21446 ,)
21447 },
21448
21449 ResourceTemplate ()
21450 {
21451 Register (PCC,
21452 0x20, // Bit Width
21453 0x00, // Bit Offset
21454 0x00000000000002C0, // Address
21455 ,)
21456 },
21457
21458 ResourceTemplate ()
21459 {
21460 Register (PCC,
21461 0x20, // Bit Width
21462 0x00, // Bit Offset
21463 0x00000000000002C4, // Address
21464 ,)
21465 },
21466
21467 ResourceTemplate ()
21468 {
21469 Register (PCC,
21470 0x20, // Bit Width
21471 0x00, // Bit Offset
21472 0x00000000000002C8, // Address
21473 ,)
21474 },
21475
21476 ResourceTemplate ()
21477 {
21478 Register (PCC,
21479 0x20, // Bit Width
21480 0x00, // Bit Offset
21481 0x00000000000002CC, // Address
21482 ,)
21483 },
21484
21485 ResourceTemplate ()
21486 {
21487 Register (PCC,
21488 0x20, // Bit Width
21489 0x00, // Bit Offset
21490 0x00000000000002D0, // Address
21491 ,)
21492 },
21493
21494 ResourceTemplate ()
21495 {
21496 Register (PCC,
21497 0x20, // Bit Width
21498 0x00, // Bit Offset
21499 0x00000000000002D4, // Address
21500 ,)
21501 },
21502
21503 ResourceTemplate ()
21504 {
21505 Register (PCC,
21506 0x20, // Bit Width
21507 0x00, // Bit Offset
21508 0x00000000000002D8, // Address
21509 ,)
21510 },
21511
21512 ResourceTemplate ()
21513 {
21514 Register (PCC,
21515 0x20, // Bit Width
21516 0x00, // Bit Offset
21517 0x00000000000002DC, // Address
21518 ,)
21519 },
21520
21521 ResourceTemplate ()
21522 {
21523 Register (PCC,
21524 0x20, // Bit Width
21525 0x00, // Bit Offset
21526 0x00000000000002E0, // Address
21527 ,)
21528 },
21529
21530 ResourceTemplate ()
21531 {
21532 Register (PCC,
21533 0x20, // Bit Width
21534 0x00, // Bit Offset
21535 0x00000000000002E4, // Address
21536 ,)
21537 },
21538
21539 ResourceTemplate ()
21540 {
21541 Register (FFixedHW,
21542 0x40, // Bit Width
21543 0x00, // Bit Offset
21544 0x00000000000000E7, // Address
21545 0x04, // Access Size
21546 )
21547 },
21548
21549 ResourceTemplate ()
21550 {
21551 Register (FFixedHW,
21552 0x40, // Bit Width
21553 0x00, // Bit Offset
21554 0x00000000000000E8, // Address
21555 0x04, // Access Size
21556 )
21557 },
21558
21559 ResourceTemplate ()
21560 {
21561 Register (PCC,
21562 0x20, // Bit Width
21563 0x00, // Bit Offset
21564 0x00000000000002F8, // Address
21565 ,)
21566 },
21567
21568 ResourceTemplate ()
21569 {
21570 Register (PCC,
21571 0x20, // Bit Width
21572 0x00, // Bit Offset
21573 0x00000000000002FC, // Address
21574 ,)
21575 }
21576 })
21577 }
21578 }
Attached Files
To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.You are not allowed to attach a file to this page.