Attachment 'acpidump.txt'
Download 1 /*
2 RSD PTR: OEM=LENOVO, ACPI_Rev=2.0x (2)
3 XSDT=0xdaffe170, length=36, cksum=178
4 */
5 /*
6 XSDT: Length=196, Revision=1, Checksum=153,
7 OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
8 Creator ID=PTL, Creator Revision=0x2
9 Entries={ 0xdafe7000, 0xdaffd000, 0xdaffc000, 0xdaffb000, 0xdaffa000, 0xdaff9000, 0xdafe5000, 0xdafe4000, 0xdafe3000, 0xdafe2000, 0xdafe1000, 0xdafe8000, 0xdafe0000, 0xdafdf000, 0xdafde000, 0xdafdd000, 0xdafdc000, 0xdafdb000, 0xdafda000, 0xdafd9000 }
10 */
11 /*
12 FACP: Length=268, Revision=5, Checksum=220,
13 OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
14 Creator ID=PTL, Creator Revision=0x2
15 FACS=0xdaf5a000, DSDT=0xdafe9000
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=0x400-0x403
22 PM1a_CNT_BLK=0x404-0x405
23 PM2_CNT_BLK=0x450-0x450
24 PM_TMR_BLK=0x408-0x40b
25 GPE0_BLK=0x420-0x42f
26 CST_CNT=0xf4
27 P_LVL2_LAT=101 us, P_LVL3_LAT=57 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=0x00000000, Firm_Wake_Vec=0x00000000
37 Global_Lock=
38 Flags=
39 Version=1
40 */
41 /*
42 DSDT: Length=65294, Revision=1, Checksum=64,
43 OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
44 Creator ID=INTL, Creator Revision=0x20061109
45 */
46 /*
47 SLIC: Length=374, Revision=1, Checksum=140,
48 OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
49 Creator ID=PTL, Creator Revision=0x1
50 */
51 /*
52 TCPA: Length=50, Revision=2, Checksum=246,
53 OEMID=PTL, OEM Table ID=LENOVO, OEM Revision=0x6040000,
54 Creator ID=LNVO, Creator Revision=0x1
55 Class 0 Base Address 0xdaf6d000 Length 65536
56
57 0 0xee1e18f0d6e0fa60f3c3de901007a0ca263fced4 [S-CRTM Version]
58 6 0x0ed34fd1bb4227e218191958f2ddf98c9c5d2eaf [Wake Event 1]
59 0 0x971002a29e1a3535743dfc4bf1b120ef940e08d0 [S-CRTM Contents]
60 0 0x4b10a7bdedc6d78f79e87f398dec6b826736f24d [POST Code]
61 1 0x7650ec456a83ffa352c1a0739f479e85f7b0248c [CPU Microcode]
62 4 0xa90dc2856d4e15ea42a01cc71faf20f3c0c540bb [<unknown 0x80000003>]
63 5 0xcd0fdb4531a6ec41be2753ba042637d6e5f7f256 [<unknown 0x80000007>]
64 0 0xa53982eca500261b7d118586f654f1a91ac12146 [<unknown 0x80000009>]
65 1 0x4530f91e0f5f963991dcfddfab512e4476371546 [<unknown 0x80000009>]
66 0 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
67 1 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
68 2 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
69 3 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
70 4 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
71 5 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
72 6 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
73 7 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
74 1 0x964143528e01a52138b8281d64944d73d2ef646c [<unknown 0x80000002>]
75 2 0xb22071256a98a2ac340f0e9c9139d81217d7ec0a [<unknown 0x80000004>]
76 2 0x20a587f61faed56b3820a5270bf09f878c7e9373 [<unknown 0x80000004>]
77 2 0xfd85238a3ed4804275aeeac7eb60e9da5269883f [<unknown 0x80000003>]
78 4 0x90da49439bace95bbb7bc36c3510e6a568deffce [<unknown 0x80000003>]
79 */
80 /*
81 SSDT: Length=1032, Revision=1, Checksum=198,
82 OEMID=LENOVO, OEM Table ID=TP-SSDT2, OEM Revision=0x200,
83 Creator ID=INTL, Creator Revision=0x20061109
84 */
85 /*
86 SSDT: Length=51, Revision=1, Checksum=97,
87 OEMID=LENOVO, OEM Table ID=TP-SSDT1, OEM Revision=0x100,
88 Creator ID=INTL, Creator Revision=0x20061109
89 */
90 /*
91 SSDT: Length=1943, Revision=1, Checksum=119,
92 OEMID=LENOVO, OEM Table ID=SataAhci, OEM Revision=0x1000,
93 Creator ID=INTL, Creator Revision=0x20061109
94 */
95 /*
96 HPET: Length=56, Revision=1, Checksum=173,
97 OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
98 Creator ID=PTL, Creator Revision=0x2
99 HPET Number=0
100 ADDR=0xfed00000:0[0] (Memory) HW Rev=0x1
101 Comparators=3
102 Counter Size=1
103 Legacy IRQ routing capable={TRUE}
104 PCI Vendor ID=0x8086
105 Minimal Tick=128
106 Flags=0x00
107 */
108 /*
109 APIC: Length=152, Revision=1, Checksum=229,
110 OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
111 Creator ID=PTL, Creator Revision=0x2
112 Local APIC ADDR=0xfee00000
113 Flags={PC-AT}
114
115 Type=Local APIC
116 ACPI CPU=1
117 Flags={ENABLED}
118 APIC ID=0
119
120 Type=Local APIC
121 ACPI CPU=2
122 Flags={ENABLED}
123 APIC ID=1
124
125 Type=Local APIC
126 ACPI CPU=3
127 Flags={ENABLED}
128 APIC ID=2
129
130 Type=Local APIC
131 ACPI CPU=4
132 Flags={ENABLED}
133 APIC ID=3
134
135 Type=Local APIC
136 ACPI CPU=5
137 Flags={DISABLED}
138 APIC ID=0
139
140 Type=Local APIC
141 ACPI CPU=6
142 Flags={DISABLED}
143 APIC ID=0
144
145 Type=Local APIC
146 ACPI CPU=7
147 Flags={DISABLED}
148 APIC ID=0
149
150 Type=Local APIC
151 ACPI CPU=8
152 Flags={DISABLED}
153 APIC ID=0
154
155 Type=IO APIC
156 APIC ID=2
157 INT BASE=0
158 ADDR=0x00000000fec00000
159
160 Type=INT Override
161 BUS=0
162 IRQ=0
163 INTR=2
164 Flags={Polarity=conforming, Trigger=conforming}
165
166 Type=INT Override
167 BUS=0
168 IRQ=9
169 INTR=9
170 Flags={Polarity=active-hi, Trigger=level}
171
172 Type=Local APIC NMI
173 ACPI CPU=0
174 LINT Pin=1
175 Flags={Polarity=active-hi, Trigger=edge}
176
177 Type=Local APIC NMI
178 ACPI CPU=1
179 LINT Pin=1
180 Flags={Polarity=active-hi, Trigger=edge}
181 */
182 /*
183 MCFG: Length=60, Revision=1, Checksum=126,
184 OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
185 Creator ID=PTL, Creator Revision=0x2
186
187 Base Address=0x00000000f8000000
188 Segment Group=0x0000
189 Start Bus=0
190 End Bus=63
191 */
192 /*
193 ECDT: Length=82, Revision=1, Checksum=100,
194 OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
195 Creator ID=PTL, Creator Revision=0x2
196 EC_CONTROL=0x66:0[8] (IO)
197 EC_DATA=0x62:0[8] (IO)
198 UID=0, GPE_BIT=0x11
199 EC_ID=\_SB.PCI0.LPC.EC
200 */
201 /*
202 FPDT: Length=100, Revision=1, Checksum=1,
203 OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
204 Creator ID=PTL, Creator Revision=0x2
205 */
206 /*
207 ASF!: Length=165, Revision=32, Checksum=251,
208 OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
209 Creator ID=PTL, Creator Revision=0x2
210 */
211 /*
212 UEFI: Length=62, Revision=1, Checksum=201,
213 OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
214 Creator ID=PTL, Creator Revision=0x2
215 */
216 /*
217 UEFI: Length=66, Revision=1, Checksum=110,
218 OEMID=PTL, OEM Table ID=COMBUF, OEM Revision=0x1,
219 Creator ID=PTL, Creator Revision=0x1
220 */
221 /*
222 MSDM: Length=85, Revision=3, Checksum=30,
223 OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
224 Creator ID=PTL, Creator Revision=0x2
225 */
226 /*
227 SSDT: Length=3253, Revision=1, Checksum=4,
228 OEMID=PmRef, OEM Table ID=Cpu0Ist, OEM Revision=0x3000,
229 Creator ID=INTL, Creator Revision=0x20061109
230 */
231 /*
232 SSDT: Length=2686, Revision=1, Checksum=1,
233 OEMID=PmRef, OEM Table ID=CpuPm, OEM Revision=0x3000,
234 Creator ID=INTL, Creator Revision=0x20061109
235 */
236 /*
237 UEFI: Length=678, Revision=1, Checksum=83,
238 OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
239 Creator ID=PTL, Creator Revision=0x2
240 */
241 /*
242 DBG2: Length=233, Revision=0, Checksum=221,
243 OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
244 Creator ID=PTL, Creator Revision=0x2
245 */
246 /*
247 BGRT: Length=56, Revision=0, Checksum=126,
248 OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
249 Creator ID=PTL, Creator Revision=0x2
250 */
251 /*
252 * Intel ACPI Component Architecture
253 * AML Disassembler version 20130823-64
254 * Copyright (c) 2000 - 2013 Intel Corporation
255 *
256 * Disassembly of /tmp/acpidump.5Ekb5o, Mon Sep 22 12:24:06 2014
257 *
258 * Original Table Header:
259 * Signature "DSDT"
260 * Length 0x0001215F (74079)
261 * Revision 0x01 **** 32-bit table (V1), no 64-bit math support
262 * Checksum 0xAF
263 * OEM ID "LENOVO"
264 * OEM Table ID "TP-G4 "
265 * OEM Revision 0x00002040 (8256)
266 * Compiler ID "INTL"
267 * Compiler Version 0x20061109 (537268489)
268 */
269 DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "LENOVO", "TP-G4 ", 0x00002040)
270 {
271
272 External (_SB_.PCI0.SAT1.PRIM.GTME)
273 External (_SB_.PCI0.SAT1.SCND.GTME)
274 External (_SB_.PCI0.SAT1.SCND.MSTR)
275 External (NPSS, IntObj)
276
277 Scope (\_PR)
278 {
279 Processor (CPU0, 0x01, 0x00000410, 0x06) {}
280 Processor (CPU1, 0x02, 0x00000410, 0x06) {}
281 Processor (CPU2, 0x03, 0x00000410, 0x06) {}
282 Processor (CPU3, 0x04, 0x00000410, 0x06) {}
283 Processor (CPU4, 0x05, 0x00000410, 0x06) {}
284 Processor (CPU5, 0x06, 0x00000410, 0x06) {}
285 Processor (CPU6, 0x07, 0x00000410, 0x06) {}
286 Processor (CPU7, 0x08, 0x00000410, 0x06) {}
287 }
288
289 Scope (\)
290 {
291 Method (PNTF, 1, NotSerialized)
292 {
293 If (And (\PPMF, 0x0400))
294 {
295 If (LOr (LAnd (And (PDC0, 0x08), LOr (LEqual (Arg0,
296 0x80), LEqual (Arg0, 0x82))), LAnd (And (PDC0, 0x10), LEqual (Arg0,
297 0x81))))
298 {
299 Notify (\_PR.CPU0, Arg0)
300 }
301
302 If (LOr (LAnd (And (PDC1, 0x08), LOr (LEqual (Arg0,
303 0x80), LEqual (Arg0, 0x82))), LAnd (And (PDC1, 0x10), LEqual (Arg0,
304 0x81))))
305 {
306 Notify (\_PR.CPU1, Arg0)
307 }
308
309 If (LOr (LAnd (And (PDC2, 0x08), LOr (LEqual (Arg0,
310 0x80), LEqual (Arg0, 0x82))), LAnd (And (PDC2, 0x10), LEqual (Arg0,
311 0x81))))
312 {
313 Notify (\_PR.CPU2, Arg0)
314 }
315
316 If (LOr (LAnd (And (PDC3, 0x08), LOr (LEqual (Arg0,
317 0x80), LEqual (Arg0, 0x82))), LAnd (And (PDC3, 0x10), LEqual (Arg0,
318 0x81))))
319 {
320 Notify (\_PR.CPU3, Arg0)
321 }
322
323 If (LOr (LAnd (And (PDC4, 0x08), LOr (LEqual (Arg0,
324 0x80), LEqual (Arg0, 0x82))), LAnd (And (PDC4, 0x10), LEqual (Arg0,
325 0x81))))
326 {
327 Notify (\_PR.CPU4, Arg0)
328 }
329
330 If (LOr (LAnd (And (PDC5, 0x08), LOr (LEqual (Arg0,
331 0x80), LEqual (Arg0, 0x82))), LAnd (And (PDC5, 0x10), LEqual (Arg0,
332 0x81))))
333 {
334 Notify (\_PR.CPU5, Arg0)
335 }
336
337 If (LOr (LAnd (And (PDC6, 0x08), LOr (LEqual (Arg0,
338 0x80), LEqual (Arg0, 0x82))), LAnd (And (PDC6, 0x10), LEqual (Arg0,
339 0x81))))
340 {
341 Notify (\_PR.CPU6, Arg0)
342 }
343
344 If (LOr (LAnd (And (PDC7, 0x08), LOr (LEqual (Arg0,
345 0x80), LEqual (Arg0, 0x82))), LAnd (And (PDC7, 0x10), LEqual (Arg0,
346 0x81))))
347 {
348 Notify (\_PR.CPU7, Arg0)
349 }
350 }
351 Else
352 {
353 If (LOr (LEqual (Arg0, 0x80), LOr (LEqual (Arg0, 0x81), LEqual (
354 Arg0, 0x82))))
355 {
356 Notify (\_PR.CPU0, Arg0)
357 }
358 }
359 }
360 }
361
362 OperationRegion (MNVS, SystemMemory, 0xDAF9D018, 0x1000)
363 Field (MNVS, DWordAcc, NoLock, Preserve)
364 {
365 Offset (0xD00),
366 GAPA, 32,
367 GAPL, 32,
368 DCKI, 32,
369 DCKS, 32,
370 VCDL, 1,
371 VCDC, 1,
372 VCDT, 1,
373 VCDD, 1,
374 , 1,
375 VCSS, 1,
376 VCDB, 1,
377 VCIN, 1,
378 VVPO, 8,
379 BRTN, 8,
380 BRLV, 8,
381 CDFL, 8,
382 CDAH, 8,
383 PMOD, 2,
384 PDIR, 1,
385 PDMA, 1,
386 Offset (0xD17),
387 LFDC, 1,
388 Offset (0xD18),
389 C2NA, 1,
390 C3NA, 1,
391 C4NA, 1,
392 C6NA, 1,
393 C7NA, 1,
394 Offset (0xD19),
395 Offset (0xD1A),
396 , 2,
397 , 1,
398 NHPS, 1,
399 NPME, 1,
400 Offset (0xD1B),
401 UOPT, 8,
402 BTID, 32,
403 DPP0, 1,
404 DPP1, 1,
405 DPP2, 1,
406 DPP3, 1,
407 DPP4, 1,
408 DPP5, 1,
409 Offset (0xD21),
410 Offset (0xD22),
411 TCRT, 16,
412 TPSV, 16,
413 TTC1, 16,
414 TTC2, 16,
415 TTSP, 16,
416 SRAH, 8,
417 SRHE, 8,
418 SRE1, 8,
419 SRE2, 8,
420 SRE3, 8,
421 SRE4, 8,
422 SRE5, 8,
423 SRE6, 8,
424 SRU1, 8,
425 SRU2, 8,
426 SRU3, 8,
427 SRU7, 8,
428 SRU4, 8,
429 SRU5, 8,
430 SRU8, 8,
431 SRPB, 8,
432 SRLP, 8,
433 SRSA, 8,
434 SRSM, 8,
435 CWAC, 1,
436 CWAS, 1,
437 CWUE, 1,
438 CWUS, 1,
439 Offset (0xD40),
440 CWAP, 16,
441 CWAT, 16,
442 DBGC, 1,
443 Offset (0xD45),
444 FS1L, 16,
445 FS1M, 16,
446 FS1H, 16,
447 FS2L, 16,
448 FS2M, 16,
449 FS2H, 16,
450 FS3L, 16,
451 FS3M, 16,
452 FS3H, 16,
453 TATC, 1,
454 , 6,
455 TATL, 1,
456 TATW, 8,
457 TNFT, 4,
458 TNTT, 4,
459 TDFA, 4,
460 TDTA, 4,
461 TDFD, 4,
462 TDTD, 4,
463 TCFA, 4,
464 TCTA, 4,
465 TCFD, 4,
466 TCTD, 4,
467 TSFT, 4,
468 TSTT, 4,
469 TIT0, 8,
470 TCR0, 16,
471 TPS0, 16,
472 TIT1, 8,
473 TCR1, 16,
474 TPS1, 16,
475 TIT2, 8,
476 TCR2, 16,
477 TPS2, 16,
478 TIF0, 8,
479 TIF1, 8,
480 TIF2, 8,
481 Offset (0xD78),
482 BTHI, 1,
483 Offset (0xD79),
484 HDIR, 1,
485 HDEH, 1,
486 HDSP, 1,
487 HDPP, 1,
488 HDUB, 1,
489 HDMC, 1,
490 Offset (0xD7A),
491 TPME, 8,
492 BIDE, 4,
493 IDET, 4,
494 , 1,
495 DTSE, 1,
496 Offset (0xD7D),
497 DTS0, 8,
498 DTS1, 8,
499 DT00, 1,
500 DT01, 1,
501 DT02, 1,
502 DT03, 1,
503 Offset (0xD80),
504 LIDB, 1,
505 C4WR, 1,
506 C4AC, 1,
507 ODDX, 1,
508 CMPR, 1,
509 ILNF, 1,
510 PLUX, 1,
511 Offset (0xD81),
512 Offset (0xD8C),
513 , 4,
514 , 1,
515 IDMM, 1,
516 Offset (0xD8D),
517 , 3,
518 , 1,
519 , 1,
520 LIDS, 1,
521 Offset (0xD8E),
522 Offset (0xD8F),
523 , 4,
524 Offset (0xD90),
525 TCG0, 1,
526 TCG1, 1,
527 Offset (0xD91),
528 SWGP, 8,
529 IPMS, 8,
530 IPMB, 120,
531 IPMR, 24,
532 IPMO, 24,
533 IPMA, 8,
534 VIGD, 1,
535 VDSC, 1,
536 , 2,
537 VDSP, 1,
538 Offset (0xDAA),
539 Offset (0xDAD),
540 ASFT, 8,
541 PL1L, 8,
542 PL1M, 8,
543 CHKC, 32,
544 CHKE, 32,
545 ATRB, 32,
546 Offset (0xDBD),
547 PPCR, 8,
548 TPCR, 5,
549 Offset (0xDBF),
550 Offset (0xDCE),
551 CTDP, 8,
552 PPCA, 8,
553 TPCA, 5,
554 Offset (0xDD1),
555 BFWB, 296,
556 OSPX, 1,
557 OSC4, 1,
558 Offset (0xDF7),
559 SPEN, 1,
560 SCRM, 1,
561 GFPL, 1,
562 ETAU, 1,
563 IHBC, 1,
564 APMD, 1,
565 APMF, 1,
566 TDNV, 1,
567 FTPS, 8,
568 HIST, 8,
569 LPST, 8,
570 LWST, 8,
571 Offset (0xDFF),
572 MTAU, 8,
573 Offset (0xE20),
574 HPET, 32,
575 PKLI, 16,
576 VLCX, 16,
577 VNIT, 8,
578 VBD0, 8,
579 VBDT, 128,
580 VBPL, 16,
581 VBPH, 16,
582 VBML, 8,
583 VBMH, 8,
584 VEDI, 1024,
585 PDCI, 16,
586 ISCG, 32,
587 ISSP, 1,
588 ISWK, 2,
589 Offset (0xEC7),
590 SHA1, 160,
591 FFDT, 1,
592 Offset (0xEDC),
593 LWCP, 1,
594 LWEN, 1,
595 Offset (0xEDD),
596 USBR, 1,
597 Offset (0xEDE),
598 Offset (0xEDF),
599 Offset (0xEE1),
600 LPAW, 8,
601 XPFG, 1,
602 SVHC, 1,
603 Offset (0xEE3),
604 , 2,
605 CPUC, 1,
606 Offset (0xEE4)
607 }
608
609 Field (MNVS, ByteAcc, NoLock, Preserve)
610 {
611 Offset (0xB00),
612 WITM, 8,
613 WSEL, 8,
614 WLS0, 8,
615 WLS1, 8,
616 WLS2, 8,
617 WLS3, 8,
618 WLS4, 8,
619 WLS5, 8,
620 WLS6, 8,
621 WLS7, 8,
622 WLS8, 8,
623 WLS9, 8,
624 WLSA, 8,
625 WLSB, 8,
626 WLSC, 8,
627 WLSD, 8,
628 WENC, 8,
629 WKBD, 8,
630 WPTY, 8,
631 WPAS, 1032,
632 WPNW, 1032,
633 WSPM, 8,
634 WSPS, 8,
635 WSMN, 8,
636 WSMX, 8,
637 WSEN, 8,
638 WSKB, 8
639 }
640
641 Field (MNVS, ByteAcc, NoLock, Preserve)
642 {
643 Offset (0xA00),
644 DBGS, 1024
645 }
646
647 OperationRegion (GNVS, SystemMemory, 0xDAF6CE18, 0x01C8)
648 Field (GNVS, AnyAcc, Lock, Preserve)
649 {
650 OSYS, 16,
651 SMIF, 8,
652 PRM0, 8,
653 PRM1, 8,
654 Offset (0x10),
655 PWRS, 8,
656 Offset (0x1E),
657 Offset (0x25),
658 REVN, 8,
659 Offset (0x28),
660 APIC, 8,
661 TCNT, 8,
662 PCP0, 8,
663 PCP1, 8,
664 PPCM, 8,
665 PPMF, 32,
666 C67L, 8,
667 Offset (0x3C),
668 IGDS, 8,
669 TLST, 8,
670 CADL, 8,
671 PADL, 8,
672 CSTE, 16,
673 NSTE, 16,
674 SSTE, 16,
675 NDID, 8,
676 DID1, 32,
677 DID2, 32,
678 DID3, 32,
679 DID4, 32,
680 DID5, 32,
681 KSV0, 32,
682 KSV1, 8,
683 Offset (0x67),
684 BLCS, 8,
685 BRTL, 8,
686 Offset (0x78),
687 TPMP, 8,
688 Offset (0x7A),
689 MORD, 8,
690 TCGP, 8,
691 PPRP, 32,
692 PPRQ, 8,
693 LPPR, 8,
694 GTF0, 56,
695 GTF2, 56,
696 IDEM, 8,
697 GTF1, 56,
698 BID, 8,
699 PLID, 8,
700 AOAC, 8,
701 SLDR, 32,
702 WAKR, 8,
703 Offset (0xAA),
704 ASLB, 32,
705 IBTT, 8,
706 IPAT, 8,
707 ITVF, 8,
708 ITVM, 8,
709 IPSC, 8,
710 IBLC, 8,
711 IBIA, 8,
712 ISSC, 8,
713 I409, 8,
714 I509, 8,
715 I609, 8,
716 I709, 8,
717 IPCF, 8,
718 IDMS, 8,
719 IF1E, 8,
720 HVCO, 8,
721 NXD1, 32,
722 NXD2, 32,
723 NXD3, 32,
724 NXD4, 32,
725 NXD5, 32,
726 NXD6, 32,
727 NXD7, 32,
728 NXD8, 32,
729 GSMI, 8,
730 PAVP, 8,
731 Offset (0xE1),
732 OSCC, 8,
733 NEXP, 8,
734 SDGV, 8,
735 SDDV, 8,
736 Offset (0xEB),
737 DSEN, 8,
738 ECON, 8,
739 Offset (0xEE),
740 CTYP, 8,
741 L01C, 8,
742 VFN0, 8,
743 VFN1, 8,
744 Offset (0x100),
745 NVGA, 32,
746 NVHA, 32,
747 AMDA, 32,
748 DID6, 32,
749 DID7, 32,
750 DID8, 32,
751 EBAS, 32,
752 CPSP, 32,
753 EECP, 32,
754 EVCP, 32,
755 XBAS, 32,
756 OBS1, 32,
757 OBS2, 32,
758 OBS3, 32,
759 OBS4, 32,
760 OBS5, 32,
761 OBS6, 32,
762 OBS7, 32,
763 OBS8, 32,
764 Offset (0x157),
765 ATMC, 8,
766 PTMC, 8,
767 ATRA, 8,
768 PTRA, 8,
769 PNHM, 32,
770 TBAB, 32,
771 TBAH, 32,
772 RTIP, 8,
773 TSOD, 8,
774 ATPC, 8,
775 PTPC, 8,
776 PFLV, 8,
777 BREV, 8,
778 HGMD, 8,
779 PWOK, 8,
780 HLRS, 8,
781 DSEL, 8,
782 ESEL, 8,
783 PSEL, 8,
784 PWEN, 8,
785 PRST, 8,
786 DPBM, 8,
787 DPCM, 8,
788 DPDM, 8,
789 ALFP, 8,
790 IMON, 8,
791 PDTS, 8,
792 PKGA, 8,
793 PAMT, 8,
794 AC0F, 8,
795 AC1F, 8,
796 Offset (0x1B2),
797 XHCM, 8,
798 XHPM, 8
799 }
800
801 Scope (\_SB)
802 {
803 Method (_INI, 0, NotSerialized) // _INI: Initialize
804 {
805 If (CondRefOf (\_OSI, Local0))
806 {
807 If (\_OSI ("Windows 2001"))
808 {
809 Store (0x01, \WNTF)
810 Store (0x01, \WXPF)
811 Store (0x00, \WSPV)
812 }
813
814 If (\_OSI ("Windows 2001 SP1"))
815 {
816 Store (0x01, \WSPV)
817 }
818
819 If (\_OSI ("Windows 2001 SP2"))
820 {
821 Store (0x02, \WSPV)
822 }
823
824 If (\_OSI ("Windows 2006"))
825 {
826 Store (0x01, \WVIS)
827 }
828
829 If (\_OSI ("Windows 2009"))
830 {
831 Store (0x01, \WIN7)
832 }
833
834 If (\_OSI ("Windows 2012"))
835 {
836 Store (0x01, \WIN8)
837 }
838
839 If (\_OSI ("Linux"))
840 {
841 Store (0x01, \LNUX)
842 }
843
844 If (\_OSI ("FreeBSD"))
845 {
846 Store (0x01, \LNUX)
847 }
848 }
849 Else
850 {
851 If (LEqual (\SCMP (\_OS, "Microsoft Windows NT"), Zero))
852 {
853 Store (0x01, \WNTF)
854 }
855 }
856
857 If (LGreaterEqual (\_REV, 0x02))
858 {
859 Store (0x01, \H8DR)
860 }
861
862 Store (0x01, \OSIF)
863 Store (\_SB.PCI0.LPC.EC.AC._PSR (), \PWRS)
864 \_SB.PCI0.LPC.MOU.MHID ()
865 If (\LNUX)
866 {
867 \_SB.PCI0.LPC.EC.SAUM (0x02)
868 \UCMS (0x1C)
869 }
870
871 Store (\SRAH, \_SB.PCI0.RID)
872 If (VIGD)
873 {
874 Store (\SRHE, \_SB.PCI0.VID.RID)
875 }
876 Else
877 {
878 Store (\SRHE, \_SB.PCI0.PEG.RID)
879 }
880
881 Store (\SRE1, \_SB.PCI0.EXP1.RID)
882 Store (\SRE2, \_SB.PCI0.EXP2.RID)
883 Store (\SRE3, \_SB.PCI0.EXP3.RID)
884 Store (\SRU7, \_SB.PCI0.EHC1.RID)
885 Store (\SRU8, \_SB.PCI0.EHC2.RID)
886 Store (\SRLP, \_SB.PCI0.LPC.RID)
887 Store (\SRSA, \_SB.PCI0.SAT1.RID)
888 Store (\SRSM, \_SB.PCI0.SMBU.RID)
889 If (VDSP)
890 {
891 Store (\VHYB (0x05, 0x00), Local1)
892 If (And (Local1, 0x80))
893 {
894 If (\WIN7)
895 {
896 If (LNotEqual (And (Local1, 0x03), 0x03))
897 {
898 \VHYB (0x06, 0x03)
899 }
900 }
901 Else
902 {
903 If (LEqual (And (Local1, 0x03), 0x03))
904 {
905 \VHYB (0x06, 0x02)
906 }
907 }
908 }
909 }
910
911 If (\WIN7)
912 {
913 Store (0x00, XPFG)
914 }
915 Else
916 {
917 Store (0x01, XPFG)
918 }
919
920 \UCMS (0x1D)
921 }
922
923 Device (LNKA)
924 {
925 Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
926 Name (_UID, 0x01) // _UID: Unique ID
927 Method (_STA, 0, NotSerialized) // _STA: Status
928 {
929 If (LNot (VPIR (\_SB.PCI0.LPC.PIRA)))
930 {
931 Return (0x09)
932 }
933 Else
934 {
935 Return (0x0B)
936 }
937 }
938
939 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
940 {
941 IRQ (Level, ActiveLow, Shared, )
942 {3,4,5,6,7,9,10,11}
943 })
944 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
945 {
946 Or (\_SB.PCI0.LPC.PIRA, 0x80, \_SB.PCI0.LPC.PIRA)
947 }
948
949 Name (BUFA, ResourceTemplate ()
950 {
951 IRQ (Level, ActiveLow, Shared, _Y00)
952 {}
953 })
954 CreateWordField (BUFA, \_SB.LNKA._Y00._INT, IRA1) // _INT: Interrupts
955 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
956 {
957 And (\_SB.PCI0.LPC.PIRA, 0x8F, Local0)
958 If (VPIR (Local0))
959 {
960 ShiftLeft (0x01, Local0, IRA1)
961 }
962 Else
963 {
964 Store (0x00, IRA1)
965 }
966
967 Return (BUFA)
968 }
969
970 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
971 {
972 CreateWordField (Arg0, 0x01, IRA2)
973 FindSetRightBit (IRA2, Local0)
974 And (\_SB.PCI0.LPC.PIRA, 0x70, Local1)
975 Or (Local1, Decrement (Local0), Local1)
976 Store (Local1, \_SB.PCI0.LPC.PIRA)
977 }
978 }
979
980 Device (LNKB)
981 {
982 Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
983 Name (_UID, 0x02) // _UID: Unique ID
984 Method (_STA, 0, NotSerialized) // _STA: Status
985 {
986 If (LNot (VPIR (\_SB.PCI0.LPC.PIRB)))
987 {
988 Return (0x09)
989 }
990 Else
991 {
992 Return (0x0B)
993 }
994 }
995
996 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
997 {
998 IRQ (Level, ActiveLow, Shared, )
999 {3,4,5,6,7,9,10,11}
1000 })
1001 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1002 {
1003 Or (\_SB.PCI0.LPC.PIRB, 0x80, \_SB.PCI0.LPC.PIRB)
1004 }
1005
1006 Name (BUFB, ResourceTemplate ()
1007 {
1008 IRQ (Level, ActiveLow, Shared, _Y01)
1009 {}
1010 })
1011 CreateWordField (BUFB, \_SB.LNKB._Y01._INT, IRB1) // _INT: Interrupts
1012 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1013 {
1014 And (\_SB.PCI0.LPC.PIRB, 0x8F, Local0)
1015 If (VPIR (Local0))
1016 {
1017 ShiftLeft (0x01, Local0, IRB1)
1018 }
1019 Else
1020 {
1021 Store (0x00, IRB1)
1022 }
1023
1024 Return (BUFB)
1025 }
1026
1027 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1028 {
1029 CreateWordField (Arg0, 0x01, IRB2)
1030 FindSetRightBit (IRB2, Local0)
1031 And (\_SB.PCI0.LPC.PIRB, 0x70, Local1)
1032 Or (Local1, Decrement (Local0), Local1)
1033 Store (Local1, \_SB.PCI0.LPC.PIRB)
1034 }
1035 }
1036
1037 Device (LNKC)
1038 {
1039 Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
1040 Name (_UID, 0x03) // _UID: Unique ID
1041 Method (_STA, 0, NotSerialized) // _STA: Status
1042 {
1043 If (LNot (VPIR (\_SB.PCI0.LPC.PIRC)))
1044 {
1045 Return (0x09)
1046 }
1047 Else
1048 {
1049 Return (0x0B)
1050 }
1051 }
1052
1053 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1054 {
1055 IRQ (Level, ActiveLow, Shared, )
1056 {3,4,5,6,7,9,10,11}
1057 })
1058 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1059 {
1060 Or (\_SB.PCI0.LPC.PIRC, 0x80, \_SB.PCI0.LPC.PIRC)
1061 }
1062
1063 Name (BUFC, ResourceTemplate ()
1064 {
1065 IRQ (Level, ActiveLow, Shared, _Y02)
1066 {}
1067 })
1068 CreateWordField (BUFC, \_SB.LNKC._Y02._INT, IRC1) // _INT: Interrupts
1069 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1070 {
1071 And (\_SB.PCI0.LPC.PIRC, 0x8F, Local0)
1072 If (VPIR (Local0))
1073 {
1074 ShiftLeft (0x01, Local0, IRC1)
1075 }
1076 Else
1077 {
1078 Store (0x00, IRC1)
1079 }
1080
1081 Return (BUFC)
1082 }
1083
1084 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1085 {
1086 CreateWordField (Arg0, 0x01, IRC2)
1087 FindSetRightBit (IRC2, Local0)
1088 And (\_SB.PCI0.LPC.PIRC, 0x70, Local1)
1089 Or (Local1, Decrement (Local0), Local1)
1090 Store (Local1, \_SB.PCI0.LPC.PIRC)
1091 }
1092 }
1093
1094 Device (LNKD)
1095 {
1096 Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
1097 Name (_UID, 0x04) // _UID: Unique ID
1098 Method (_STA, 0, NotSerialized) // _STA: Status
1099 {
1100 If (LNot (VPIR (\_SB.PCI0.LPC.PIRD)))
1101 {
1102 Return (0x09)
1103 }
1104 Else
1105 {
1106 Return (0x0B)
1107 }
1108 }
1109
1110 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1111 {
1112 IRQ (Level, ActiveLow, Shared, )
1113 {3,4,5,6,7,9,10,11}
1114 })
1115 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1116 {
1117 Or (\_SB.PCI0.LPC.PIRD, 0x80, \_SB.PCI0.LPC.PIRD)
1118 }
1119
1120 Name (BUFD, ResourceTemplate ()
1121 {
1122 IRQ (Level, ActiveLow, Shared, _Y03)
1123 {}
1124 })
1125 CreateWordField (BUFD, \_SB.LNKD._Y03._INT, IRD1) // _INT: Interrupts
1126 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1127 {
1128 And (\_SB.PCI0.LPC.PIRD, 0x8F, Local0)
1129 If (VPIR (Local0))
1130 {
1131 ShiftLeft (0x01, Local0, IRD1)
1132 }
1133 Else
1134 {
1135 Store (0x00, IRD1)
1136 }
1137
1138 Return (BUFD)
1139 }
1140
1141 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1142 {
1143 CreateWordField (Arg0, 0x01, IRD2)
1144 FindSetRightBit (IRD2, Local0)
1145 And (\_SB.PCI0.LPC.PIRD, 0x70, Local1)
1146 Or (Local1, Decrement (Local0), Local1)
1147 Store (Local1, \_SB.PCI0.LPC.PIRD)
1148 }
1149 }
1150
1151 Device (LNKE)
1152 {
1153 Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
1154 Name (_UID, 0x05) // _UID: Unique ID
1155 Method (_STA, 0, NotSerialized) // _STA: Status
1156 {
1157 If (LNot (VPIR (\_SB.PCI0.LPC.PIRE)))
1158 {
1159 Return (0x09)
1160 }
1161 Else
1162 {
1163 Return (0x0B)
1164 }
1165 }
1166
1167 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1168 {
1169 IRQ (Level, ActiveLow, Shared, )
1170 {3,4,5,6,7,9,10,11}
1171 })
1172 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1173 {
1174 Or (\_SB.PCI0.LPC.PIRE, 0x80, \_SB.PCI0.LPC.PIRE)
1175 }
1176
1177 Name (BUFE, ResourceTemplate ()
1178 {
1179 IRQ (Level, ActiveLow, Shared, _Y04)
1180 {}
1181 })
1182 CreateWordField (BUFE, \_SB.LNKE._Y04._INT, IRE1) // _INT: Interrupts
1183 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1184 {
1185 And (\_SB.PCI0.LPC.PIRE, 0x8F, Local0)
1186 If (VPIR (Local0))
1187 {
1188 ShiftLeft (0x01, Local0, IRE1)
1189 }
1190 Else
1191 {
1192 Store (0x00, IRE1)
1193 }
1194
1195 Return (BUFE)
1196 }
1197
1198 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1199 {
1200 CreateWordField (Arg0, 0x01, IRE2)
1201 FindSetRightBit (IRE2, Local0)
1202 And (\_SB.PCI0.LPC.PIRE, 0x70, Local1)
1203 Or (Local1, Decrement (Local0), Local1)
1204 Store (Local1, \_SB.PCI0.LPC.PIRE)
1205 }
1206 }
1207
1208 Device (LNKF)
1209 {
1210 Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
1211 Name (_UID, 0x06) // _UID: Unique ID
1212 Method (_STA, 0, NotSerialized) // _STA: Status
1213 {
1214 If (LNot (VPIR (\_SB.PCI0.LPC.PIRF)))
1215 {
1216 Return (0x09)
1217 }
1218 Else
1219 {
1220 Return (0x0B)
1221 }
1222 }
1223
1224 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1225 {
1226 IRQ (Level, ActiveLow, Shared, )
1227 {3,4,5,6,7,9,10,11}
1228 })
1229 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1230 {
1231 Or (\_SB.PCI0.LPC.PIRF, 0x80, \_SB.PCI0.LPC.PIRF)
1232 }
1233
1234 Name (BUFF, ResourceTemplate ()
1235 {
1236 IRQ (Level, ActiveLow, Shared, _Y05)
1237 {}
1238 })
1239 CreateWordField (BUFF, \_SB.LNKF._Y05._INT, IRF1) // _INT: Interrupts
1240 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1241 {
1242 And (\_SB.PCI0.LPC.PIRF, 0x8F, Local0)
1243 If (VPIR (Local0))
1244 {
1245 ShiftLeft (0x01, Local0, IRF1)
1246 }
1247 Else
1248 {
1249 Store (0x00, IRF1)
1250 }
1251
1252 Return (BUFF)
1253 }
1254
1255 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1256 {
1257 CreateWordField (Arg0, 0x01, IRF2)
1258 FindSetRightBit (IRF2, Local0)
1259 And (\_SB.PCI0.LPC.PIRF, 0x70, Local1)
1260 Or (Local1, Decrement (Local0), Local1)
1261 Store (Local1, \_SB.PCI0.LPC.PIRF)
1262 }
1263 }
1264
1265 Device (LNKG)
1266 {
1267 Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
1268 Name (_UID, 0x07) // _UID: Unique ID
1269 Method (_STA, 0, NotSerialized) // _STA: Status
1270 {
1271 If (LNot (VPIR (\_SB.PCI0.LPC.PIRG)))
1272 {
1273 Return (0x09)
1274 }
1275 Else
1276 {
1277 Return (0x0B)
1278 }
1279 }
1280
1281 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1282 {
1283 IRQ (Level, ActiveLow, Shared, )
1284 {3,4,5,6,7,9,10,11}
1285 })
1286 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1287 {
1288 Or (\_SB.PCI0.LPC.PIRG, 0x80, \_SB.PCI0.LPC.PIRG)
1289 }
1290
1291 Name (BUFG, ResourceTemplate ()
1292 {
1293 IRQ (Level, ActiveLow, Shared, _Y06)
1294 {}
1295 })
1296 CreateWordField (BUFG, \_SB.LNKG._Y06._INT, IRG1) // _INT: Interrupts
1297 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1298 {
1299 And (\_SB.PCI0.LPC.PIRG, 0x8F, Local0)
1300 If (VPIR (Local0))
1301 {
1302 ShiftLeft (0x01, Local0, IRG1)
1303 }
1304 Else
1305 {
1306 Store (0x00, IRG1)
1307 }
1308
1309 Return (BUFG)
1310 }
1311
1312 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1313 {
1314 CreateWordField (Arg0, 0x01, IRG2)
1315 FindSetRightBit (IRG2, Local0)
1316 And (\_SB.PCI0.LPC.PIRG, 0x70, Local1)
1317 Or (Local1, Decrement (Local0), Local1)
1318 Store (Local1, \_SB.PCI0.LPC.PIRG)
1319 }
1320 }
1321
1322 Device (LNKH)
1323 {
1324 Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
1325 Name (_UID, 0x08) // _UID: Unique ID
1326 Method (_STA, 0, NotSerialized) // _STA: Status
1327 {
1328 If (LNot (VPIR (\_SB.PCI0.LPC.PIRH)))
1329 {
1330 Return (0x09)
1331 }
1332 Else
1333 {
1334 Return (0x0B)
1335 }
1336 }
1337
1338 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1339 {
1340 IRQ (Level, ActiveLow, Shared, )
1341 {3,4,5,6,7,9,10,11}
1342 })
1343 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1344 {
1345 Or (\_SB.PCI0.LPC.PIRH, 0x80, \_SB.PCI0.LPC.PIRH)
1346 }
1347
1348 Name (BUFH, ResourceTemplate ()
1349 {
1350 IRQ (Level, ActiveLow, Shared, _Y07)
1351 {}
1352 })
1353 CreateWordField (BUFH, \_SB.LNKH._Y07._INT, IRH1) // _INT: Interrupts
1354 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1355 {
1356 And (\_SB.PCI0.LPC.PIRH, 0x8F, Local0)
1357 If (VPIR (Local0))
1358 {
1359 ShiftLeft (0x01, Local0, IRH1)
1360 }
1361 Else
1362 {
1363 Store (0x00, IRH1)
1364 }
1365
1366 Return (BUFH)
1367 }
1368
1369 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1370 {
1371 CreateWordField (Arg0, 0x01, IRH2)
1372 FindSetRightBit (IRH2, Local0)
1373 And (\_SB.PCI0.LPC.PIRH, 0x70, Local1)
1374 Or (Local1, Decrement (Local0), Local1)
1375 Store (Local1, \_SB.PCI0.LPC.PIRH)
1376 }
1377 }
1378
1379 Method (VPIR, 1, NotSerialized)
1380 {
1381 Store (0x01, Local0)
1382 If (And (Arg0, 0x80))
1383 {
1384 Store (0x00, Local0)
1385 }
1386 Else
1387 {
1388 And (Arg0, 0x0F, Local1)
1389 If (LLess (Local1, 0x03))
1390 {
1391 Store (0x00, Local0)
1392 }
1393 Else
1394 {
1395 If (LOr (LEqual (Local1, 0x08), LEqual (Local1, 0x0D)))
1396 {
1397 Store (0x00, Local0)
1398 }
1399 }
1400 }
1401
1402 Return (Local0)
1403 }
1404
1405 Device (MEM)
1406 {
1407 Name (_HID, EisaId ("PNP0C01")) // _HID: Hardware ID
1408 Name (MEMS, ResourceTemplate ()
1409 {
1410 Memory32Fixed (ReadWrite,
1411 0x00000000, // Address Base
1412 0x000A0000, // Address Length
1413 )
1414 Memory32Fixed (ReadOnly,
1415 0x000C0000, // Address Base
1416 0x00000000, // Address Length
1417 _Y08)
1418 Memory32Fixed (ReadOnly,
1419 0x000C4000, // Address Base
1420 0x00000000, // Address Length
1421 _Y09)
1422 Memory32Fixed (ReadOnly,
1423 0x000C8000, // Address Base
1424 0x00000000, // Address Length
1425 _Y0A)
1426 Memory32Fixed (ReadOnly,
1427 0x000CC000, // Address Base
1428 0x00000000, // Address Length
1429 _Y0B)
1430 Memory32Fixed (ReadOnly,
1431 0x000D0000, // Address Base
1432 0x00000000, // Address Length
1433 _Y0C)
1434 Memory32Fixed (ReadOnly,
1435 0x000D4000, // Address Base
1436 0x00000000, // Address Length
1437 _Y0D)
1438 Memory32Fixed (ReadOnly,
1439 0x000D8000, // Address Base
1440 0x00000000, // Address Length
1441 _Y0E)
1442 Memory32Fixed (ReadOnly,
1443 0x000DC000, // Address Base
1444 0x00000000, // Address Length
1445 _Y0F)
1446 Memory32Fixed (ReadOnly,
1447 0x000E0000, // Address Base
1448 0x00000000, // Address Length
1449 _Y10)
1450 Memory32Fixed (ReadOnly,
1451 0x000E4000, // Address Base
1452 0x00000000, // Address Length
1453 _Y11)
1454 Memory32Fixed (ReadOnly,
1455 0x000E8000, // Address Base
1456 0x00000000, // Address Length
1457 _Y12)
1458 Memory32Fixed (ReadOnly,
1459 0x000EC000, // Address Base
1460 0x00000000, // Address Length
1461 _Y13)
1462 Memory32Fixed (ReadOnly,
1463 0x000F0000, // Address Base
1464 0x00010000, // Address Length
1465 )
1466 Memory32Fixed (ReadWrite,
1467 0x00100000, // Address Base
1468 0x01EE0000, // Address Length
1469 _Y14)
1470 Memory32Fixed (ReadOnly,
1471 0xFEC00000, // Address Base
1472 0x00140000, // Address Length
1473 _Y15)
1474 Memory32Fixed (ReadOnly,
1475 0xFED4C000, // Address Base
1476 0x012B4000, // Address Length
1477 _Y16)
1478 })
1479 CreateDWordField (MEMS, \_SB.MEM._Y08._LEN, MC0L) // _LEN: Length
1480 CreateDWordField (MEMS, \_SB.MEM._Y09._LEN, MC4L) // _LEN: Length
1481 CreateDWordField (MEMS, \_SB.MEM._Y0A._LEN, MC8L) // _LEN: Length
1482 CreateDWordField (MEMS, \_SB.MEM._Y0B._LEN, MCCL) // _LEN: Length
1483 CreateDWordField (MEMS, \_SB.MEM._Y0C._LEN, MD0L) // _LEN: Length
1484 CreateDWordField (MEMS, \_SB.MEM._Y0D._LEN, MD4L) // _LEN: Length
1485 CreateDWordField (MEMS, \_SB.MEM._Y0E._LEN, MD8L) // _LEN: Length
1486 CreateDWordField (MEMS, \_SB.MEM._Y0F._LEN, MDCL) // _LEN: Length
1487 CreateDWordField (MEMS, \_SB.MEM._Y10._LEN, ME0L) // _LEN: Length
1488 CreateDWordField (MEMS, \_SB.MEM._Y11._LEN, ME4L) // _LEN: Length
1489 CreateDWordField (MEMS, \_SB.MEM._Y12._LEN, ME8L) // _LEN: Length
1490 CreateDWordField (MEMS, \_SB.MEM._Y13._LEN, MECL) // _LEN: Length
1491 CreateBitField (MEMS, \_SB.MEM._Y08._RW, MC0W) // _RW_: Read-Write Status
1492 CreateBitField (MEMS, \_SB.MEM._Y09._RW, MC4W) // _RW_: Read-Write Status
1493 CreateBitField (MEMS, \_SB.MEM._Y0A._RW, MC8W) // _RW_: Read-Write Status
1494 CreateBitField (MEMS, \_SB.MEM._Y0B._RW, MCCW) // _RW_: Read-Write Status
1495 CreateBitField (MEMS, \_SB.MEM._Y0C._RW, MD0W) // _RW_: Read-Write Status
1496 CreateBitField (MEMS, \_SB.MEM._Y0D._RW, MD4W) // _RW_: Read-Write Status
1497 CreateBitField (MEMS, \_SB.MEM._Y0E._RW, MD8W) // _RW_: Read-Write Status
1498 CreateBitField (MEMS, \_SB.MEM._Y0F._RW, MDCW) // _RW_: Read-Write Status
1499 CreateBitField (MEMS, \_SB.MEM._Y10._RW, ME0W) // _RW_: Read-Write Status
1500 CreateBitField (MEMS, \_SB.MEM._Y11._RW, ME4W) // _RW_: Read-Write Status
1501 CreateBitField (MEMS, \_SB.MEM._Y12._RW, ME8W) // _RW_: Read-Write Status
1502 CreateBitField (MEMS, \_SB.MEM._Y13._RW, MECW) // _RW_: Read-Write Status
1503 CreateDWordField (MEMS, \_SB.MEM._Y14._BAS, MEB1) // _BAS: Base Address
1504 CreateDWordField (MEMS, \_SB.MEM._Y14._LEN, MEL1) // _LEN: Length
1505 CreateDWordField (MEMS, \_SB.MEM._Y15._LEN, MEL2) // _LEN: Length
1506 CreateDWordField (MEMS, \_SB.MEM._Y16._LEN, MEL3) // _LEN: Length
1507 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1508 {
1509 And (\_SB.PCI0.PAM1, 0x03, Local0)
1510 If (Local0)
1511 {
1512 Store (0x4000, MC0L)
1513 If (And (Local0, 0x02))
1514 {
1515 Store (0x01, MC0W)
1516 }
1517 }
1518
1519 And (\_SB.PCI0.PAM1, 0x30, Local0)
1520 If (Local0)
1521 {
1522 Store (0x4000, MC4L)
1523 If (And (Local0, 0x20))
1524 {
1525 Store (0x01, MC4W)
1526 }
1527 }
1528
1529 And (\_SB.PCI0.PAM2, 0x03, Local0)
1530 If (Local0)
1531 {
1532 Store (0x4000, MC8L)
1533 If (And (Local0, 0x02))
1534 {
1535 Store (0x01, MC8W)
1536 }
1537 }
1538
1539 And (\_SB.PCI0.PAM2, 0x30, Local0)
1540 If (Local0)
1541 {
1542 Store (0x4000, MCCL)
1543 If (And (Local0, 0x20))
1544 {
1545 Store (0x01, MCCW)
1546 }
1547 }
1548
1549 And (\_SB.PCI0.PAM3, 0x03, Local0)
1550 If (Local0)
1551 {
1552 Store (0x4000, MD0L)
1553 If (And (Local0, 0x02))
1554 {
1555 Store (0x01, MD0W)
1556 }
1557 }
1558
1559 And (\_SB.PCI0.PAM3, 0x30, Local0)
1560 If (Local0)
1561 {
1562 Store (0x4000, MD4L)
1563 If (And (Local0, 0x20))
1564 {
1565 Store (0x01, MD4W)
1566 }
1567 }
1568
1569 And (\_SB.PCI0.PAM4, 0x03, Local0)
1570 If (Local0)
1571 {
1572 Store (0x4000, MD8L)
1573 If (And (Local0, 0x02))
1574 {
1575 Store (0x01, MD8W)
1576 }
1577 }
1578
1579 And (\_SB.PCI0.PAM4, 0x30, Local0)
1580 If (Local0)
1581 {
1582 Store (0x4000, MDCL)
1583 If (And (Local0, 0x20))
1584 {
1585 Store (0x01, MDCW)
1586 }
1587 }
1588
1589 And (\_SB.PCI0.PAM5, 0x03, Local0)
1590 If (Local0)
1591 {
1592 Store (0x4000, ME0L)
1593 If (And (Local0, 0x02))
1594 {
1595 Store (0x01, ME0W)
1596 }
1597 }
1598
1599 And (\_SB.PCI0.PAM5, 0x30, Local0)
1600 If (Local0)
1601 {
1602 Store (0x4000, ME4L)
1603 If (And (Local0, 0x20))
1604 {
1605 Store (0x01, ME4W)
1606 }
1607 }
1608
1609 And (\_SB.PCI0.PAM6, 0x03, Local0)
1610 If (Local0)
1611 {
1612 Store (0x4000, ME8L)
1613 If (And (Local0, 0x02))
1614 {
1615 Store (0x01, ME8W)
1616 }
1617 }
1618
1619 And (\_SB.PCI0.PAM6, 0x30, Local0)
1620 If (Local0)
1621 {
1622 Store (0x4000, MECL)
1623 If (And (Local0, 0x20))
1624 {
1625 Store (0x01, MECW)
1626 }
1627 }
1628
1629 Subtract (\MEMX, MEB1, MEL1)
1630 If (LNotEqual (\_SB.PCI0.LPC.TPM._STA (), 0x0F))
1631 {
1632 Store (0x01400000, MEL2)
1633 Store (0x00, MEL3)
1634 }
1635
1636 Return (MEMS)
1637 }
1638 }
1639
1640 Device (LID)
1641 {
1642 Name (_HID, EisaId ("PNP0C0D")) // _HID: Hardware ID
1643 Method (_LID, 0, NotSerialized) // _LID: Lid Status
1644 {
1645 If (LAnd (LEqual (\ILNF, 0x00), LEqual (\PLUX, 0x00)))
1646 {
1647 If (\H8DR)
1648 {
1649 Return (\_SB.PCI0.LPC.EC.HPLD)
1650 }
1651 Else
1652 {
1653 If (And (\RBEC (0x46), 0x04))
1654 {
1655 Return (0x01)
1656 }
1657 Else
1658 {
1659 Return (0x00)
1660 }
1661 }
1662 }
1663 Else
1664 {
1665 Return (0x01)
1666 }
1667 }
1668
1669 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
1670 {
1671 If (\LWCP)
1672 {
1673 Return (Package (0x02)
1674 {
1675 0x1D,
1676 0x04
1677 })
1678 }
1679 Else
1680 {
1681 Return (Package (0x02)
1682 {
1683 0x1D,
1684 0x03
1685 })
1686 }
1687 }
1688
1689 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
1690 {
1691 If (\H8DR)
1692 {
1693 If (Arg0)
1694 {
1695 Store (0x01, \_SB.PCI0.LPC.EC.HWLO)
1696 }
1697 Else
1698 {
1699 Store (0x00, \_SB.PCI0.LPC.EC.HWLO)
1700 }
1701 }
1702 Else
1703 {
1704 If (Arg0)
1705 {
1706 \MBEC (0x32, 0xFF, 0x04)
1707 }
1708 Else
1709 {
1710 \MBEC (0x32, 0xFB, 0x00)
1711 }
1712 }
1713
1714 If (\LWCP)
1715 {
1716 If (Arg0)
1717 {
1718 Store (0x01, \LWEN)
1719 }
1720 Else
1721 {
1722 Store (0x00, \LWEN)
1723 }
1724 }
1725 }
1726 }
1727
1728 Device (SLPB)
1729 {
1730 Name (_HID, EisaId ("PNP0C0E")) // _HID: Hardware ID
1731 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
1732 {
1733 Return (Package (0x02)
1734 {
1735 0x1D,
1736 0x03
1737 })
1738 }
1739
1740 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
1741 {
1742 If (\H8DR)
1743 {
1744 If (Arg0)
1745 {
1746 Store (0x01, \_SB.PCI0.LPC.EC.HWFN)
1747 }
1748 Else
1749 {
1750 Store (0x00, \_SB.PCI0.LPC.EC.HWFN)
1751 }
1752 }
1753 Else
1754 {
1755 If (Arg0)
1756 {
1757 \MBEC (0x32, 0xFF, 0x10)
1758 }
1759 Else
1760 {
1761 \MBEC (0x32, 0xEF, 0x00)
1762 }
1763 }
1764 }
1765 }
1766
1767 Scope (\)
1768 {
1769 Name (UPC0, Package (0x04)
1770 {
1771 0xFF,
1772 0x00,
1773 0x00,
1774 0x00
1775 })
1776 Name (PLD0, Buffer (0x10)
1777 {
1778 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1779 /* 0008 */ 0x91, 0x12, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
1780 })
1781 Name (UPC1, Package (0x04)
1782 {
1783 0xFF,
1784 0x00,
1785 0x00,
1786 0x00
1787 })
1788 Name (PLD1, Buffer (0x10)
1789 {
1790 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1791 /* 0008 */ 0x91, 0x12, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
1792 })
1793 Name (UPC2, Package (0x04)
1794 {
1795 0xFF,
1796 0xFF,
1797 0x00,
1798 0x00
1799 })
1800 Name (PLD2, Buffer (0x10)
1801 {
1802 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1803 /* 0008 */ 0x33, 0x1C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
1804 })
1805 Name (UPC3, Package (0x04)
1806 {
1807 0xFF,
1808 0x02,
1809 0x00,
1810 0x00
1811 })
1812 Name (PLD3, Buffer (0x10)
1813 {
1814 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1815 /* 0008 */ 0x48, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1816 })
1817 Name (UPC4, Package (0x04)
1818 {
1819 0xFF,
1820 0x00,
1821 0x00,
1822 0x00
1823 })
1824 Name (PLD4, Buffer (0x10)
1825 {
1826 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1827 /* 0008 */ 0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
1828 })
1829 Name (UPC5, Package (0x04)
1830 {
1831 0xFF,
1832 0x02,
1833 0x00,
1834 0x00
1835 })
1836 Name (PLD5, Buffer (0x10)
1837 {
1838 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1839 /* 0008 */ 0x19, 0x12, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
1840 })
1841 Name (UPC6, Package (0x04)
1842 {
1843 0x00,
1844 0xFF,
1845 0x00,
1846 0x00
1847 })
1848 Name (PLD6, Buffer (0x10)
1849 {
1850 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1851 /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1852 })
1853 Name (UPC7, Package (0x04)
1854 {
1855 0xFF,
1856 0xFF,
1857 0x00,
1858 0x00
1859 })
1860 Name (PLD7, Buffer (0x10)
1861 {
1862 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1863 /* 0008 */ 0x33, 0x1C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
1864 })
1865 Name (UPC9, Package (0x04)
1866 {
1867 0xFF,
1868 0x00,
1869 0x00,
1870 0x00
1871 })
1872 Name (PLD9, Buffer (0x10)
1873 {
1874 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1875 /* 0008 */ 0x59, 0x12, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
1876 })
1877 Name (UPCI, Package (0x04)
1878 {
1879 0xFF,
1880 0xFF,
1881 0x00,
1882 0x00
1883 })
1884 Name (PLDI, Buffer (0x10)
1885 {
1886 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1887 /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1888 })
1889 Name (PLDC, Buffer (0x14)
1890 {
1891 /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1892 /* 0008 */ 0x24, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1893 /* 0010 */ 0xEA, 0x00, 0xA9, 0x00
1894 })
1895 }
1896
1897 Device (PCI0)
1898 {
1899 Name (_BBN, 0x00) // _BBN: BIOS Bus Number
1900 Name (_ADR, 0x00) // _ADR: Address
1901 Name (RID, 0x00)
1902 Name (_S3D, 0x02) // _S3D: S3 Device State
1903 Name (LRRT, Package (0x16)
1904 {
1905 Package (0x04)
1906 {
1907 0x0001FFFF,
1908 0x00,
1909 \_SB.LNKA,
1910 0x00
1911 },
1912
1913 Package (0x04)
1914 {
1915 0x0002FFFF,
1916 0x00,
1917 \_SB.LNKA,
1918 0x00
1919 },
1920
1921 Package (0x04)
1922 {
1923 0x0014FFFF,
1924 0x00,
1925 \_SB.LNKA,
1926 0x00
1927 },
1928
1929 Package (0x04)
1930 {
1931 0x0016FFFF,
1932 0x00,
1933 \_SB.LNKA,
1934 0x00
1935 },
1936
1937 Package (0x04)
1938 {
1939 0x0016FFFF,
1940 0x01,
1941 \_SB.LNKD,
1942 0x00
1943 },
1944
1945 Package (0x04)
1946 {
1947 0x0016FFFF,
1948 0x02,
1949 \_SB.LNKC,
1950 0x00
1951 },
1952
1953 Package (0x04)
1954 {
1955 0x0016FFFF,
1956 0x03,
1957 \_SB.LNKB,
1958 0x00
1959 },
1960
1961 Package (0x04)
1962 {
1963 0x0019FFFF,
1964 0x00,
1965 \_SB.LNKE,
1966 0x00
1967 },
1968
1969 Package (0x04)
1970 {
1971 0x001AFFFF,
1972 0x00,
1973 \_SB.LNKA,
1974 0x00
1975 },
1976
1977 Package (0x04)
1978 {
1979 0x001BFFFF,
1980 0x00,
1981 \_SB.LNKG,
1982 0x00
1983 },
1984
1985 Package (0x04)
1986 {
1987 0x001CFFFF,
1988 0x00,
1989 \_SB.LNKA,
1990 0x00
1991 },
1992
1993 Package (0x04)
1994 {
1995 0x001CFFFF,
1996 0x01,
1997 \_SB.LNKB,
1998 0x00
1999 },
2000
2001 Package (0x04)
2002 {
2003 0x001CFFFF,
2004 0x02,
2005 \_SB.LNKC,
2006 0x00
2007 },
2008
2009 Package (0x04)
2010 {
2011 0x001CFFFF,
2012 0x03,
2013 \_SB.LNKD,
2014 0x00
2015 },
2016
2017 Package (0x04)
2018 {
2019 0x001DFFFF,
2020 0x00,
2021 \_SB.LNKH,
2022 0x00
2023 },
2024
2025 Package (0x04)
2026 {
2027 0x001DFFFF,
2028 0x01,
2029 \_SB.LNKD,
2030 0x00
2031 },
2032
2033 Package (0x04)
2034 {
2035 0x001DFFFF,
2036 0x02,
2037 \_SB.LNKA,
2038 0x00
2039 },
2040
2041 Package (0x04)
2042 {
2043 0x001DFFFF,
2044 0x03,
2045 \_SB.LNKC,
2046 0x00
2047 },
2048
2049 Package (0x04)
2050 {
2051 0x001FFFFF,
2052 0x00,
2053 \_SB.LNKF,
2054 0x00
2055 },
2056
2057 Package (0x04)
2058 {
2059 0x001FFFFF,
2060 0x01,
2061 \_SB.LNKD,
2062 0x00
2063 },
2064
2065 Package (0x04)
2066 {
2067 0x001FFFFF,
2068 0x02,
2069 \_SB.LNKC,
2070 0x00
2071 },
2072
2073 Package (0x04)
2074 {
2075 0x001FFFFF,
2076 0x03,
2077 \_SB.LNKA,
2078 0x00
2079 }
2080 })
2081 Name (ARRT, Package (0x16)
2082 {
2083 Package (0x04)
2084 {
2085 0x0001FFFF,
2086 0x00,
2087 0x00,
2088 0x10
2089 },
2090
2091 Package (0x04)
2092 {
2093 0x0002FFFF,
2094 0x00,
2095 0x00,
2096 0x10
2097 },
2098
2099 Package (0x04)
2100 {
2101 0x0014FFFF,
2102 0x00,
2103 0x00,
2104 0x10
2105 },
2106
2107 Package (0x04)
2108 {
2109 0x0016FFFF,
2110 0x00,
2111 0x00,
2112 0x10
2113 },
2114
2115 Package (0x04)
2116 {
2117 0x0016FFFF,
2118 0x01,
2119 0x00,
2120 0x13
2121 },
2122
2123 Package (0x04)
2124 {
2125 0x0016FFFF,
2126 0x02,
2127 0x00,
2128 0x12
2129 },
2130
2131 Package (0x04)
2132 {
2133 0x0016FFFF,
2134 0x03,
2135 0x00,
2136 0x11
2137 },
2138
2139 Package (0x04)
2140 {
2141 0x0019FFFF,
2142 0x00,
2143 0x00,
2144 0x14
2145 },
2146
2147 Package (0x04)
2148 {
2149 0x001AFFFF,
2150 0x00,
2151 0x00,
2152 0x10
2153 },
2154
2155 Package (0x04)
2156 {
2157 0x001BFFFF,
2158 0x00,
2159 0x00,
2160 0x16
2161 },
2162
2163 Package (0x04)
2164 {
2165 0x001CFFFF,
2166 0x00,
2167 0x00,
2168 0x10
2169 },
2170
2171 Package (0x04)
2172 {
2173 0x001CFFFF,
2174 0x01,
2175 0x00,
2176 0x11
2177 },
2178
2179 Package (0x04)
2180 {
2181 0x001CFFFF,
2182 0x02,
2183 0x00,
2184 0x12
2185 },
2186
2187 Package (0x04)
2188 {
2189 0x001CFFFF,
2190 0x03,
2191 0x00,
2192 0x13
2193 },
2194
2195 Package (0x04)
2196 {
2197 0x001DFFFF,
2198 0x00,
2199 0x00,
2200 0x17
2201 },
2202
2203 Package (0x04)
2204 {
2205 0x001DFFFF,
2206 0x01,
2207 0x00,
2208 0x13
2209 },
2210
2211 Package (0x04)
2212 {
2213 0x001DFFFF,
2214 0x02,
2215 0x00,
2216 0x10
2217 },
2218
2219 Package (0x04)
2220 {
2221 0x001DFFFF,
2222 0x03,
2223 0x00,
2224 0x12
2225 },
2226
2227 Package (0x04)
2228 {
2229 0x001FFFFF,
2230 0x00,
2231 0x00,
2232 0x15
2233 },
2234
2235 Package (0x04)
2236 {
2237 0x001FFFFF,
2238 0x01,
2239 0x00,
2240 0x13
2241 },
2242
2243 Package (0x04)
2244 {
2245 0x001FFFFF,
2246 0x02,
2247 0x00,
2248 0x12
2249 },
2250
2251 Package (0x04)
2252 {
2253 0x001FFFFF,
2254 0x03,
2255 0x00,
2256 0x10
2257 }
2258 })
2259 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
2260 {
2261 If (\GPIC)
2262 {
2263 Return (ARRT)
2264 }
2265 Else
2266 {
2267 Return (LRRT)
2268 }
2269 }
2270
2271 Name (_HID, EisaId ("PNP0A08")) // _HID: Hardware ID
2272 Name (_CID, EisaId ("PNP0A03")) // _CID: Compatible ID
2273 OperationRegion (MHCS, PCI_Config, 0x40, 0xC0)
2274 Field (MHCS, DWordAcc, NoLock, Preserve)
2275 {
2276 Offset (0x40),
2277 PAM0, 8,
2278 PAM1, 8,
2279 PAM2, 8,
2280 PAM3, 8,
2281 PAM4, 8,
2282 PAM5, 8,
2283 PAM6, 8,
2284 Offset (0x7C),
2285 , 20,
2286 TLUD, 12
2287 }
2288
2289 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2290 {
2291 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
2292 0x0000, // Granularity
2293 0x0000, // Range Minimum
2294 0x00FF, // Range Maximum
2295 0x0000, // Translation Offset
2296 0x0100, // Length
2297 ,, _Y25)
2298 IO (Decode16,
2299 0x0CF8, // Range Minimum
2300 0x0CF8, // Range Maximum
2301 0x01, // Alignment
2302 0x08, // Length
2303 )
2304 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2305 0x0000, // Granularity
2306 0x0000, // Range Minimum
2307 0x0CF7, // Range Maximum
2308 0x0000, // Translation Offset
2309 0x0CF8, // Length
2310 ,, , TypeStatic)
2311 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2312 0x0000, // Granularity
2313 0x0D00, // Range Minimum
2314 0xFFFF, // Range Maximum
2315 0x0000, // Translation Offset
2316 0xF300, // Length
2317 ,, , TypeStatic)
2318 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2319 0x00000000, // Granularity
2320 0x000A0000, // Range Minimum
2321 0x000BFFFF, // Range Maximum
2322 0x00000000, // Translation Offset
2323 0x00020000, // Length
2324 ,, , AddressRangeMemory, TypeStatic)
2325 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2326 0x00000000, // Granularity
2327 0x000C0000, // Range Minimum
2328 0x000C3FFF, // Range Maximum
2329 0x00000000, // Translation Offset
2330 0x00004000, // Length
2331 ,, _Y17, AddressRangeMemory, TypeStatic)
2332 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2333 0x00000000, // Granularity
2334 0x000C4000, // Range Minimum
2335 0x000C7FFF, // Range Maximum
2336 0x00000000, // Translation Offset
2337 0x00004000, // Length
2338 ,, _Y18, AddressRangeMemory, TypeStatic)
2339 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2340 0x00000000, // Granularity
2341 0x000C8000, // Range Minimum
2342 0x000CBFFF, // Range Maximum
2343 0x00000000, // Translation Offset
2344 0x00004000, // Length
2345 ,, _Y19, AddressRangeMemory, TypeStatic)
2346 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2347 0x00000000, // Granularity
2348 0x000CC000, // Range Minimum
2349 0x000CFFFF, // Range Maximum
2350 0x00000000, // Translation Offset
2351 0x00004000, // Length
2352 ,, _Y1A, AddressRangeMemory, TypeStatic)
2353 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2354 0x00000000, // Granularity
2355 0x000D0000, // Range Minimum
2356 0x000D3FFF, // Range Maximum
2357 0x00000000, // Translation Offset
2358 0x00004000, // Length
2359 ,, _Y1B, AddressRangeMemory, TypeStatic)
2360 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2361 0x00000000, // Granularity
2362 0x000D4000, // Range Minimum
2363 0x000D7FFF, // Range Maximum
2364 0x00000000, // Translation Offset
2365 0x00004000, // Length
2366 ,, _Y1C, AddressRangeMemory, TypeStatic)
2367 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2368 0x00000000, // Granularity
2369 0x000D8000, // Range Minimum
2370 0x000DBFFF, // Range Maximum
2371 0x00000000, // Translation Offset
2372 0x00004000, // Length
2373 ,, _Y1D, AddressRangeMemory, TypeStatic)
2374 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2375 0x00000000, // Granularity
2376 0x000DC000, // Range Minimum
2377 0x000DFFFF, // Range Maximum
2378 0x00000000, // Translation Offset
2379 0x00004000, // Length
2380 ,, _Y1E, AddressRangeMemory, TypeStatic)
2381 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2382 0x00000000, // Granularity
2383 0x000E0000, // Range Minimum
2384 0x000E3FFF, // Range Maximum
2385 0x00000000, // Translation Offset
2386 0x00004000, // Length
2387 ,, _Y1F, AddressRangeMemory, TypeStatic)
2388 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2389 0x00000000, // Granularity
2390 0x000E4000, // Range Minimum
2391 0x000E7FFF, // Range Maximum
2392 0x00000000, // Translation Offset
2393 0x00004000, // Length
2394 ,, _Y20, AddressRangeMemory, TypeStatic)
2395 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2396 0x00000000, // Granularity
2397 0x000E8000, // Range Minimum
2398 0x000EBFFF, // Range Maximum
2399 0x00000000, // Translation Offset
2400 0x00004000, // Length
2401 ,, _Y21, AddressRangeMemory, TypeStatic)
2402 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2403 0x00000000, // Granularity
2404 0x000EC000, // Range Minimum
2405 0x000EFFFF, // Range Maximum
2406 0x00000000, // Translation Offset
2407 0x00004000, // Length
2408 ,, _Y22, AddressRangeMemory, TypeStatic)
2409 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2410 0x00000000, // Granularity
2411 0x00100000, // Range Minimum
2412 0xFEBFFFFF, // Range Maximum
2413 0x00000000, // Translation Offset
2414 0xFEB00000, // Length
2415 ,, _Y23, AddressRangeMemory, TypeStatic)
2416 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2417 0x00000000, // Granularity
2418 0xFED40000, // Range Minimum
2419 0xFED4BFFF, // Range Maximum
2420 0x00000000, // Translation Offset
2421 0x0000C000, // Length
2422 ,, _Y24, AddressRangeMemory, TypeStatic)
2423 })
2424 CreateDWordField (_CRS, \_SB.PCI0._Y17._LEN, C0LN) // _LEN: Length
2425 CreateDWordField (_CRS, \_SB.PCI0._Y18._LEN, C4LN) // _LEN: Length
2426 CreateDWordField (_CRS, \_SB.PCI0._Y19._LEN, C8LN) // _LEN: Length
2427 CreateDWordField (_CRS, \_SB.PCI0._Y1A._LEN, CCLN) // _LEN: Length
2428 CreateDWordField (_CRS, \_SB.PCI0._Y1B._LEN, D0LN) // _LEN: Length
2429 CreateDWordField (_CRS, \_SB.PCI0._Y1C._LEN, D4LN) // _LEN: Length
2430 CreateDWordField (_CRS, \_SB.PCI0._Y1D._LEN, D8LN) // _LEN: Length
2431 CreateDWordField (_CRS, \_SB.PCI0._Y1E._LEN, DCLN) // _LEN: Length
2432 CreateDWordField (_CRS, \_SB.PCI0._Y1F._LEN, E0LN) // _LEN: Length
2433 CreateDWordField (_CRS, \_SB.PCI0._Y20._LEN, E4LN) // _LEN: Length
2434 CreateDWordField (_CRS, \_SB.PCI0._Y21._LEN, E8LN) // _LEN: Length
2435 CreateDWordField (_CRS, \_SB.PCI0._Y22._LEN, ECLN) // _LEN: Length
2436 CreateDWordField (_CRS, \_SB.PCI0._Y23._MIN, XXMN) // _MIN: Minimum Base Address
2437 CreateDWordField (_CRS, \_SB.PCI0._Y23._MAX, XXMX) // _MAX: Maximum Base Address
2438 CreateDWordField (_CRS, \_SB.PCI0._Y23._LEN, XXLN) // _LEN: Length
2439 CreateDWordField (_CRS, \_SB.PCI0._Y24._MIN, F4MN) // _MIN: Minimum Base Address
2440 CreateDWordField (_CRS, \_SB.PCI0._Y24._MAX, F4MX) // _MAX: Maximum Base Address
2441 CreateDWordField (_CRS, \_SB.PCI0._Y24._LEN, F4LN) // _LEN: Length
2442 CreateWordField (_CRS, \_SB.PCI0._Y25._MAX, B0MX) // _MAX: Maximum Base Address
2443 CreateWordField (_CRS, \_SB.PCI0._Y25._LEN, B0LN) // _LEN: Length
2444 Method (_INI, 0, Serialized) // _INI: Initialize
2445 {
2446 Store (0x3F, B0MX)
2447 Store (Add (0x3F, 0x01), B0LN)
2448 If (LNot (\OSIF))
2449 {
2450 \_SB._INI ()
2451 }
2452
2453 ShiftLeft (TLUD, 0x14, Local0)
2454 Store (Local0, \MEMX)
2455 Store (Local0, XXMN)
2456 Add (Subtract (XXMX, XXMN), 0x01, XXLN)
2457 If (LEqual (\TPMP, 0x00))
2458 {
2459 Store (0x00, F4LN)
2460 }
2461
2462 If (And (PAM1, 0x03))
2463 {
2464 Store (0x00, C0LN)
2465 }
2466
2467 If (And (PAM1, 0x30))
2468 {
2469 Store (0x00, C4LN)
2470 }
2471
2472 If (And (PAM2, 0x03))
2473 {
2474 Store (0x00, C8LN)
2475 }
2476
2477 If (And (PAM2, 0x30))
2478 {
2479 Store (0x00, CCLN)
2480 }
2481
2482 If (And (PAM3, 0x03))
2483 {
2484 Store (0x00, D0LN)
2485 }
2486
2487 If (And (PAM3, 0x30))
2488 {
2489 Store (0x00, D4LN)
2490 }
2491
2492 If (And (PAM4, 0x03))
2493 {
2494 Store (0x00, D8LN)
2495 }
2496
2497 If (And (PAM4, 0x30))
2498 {
2499 Store (0x00, DCLN)
2500 }
2501
2502 If (And (PAM5, 0x03))
2503 {
2504 Store (0x00, E0LN)
2505 }
2506
2507 If (And (PAM5, 0x30))
2508 {
2509 Store (0x00, E4LN)
2510 }
2511
2512 If (And (PAM6, 0x03))
2513 {
2514 Store (0x00, E8LN)
2515 }
2516
2517 If (And (PAM6, 0x30))
2518 {
2519 Store (0x00, ECLN)
2520 }
2521 }
2522
2523 Name (SUPP, 0x00)
2524 Name (CTRL, 0x00)
2525 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
2526 {
2527 CreateDWordField (Arg3, 0x00, CDW1)
2528 CreateDWordField (Arg3, 0x04, CDW2)
2529 CreateDWordField (Arg3, 0x08, CDW3)
2530 If (\_SB.PCI0.XHCI.CUID (Arg0))
2531 {
2532 Return (\_SB.PCI0.XHCI.POSC (Arg1, Arg2, Arg3))
2533 }
2534
2535 If (LEqual (Arg0, Buffer (0x10)
2536 {
2537 /* 0000 */ 0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40,
2538 /* 0008 */ 0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66
2539 }))
2540 {
2541 Store (CDW2, SUPP)
2542 Store (CDW3, CTRL)
2543 And (CTRL, 0x0D, CTRL)
2544 If (LNot (And (CDW1, 0x01)))
2545 {
2546 If (And (CTRL, 0x01))
2547 {
2548 If (LNot (\VIGD))
2549 {
2550 Store (0x00, \_SB.PCI0.PEG.HPGP)
2551 Store (0x00, \_SB.PCI0.PEG.GMGP)
2552 }
2553
2554 Store (0x00, \_SB.PCI0.EXP1.HPCE)
2555 Store (0x01, \_SB.PCI0.EXP1.HPCS)
2556 Store (0x01, \_SB.PCI0.EXP1.PDC)
2557 Store (0x00, \_SB.PCI0.EXP3.HPCE)
2558 Store (0x01, \_SB.PCI0.EXP3.HPCS)
2559 Store (0x01, \_SB.PCI0.EXP3.PDC)
2560 Store (0x01, \NHPS)
2561 }
2562
2563 If (And (CTRL, 0x04))
2564 {
2565 If (LNot (\VIGD))
2566 {
2567 Store (0x00, \_SB.PCI0.PEG.PMGP)
2568 Store (0x00, \_SB.PCI0.PEG.GMGP)
2569 }
2570
2571 If (\_SB.PCI0.EXP1.PMCE)
2572 {
2573 Store (0x00, \_SB.PCI0.EXP1.PMCE)
2574 Store (0x01, \_SB.PCI0.EXP1.PMCS)
2575 }
2576
2577 If (\_SB.PCI0.EXP2.PMCE)
2578 {
2579 Store (0x00, \_SB.PCI0.EXP2.PMCE)
2580 Store (0x01, \_SB.PCI0.EXP2.PMCS)
2581 }
2582
2583 If (\_SB.PCI0.EXP3.PMCE)
2584 {
2585 Store (0x00, \_SB.PCI0.EXP3.PMCE)
2586 Store (0x01, \_SB.PCI0.EXP3.PMCS)
2587 }
2588
2589 Store (0x00, \_SB.PCI0.LPC.EXPE)
2590 Store (0x01, \NPME)
2591 }
2592 }
2593
2594 If (LNotEqual (Arg1, 0x01))
2595 {
2596 Or (CDW1, 0x0A, CDW1)
2597 }
2598
2599 If (LNotEqual (CDW3, CTRL))
2600 {
2601 Or (CDW1, 0x10, CDW1)
2602 }
2603
2604 Store (CTRL, CDW3)
2605 }
2606 Else
2607 {
2608 Or (CDW1, 0x06, CDW1)
2609 }
2610
2611 Return (Arg3)
2612 }
2613
2614 Mutex (MDGS, 0x07)
2615 Name (VDEE, 0x01)
2616 Name (VDDA, Buffer (0x02) {})
2617 CreateBitField (VDDA, 0x00, VUPC)
2618 CreateBitField (VDDA, 0x01, VQDL)
2619 CreateBitField (VDDA, 0x02, VQDC)
2620 CreateBitField (VDDA, 0x03, VQD0)
2621 CreateBitField (VDDA, 0x04, VQD1)
2622 CreateBitField (VDDA, 0x05, VQD2)
2623 CreateBitField (VDDA, 0x06, VSDL)
2624 CreateBitField (VDDA, 0x07, VSDC)
2625 CreateBitField (VDDA, 0x08, VSD0)
2626 CreateBitField (VDDA, 0x09, VSD1)
2627 CreateBitField (VDDA, 0x0A, VSD2)
2628 CreateBitField (VDDA, 0x0B, VSD3)
2629 CreateBitField (VDDA, 0x0C, VSD4)
2630 CreateBitField (VDDA, 0x0D, VSD5)
2631 CreateBitField (VDDA, 0x0E, MSWT)
2632 Device (VID)
2633 {
2634 Name (_ADR, 0x00020000) // _ADR: Address
2635 Name (RID, 0x00)
2636 OperationRegion (VPCG, PCI_Config, 0x00, 0x0100)
2637 Field (VPCG, DWordAcc, NoLock, Preserve)
2638 {
2639 Offset (0xD4),
2640 VPWR, 8
2641 }
2642
2643 Name (MIDL, 0x0400)
2644 Name (MIDC, 0x0100)
2645 Name (MID0, 0x0300)
2646 Name (MID1, 0x0301)
2647 Name (MID2, 0x0302)
2648 Name (MID3, 0x0303)
2649 Name (MID4, 0x0304)
2650 Name (MID5, 0x0305)
2651 Name (_S3D, 0x03) // _S3D: S3 Device State
2652 Method (_INI, 0, NotSerialized) // _INI: Initialize
2653 {
2654 Store (\_SB.LID._LID (), CLID)
2655 }
2656
2657 Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
2658 {
2659 Noop
2660 }
2661
2662 Method (_PS1, 0, NotSerialized) // _PS1: Power State 1
2663 {
2664 Noop
2665 }
2666
2667 Method (_PS2, 0, NotSerialized) // _PS2: Power State 2
2668 {
2669 Noop
2670 }
2671
2672 Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
2673 {
2674 Noop
2675 }
2676
2677 Method (VSWT, 0, NotSerialized)
2678 {
2679 GHDS (0x00)
2680 }
2681
2682 Method (VLOC, 1, NotSerialized)
2683 {
2684 If (LEqual (Arg0, \_SB.LID._LID ()))
2685 {
2686 \VSLD (Arg0)
2687 If (LEqual (VPWR, 0x00))
2688 {
2689 Store (Arg0, CLID)
2690 GNOT (0x02, 0x00)
2691 }
2692 }
2693 }
2694
2695 Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching
2696 {
2697 And (Arg0, 0x03, Arg0)
2698 If (LEqual (Arg0, 0x02))
2699 {
2700 Store (0x14, Local0)
2701 While (Local0)
2702 {
2703 Decrement (Local0)
2704 Acquire (MDGS, 0xFFFF)
2705 If (LEqual (0x00, MSWT))
2706 {
2707 Store (0x01, MSWT)
2708 Store (0x00, Local0)
2709 Store (Arg0, VDEE)
2710 }
2711
2712 Release (MDGS)
2713 Sleep (0xC8)
2714 }
2715 }
2716 Else
2717 {
2718 Acquire (MDGS, 0xFFFF)
2719 If (LEqual (VDEE, 0x02))
2720 {
2721 Store (0x00, MSWT)
2722 }
2723
2724 If (LGreater (Arg0, 0x02))
2725 {
2726 Store (0x01, VDEE)
2727 }
2728 Else
2729 {
2730 Store (Arg0, VDEE)
2731 }
2732
2733 Release (MDGS)
2734 }
2735 }
2736
2737 Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices
2738 {
2739 Store (0x00, NDID)
2740 If (LNotEqual (DIDL, 0x00))
2741 {
2742 Increment (NDID)
2743 }
2744
2745 If (LNotEqual (DDL2, 0x00))
2746 {
2747 Increment (NDID)
2748 }
2749
2750 If (LNotEqual (DDL3, 0x00))
2751 {
2752 Increment (NDID)
2753 }
2754
2755 If (LNotEqual (DDL4, 0x00))
2756 {
2757 Increment (NDID)
2758 }
2759
2760 If (LNotEqual (DDL5, 0x00))
2761 {
2762 Increment (NDID)
2763 }
2764
2765 If (LNotEqual (DDL6, 0x00))
2766 {
2767 Increment (NDID)
2768 }
2769
2770 If (LNotEqual (DDL7, 0x00))
2771 {
2772 Increment (NDID)
2773 }
2774
2775 If (LNotEqual (DDL8, 0x00))
2776 {
2777 Increment (NDID)
2778 }
2779
2780 If (LEqual (NDID, 0x01))
2781 {
2782 Name (TMP1, Package (0x01)
2783 {
2784 0xFFFFFFFF
2785 })
2786 Store (Or (0x80010000, And (0x0F0F, DIDL)), Index (TMP1,
2787 0x00))
2788 Return (TMP1)
2789 }
2790
2791 If (LEqual (NDID, 0x02))
2792 {
2793 Name (TMP2, Package (0x02)
2794 {
2795 0xFFFFFFFF,
2796 0xFFFFFFFF
2797 })
2798 Store (Or (0x80010000, And (0x0F0F, DIDL)), Index (TMP2,
2799 0x00))
2800 Store (Or (0x80010000, And (0x0F0F, DDL2)), Index (TMP2,
2801 0x01))
2802 Return (TMP2)
2803 }
2804
2805 If (LEqual (NDID, 0x03))
2806 {
2807 Name (TMP3, Package (0x03)
2808 {
2809 0xFFFFFFFF,
2810 0xFFFFFFFF,
2811 0xFFFFFFFF
2812 })
2813 Store (Or (0x80010000, And (0x0F0F, DIDL)), Index (TMP3,
2814 0x00))
2815 Store (Or (0x80010000, And (0x0F0F, DDL2)), Index (TMP3,
2816 0x01))
2817 Store (Or (0x80010000, And (0x0F0F, DDL3)), Index (TMP3,
2818 0x02))
2819 Return (TMP3)
2820 }
2821
2822 If (LEqual (NDID, 0x04))
2823 {
2824 Name (TMP4, Package (0x04)
2825 {
2826 0xFFFFFFFF,
2827 0xFFFFFFFF,
2828 0xFFFFFFFF,
2829 0xFFFFFFFF
2830 })
2831 Store (Or (0x80010000, And (0x0F0F, DIDL)), Index (TMP4,
2832 0x00))
2833 Store (Or (0x80010000, And (0x0F0F, DDL2)), Index (TMP4,
2834 0x01))
2835 Store (Or (0x80010000, And (0x0F0F, DDL3)), Index (TMP4,
2836 0x02))
2837 Store (Or (0x80010000, And (0x0F0F, DDL4)), Index (TMP4,
2838 0x03))
2839 Return (TMP4)
2840 }
2841
2842 If (LEqual (NDID, 0x05))
2843 {
2844 Name (TMP5, Package (0x05)
2845 {
2846 0xFFFFFFFF,
2847 0xFFFFFFFF,
2848 0xFFFFFFFF,
2849 0xFFFFFFFF,
2850 0xFFFFFFFF
2851 })
2852 Store (Or (0x80010000, And (0x0F0F, DIDL)), Index (TMP5,
2853 0x00))
2854 Store (Or (0x80010000, And (0x0F0F, DDL2)), Index (TMP5,
2855 0x01))
2856 Store (Or (0x80010000, And (0x0F0F, DDL3)), Index (TMP5,
2857 0x02))
2858 Store (Or (0x80010000, And (0x0F0F, DDL4)), Index (TMP5,
2859 0x03))
2860 Store (Or (0x80010000, And (0x0F0F, DDL5)), Index (TMP5,
2861 0x04))
2862 Return (TMP5)
2863 }
2864
2865 If (LEqual (NDID, 0x06))
2866 {
2867 Name (TMP6, Package (0x06)
2868 {
2869 0xFFFFFFFF,
2870 0xFFFFFFFF,
2871 0xFFFFFFFF,
2872 0xFFFFFFFF,
2873 0xFFFFFFFF,
2874 0xFFFFFFFF
2875 })
2876 Store (Or (0x80010000, And (0x0F0F, DIDL)), Index (TMP6,
2877 0x00))
2878 Store (Or (0x80010000, And (0x0F0F, DDL2)), Index (TMP6,
2879 0x01))
2880 Store (Or (0x80010000, And (0x0F0F, DDL3)), Index (TMP6,
2881 0x02))
2882 Store (Or (0x80010000, And (0x0F0F, DDL4)), Index (TMP6,
2883 0x03))
2884 Store (Or (0x80010000, And (0x0F0F, DDL5)), Index (TMP6,
2885 0x04))
2886 Store (Or (0x80010000, And (0x0F0F, DDL6)), Index (TMP6,
2887 0x05))
2888 Return (TMP6)
2889 }
2890
2891 If (LEqual (NDID, 0x07))
2892 {
2893 Name (TMP7, Package (0x07)
2894 {
2895 0xFFFFFFFF,
2896 0xFFFFFFFF,
2897 0xFFFFFFFF,
2898 0xFFFFFFFF,
2899 0xFFFFFFFF,
2900 0xFFFFFFFF,
2901 0xFFFFFFFF
2902 })
2903 Store (Or (0x80010000, And (0x0F0F, DIDL)), Index (TMP7,
2904 0x00))
2905 Store (Or (0x80010000, And (0x0F0F, DDL2)), Index (TMP7,
2906 0x01))
2907 Store (Or (0x80010000, And (0x0F0F, DDL3)), Index (TMP7,
2908 0x02))
2909 Store (Or (0x80010000, And (0x0F0F, DDL4)), Index (TMP7,
2910 0x03))
2911 Store (Or (0x80010000, And (0x0F0F, DDL5)), Index (TMP7,
2912 0x04))
2913 Store (Or (0x80010000, And (0x0F0F, DDL6)), Index (TMP7,
2914 0x05))
2915 Store (Or (0x80010000, And (0x0F0F, DDL7)), Index (TMP7,
2916 0x06))
2917 Return (TMP7)
2918 }
2919
2920 If (LGreater (NDID, 0x07))
2921 {
2922 Name (TMP8, Package (0x08)
2923 {
2924 0xFFFFFFFF,
2925 0xFFFFFFFF,
2926 0xFFFFFFFF,
2927 0xFFFFFFFF,
2928 0xFFFFFFFF,
2929 0xFFFFFFFF,
2930 0xFFFFFFFF,
2931 0xFFFFFFFF
2932 })
2933 Store (Or (0x80010000, And (0x0F0F, DIDL)), Index (TMP8,
2934 0x00))
2935 Store (Or (0x80010000, And (0x0F0F, DDL2)), Index (TMP8,
2936 0x01))
2937 Store (Or (0x80010000, And (0x0F0F, DDL3)), Index (TMP8,
2938 0x02))
2939 Store (Or (0x80010000, And (0x0F0F, DDL4)), Index (TMP8,
2940 0x03))
2941 Store (Or (0x80010000, And (0x0F0F, DDL5)), Index (TMP8,
2942 0x04))
2943 Store (Or (0x80010000, And (0x0F0F, DDL6)), Index (TMP8,
2944 0x05))
2945 Store (Or (0x80010000, And (0x0F0F, DDL7)), Index (TMP8,
2946 0x06))
2947 Store (Or (0x80010000, And (0x0F0F, DDL8)), Index (TMP8,
2948 0x07))
2949 Return (TMP8)
2950 }
2951
2952 Return (Package (0x01)
2953 {
2954 0x0400
2955 })
2956 }
2957
2958 Method (VDSW, 1, NotSerialized)
2959 {
2960 If (LEqual (VPWR, 0x00))
2961 {
2962 GDCK (Arg0)
2963 }
2964 }
2965
2966 Method (VCAD, 1, NotSerialized)
2967 {
2968 Store (0x00, Local0)
2969 If (LEqual (And (DIDL, 0x0F0F), Arg0))
2970 {
2971 Store (0x0D, Local0)
2972 }
2973 Else
2974 {
2975 If (LEqual (And (DDL2, 0x0F0F), Arg0))
2976 {
2977 Store (0x0D, Local0)
2978 }
2979 Else
2980 {
2981 If (LEqual (And (DDL3, 0x0F0F), Arg0))
2982 {
2983 Store (0x0D, Local0)
2984 }
2985 Else
2986 {
2987 If (LEqual (And (DDL4, 0x0F0F), Arg0))
2988 {
2989 Store (0x0D, Local0)
2990 }
2991 Else
2992 {
2993 If (LEqual (And (DDL5, 0x0F0F), Arg0))
2994 {
2995 Store (0x0D, Local0)
2996 }
2997 Else
2998 {
2999 If (LEqual (And (DDL6, 0x0F0F), Arg0))
3000 {
3001 Store (0x0D, Local0)
3002 }
3003 Else
3004 {
3005 If (LEqual (And (DDL7, 0x0F0F), Arg0))
3006 {
3007 Store (0x0D, Local0)
3008 }
3009 Else
3010 {
3011 If (LEqual (And (DDL8, 0x0F0F), Arg0))
3012 {
3013 Store (0x0D, Local0)
3014 }
3015 }
3016 }
3017 }
3018 }
3019 }
3020 }
3021 }
3022
3023 If (LEqual (And (CPDL, 0x0F0F), Arg0))
3024 {
3025 Or (0x10, Local0, Local0)
3026 }
3027 Else
3028 {
3029 If (LEqual (And (CPL2, 0x0F0F), Arg0))
3030 {
3031 Or (0x10, Local0, Local0)
3032 }
3033 Else
3034 {
3035 If (LEqual (And (CPL3, 0x0F0F), Arg0))
3036 {
3037 Or (0x10, Local0, Local0)
3038 }
3039 Else
3040 {
3041 If (LEqual (And (CPL4, 0x0F0F), Arg0))
3042 {
3043 Or (0x10, Local0, Local0)
3044 }
3045 Else
3046 {
3047 If (LEqual (And (CPL5, 0x0F0F), Arg0))
3048 {
3049 Or (0x10, Local0, Local0)
3050 }
3051 Else
3052 {
3053 If (LEqual (And (CPL6, 0x0F0F), Arg0))
3054 {
3055 Or (0x10, Local0, Local0)
3056 }
3057 Else
3058 {
3059 If (LEqual (And (CPL7, 0x0F0F), Arg0))
3060 {
3061 Or (0x10, Local0, Local0)
3062 }
3063 Else
3064 {
3065 If (LEqual (And (CPL8, 0x0F0F), Arg0))
3066 {
3067 Or (0x10, Local0, Local0)
3068 }
3069 }
3070 }
3071 }
3072 }
3073 }
3074 }
3075 }
3076
3077 If (LEqual (And (CADL, 0x0F0F), Arg0))
3078 {
3079 Or (0x02, Local0, Local0)
3080 }
3081 Else
3082 {
3083 If (LEqual (And (CAL2, 0x0F0F), Arg0))
3084 {
3085 Or (0x02, Local0, Local0)
3086 }
3087 Else
3088 {
3089 If (LEqual (And (CAL3, 0x0F0F), Arg0))
3090 {
3091 Or (0x02, Local0, Local0)
3092 }
3093 Else
3094 {
3095 If (LEqual (And (CAL4, 0x0F0F), Arg0))
3096 {
3097 Or (0x02, Local0, Local0)
3098 }
3099 Else
3100 {
3101 If (LEqual (And (CAL5, 0x0F0F), Arg0))
3102 {
3103 Or (0x02, Local0, Local0)
3104 }
3105 Else
3106 {
3107 If (LEqual (And (CAL6, 0x0F0F), Arg0))
3108 {
3109 Or (0x02, Local0, Local0)
3110 }
3111 Else
3112 {
3113 If (LEqual (And (CAL7, 0x0F0F), Arg0))
3114 {
3115 Or (0x02, Local0, Local0)
3116 }
3117 Else
3118 {
3119 If (LEqual (And (CAL8, 0x0F0F), Arg0))
3120 {
3121 Or (0x02, Local0, Local0)
3122 }
3123 }
3124 }
3125 }
3126 }
3127 }
3128 }
3129 }
3130
3131 Return (Local0)
3132 }
3133
3134 Method (NDDS, 1, NotSerialized)
3135 {
3136 If (LEqual (And (NADL, 0x0F0F), Arg0))
3137 {
3138 Return (0x01)
3139 }
3140 Else
3141 {
3142 If (LEqual (And (NDL2, 0x0F0F), Arg0))
3143 {
3144 Return (0x01)
3145 }
3146 Else
3147 {
3148 If (LEqual (And (NDL3, 0x0F0F), Arg0))
3149 {
3150 Return (0x01)
3151 }
3152 Else
3153 {
3154 If (LEqual (And (NDL4, 0x0F0F), Arg0))
3155 {
3156 Return (0x01)
3157 }
3158 Else
3159 {
3160 If (LEqual (And (NDL5, 0x0F0F), Arg0))
3161 {
3162 Return (0x01)
3163 }
3164 Else
3165 {
3166 If (LEqual (And (NDL6, 0x0F0F), Arg0))
3167 {
3168 Return (0x01)
3169 }
3170 Else
3171 {
3172 If (LEqual (And (NDL7, 0x0F0F), Arg0))
3173 {
3174 Return (0x01)
3175 }
3176 Else
3177 {
3178 If (LEqual (And (NDL8, 0x0F0F), Arg0))
3179 {
3180 Return (0x01)
3181 }
3182 }
3183 }
3184 }
3185 }
3186 }
3187 }
3188 }
3189
3190 Return (0x00)
3191 }
3192
3193 Device (LCD0)
3194 {
3195 Method (_ADR, 0, NotSerialized) // _ADR: Address
3196 {
3197 Return (0x0400)
3198 }
3199
3200 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3201 {
3202 Return (VCAD (MIDL))
3203 }
3204
3205 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3206 {
3207 Return (NDDS (MIDL))
3208 }
3209
3210 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3211 {
3212 And (Arg0, 0x01, VSDL)
3213 }
3214
3215 Method (_DDC, 1, NotSerialized) // _DDC: Display Data Current
3216 {
3217 If (LEqual (Arg0, 0x01))
3218 {
3219 Return (\VEDI)
3220 }
3221 Else
3222 {
3223 If (LEqual (Arg0, 0x02))
3224 {
3225 Return (\VEDI)
3226 }
3227 }
3228
3229 Return (0x00)
3230 }
3231 }
3232
3233 Device (CRT0)
3234 {
3235 Method (_ADR, 0, NotSerialized) // _ADR: Address
3236 {
3237 Return (0x0100)
3238 }
3239
3240 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3241 {
3242 Return (VCAD (MIDC))
3243 }
3244
3245 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3246 {
3247 Return (NDDS (MIDC))
3248 }
3249
3250 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3251 {
3252 And (Arg0, 0x01, VSDC)
3253 }
3254 }
3255
3256 Device (DVI0)
3257 {
3258 Method (_ADR, 0, NotSerialized) // _ADR: Address
3259 {
3260 Return (0x0300)
3261 }
3262
3263 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3264 {
3265 Return (VCAD (MID0))
3266 }
3267
3268 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3269 {
3270 Return (NDDS (MID0))
3271 }
3272
3273 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3274 {
3275 And (Arg0, 0x01, VSD0)
3276 }
3277 }
3278
3279 Device (DVI1)
3280 {
3281 Method (_ADR, 0, NotSerialized) // _ADR: Address
3282 {
3283 Return (0x0301)
3284 }
3285
3286 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3287 {
3288 Return (VCAD (MID1))
3289 }
3290
3291 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3292 {
3293 Return (NDDS (MID1))
3294 }
3295
3296 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3297 {
3298 And (Arg0, 0x01, VSD1)
3299 }
3300 }
3301
3302 Device (DVI2)
3303 {
3304 Method (_ADR, 0, NotSerialized) // _ADR: Address
3305 {
3306 Return (0x0302)
3307 }
3308
3309 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3310 {
3311 Return (VCAD (MID2))
3312 }
3313
3314 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3315 {
3316 Return (NDDS (MID2))
3317 }
3318
3319 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3320 {
3321 And (Arg0, 0x01, VSD2)
3322 }
3323 }
3324
3325 Device (DVI3)
3326 {
3327 Method (_ADR, 0, NotSerialized) // _ADR: Address
3328 {
3329 Return (0x0303)
3330 }
3331
3332 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3333 {
3334 Return (VCAD (MID3))
3335 }
3336
3337 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3338 {
3339 Return (NDDS (MID3))
3340 }
3341
3342 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3343 {
3344 And (Arg0, 0x01, VSD3)
3345 }
3346 }
3347
3348 Device (DVI4)
3349 {
3350 Method (_ADR, 0, NotSerialized) // _ADR: Address
3351 {
3352 Return (0x0304)
3353 }
3354
3355 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3356 {
3357 Return (VCAD (MID4))
3358 }
3359
3360 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3361 {
3362 Return (NDDS (MID4))
3363 }
3364
3365 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3366 {
3367 And (Arg0, 0x01, VSD4)
3368 }
3369 }
3370
3371 Device (DVI5)
3372 {
3373 Method (_ADR, 0, NotSerialized) // _ADR: Address
3374 {
3375 Return (0x0305)
3376 }
3377
3378 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3379 {
3380 Return (VCAD (MID5))
3381 }
3382
3383 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3384 {
3385 Return (NDDS (MID5))
3386 }
3387
3388 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3389 {
3390 And (Arg0, 0x01, VSD5)
3391 }
3392 }
3393
3394 OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
3395 Field (IGDP, AnyAcc, NoLock, Preserve)
3396 {
3397 Offset (0x12),
3398 , 1,
3399 GIVD, 1,
3400 , 2,
3401 GUMA, 3,
3402 Offset (0x14),
3403 , 4,
3404 GMFN, 1,
3405 Offset (0x18),
3406 Offset (0xA4),
3407 ASLE, 8,
3408 Offset (0xA8),
3409 GSSE, 1,
3410 GSSB, 14,
3411 GSES, 1,
3412 Offset (0xB0),
3413 , 12,
3414 CDVL, 1,
3415 Offset (0xB2),
3416 Offset (0xB5),
3417 LBPC, 8,
3418 Offset (0xBC),
3419 ASLS, 32
3420 }
3421
3422 OperationRegion (IGDM, SystemMemory, \ASLB, 0x2000)
3423 Field (IGDM, AnyAcc, NoLock, Preserve)
3424 {
3425 SIGN, 128,
3426 SIZE, 32,
3427 OVER, 32,
3428 SVER, 256,
3429 VVER, 128,
3430 GVER, 128,
3431 MBOX, 32,
3432 DMOD, 32,
3433 Offset (0x100),
3434 DRDY, 32,
3435 CSTS, 32,
3436 CEVT, 32,
3437 Offset (0x120),
3438 DIDL, 32,
3439 DDL2, 32,
3440 DDL3, 32,
3441 DDL4, 32,
3442 DDL5, 32,
3443 DDL6, 32,
3444 DDL7, 32,
3445 DDL8, 32,
3446 CPDL, 32,
3447 CPL2, 32,
3448 CPL3, 32,
3449 CPL4, 32,
3450 CPL5, 32,
3451 CPL6, 32,
3452 CPL7, 32,
3453 CPL8, 32,
3454 CADL, 32,
3455 CAL2, 32,
3456 CAL3, 32,
3457 CAL4, 32,
3458 CAL5, 32,
3459 CAL6, 32,
3460 CAL7, 32,
3461 CAL8, 32,
3462 NADL, 32,
3463 NDL2, 32,
3464 NDL3, 32,
3465 NDL4, 32,
3466 NDL5, 32,
3467 NDL6, 32,
3468 NDL7, 32,
3469 NDL8, 32,
3470 ASLP, 32,
3471 TIDX, 32,
3472 CHPD, 32,
3473 CLID, 32,
3474 CDCK, 32,
3475 SXSW, 32,
3476 EVTS, 32,
3477 CNOT, 32,
3478 NRDY, 32,
3479 Offset (0x200),
3480 SCIE, 1,
3481 GEFC, 4,
3482 GXFC, 3,
3483 GESF, 8,
3484 Offset (0x204),
3485 PARM, 32,
3486 DSLP, 32,
3487 Offset (0x300),
3488 ARDY, 32,
3489 ASLC, 32,
3490 TCHE, 32,
3491 ALSI, 32,
3492 BCLP, 32,
3493 PFIT, 32,
3494 CBLV, 32,
3495 BCLM, 320,
3496 CPFM, 32,
3497 EPFM, 32,
3498 PLUT, 592,
3499 PFMB, 32,
3500 CCDV, 32,
3501 PCFT, 32,
3502 Offset (0x400),
3503 GVD1, 49152,
3504 PHED, 32,
3505 BDDC, 2048
3506 }
3507
3508 Name (DBTB, Package (0x15)
3509 {
3510 0x00,
3511 0x07,
3512 0x38,
3513 0x01C0,
3514 0x0E00,
3515 0x3F,
3516 0x01C7,
3517 0x0E07,
3518 0x01F8,
3519 0x0E38,
3520 0x0FC0,
3521 0x00,
3522 0x00,
3523 0x00,
3524 0x00,
3525 0x00,
3526 0x7000,
3527 0x7007,
3528 0x7038,
3529 0x71C0,
3530 0x7E00
3531 })
3532 Name (CDCT, Package (0x05)
3533 {
3534 Package (0x02)
3535 {
3536 0xE4,
3537 0x0140
3538 },
3539
3540 Package (0x02)
3541 {
3542 0xDE,
3543 0x014D
3544 },
3545
3546 Package (0x02)
3547 {
3548 0xDE,
3549 0x014D
3550 },
3551
3552 Package (0x02)
3553 {
3554 0x00,
3555 0x00
3556 },
3557
3558 Package (0x02)
3559 {
3560 0xDE,
3561 0x014D
3562 }
3563 })
3564 Name (SUCC, 0x01)
3565 Name (NVLD, 0x02)
3566 Name (CRIT, 0x04)
3567 Name (NCRT, 0x06)
3568 Method (GSCI, 0, Serialized)
3569 {
3570 If (LEqual (GEFC, 0x04))
3571 {
3572 Store (GBDA (), GXFC)
3573 }
3574
3575 If (LEqual (GEFC, 0x06))
3576 {
3577 Store (SBCB (), GXFC)
3578 }
3579
3580 Store (0x00, GEFC)
3581 Store (0x01, \_SB.PCI0.LPC.SCIS)
3582 Store (0x00, GSSE)
3583 Store (0x00, SCIE)
3584 Return (Zero)
3585 }
3586
3587 Method (GBDA, 0, Serialized)
3588 {
3589 If (LEqual (GESF, 0x00))
3590 {
3591 Store (0x0241, PARM)
3592 Store (Zero, GESF)
3593 Return (SUCC)
3594 }
3595
3596 If (LEqual (GESF, 0x01))
3597 {
3598 Store (0x0202, PARM)
3599 Store (Zero, GESF)
3600 Return (SUCC)
3601 }
3602
3603 If (LEqual (GESF, 0x04))
3604 {
3605 And (PARM, 0xEFFF0000, PARM)
3606 And (PARM, ShiftLeft (DerefOf (Index (DBTB, IBTT)), 0x10),
3607 PARM)
3608 Or (IBTT, PARM, PARM)
3609 Store (Zero, GESF)
3610 Return (SUCC)
3611 }
3612
3613 If (LEqual (GESF, 0x05))
3614 {
3615 If (\_SB.LID._LID ())
3616 {
3617 Store (0x01, LIDS)
3618 }
3619 Else
3620 {
3621 Store (0x00, LIDS)
3622 }
3623
3624 Store (IPSC, PARM)
3625 Add (PARM, 0x01, PARM)
3626 Add (PARM, 0x0300, PARM)
3627 Add (PARM, 0x00010000, PARM)
3628 Or (PARM, ShiftLeft (LIDS, 0x10), PARM)
3629 Or (PARM, ShiftLeft (IBIA, 0x14), PARM)
3630 Store (Zero, GESF)
3631 Return (SUCC)
3632 }
3633
3634 If (LEqual (GESF, 0x06))
3635 {
3636 Store (ITVF, PARM)
3637 Or (PARM, ShiftLeft (ITVM, 0x04), PARM)
3638 Store (Zero, GESF)
3639 Return (SUCC)
3640 }
3641
3642 If (LEqual (GESF, 0x07))
3643 {
3644 Store (GIVD, PARM)
3645 XOr (PARM, 0x01, PARM)
3646 Or (PARM, ShiftLeft (GMFN, 0x01), PARM)
3647 Or (PARM, ShiftLeft (0x03, 0x0B), PARM)
3648 Or (PARM, ShiftLeft (0x03, 0x11), PARM)
3649 Or (ShiftLeft (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), CDVL
3650 )), 0x15), PARM, PARM)
3651 Store (0x01, GESF)
3652 Return (SUCC)
3653 }
3654
3655 If (LEqual (GESF, 0x0A))
3656 {
3657 Store (0x00, PARM)
3658 If (ISSC)
3659 {
3660 Or (PARM, 0x03, PARM)
3661 }
3662
3663 Store (0x00, GESF)
3664 Return (SUCC)
3665 }
3666
3667 Store (Zero, GESF)
3668 Return (CRIT)
3669 }
3670
3671 Method (SBCB, 0, Serialized)
3672 {
3673 If (LEqual (GESF, 0x00))
3674 {
3675 Store (0x0101, PARM)
3676 Store (Zero, GESF)
3677 Return (SUCC)
3678 }
3679
3680 If (LEqual (GESF, 0x01))
3681 {
3682 Store (Zero, GESF)
3683 Store (Zero, PARM)
3684 Return (SUCC)
3685 }
3686
3687 If (LEqual (GESF, 0x03))
3688 {
3689 Store (Zero, GESF)
3690 Store (Zero, PARM)
3691 Return (SUCC)
3692 }
3693
3694 If (LEqual (GESF, 0x04))
3695 {
3696 Store (Zero, GESF)
3697 Store (Zero, PARM)
3698 Return (SUCC)
3699 }
3700
3701 If (LEqual (GESF, 0x05))
3702 {
3703 Store (Zero, GESF)
3704 Store (Zero, PARM)
3705 Return (SUCC)
3706 }
3707
3708 If (LEqual (GESF, 0x06))
3709 {
3710 Store (And (PARM, 0x0F), ITVF)
3711 Store (ShiftRight (And (PARM, 0xF0), 0x04), ITVM)
3712 Store (Zero, GESF)
3713 Store (Zero, PARM)
3714 Return (SUCC)
3715 }
3716
3717 If (LEqual (GESF, 0x07))
3718 {
3719 Store (Zero, GESF)
3720 Store (Zero, PARM)
3721 Return (SUCC)
3722 }
3723
3724 If (LEqual (GESF, 0x08))
3725 {
3726 Store (Zero, GESF)
3727 Store (Zero, PARM)
3728 Return (SUCC)
3729 }
3730
3731 If (LEqual (GESF, 0x09))
3732 {
3733 And (PARM, 0xFF, IBTT)
3734 Store (Zero, GESF)
3735 Store (Zero, PARM)
3736 Return (SUCC)
3737 }
3738
3739 If (LEqual (GESF, 0x0A))
3740 {
3741 And (PARM, 0xFF, IPSC)
3742 If (And (ShiftRight (PARM, 0x08), 0xFF))
3743 {
3744 And (ShiftRight (PARM, 0x08), 0xFF, IPAT)
3745 Decrement (IPAT)
3746 }
3747
3748 And (ShiftRight (PARM, 0x14), 0x07, IBIA)
3749 Store (Zero, GESF)
3750 Store (Zero, PARM)
3751 Return (SUCC)
3752 }
3753
3754 If (LEqual (GESF, 0x0B))
3755 {
3756 And (ShiftRight (PARM, 0x01), 0x01, IF1E)
3757 If (And (PARM, ShiftLeft (0x0F, 0x0D)))
3758 {
3759 And (ShiftRight (PARM, 0x0D), 0x0F, IDMS)
3760 }
3761 Else
3762 {
3763 And (ShiftRight (PARM, 0x11), 0x0F, IDMS)
3764 }
3765
3766 Store (Zero, GESF)
3767 Store (Zero, PARM)
3768 Return (SUCC)
3769 }
3770
3771 If (LEqual (GESF, 0x10))
3772 {
3773 Store (Zero, GESF)
3774 Store (Zero, PARM)
3775 Return (SUCC)
3776 }
3777
3778 If (LEqual (GESF, 0x11))
3779 {
3780 Store (ShiftLeft (LIDS, 0x08), PARM)
3781 Add (PARM, 0x0100, PARM)
3782 Store (Zero, GESF)
3783 Return (SUCC)
3784 }
3785
3786 If (LEqual (GESF, 0x12))
3787 {
3788 If (And (PARM, 0x01))
3789 {
3790 If (LEqual (ShiftRight (PARM, 0x01), 0x01))
3791 {
3792 Store (0x01, ISSC)
3793 }
3794 Else
3795 {
3796 Store (Zero, GESF)
3797 Return (CRIT)
3798 }
3799 }
3800 Else
3801 {
3802 Store (0x00, ISSC)
3803 }
3804
3805 Store (Zero, GESF)
3806 Store (Zero, PARM)
3807 Return (SUCC)
3808 }
3809
3810 If (LEqual (GESF, 0x13))
3811 {
3812 Store (Zero, GESF)
3813 Store (Zero, PARM)
3814 Return (SUCC)
3815 }
3816
3817 If (LEqual (GESF, 0x14))
3818 {
3819 And (PARM, 0x0F, PAVP)
3820 Store (Zero, GESF)
3821 Store (Zero, PARM)
3822 Return (SUCC)
3823 }
3824
3825 Store (Zero, GESF)
3826 Return (SUCC)
3827 }
3828
3829 Method (PDRD, 0, NotSerialized)
3830 {
3831 If (LNot (DRDY))
3832 {
3833 Sleep (ASLP)
3834 }
3835
3836 Return (LNot (DRDY))
3837 }
3838
3839 Method (PSTS, 0, NotSerialized)
3840 {
3841 If (LGreater (CSTS, 0x02))
3842 {
3843 Sleep (ASLP)
3844 }
3845
3846 Return (LEqual (CSTS, 0x03))
3847 }
3848
3849 Method (GNOT, 2, NotSerialized)
3850 {
3851 If (PDRD ())
3852 {
3853 Return (0x01)
3854 }
3855
3856 Store (Arg0, CEVT)
3857 Store (0x03, CSTS)
3858 If (LAnd (LEqual (CHPD, 0x00), LEqual (Arg1, 0x00)))
3859 {
3860 If (LNotEqual (Arg0, 0x01))
3861 {
3862 If (LAnd (\WXPF, LNot (\WVIS)))
3863 {
3864 Notify (\_SB.PCI0, Arg1)
3865 }
3866 Else
3867 {
3868 Notify (\_SB.PCI0.VID, Arg1)
3869 }
3870 }
3871 }
3872
3873 Notify (\_SB.PCI0.VID, 0x80)
3874 Return (0x00)
3875 }
3876
3877 Method (GHDS, 1, NotSerialized)
3878 {
3879 Store (Arg0, TIDX)
3880 Return (GNOT (0x01, 0x00))
3881 }
3882
3883 Method (GLID, 1, NotSerialized)
3884 {
3885 Store (Arg0, CLID)
3886 Return (GNOT (0x02, 0x00))
3887 }
3888
3889 Method (GLIS, 1, NotSerialized)
3890 {
3891 Store (Arg0, CLID)
3892 Return (0x00)
3893 }
3894
3895 Method (GDCK, 1, NotSerialized)
3896 {
3897 Store (Arg0, CDCK)
3898 Return (GNOT (0x04, 0x80))
3899 }
3900
3901 Method (GDCS, 1, NotSerialized)
3902 {
3903 Store (Arg0, CDCK)
3904 }
3905
3906 Method (PARD, 0, NotSerialized)
3907 {
3908 If (LNot (ARDY))
3909 {
3910 Sleep (ASLP)
3911 }
3912
3913 Return (LNot (ARDY))
3914 }
3915
3916 Method (AINT, 2, NotSerialized)
3917 {
3918 If (LNot (And (TCHE, ShiftLeft (0x01, Arg0))))
3919 {
3920 Return (0x01)
3921 }
3922
3923 If (PARD ())
3924 {
3925 Return (0x01)
3926 }
3927
3928 If (LEqual (Arg0, 0x02))
3929 {
3930 XOr (PFIT, 0x07, PFIT)
3931 Or (PFIT, 0x80000000, PFIT)
3932 Store (0x04, ASLC)
3933 }
3934 Else
3935 {
3936 If (LEqual (Arg0, 0x01))
3937 {
3938 Store (Arg1, BCLP)
3939 Or (BCLP, 0x80000000, BCLP)
3940 Store (0x0A, ASLC)
3941 }
3942 Else
3943 {
3944 If (LEqual (Arg0, 0x03))
3945 {
3946 Store (Arg1, PFMB)
3947 Or (PFMB, 0x80000100, PFMB)
3948 }
3949 Else
3950 {
3951 If (LEqual (Arg0, 0x00))
3952 {
3953 Store (Arg1, ALSI)
3954 Store (0x01, ASLC)
3955 }
3956 Else
3957 {
3958 Return (0x01)
3959 }
3960 }
3961 }
3962 }
3963
3964 Store (0x01, ASLE)
3965 Return (0x00)
3966 }
3967 }
3968
3969 Device (LPC)
3970 {
3971 Name (_ADR, 0x001F0000) // _ADR: Address
3972 Name (_S3D, 0x03) // _S3D: S3 Device State
3973 Name (RID, 0x00)
3974 Device (SIO)
3975 {
3976 Name (_HID, EisaId ("PNP0C02")) // _HID: Hardware ID
3977 Name (_UID, 0x00) // _UID: Unique ID
3978 Name (SCRS, ResourceTemplate ()
3979 {
3980 IO (Decode16,
3981 0x0010, // Range Minimum
3982 0x0010, // Range Maximum
3983 0x01, // Alignment
3984 0x10, // Length
3985 )
3986 IO (Decode16,
3987 0x0090, // Range Minimum
3988 0x0090, // Range Maximum
3989 0x01, // Alignment
3990 0x10, // Length
3991 )
3992 IO (Decode16,
3993 0x0024, // Range Minimum
3994 0x0024, // Range Maximum
3995 0x01, // Alignment
3996 0x02, // Length
3997 )
3998 IO (Decode16,
3999 0x0028, // Range Minimum
4000 0x0028, // Range Maximum
4001 0x01, // Alignment
4002 0x02, // Length
4003 )
4004 IO (Decode16,
4005 0x002C, // Range Minimum
4006 0x002C, // Range Maximum
4007 0x01, // Alignment
4008 0x02, // Length
4009 )
4010 IO (Decode16,
4011 0x0030, // Range Minimum
4012 0x0030, // Range Maximum
4013 0x01, // Alignment
4014 0x02, // Length
4015 )
4016 IO (Decode16,
4017 0x0034, // Range Minimum
4018 0x0034, // Range Maximum
4019 0x01, // Alignment
4020 0x02, // Length
4021 )
4022 IO (Decode16,
4023 0x0038, // Range Minimum
4024 0x0038, // Range Maximum
4025 0x01, // Alignment
4026 0x02, // Length
4027 )
4028 IO (Decode16,
4029 0x003C, // Range Minimum
4030 0x003C, // Range Maximum
4031 0x01, // Alignment
4032 0x02, // Length
4033 )
4034 IO (Decode16,
4035 0x00A4, // Range Minimum
4036 0x00A4, // Range Maximum
4037 0x01, // Alignment
4038 0x02, // Length
4039 )
4040 IO (Decode16,
4041 0x00A8, // Range Minimum
4042 0x00A8, // Range Maximum
4043 0x01, // Alignment
4044 0x02, // Length
4045 )
4046 IO (Decode16,
4047 0x00AC, // Range Minimum
4048 0x00AC, // Range Maximum
4049 0x01, // Alignment
4050 0x02, // Length
4051 )
4052 IO (Decode16,
4053 0x00B0, // Range Minimum
4054 0x00B0, // Range Maximum
4055 0x01, // Alignment
4056 0x06, // Length
4057 )
4058 IO (Decode16,
4059 0x00B8, // Range Minimum
4060 0x00B8, // Range Maximum
4061 0x01, // Alignment
4062 0x02, // Length
4063 )
4064 IO (Decode16,
4065 0x00BC, // Range Minimum
4066 0x00BC, // Range Maximum
4067 0x01, // Alignment
4068 0x02, // Length
4069 )
4070 IO (Decode16,
4071 0x0050, // Range Minimum
4072 0x0050, // Range Maximum
4073 0x01, // Alignment
4074 0x04, // Length
4075 )
4076 IO (Decode16,
4077 0x0072, // Range Minimum
4078 0x0072, // Range Maximum
4079 0x01, // Alignment
4080 0x06, // Length
4081 )
4082 IO (Decode16,
4083 0x0400, // Range Minimum
4084 0x0400, // Range Maximum
4085 0x01, // Alignment
4086 0x80, // Length
4087 )
4088 IO (Decode16,
4089 0x0500, // Range Minimum
4090 0x0500, // Range Maximum
4091 0x01, // Alignment
4092 0x80, // Length
4093 )
4094 IO (Decode16,
4095 0x0800, // Range Minimum
4096 0x0800, // Range Maximum
4097 0x01, // Alignment
4098 0x10, // Length
4099 )
4100 IO (Decode16,
4101 0x15E0, // Range Minimum
4102 0x15E0, // Range Maximum
4103 0x01, // Alignment
4104 0x10, // Length
4105 )
4106 IO (Decode16,
4107 0x1600, // Range Minimum
4108 0x1600, // Range Maximum
4109 0x01, // Alignment
4110 0x80, // Length
4111 )
4112 Memory32Fixed (ReadWrite,
4113 0xF8000000, // Address Base
4114 0x04000000, // Address Length
4115 )
4116 Memory32Fixed (ReadWrite,
4117 0x00000000, // Address Base
4118 0x00001000, // Address Length
4119 _Y26)
4120 Memory32Fixed (ReadWrite,
4121 0xFED1C000, // Address Base
4122 0x00004000, // Address Length
4123 )
4124 Memory32Fixed (ReadWrite,
4125 0xFED10000, // Address Base
4126 0x00004000, // Address Length
4127 )
4128 Memory32Fixed (ReadWrite,
4129 0xFED18000, // Address Base
4130 0x00001000, // Address Length
4131 )
4132 Memory32Fixed (ReadWrite,
4133 0xFED19000, // Address Base
4134 0x00001000, // Address Length
4135 )
4136 Memory32Fixed (ReadWrite,
4137 0xFED45000, // Address Base
4138 0x00007000, // Address Length
4139 )
4140 })
4141 CreateDWordField (SCRS, \_SB.PCI0.LPC.SIO._Y26._BAS, TRMB) // _BAS: Base Address
4142 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
4143 {
4144 Store (\TBAB, TRMB)
4145 If (LEqual (\_SB.PCI0.LPC.TPM._STA (), 0x0F))
4146 {
4147 Return (SCRS)
4148 }
4149 Else
4150 {
4151 Subtract (SizeOf (SCRS), 0x02, Local0)
4152 Name (BUF0, Buffer (Local0) {})
4153 Add (Local0, SizeOf (\_SB.PCI0.LPC.TPM.BUF1), Local0)
4154 Name (BUF1, Buffer (Local0) {})
4155 Store (SCRS, BUF0)
4156 Concatenate (BUF0, \_SB.PCI0.LPC.TPM.BUF1, BUF1)
4157 Return (BUF1)
4158 }
4159 }
4160 }
4161
4162 OperationRegion (LPCS, PCI_Config, 0x00, 0x0100)
4163 Field (LPCS, AnyAcc, NoLock, Preserve)
4164 {
4165 Offset (0x60),
4166 PIRA, 8,
4167 PIRB, 8,
4168 PIRC, 8,
4169 PIRD, 8,
4170 SERQ, 8,
4171 Offset (0x68),
4172 PIRE, 8,
4173 PIRF, 8,
4174 PIRG, 8,
4175 PIRH, 8,
4176 Offset (0x80),
4177 XU1A, 3,
4178 , 1,
4179 XU2A, 3,
4180 Offset (0x81),
4181 XPA, 2,
4182 , 2,
4183 XFA, 1,
4184 Offset (0x82),
4185 XU1E, 1,
4186 XU2E, 1,
4187 XPE, 1,
4188 XFE, 1,
4189 Offset (0x84),
4190 XG1E, 1,
4191 , 1,
4192 XG1A, 14,
4193 Offset (0x88),
4194 XG2E, 1,
4195 , 1,
4196 XG2A, 14,
4197 Offset (0xA0),
4198 , 2,
4199 CLKR, 1,
4200 , 7,
4201 EXPE, 1,
4202 Offset (0xA2),
4203 Offset (0xAC),
4204 Offset (0xAD),
4205 Offset (0xAE),
4206 XUSB, 1,
4207 Offset (0xB8),
4208 , 12,
4209 GR06, 2
4210 }
4211
4212 OperationRegion (LPIO, SystemIO, 0x0500, 0x80)
4213 Field (LPIO, DWordAcc, NoLock, Preserve)
4214 {
4215 Offset (0x0C),
4216 Offset (0x0D),
4217 Offset (0x0E),
4218 , 6,
4219 GLIS, 1,
4220 Offset (0x0F),
4221 Offset (0x10),
4222 Offset (0x2C),
4223 , 6,
4224 XHPD, 1,
4225 Offset (0x38),
4226 , 6,
4227 PIDH, 2,
4228 Offset (0x3A),
4229 PIDL, 2,
4230 Offset (0x48),
4231 DOI0, 1,
4232 DOI1, 1,
4233 DOI2, 1,
4234 DOI3, 1
4235 }
4236
4237 OperationRegion (PMIO, SystemIO, 0x0400, 0x80)
4238 Field (PMIO, AnyAcc, NoLock, Preserve)
4239 {
4240 Offset (0x2A),
4241 , 6,
4242 XHPE, 1,
4243 Offset (0x42),
4244 , 1,
4245 SWGE, 1,
4246 Offset (0x64),
4247 , 9,
4248 SCIS, 1,
4249 Offset (0x66)
4250 }
4251
4252 OperationRegion (IO_T, SystemIO, 0x0800, 0x10)
4253 Field (IO_T, ByteAcc, NoLock, Preserve)
4254 {
4255 TRPI, 16,
4256 Offset (0x04),
4257 Offset (0x06),
4258 Offset (0x08),
4259 TRP0, 8,
4260 Offset (0x0A),
4261 Offset (0x0B),
4262 Offset (0x0C),
4263 Offset (0x0D),
4264 Offset (0x0E),
4265 Offset (0x0F),
4266 Offset (0x10)
4267 }
4268
4269 Device (PIC)
4270 {
4271 Name (_HID, EisaId ("PNP0000")) // _HID: Hardware ID
4272 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4273 {
4274 IO (Decode16,
4275 0x0020, // Range Minimum
4276 0x0020, // Range Maximum
4277 0x01, // Alignment
4278 0x02, // Length
4279 )
4280 IO (Decode16,
4281 0x00A0, // Range Minimum
4282 0x00A0, // Range Maximum
4283 0x01, // Alignment
4284 0x02, // Length
4285 )
4286 IO (Decode16,
4287 0x04D0, // Range Minimum
4288 0x04D0, // Range Maximum
4289 0x01, // Alignment
4290 0x02, // Length
4291 )
4292 IRQNoFlags ()
4293 {2}
4294 })
4295 }
4296
4297 Device (TIMR)
4298 {
4299 Name (_HID, EisaId ("PNP0100")) // _HID: Hardware ID
4300 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4301 {
4302 IO (Decode16,
4303 0x0040, // Range Minimum
4304 0x0040, // Range Maximum
4305 0x01, // Alignment
4306 0x04, // Length
4307 )
4308 IRQNoFlags ()
4309 {0}
4310 })
4311 }
4312
4313 Device (HPET)
4314 {
4315 Name (_HID, EisaId ("PNP0103")) // _HID: Hardware ID
4316 Method (_STA, 0, NotSerialized) // _STA: Status
4317 {
4318 If (LAnd (\WNTF, LNot (\WXPF)))
4319 {
4320 Return (0x00)
4321 }
4322 Else
4323 {
4324 Return (0x0F)
4325 }
4326
4327 Return (0x00)
4328 }
4329
4330 Name (BUF0, ResourceTemplate ()
4331 {
4332 Memory32Fixed (ReadOnly,
4333 0xFED00000, // Address Base
4334 0x00000400, // Address Length
4335 _Y27)
4336 })
4337 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
4338 {
4339 CreateDWordField (BUF0, \_SB.PCI0.LPC.HPET._Y27._BAS, HPT0) // _BAS: Base Address
4340 Store (\HPET, HPT0)
4341 Return (BUF0)
4342 }
4343 }
4344
4345 Device (DMAC)
4346 {
4347 Name (_HID, EisaId ("PNP0200")) // _HID: Hardware ID
4348 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4349 {
4350 IO (Decode16,
4351 0x0000, // Range Minimum
4352 0x0000, // Range Maximum
4353 0x01, // Alignment
4354 0x10, // Length
4355 )
4356 IO (Decode16,
4357 0x0080, // Range Minimum
4358 0x0080, // Range Maximum
4359 0x01, // Alignment
4360 0x10, // Length
4361 )
4362 IO (Decode16,
4363 0x00C0, // Range Minimum
4364 0x00C0, // Range Maximum
4365 0x01, // Alignment
4366 0x20, // Length
4367 )
4368 DMA (Compatibility, BusMaster, Transfer8_16, )
4369 {4}
4370 })
4371 }
4372
4373 Device (SPKR)
4374 {
4375 Name (_HID, EisaId ("PNP0800")) // _HID: Hardware ID
4376 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4377 {
4378 IO (Decode16,
4379 0x0061, // Range Minimum
4380 0x0061, // Range Maximum
4381 0x01, // Alignment
4382 0x01, // Length
4383 )
4384 })
4385 }
4386
4387 Device (FPU)
4388 {
4389 Name (_HID, EisaId ("PNP0C04")) // _HID: Hardware ID
4390 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4391 {
4392 IO (Decode16,
4393 0x00F0, // Range Minimum
4394 0x00F0, // Range Maximum
4395 0x01, // Alignment
4396 0x01, // Length
4397 )
4398 IRQNoFlags ()
4399 {13}
4400 })
4401 }
4402
4403 Device (RTC)
4404 {
4405 Name (_HID, EisaId ("PNP0B00")) // _HID: Hardware ID
4406 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4407 {
4408 IO (Decode16,
4409 0x0070, // Range Minimum
4410 0x0070, // Range Maximum
4411 0x01, // Alignment
4412 0x02, // Length
4413 )
4414 IRQNoFlags ()
4415 {8}
4416 })
4417 }
4418
4419 Device (KBD)
4420 {
4421 Method (_HID, 0, NotSerialized) // _HID: Hardware ID
4422 {
4423 If (\WIN8)
4424 {
4425 Return (0x7100AE30)
4426 }
4427
4428 Return (0x0303D041)
4429 }
4430
4431 Name (_CID, EisaId ("PNP0303")) // _CID: Compatible ID
4432 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4433 {
4434 IO (Decode16,
4435 0x0060, // Range Minimum
4436 0x0060, // Range Maximum
4437 0x01, // Alignment
4438 0x01, // Length
4439 )
4440 IO (Decode16,
4441 0x0064, // Range Minimum
4442 0x0064, // Range Maximum
4443 0x01, // Alignment
4444 0x01, // Length
4445 )
4446 IRQNoFlags ()
4447 {1}
4448 })
4449 }
4450
4451 Device (MOU)
4452 {
4453 Name (_HID, EisaId ("IBM3780")) // _HID: Hardware ID
4454 Name (_CID, EisaId ("PNP0F13")) // _CID: Compatible ID
4455 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4456 {
4457 IRQNoFlags ()
4458 {12}
4459 })
4460 Method (MHID, 0, NotSerialized)
4461 {
4462 If (\_SB.PCI0.LPC.PADD)
4463 {
4464 Store (0x80374D24, _HID)
4465 }
4466 Else
4467 {
4468 Store (0x1500AE30, _HID)
4469 }
4470 }
4471 }
4472
4473 OperationRegion (IMGA, SystemIO, 0x15E0, 0x10)
4474 Field (IMGA, ByteAcc, NoLock, Preserve)
4475 {
4476 Offset (0x01),
4477 Offset (0x02),
4478 Offset (0x03),
4479 WAKR, 16,
4480 Offset (0x0C),
4481 GAIX, 8,
4482 Offset (0x0E),
4483 GADT, 8,
4484 Offset (0x10)
4485 }
4486
4487 IndexField (GAIX, GADT, ByteAcc, NoLock, Preserve)
4488 {
4489 Offset (0x50),
4490 , 3,
4491 IVPW, 1,
4492 DVPW, 1,
4493 BLPL, 1,
4494 Offset (0x51),
4495 TP4R, 1,
4496 PADR, 1,
4497 BPAD, 1,
4498 , 1,
4499 , 1,
4500 PADD, 1,
4501 Offset (0x60),
4502 EPWG, 1,
4503 , 1,
4504 CSON, 1,
4505 DSCI, 1,
4506 DSCS, 1,
4507 DLAN, 1,
4508 Offset (0xC2),
4509 GAID, 8
4510 }
4511
4512 Scope (\_SB)
4513 {
4514 Name (TCGP, Buffer (0x08)
4515 {
4516 0x1F, 0xE0, 0x1F, 0x01, 0x02, 0x04, 0x08, 0xF0
4517 })
4518 CreateByteField (TCGP, 0x00, PPRQ)
4519 CreateByteField (TCGP, 0x01, PPL1)
4520 CreateByteField (TCGP, 0x02, PPRP)
4521 CreateByteField (TCGP, 0x03, TPRS)
4522 CreateByteField (TCGP, 0x04, PPOR)
4523 CreateByteField (TCGP, 0x05, TPMV)
4524 CreateByteField (TCGP, 0x06, MOR)
4525 CreateByteField (TCGP, 0x07, TVEN)
4526 OperationRegion (TCGC, SystemIO, 0x72, 0x02)
4527 Field (TCGC, ByteAcc, Lock, Preserve)
4528 {
4529 TIDX, 8,
4530 TPDA, 8
4531 }
4532
4533 IndexField (TIDX, TPDA, ByteAcc, Lock, Preserve)
4534 {
4535 Offset (0x40),
4536 TPP1, 8,
4537 PPLO, 8,
4538 TPP3, 8
4539 }
4540
4541 OperationRegion (SMIP, SystemIO, 0xB2, 0x02)
4542 Field (SMIP, WordAcc, NoLock, Preserve)
4543 {
4544 SMIT, 8,
4545 SMID, 8
4546 }
4547 }
4548
4549 Device (TPM)
4550 {
4551 Name (TMPV, 0x00)
4552 Method (_HID, 0, NotSerialized) // _HID: Hardware ID
4553 {
4554 If (LEqual (TVID, 0x15D1))
4555 {
4556 Return (0x0201D824)
4557 }
4558
4559 If (LOr (LEqual (TVID, 0x1050), LEqual (TVID, 0x100B)))
4560 {
4561 Return (0x0010A35C)
4562 }
4563
4564 If (LEqual (TVID, 0x19FA))
4565 {
4566 Return (0x0435CF4D)
4567 }
4568
4569 If (LEqual (TDID, 0x1002))
4570 {
4571 Return (0x02016D08)
4572 }
4573
4574 If (LEqual (TDID, 0x1001))
4575 {
4576 Return (0x01016D08)
4577 }
4578
4579 If (LEqual (TVID, 0x1114))
4580 {
4581 Return (0x00128D06)
4582 }
4583
4584 If (LEqual (TVID, 0x104A))
4585 {
4586 Return (0x0012AF4D)
4587 }
4588
4589 Return (0x310CD041)
4590 }
4591
4592 Name (_CID, EisaId ("PNP0C31")) // _CID: Compatible ID
4593 Name (_UID, 0x01) // _UID: Unique ID
4594 OperationRegion (TMMB, SystemMemory, 0xFED40000, 0x1000)
4595 Field (TMMB, ByteAcc, Lock, Preserve)
4596 {
4597 ACCS, 8,
4598 Offset (0x18),
4599 TSTA, 8,
4600 TBCA, 8,
4601 Offset (0xF00),
4602 TVID, 16,
4603 TDID, 16
4604 }
4605
4606 Method (_STA, 0, NotSerialized) // _STA: Status
4607 {
4608 If (LEqual (ACCS, 0xFF))
4609 {
4610 Return (0x00)
4611 }
4612 Else
4613 {
4614 If (LEqual (TPME, 0x00))
4615 {
4616 Return (0x00)
4617 }
4618 }
4619
4620 Return (0x0F)
4621 }
4622
4623 Name (BUF1, ResourceTemplate ()
4624 {
4625 Memory32Fixed (ReadOnly,
4626 0xFED40000, // Address Base
4627 0x00005000, // Address Length
4628 )
4629 })
4630 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
4631 {
4632 Return (BUF1)
4633 }
4634
4635 Method (UCMP, 2, NotSerialized)
4636 {
4637 If (LNotEqual (0x10, SizeOf (Arg0)))
4638 {
4639 Return (0x00)
4640 }
4641
4642 If (LNotEqual (0x10, SizeOf (Arg1)))
4643 {
4644 Return (0x00)
4645 }
4646
4647 Store (0x00, Local0)
4648 While (LLess (Local0, 0x10))
4649 {
4650 If (LNotEqual (DerefOf (Index (Arg0, Local0)), DerefOf (Index (
4651 Arg1, Local0))))
4652 {
4653 Return (0x00)
4654 }
4655
4656 Increment (Local0)
4657 }
4658
4659 Return (0x01)
4660 }
4661
4662 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
4663 {
4664 Name (TTMP, Buffer (0x01)
4665 {
4666 0x00
4667 })
4668 CreateByteField (TTMP, 0x00, TMPV)
4669 If (LEqual (UCMP (Arg0, Buffer (0x10)
4670 {
4671 /* 0000 */ 0xA6, 0xFA, 0xDD, 0x3D, 0x1B, 0x36, 0xB4, 0x4E,
4672 /* 0008 */ 0xA4, 0x24, 0x8D, 0x10, 0x08, 0x9D, 0x16, 0x53
4673 }), 0x01))
4674 {
4675 If (LEqual (Arg2, 0x00))
4676 {
4677 Return (Buffer (0x02)
4678 {
4679 0xFF, 0x01
4680 })
4681 }
4682
4683 If (LEqual (Arg2, 0x01))
4684 {
4685 Return (Buffer (0x04)
4686 {
4687 "1.2"
4688 })
4689 }
4690
4691 If (LEqual (Arg2, 0x02))
4692 {
4693 If (TPRS)
4694 {
4695 If (LLessEqual (DerefOf (Index (Arg3, 0x00)), 0x0B))
4696 {
4697 Store (DerefOf (Index (Arg3, 0x00)), SMID)
4698 Store (0xC1, SMIT)
4699 Store (DerefOf (Index (Arg3, 0x00)), TPP1)
4700 Return (0x00)
4701 }
4702
4703 If (LAnd (LGreaterEqual (DerefOf (Index (Arg3, 0x00)), 0x0E),
4704 LLessEqual (DerefOf (Index (Arg3, 0x00)), 0x12)))
4705 {
4706 Store (DerefOf (Index (Arg3, 0x00)), SMID)
4707 Store (0xC1, SMIT)
4708 Store (DerefOf (Index (Arg3, 0x00)), TPP1)
4709 Return (0x00)
4710 }
4711
4712 If (LOr (LEqual (DerefOf (Index (Arg3, 0x00)), 0x15), LEqual (
4713 DerefOf (Index (Arg3, 0x00)), 0x16)))
4714 {
4715 Store (DerefOf (Index (Arg3, 0x00)), SMID)
4716 Store (0xC1, SMIT)
4717 Store (DerefOf (Index (Arg3, 0x00)), TPP1)
4718 Return (0x00)
4719 }
4720
4721 Return (0x01)
4722 }
4723
4724 Return (0x02)
4725 }
4726
4727 If (LEqual (Arg2, 0x03))
4728 {
4729 Name (TMP1, Package (0x02)
4730 {
4731 0x00,
4732 0xFFFFFFFF
4733 })
4734 Store (TPP1, TMPV)
4735 Store (And (TMPV, PPRQ, TMPV), Index (TMP1, 0x01))
4736 Return (TMP1)
4737 }
4738
4739 If (LEqual (Arg2, 0x04))
4740 {
4741 Return (0x02)
4742 }
4743
4744 If (LEqual (Arg2, 0x05))
4745 {
4746 Name (TMP2, Package (0x03)
4747 {
4748 0x00,
4749 0xFFFFFFFF,
4750 0xFFFFFFFF
4751 })
4752 Store (\_SB.PPLO, Index (TMP2, 0x01))
4753 If (LOr (LOr (LGreater (\_SB.PPLO, 0x16), LEqual (\_SB.PPLO, 0x0C)), LEqual (
4754 \_SB.PPLO, 0x0D)))
4755 {
4756 Store (0xFFFFFFF1, Index (TMP2, 0x02))
4757 Return (TMP2)
4758 }
4759
4760 If (LEqual (PPRQ, 0xFF))
4761 {
4762 Store (0xFFFFFFF1, Index (TMP2, 0x02))
4763 Return (TMP2)
4764 }
4765
4766 Store (TPP3, TMPV)
4767 If (And (TMPV, 0x04))
4768 {
4769 Store (0xFFFFFFF0, Index (TMP2, 0x02))
4770 Return (TMP2)
4771 }
4772
4773 Store (0x00, Index (TMP2, 0x02))
4774 Return (TMP2)
4775 }
4776
4777 If (LEqual (Arg2, 0x06))
4778 {
4779 Return (0x03)
4780 }
4781
4782 If (LEqual (Arg2, 0x07))
4783 {
4784 If (TPRS)
4785 {
4786 If (LLessEqual (DerefOf (Index (Arg3, 0x00)), 0x0B))
4787 {
4788 Store (DerefOf (Index (Arg3, 0x00)), SMID)
4789 Store (0xC1, SMIT)
4790 Store (DerefOf (Index (Arg3, 0x00)), TPP1)
4791 Return (0x00)
4792 }
4793
4794 If (LAnd (LGreaterEqual (DerefOf (Index (Arg3, 0x00)), 0x0E),
4795 LLessEqual (DerefOf (Index (Arg3, 0x00)), 0x12)))
4796 {
4797 Store (DerefOf (Index (Arg3, 0x00)), SMID)
4798 Store (0xC1, SMIT)
4799 Store (DerefOf (Index (Arg3, 0x00)), TPP1)
4800 Return (0x00)
4801 }
4802
4803 If (LOr (LEqual (DerefOf (Index (Arg3, 0x00)), 0x15), LEqual (
4804 DerefOf (Index (Arg3, 0x00)), 0x16)))
4805 {
4806 Store (DerefOf (Index (Arg3, 0x00)), SMID)
4807 Store (0xC1, SMIT)
4808 Store (DerefOf (Index (Arg3, 0x00)), TPP1)
4809 Return (0x00)
4810 }
4811
4812 Return (0x01)
4813 }
4814
4815 Return (0x02)
4816 }
4817
4818 If (LEqual (Arg2, 0x08))
4819 {
4820 Name (PPIP, 0x00)
4821 Name (PPIC, 0x00)
4822 Store (TPP3, TMPV)
4823 If (And (TMPV, 0x10))
4824 {
4825 Store (0x01, PPIP)
4826 }
4827
4828 If (And (TMPV, 0x20))
4829 {
4830 Store (0x01, PPIC)
4831 }
4832
4833 If (LEqual (DerefOf (Index (Arg3, 0x00)), 0x05))
4834 {
4835 If (LGreater (PPIC, 0x00))
4836 {
4837 Return (0x04)
4838 }
4839
4840 Return (0x03)
4841 }
4842
4843 If (LAnd (LGreaterEqual (DerefOf (Index (Arg3, 0x00)), 0x01),
4844 LLessEqual (DerefOf (Index (Arg3, 0x00)), 0x04)))
4845 {
4846 If (LGreater (PPIP, 0x00))
4847 {
4848 Return (0x04)
4849 }
4850
4851 Return (0x03)
4852 }
4853
4854 If (LAnd (LGreaterEqual (DerefOf (Index (Arg3, 0x00)), 0x06),
4855 LLessEqual (DerefOf (Index (Arg3, 0x00)), 0x0B)))
4856 {
4857 If (LGreater (PPIP, 0x00))
4858 {
4859 Return (0x04)
4860 }
4861
4862 Return (0x03)
4863 }
4864
4865 If (LOr (LEqual (DerefOf (Index (Arg3, 0x00)), 0x0E), LAnd (
4866 LGreaterEqual (DerefOf (Index (Arg3, 0x00)), 0x15), LLessEqual (DerefOf (
4867 Index (Arg3, 0x00)), 0x16))))
4868 {
4869 If (LAnd (LGreater (PPIP, 0x00), LGreater (PPIC, 0x00)))
4870 {
4871 Return (0x04)
4872 }
4873
4874 Return (0x03)
4875 }
4876
4877 If (LOr (LEqual (DerefOf (Index (Arg3, 0x00)), 0x10), LEqual (
4878 DerefOf (Index (Arg3, 0x00)), 0x12)))
4879 {
4880 Return (0x03)
4881 }
4882
4883 If (LOr (LEqual (DerefOf (Index (Arg3, 0x00)), 0x00), LOr (
4884 LEqual (DerefOf (Index (Arg3, 0x00)), 0x0F), LEqual (DerefOf (Index (Arg3,
4885 0x00)), 0x11))))
4886 {
4887 Return (0x04)
4888 }
4889
4890 Return (0x00)
4891 }
4892
4893 Return (0x01)
4894 }
4895
4896 If (LEqual (UCMP (Arg0, Buffer (0x10)
4897 {
4898 /* 0000 */ 0xED, 0x54, 0x60, 0x37, 0x13, 0xCC, 0x75, 0x46,
4899 /* 0008 */ 0x90, 0x1C, 0x47, 0x56, 0xD7, 0xF2, 0xD4, 0x5D
4900 }), 0x01))
4901 {
4902 If (LEqual (Arg2, 0x00))
4903 {
4904 Return (Buffer (0x01)
4905 {
4906 0x01
4907 })
4908 }
4909
4910 If (LEqual (Arg2, 0x01))
4911 {
4912 If (And (DerefOf (Index (Arg3, 0x00)), 0x01))
4913 {
4914 Store (0x01, MORD)
4915 If (And (DerefOf (Index (Arg3, 0x00)), 0x10))
4916 {
4917 Store (0x83, SMID)
4918 Store (0xC1, SMIT)
4919 }
4920 Else
4921 {
4922 Store (0x81, SMID)
4923 Store (0xC1, SMIT)
4924 }
4925 }
4926 Else
4927 {
4928 Store (0x00, MORD)
4929 If (And (DerefOf (Index (Arg3, 0x00)), 0x10))
4930 {
4931 Store (0x82, SMID)
4932 Store (0xC1, SMIT)
4933 }
4934 Else
4935 {
4936 Store (0x80, SMID)
4937 Store (0xC1, SMIT)
4938 }
4939 }
4940
4941 Return (0x00)
4942 }
4943
4944 Return (0x01)
4945 }
4946
4947 Return (Buffer (0x01)
4948 {
4949 0x00
4950 })
4951 }
4952
4953 Method (CMOR, 0, NotSerialized)
4954 {
4955 Store (0x00, MORD)
4956 Store (0x80, SMID)
4957 Store (0xC1, SMIT)
4958 }
4959 }
4960
4961 Device (EC)
4962 {
4963 Name (_HID, EisaId ("PNP0C09")) // _HID: Hardware ID
4964 Name (_UID, 0x00) // _UID: Unique ID
4965 Name (_GPE, 0x11) // _GPE: General Purpose Events
4966 Method (_REG, 2, NotSerialized) // _REG: Region Availability
4967 {
4968 If (LEqual (Arg0, 0x03))
4969 {
4970 Store (Arg1, \H8DR)
4971 }
4972 }
4973
4974 OperationRegion (ECOR, EmbeddedControl, 0x00, 0x0100)
4975 Field (ECOR, ByteAcc, NoLock, Preserve)
4976 {
4977 HDBM, 1,
4978 , 1,
4979 , 1,
4980 HFNE, 1,
4981 , 1,
4982 , 1,
4983 HLDM, 1,
4984 Offset (0x01),
4985 BBLS, 1,
4986 BTCM, 1,
4987 , 1,
4988 , 1,
4989 , 1,
4990 HBPR, 1,
4991 BTPC, 1,
4992 Offset (0x02),
4993 HDUE, 1,
4994 , 4,
4995 SNLK, 1,
4996 Offset (0x03),
4997 , 5,
4998 HAUM, 2,
4999 Offset (0x05),
5000 HSPA, 1,
5001 Offset (0x06),
5002 HSUN, 8,
5003 HSRP, 8,
5004 Offset (0x0C),
5005 HLCL, 8,
5006 , 4,
5007 CALM, 1,
5008 Offset (0x0E),
5009 HFNS, 2,
5010 Offset (0x0F),
5011 , 6,
5012 NULS, 1,
5013 Offset (0x10),
5014 HAM0, 8,
5015 HAM1, 8,
5016 HAM2, 8,
5017 HAM3, 8,
5018 HAM4, 8,
5019 HAM5, 8,
5020 HAM6, 8,
5021 HAM7, 8,
5022 HAM8, 8,
5023 HAM9, 8,
5024 HAMA, 8,
5025 HAMB, 8,
5026 HAMC, 8,
5027 HAMD, 8,
5028 HAME, 8,
5029 HAMF, 8,
5030 Offset (0x23),
5031 HANT, 8,
5032 Offset (0x26),
5033 , 2,
5034 HANA, 2,
5035 Offset (0x27),
5036 Offset (0x2A),
5037 HATR, 8,
5038 HT0H, 8,
5039 HT0L, 8,
5040 HT1H, 8,
5041 HT1L, 8,
5042 HFSP, 8,
5043 , 6,
5044 HMUT, 1,
5045 Offset (0x31),
5046 , 2,
5047 HUWB, 1,
5048 Offset (0x32),
5049 HWPM, 1,
5050 HWLB, 1,
5051 HWLO, 1,
5052 HWDK, 1,
5053 HWFN, 1,
5054 HWBT, 1,
5055 HWRI, 1,
5056 HWBU, 1,
5057 HWLU, 1,
5058 Offset (0x34),
5059 , 3,
5060 PIBS, 1,
5061 , 3,
5062 HPLO, 1,
5063 Offset (0x36),
5064 Offset (0x38),
5065 HB0S, 7,
5066 HB0A, 1,
5067 HB1S, 7,
5068 HB1A, 1,
5069 HCMU, 1,
5070 , 2,
5071 OVRQ, 1,
5072 DCBD, 1,
5073 DCWL, 1,
5074 DCWW, 1,
5075 HB1I, 1,
5076 , 1,
5077 KBLT, 1,
5078 BTPW, 1,
5079 BTDT, 1,
5080 HUBS, 1,
5081 BDPW, 1,
5082 BDDT, 1,
5083 HUBB, 1,
5084 Offset (0x46),
5085 , 1,
5086 BTWK, 1,
5087 HPLD, 1,
5088 , 1,
5089 HPAC, 1,
5090 BTST, 1,
5091 Offset (0x47),
5092 HPBU, 1,
5093 , 1,
5094 HBID, 1,
5095 , 3,
5096 HBCS, 1,
5097 HPNF, 1,
5098 , 1,
5099 GSTS, 1,
5100 , 2,
5101 HLBU, 1,
5102 DOCD, 1,
5103 HCBL, 1,
5104 Offset (0x49),
5105 SLUL, 1,
5106 Offset (0x4C),
5107 HTMH, 8,
5108 HTML, 8,
5109 HWAK, 16,
5110 HMPR, 8,
5111 , 7,
5112 HMDN, 1,
5113 Offset (0x78),
5114 TMP0, 8,
5115 Offset (0x80),
5116 Offset (0x81),
5117 HIID, 8,
5118 Offset (0x83),
5119 HFNI, 8,
5120 HSPD, 16,
5121 Offset (0x88),
5122 TSL0, 7,
5123 TSR0, 1,
5124 TSL1, 7,
5125 TSR1, 1,
5126 TSL2, 7,
5127 TSR2, 1,
5128 TSL3, 7,
5129 TSR3, 1,
5130 Offset (0x8D),
5131 HDAA, 3,
5132 HDAB, 3,
5133 HDAC, 2,
5134 Offset (0xB0),
5135 HDEN, 32,
5136 HDEP, 32,
5137 HDEM, 8,
5138 HDES, 8,
5139 MIAC, 8,
5140 PLSL, 8,
5141 PLMS, 8,
5142 PLLS, 8,
5143 PLTU, 8,
5144 Offset (0xC8),
5145 ATMX, 8,
5146 HWAT, 8,
5147 Offset (0xCC),
5148 PWMH, 8,
5149 PWML, 8,
5150 Offset (0xED),
5151 , 4,
5152 HDDD, 1
5153 }
5154
5155 Method (_INI, 0, NotSerialized) // _INI: Initialize
5156 {
5157 If (\H8DR)
5158 {
5159 Store (0x00, HSPA)
5160 }
5161 Else
5162 {
5163 \MBEC (0x05, 0xFE, 0x00)
5164 }
5165
5166 BINI ()
5167 \_SB.PCI0.LPC.EC.HKEY.WGIN ()
5168 }
5169
5170 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
5171 {
5172 IO (Decode16,
5173 0x0062, // Range Minimum
5174 0x0062, // Range Maximum
5175 0x01, // Alignment
5176 0x01, // Length
5177 )
5178 IO (Decode16,
5179 0x0066, // Range Minimum
5180 0x0066, // Range Maximum
5181 0x01, // Alignment
5182 0x01, // Length
5183 )
5184 })
5185 Method (LED, 2, NotSerialized)
5186 {
5187 Or (Arg0, Arg1, Local0)
5188 If (\H8DR)
5189 {
5190 Store (Local0, HLCL)
5191 }
5192 Else
5193 {
5194 \WBEC (0x0C, Local0)
5195 }
5196 }
5197
5198 Name (BAON, 0x00)
5199 Name (WBON, 0x00)
5200 Method (BEEP, 1, NotSerialized)
5201 {
5202 If (LEqual (Arg0, 0x05))
5203 {
5204 Store (0x00, WBON)
5205 }
5206
5207 Store (WBON, Local2)
5208 If (BAON)
5209 {
5210 If (LEqual (Arg0, 0x00))
5211 {
5212 Store (0x00, BAON)
5213 If (WBON)
5214 {
5215 Store (0x03, Local0)
5216 Store (0x08, Local1)
5217 }
5218 Else
5219 {
5220 Store (0x00, Local0)
5221 Store (0x00, Local1)
5222 }
5223 }
5224 Else
5225 {
5226 Store (0xFF, Local0)
5227 Store (0xFF, Local1)
5228 If (LEqual (Arg0, 0x11))
5229 {
5230 Store (0x00, WBON)
5231 }
5232
5233 If (LEqual (Arg0, 0x10))
5234 {
5235 Store (0x01, WBON)
5236 }
5237 }
5238 }
5239 Else
5240 {
5241 Store (Arg0, Local0)
5242 Store (0xFF, Local1)
5243 If (LEqual (Arg0, 0x0F))
5244 {
5245 Store (Arg0, Local0)
5246 Store (0x08, Local1)
5247 Store (0x01, BAON)
5248 }
5249
5250 If (LEqual (Arg0, 0x11))
5251 {
5252 Store (0x00, Local0)
5253 Store (0x00, Local1)
5254 Store (0x00, WBON)
5255 }
5256
5257 If (LEqual (Arg0, 0x10))
5258 {
5259 Store (0x03, Local0)
5260 Store (0x08, Local1)
5261 Store (0x01, WBON)
5262 }
5263 }
5264
5265 If (LEqual (Arg0, 0x03))
5266 {
5267 Store (0x00, WBON)
5268 If (Local2)
5269 {
5270 Store (0x07, Local0)
5271 If (LOr (LEqual (\SPS, 0x03), LEqual (\SPS, 0x04)))
5272 {
5273 Store (0x00, Local2)
5274 Store (0xFF, Local0)
5275 Store (0xFF, Local1)
5276 }
5277 }
5278 }
5279
5280 If (LEqual (Arg0, 0x07))
5281 {
5282 If (Local2)
5283 {
5284 Store (0x00, Local2)
5285 Store (0xFF, Local0)
5286 Store (0xFF, Local1)
5287 }
5288 }
5289
5290 If (\H8DR)
5291 {
5292 If (LAnd (Local2, LNot (WBON)))
5293 {
5294 Store (0x00, HSRP)
5295 Store (0x00, HSUN)
5296 Sleep (0x64)
5297 }
5298
5299 If (LNotEqual (Local1, 0xFF))
5300 {
5301 Store (Local1, HSRP)
5302 }
5303
5304 If (LNotEqual (Local0, 0xFF))
5305 {
5306 Store (Local0, HSUN)
5307 }
5308 }
5309 Else
5310 {
5311 If (LAnd (Local2, LNot (WBON)))
5312 {
5313 \WBEC (0x07, 0x00)
5314 \WBEC (0x06, 0x00)
5315 Sleep (0x64)
5316 }
5317
5318 If (LNotEqual (Local1, 0xFF))
5319 {
5320 \WBEC (0x07, Local1)
5321 }
5322
5323 If (LNotEqual (Local0, 0xFF))
5324 {
5325 \WBEC (0x06, Local0)
5326 }
5327 }
5328
5329 If (LEqual (Arg0, 0x03)) {}
5330 If (LEqual (Arg0, 0x07))
5331 {
5332 Sleep (0x01F4)
5333 }
5334 }
5335
5336 Method (EVNT, 1, NotSerialized)
5337 {
5338 If (\H8DR)
5339 {
5340 If (Arg0)
5341 {
5342 Or (HAM7, 0x01, HAM7)
5343 Or (HAM5, 0x04, HAM5)
5344 }
5345 Else
5346 {
5347 And (HAM7, 0xFE, HAM7)
5348 And (HAM5, 0xFB, HAM5)
5349 }
5350 }
5351 Else
5352 {
5353 If (Arg0)
5354 {
5355 \MBEC (0x17, 0xFF, 0x01)
5356 \MBEC (0x15, 0xFF, 0x04)
5357 }
5358 Else
5359 {
5360 \MBEC (0x17, 0xFE, 0x00)
5361 \MBEC (0x15, 0xFB, 0x00)
5362 }
5363 }
5364 }
5365
5366 Name (USPS, 0x00)
5367 PowerResource (PUBS, 0x03, 0x0000)
5368 {
5369 Method (_STA, 0, NotSerialized) // _STA: Status
5370 {
5371 If (\H8DR)
5372 {
5373 Store (HUBS, Local0)
5374 }
5375 Else
5376 {
5377 And (\RBEC (0x3B), 0x10, Local0)
5378 }
5379
5380 If (Local0)
5381 {
5382 Return (0x01)
5383 }
5384 Else
5385 {
5386 Return (0x00)
5387 }
5388 }
5389
5390 Method (_ON, 0, NotSerialized) // _ON_: Power On
5391 {
5392 Store (0x64, Local0)
5393 While (LAnd (USPS, Local0))
5394 {
5395 Sleep (0x01)
5396 Decrement (Local0)
5397 }
5398
5399 If (\H8DR)
5400 {
5401 Store (0x01, HUBS)
5402 }
5403 Else
5404 {
5405 \MBEC (0x3B, 0xFF, 0x10)
5406 }
5407 }
5408
5409 Method (_OFF, 0, NotSerialized) // _OFF: Power Off
5410 {
5411 Store (0x01, USPS)
5412 If (\H8DR)
5413 {
5414 Store (0x00, HUBS)
5415 }
5416 Else
5417 {
5418 \MBEC (0x3B, 0xEF, 0x00)
5419 }
5420
5421 Sleep (0x14)
5422 Store (0x00, USPS)
5423 }
5424 }
5425
5426 Method (CHKS, 0, NotSerialized)
5427 {
5428 Store (0x03E8, Local0)
5429 While (HMPR)
5430 {
5431 Sleep (0x01)
5432 Decrement (Local0)
5433 If (LNot (Local0))
5434 {
5435 Return (0x8080)
5436 }
5437 }
5438
5439 If (HMDN)
5440 {
5441 Return (Zero)
5442 }
5443
5444 Return (0x8081)
5445 }
5446
5447 Method (LPMD, 0, NotSerialized)
5448 {
5449 Store (0x00, Local0)
5450 Store (0x00, Local1)
5451 Store (0x00, Local2)
5452 If (\H8DR)
5453 {
5454 If (HPAC)
5455 {
5456 If (HPLO)
5457 {
5458 Store (\LPST, Local0)
5459 }
5460 Else
5461 {
5462 If (LLess (HWAT, \LPAW))
5463 {
5464 If (HB0A)
5465 {
5466 If (LOr (And (HB0S, 0x10), LLess (And (HB0S, 0x07
5467 ), 0x02)))
5468 {
5469 Store (0x01, Local1)
5470 }
5471 }
5472 Else
5473 {
5474 Store (0x01, Local1)
5475 }
5476
5477 If (HB1A)
5478 {
5479 If (LOr (And (HB1S, 0x10), LLess (And (HB1S, 0x07
5480 ), 0x02)))
5481 {
5482 Store (0x01, Local2)
5483 }
5484 }
5485 Else
5486 {
5487 Store (0x01, Local2)
5488 }
5489
5490 If (LAnd (Local1, Local2))
5491 {
5492 Store (\LPST, Local0)
5493 }
5494 }
5495 }
5496 }
5497 }
5498 Else
5499 {
5500 If (And (\RBEC (0x46), 0x10))
5501 {
5502 If (And (\RBEC (0x34), 0x80))
5503 {
5504 Store (\LPST, Local0)
5505 }
5506 Else
5507 {
5508 If (LLess (\RBEC (0xC9), \LPAW))
5509 {
5510 Store (\RBEC (0x38), Local3)
5511 If (And (Local3, 0x80))
5512 {
5513 If (LOr (And (Local3, 0x10), LLess (And (Local3, 0x07
5514 ), 0x02)))
5515 {
5516 Store (0x01, Local1)
5517 }
5518 }
5519 Else
5520 {
5521 Store (0x01, Local2)
5522 }
5523
5524 Store (\RBEC (0x39), Local3)
5525 If (And (Local3, 0x80))
5526 {
5527 If (LOr (And (Local3, 0x10), LLess (And (Local3, 0x07
5528 ), 0x02)))
5529 {
5530 Store (0x01, Local1)
5531 }
5532 }
5533 Else
5534 {
5535 Store (0x01, Local2)
5536 }
5537
5538 If (LAnd (Local1, Local2))
5539 {
5540 Store (\LPST, Local0)
5541 }
5542 }
5543 }
5544 }
5545 }
5546
5547 Return (Local0)
5548 }
5549
5550 Method (CLPM, 0, NotSerialized)
5551 {
5552 If (And (\PPMF, 0x01))
5553 {
5554 If (\OSPX)
5555 {
5556 \PNTF (0x80)
5557 }
5558 Else
5559 {
5560 Store (LPMD (), Local0)
5561 If (Local0)
5562 {
5563 \STEP (0x04)
5564 }
5565 Else
5566 {
5567 \STEP (0x05)
5568 }
5569 }
5570 }
5571 }
5572
5573 Mutex (MCPU, 0x07)
5574 Method (_Q10, 0, NotSerialized) // _Qxx: EC Query
5575 {
5576 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x01))
5577 {
5578 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1001)
5579 }
5580 }
5581
5582 Method (_Q11, 0, NotSerialized) // _Qxx: EC Query
5583 {
5584 Noop
5585 }
5586
5587 Method (_Q12, 0, NotSerialized) // _Qxx: EC Query
5588 {
5589 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x02))
5590 {
5591 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1002)
5592 }
5593 }
5594
5595 Method (_Q13, 0, NotSerialized) // _Qxx: EC Query
5596 {
5597 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
5598 {
5599 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1004)
5600 }
5601 Else
5602 {
5603 Notify (\_SB.SLPB, 0x80)
5604 }
5605 }
5606
5607 Method (_Q64, 0, NotSerialized) // _Qxx: EC Query
5608 {
5609 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x10))
5610 {
5611 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1005)
5612 }
5613 }
5614
5615 Method (_Q65, 0, NotSerialized) // _Qxx: EC Query
5616 {
5617 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x20))
5618 {
5619 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1006)
5620 }
5621 }
5622
5623 Method (_Q16, 0, NotSerialized) // _Qxx: EC Query
5624 {
5625 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x40))
5626 {
5627 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1007)
5628 }
5629 Else
5630 {
5631 If (LEqual (\VHYB (0x03, 0x00), 0x03))
5632 {
5633 Notify (\_SB.PCI0.VID, 0x80)
5634 Return (Zero)
5635 }
5636
5637 If (VIGD)
5638 {
5639 \_SB.PCI0.VID.VSWT ()
5640 }
5641 Else
5642 {
5643 \_SB.PCI0.PEG.VID.VSWT ()
5644 }
5645 }
5646 }
5647
5648 Method (_Q17, 0, NotSerialized) // _Qxx: EC Query
5649 {
5650 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x80))
5651 {
5652 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1008)
5653 }
5654 Else
5655 {
5656 If (LNot (\WNTF))
5657 {
5658 VEXP ()
5659 }
5660 }
5661 }
5662
5663 Method (_Q18, 0, NotSerialized) // _Qxx: EC Query
5664 {
5665 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x0100))
5666 {
5667 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1009)
5668 }
5669
5670 Noop
5671 }
5672
5673 Method (_Q66, 0, NotSerialized) // _Qxx: EC Query
5674 {
5675 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x0200))
5676 {
5677 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100A)
5678 }
5679 }
5680
5681 Method (_Q1A, 0, NotSerialized) // _Qxx: EC Query
5682 {
5683 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x0400))
5684 {
5685 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100B)
5686 }
5687 }
5688
5689 Method (_Q1B, 0, NotSerialized) // _Qxx: EC Query
5690 {
5691 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100C)
5692 }
5693
5694 Method (_Q62, 0, NotSerialized) // _Qxx: EC Query
5695 {
5696 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x1000))
5697 {
5698 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100D)
5699 }
5700 }
5701
5702 Method (_Q60, 0, NotSerialized) // _Qxx: EC Query
5703 {
5704 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x2000))
5705 {
5706 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100E)
5707 }
5708 }
5709
5710 Method (_Q61, 0, NotSerialized) // _Qxx: EC Query
5711 {
5712 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x4000))
5713 {
5714 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100F)
5715 }
5716 }
5717
5718 Method (_Q1F, 0, NotSerialized) // _Qxx: EC Query
5719 {
5720 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00020000))
5721 {
5722 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1012)
5723 }
5724
5725 \UCMS (0x0E)
5726 }
5727
5728 Method (_Q67, 0, NotSerialized) // _Qxx: EC Query
5729 {
5730 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00040000))
5731 {
5732 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1013)
5733 }
5734 }
5735
5736 Method (_Q1C, 0, NotSerialized) // _Qxx: EC Query
5737 {
5738 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x01000000))
5739 {
5740 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1019)
5741 }
5742 }
5743
5744 Method (_Q1D, 0, NotSerialized) // _Qxx: EC Query
5745 {
5746 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x02000000))
5747 {
5748 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101A)
5749 }
5750 }
5751
5752 Method (_Q26, 0, NotSerialized) // _Qxx: EC Query
5753 {
5754 If (VIGD)
5755 {
5756 If (\WVIS)
5757 {
5758 \VBTD ()
5759 }
5760
5761 \_SB.PCI0.LPC.EC.BRNS ()
5762 }
5763 Else
5764 {
5765 \UCMS (0x12)
5766 }
5767
5768 If (\_SB.PCI0.PEG.VID.ISOP ())
5769 {
5770 Notify (\_SB.PCI0.PEG.VID, 0xDF)
5771 }
5772
5773 Sleep (0x01F4)
5774 Notify (AC, 0x80)
5775 Notify (\_TZ.THM0, 0x80)
5776 If (\WXPF)
5777 {
5778 Acquire (MCPU, 0xFFFF)
5779 }
5780
5781 Store (0x01, PWRS)
5782 If (And (\PPMF, 0x01))
5783 {
5784 If (\OSPX)
5785 {
5786 \PNTF (0x80)
5787 }
5788 }
5789
5790 If (\WXPF)
5791 {
5792 Sleep (0x64)
5793 }
5794
5795 If (\OSC4)
5796 {
5797 \PNTF (0x81)
5798 }
5799
5800 If (\WXPF)
5801 {
5802 Release (MCPU)
5803 }
5804
5805 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6040)
5806 ATMC ()
5807 }
5808
5809 Method (_Q27, 0, NotSerialized) // _Qxx: EC Query
5810 {
5811 If (VIGD)
5812 {
5813 If (\WVIS)
5814 {
5815 \VBTD ()
5816 }
5817
5818 \_SB.PCI0.LPC.EC.BRNS ()
5819 }
5820 Else
5821 {
5822 \UCMS (0x12)
5823 }
5824
5825 If (\_SB.PCI0.PEG.VID.ISOP ())
5826 {
5827 Notify (\_SB.PCI0.PEG.VID, 0xDF)
5828 }
5829
5830 Sleep (0x01F4)
5831 Notify (AC, 0x80)
5832 Notify (\_TZ.THM0, 0x80)
5833 If (\WXPF)
5834 {
5835 Acquire (MCPU, 0xFFFF)
5836 }
5837
5838 Store (0x00, PWRS)
5839 If (And (\PPMF, 0x01))
5840 {
5841 If (\OSPX)
5842 {
5843 \PNTF (0x80)
5844 }
5845 }
5846
5847 If (\WXPF)
5848 {
5849 Sleep (0x64)
5850 }
5851
5852 If (\OSC4)
5853 {
5854 \PNTF (0x81)
5855 }
5856
5857 If (\WXPF)
5858 {
5859 Release (MCPU)
5860 }
5861
5862 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6040)
5863 ATMC ()
5864 }
5865
5866 Method (_Q2A, 0, NotSerialized) // _Qxx: EC Query
5867 {
5868 \VCMS (0x01, \_SB.LID._LID ())
5869 If (LEqual (\ILNF, 0x00))
5870 {
5871 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x5002)
5872 If (LEqual (\PLUX, 0x00))
5873 {
5874 If (VIGD)
5875 {
5876 \_SB.PCI0.VID.GLIS (0x01)
5877 \_SB.PCI0.VID.VLOC (0x01)
5878 }
5879 Else
5880 {
5881 \_SB.PCI0.PEG.VID.VLOC (0x01)
5882 }
5883
5884 Notify (\_SB.LID, 0x80)
5885 }
5886 }
5887 }
5888
5889 Method (_Q2B, 0, NotSerialized) // _Qxx: EC Query
5890 {
5891 \UCMS (0x0D)
5892 \VCMS (0x01, \_SB.LID._LID ())
5893 If (LEqual (\ILNF, 0x00))
5894 {
5895 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x5001)
5896 If (LEqual (\PLUX, 0x00))
5897 {
5898 If (VIGD)
5899 {
5900 \_SB.PCI0.VID.GLIS (0x00)
5901 }
5902 Else
5903 {
5904 \_SB.PCI0.PEG.VID.VLOC (0x00)
5905 }
5906
5907 Notify (\_SB.LID, 0x80)
5908 }
5909 }
5910 }
5911
5912 Method (_Q3D, 0, NotSerialized) // _Qxx: EC Query
5913 {
5914 }
5915
5916 Method (_Q48, 0, NotSerialized) // _Qxx: EC Query
5917 {
5918 If (And (\PPMF, 0x01))
5919 {
5920 If (\OSPX)
5921 {
5922 \PNTF (0x80)
5923 }
5924 Else
5925 {
5926 \STEP (0x04)
5927 }
5928
5929 Store (0x01, \_SB.PCI0.LPC.EC.CALM)
5930 }
5931 }
5932
5933 Method (_Q49, 0, NotSerialized) // _Qxx: EC Query
5934 {
5935 If (And (\PPMF, 0x01))
5936 {
5937 If (\OSPX)
5938 {
5939 \PNTF (0x80)
5940 }
5941 Else
5942 {
5943 \STEP (0x05)
5944 }
5945 }
5946 }
5947
5948 Method (_Q7F, 0, NotSerialized) // _Qxx: EC Query
5949 {
5950 Fatal (0x01, 0x80010000, 0x02AB)
5951 }
5952
5953 Method (_Q4E, 0, NotSerialized) // _Qxx: EC Query
5954 {
5955 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6011)
5956 }
5957
5958 Method (_Q4F, 0, NotSerialized) // _Qxx: EC Query
5959 {
5960 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6012)
5961 }
5962
5963 Method (_Q46, 0, NotSerialized) // _Qxx: EC Query
5964 {
5965 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6012)
5966 }
5967
5968 Method (_Q22, 0, NotSerialized) // _Qxx: EC Query
5969 {
5970 CLPM ()
5971 If (HB0A)
5972 {
5973 Notify (BAT0, 0x80)
5974 }
5975
5976 If (HB1A)
5977 {
5978 Notify (BAT1, 0x80)
5979 }
5980 }
5981
5982 Method (_Q4A, 0, NotSerialized) // _Qxx: EC Query
5983 {
5984 CLPM ()
5985 Notify (BAT0, 0x81)
5986 }
5987
5988 Method (_Q4B, 0, NotSerialized) // _Qxx: EC Query
5989 {
5990 Notify (BAT0, 0x80)
5991 }
5992
5993 Method (_Q4C, 0, NotSerialized) // _Qxx: EC Query
5994 {
5995 CLPM ()
5996 If (HB1A)
5997 {
5998 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4010)
5999 }
6000 Else
6001 {
6002 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4011)
6003 If (^BAT1.XB1S)
6004 {
6005 Notify (\_SB.PCI0.LPC.EC.BAT1, 0x03)
6006 }
6007 }
6008 }
6009
6010 Method (_Q4D, 0, NotSerialized) // _Qxx: EC Query
6011 {
6012 If (LEqual (^BAT1.SBLI, 0x01))
6013 {
6014 Sleep (0x0A)
6015 If (LAnd (HB1A, LEqual (SLUL, 0x00)))
6016 {
6017 Store (0x01, ^BAT1.XB1S)
6018 Notify (\_SB.PCI0.LPC.EC.BAT1, 0x01)
6019 }
6020 }
6021 Else
6022 {
6023 If (LEqual (SLUL, 0x01))
6024 {
6025 Store (0x00, ^BAT1.XB1S)
6026 Notify (\_SB.PCI0.LPC.EC.BAT1, 0x03)
6027 }
6028 }
6029
6030 If (And (^BAT1.B1ST, ^BAT1.XB1S))
6031 {
6032 Notify (BAT1, 0x80)
6033 }
6034 }
6035
6036 Method (_Q24, 0, NotSerialized) // _Qxx: EC Query
6037 {
6038 CLPM ()
6039 Notify (BAT0, 0x80)
6040 }
6041
6042 Method (_Q25, 0, NotSerialized) // _Qxx: EC Query
6043 {
6044 If (And (^BAT1.B1ST, ^BAT1.XB1S))
6045 {
6046 CLPM ()
6047 Notify (BAT1, 0x80)
6048 }
6049 }
6050
6051 Method (BATW, 1, NotSerialized)
6052 {
6053 Store (\_SB.PCI0.LPC.EC.BAT1.XB1S, Local0)
6054 If (LAnd (HB1A, LNot (SLUL)))
6055 {
6056 Store (0x01, Local1)
6057 }
6058 Else
6059 {
6060 Store (0x00, Local1)
6061 }
6062
6063 If (XOr (Local0, Local1))
6064 {
6065 Store (Local1, \_SB.PCI0.LPC.EC.BAT1.XB1S)
6066 Notify (\_SB.PCI0.LPC.EC.BAT1, 0x01)
6067 }
6068 }
6069
6070 Field (ECOR, ByteAcc, NoLock, Preserve)
6071 {
6072 Offset (0xA0),
6073 SBRC, 16,
6074 SBFC, 16,
6075 SBAE, 16,
6076 SBRS, 16,
6077 SBAC, 16,
6078 SBVO, 16,
6079 SBAF, 16,
6080 SBBS, 16
6081 }
6082
6083 Field (ECOR, ByteAcc, NoLock, Preserve)
6084 {
6085 Offset (0xA0),
6086 SBBM, 16,
6087 SBMD, 16,
6088 SBCC, 16
6089 }
6090
6091 Field (ECOR, ByteAcc, NoLock, Preserve)
6092 {
6093 Offset (0xA0),
6094 SBDC, 16,
6095 SBDV, 16,
6096 SBOM, 16,
6097 SBSI, 16,
6098 SBDT, 16,
6099 SBSN, 16
6100 }
6101
6102 Field (ECOR, ByteAcc, NoLock, Preserve)
6103 {
6104 Offset (0xA0),
6105 SBCH, 32
6106 }
6107
6108 Field (ECOR, ByteAcc, NoLock, Preserve)
6109 {
6110 Offset (0xA0),
6111 SBMN, 128
6112 }
6113
6114 Field (ECOR, ByteAcc, NoLock, Preserve)
6115 {
6116 Offset (0xA0),
6117 SBDN, 128
6118 }
6119
6120 Mutex (BATM, 0x07)
6121 Method (GBIF, 3, NotSerialized)
6122 {
6123 Acquire (BATM, 0xFFFF)
6124 If (Arg2)
6125 {
6126 Or (Arg0, 0x01, HIID)
6127 Store (SBBM, Local7)
6128 ShiftRight (Local7, 0x0F, Local7)
6129 XOr (Local7, 0x01, Index (Arg1, 0x00))
6130 Store (Arg0, HIID)
6131 If (Local7)
6132 {
6133 Multiply (SBFC, 0x0A, Local1)
6134 }
6135 Else
6136 {
6137 Store (SBFC, Local1)
6138 }
6139
6140 Store (Local1, Index (Arg1, 0x02))
6141 Or (Arg0, 0x02, HIID)
6142 If (Local7)
6143 {
6144 Multiply (SBDC, 0x0A, Local0)
6145 }
6146 Else
6147 {
6148 Store (SBDC, Local0)
6149 }
6150
6151 Store (Local0, Index (Arg1, 0x01))
6152 Divide (Local1, 0x14, Local2, Index (Arg1, 0x05))
6153 If (Local7)
6154 {
6155 Store (0xC8, Index (Arg1, 0x06))
6156 }
6157 Else
6158 {
6159 If (SBDV)
6160 {
6161 Divide (0x00030D40, SBDV, Local2, Index (Arg1, 0x06))
6162 }
6163 Else
6164 {
6165 Store (0x00, Index (Arg1, 0x06))
6166 }
6167 }
6168
6169 Store (SBDV, Index (Arg1, 0x04))
6170 Store (SBSN, Local0)
6171 Name (SERN, Buffer (0x06)
6172 {
6173 " "
6174 })
6175 Store (0x04, Local2)
6176 While (Local0)
6177 {
6178 Divide (Local0, 0x0A, Local1, Local0)
6179 Add (Local1, 0x30, Index (SERN, Local2))
6180 Decrement (Local2)
6181 }
6182
6183 Store (SERN, Index (Arg1, 0x0A))
6184 Or (Arg0, 0x06, HIID)
6185 Store (SBDN, Index (Arg1, 0x09))
6186 Or (Arg0, 0x04, HIID)
6187 Name (BTYP, Buffer (0x05)
6188 {
6189 0x00, 0x00, 0x00, 0x00, 0x00
6190 })
6191 Store (SBCH, BTYP)
6192 Store (BTYP, Index (Arg1, 0x0B))
6193 Or (Arg0, 0x05, HIID)
6194 Store (SBMN, Index (Arg1, 0x0C))
6195 }
6196 Else
6197 {
6198 Store (0xFFFFFFFF, Index (Arg1, 0x01))
6199 Store (0x00, Index (Arg1, 0x05))
6200 Store (0x00, Index (Arg1, 0x06))
6201 Store (0xFFFFFFFF, Index (Arg1, 0x02))
6202 }
6203
6204 Release (BATM)
6205 Return (Arg1)
6206 }
6207
6208 Method (GBST, 4, NotSerialized)
6209 {
6210 Acquire (BATM, 0xFFFF)
6211 If (And (Arg1, 0x20))
6212 {
6213 Store (0x02, Local0)
6214 }
6215 Else
6216 {
6217 If (And (Arg1, 0x40))
6218 {
6219 Store (0x01, Local0)
6220 }
6221 Else
6222 {
6223 Store (0x00, Local0)
6224 }
6225 }
6226
6227 If (And (Arg1, 0x07)) {}
6228 Else
6229 {
6230 Or (Local0, 0x04, Local0)
6231 }
6232
6233 If (LEqual (And (Arg1, 0x07), 0x07))
6234 {
6235 Store (0x04, Local0)
6236 Store (0x00, Local1)
6237 Store (0x00, Local2)
6238 Store (0x00, Local3)
6239 }
6240 Else
6241 {
6242 Store (Arg0, HIID)
6243 Store (SBVO, Local3)
6244 If (Arg2)
6245 {
6246 Multiply (SBRC, 0x0A, Local2)
6247 }
6248 Else
6249 {
6250 Store (SBRC, Local2)
6251 }
6252
6253 Store (SBAC, Local1)
6254 If (LGreaterEqual (Local1, 0x8000))
6255 {
6256 If (And (Local0, 0x01))
6257 {
6258 Subtract (0x00010000, Local1, Local1)
6259 }
6260 Else
6261 {
6262 Store (0x00, Local1)
6263 }
6264 }
6265 Else
6266 {
6267 If (LNot (And (Local0, 0x02)))
6268 {
6269 Store (0x00, Local1)
6270 }
6271 }
6272
6273 If (Arg2)
6274 {
6275 Multiply (Local3, Local1, Local1)
6276 Divide (Local1, 0x03E8, Local7, Local1)
6277 }
6278 }
6279
6280 Store (Local0, Index (Arg3, 0x00))
6281 Store (Local1, Index (Arg3, 0x01))
6282 Store (Local2, Index (Arg3, 0x02))
6283 Store (Local3, Index (Arg3, 0x03))
6284 Release (BATM)
6285 Return (Arg3)
6286 }
6287
6288 Device (BAT0)
6289 {
6290 Name (_HID, EisaId ("PNP0C0A")) // _HID: Hardware ID
6291 Name (_UID, 0x00) // _UID: Unique ID
6292 Name (_PCL, Package (0x01) // _PCL: Power Consumer List
6293 {
6294 \_SB
6295 })
6296 Name (B0ST, 0x00)
6297 Name (BT0I, Package (0x0D)
6298 {
6299 0x00,
6300 0xFFFFFFFF,
6301 0xFFFFFFFF,
6302 0x01,
6303 0x2A30,
6304 0x00,
6305 0x00,
6306 0x01,
6307 0x01,
6308 "",
6309 "",
6310 "",
6311 ""
6312 })
6313 Name (BT0P, Package (0x04) {})
6314 Method (_STA, 0, NotSerialized) // _STA: Status
6315 {
6316 If (\H8DR)
6317 {
6318 Store (HB0A, B0ST)
6319 }
6320 Else
6321 {
6322 If (And (\RBEC (0x38), 0x80))
6323 {
6324 Store (0x01, B0ST)
6325 }
6326 Else
6327 {
6328 Store (0x00, B0ST)
6329 }
6330 }
6331
6332 If (B0ST)
6333 {
6334 Return (0x1F)
6335 }
6336 Else
6337 {
6338 Return (0x0F)
6339 }
6340 }
6341
6342 Method (_BIF, 0, NotSerialized) // _BIF: Battery Information
6343 {
6344 Store (0x00, Local7)
6345 Store (0x0A, Local6)
6346 While (LAnd (LNot (Local7), Local6))
6347 {
6348 If (HB0A)
6349 {
6350 If (LEqual (And (HB0S, 0x07), 0x07))
6351 {
6352 Sleep (0x03E8)
6353 Decrement (Local6)
6354 }
6355 Else
6356 {
6357 Store (0x01, Local7)
6358 }
6359 }
6360 Else
6361 {
6362 Store (0x00, Local6)
6363 }
6364 }
6365
6366 Return (GBIF (0x00, BT0I, Local7))
6367 }
6368
6369 Method (_BST, 0, NotSerialized) // _BST: Battery Status
6370 {
6371 XOr (DerefOf (Index (BT0I, 0x00)), 0x01, Local0)
6372 Return (GBST (0x00, HB0S, Local0, BT0P))
6373 }
6374
6375 Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point
6376 {
6377 And (HAM4, 0xEF, HAM4)
6378 If (Arg0)
6379 {
6380 Store (Arg0, Local1)
6381 If (LNot (DerefOf (Index (BT0I, 0x00))))
6382 {
6383 Divide (Local1, 0x0A, Local0, Local1)
6384 }
6385
6386 And (Local1, 0xFF, HT0L)
6387 And (ShiftRight (Local1, 0x08), 0xFF, HT0H)
6388 Or (HAM4, 0x10, HAM4)
6389 }
6390 }
6391 }
6392
6393 Device (BAT1)
6394 {
6395 Name (_HID, EisaId ("PNP0C0A")) // _HID: Hardware ID
6396 Name (_UID, 0x01) // _UID: Unique ID
6397 Name (_PCL, Package (0x01) // _PCL: Power Consumer List
6398 {
6399 \_SB
6400 })
6401 Name (B1ST, 0x00)
6402 Name (SBLI, 0x01)
6403 Name (XB1S, 0x00)
6404 Name (BT1I, Package (0x0D)
6405 {
6406 0x00,
6407 0xFFFFFFFF,
6408 0xFFFFFFFF,
6409 0x01,
6410 0x2A30,
6411 0x00,
6412 0x00,
6413 0x01,
6414 0x01,
6415 "",
6416 "",
6417 "",
6418 ""
6419 })
6420 Name (BT1P, Package (0x04) {})
6421 Method (_STA, 0, NotSerialized) // _STA: Status
6422 {
6423 If (\H8DR)
6424 {
6425 If (HB1A)
6426 {
6427 Store (0x01, B1ST)
6428 If (SLUL)
6429 {
6430 Store (0x01, SBLI)
6431 Store (0x00, XB1S)
6432 }
6433 Else
6434 {
6435 Store (0x00, SBLI)
6436 Store (0x01, XB1S)
6437 }
6438 }
6439 Else
6440 {
6441 Store (0x00, B1ST)
6442 Store (0x01, SBLI)
6443 Store (0x00, XB1S)
6444 }
6445 }
6446 Else
6447 {
6448 If (And (\RBEC (0x39), 0x80))
6449 {
6450 Store (0x01, B1ST)
6451 If (And (\RBEC (0x49), 0x01))
6452 {
6453 Store (0x01, SBLI)
6454 Store (0x00, XB1S)
6455 }
6456 Else
6457 {
6458 Store (0x00, SBLI)
6459 Store (0x01, XB1S)
6460 }
6461 }
6462 Else
6463 {
6464 Store (0x00, B1ST)
6465 Store (0x01, SBLI)
6466 Store (0x00, XB1S)
6467 }
6468 }
6469
6470 If (B1ST)
6471 {
6472 If (XB1S)
6473 {
6474 Return (0x1F)
6475 }
6476 Else
6477 {
6478 If (\WNTF)
6479 {
6480 Return (0x00)
6481 }
6482 Else
6483 {
6484 Return (0x1F)
6485 }
6486 }
6487 }
6488 Else
6489 {
6490 If (\WNTF)
6491 {
6492 Return (0x00)
6493 }
6494 Else
6495 {
6496 Return (0x0F)
6497 }
6498 }
6499 }
6500
6501 Method (_BIF, 0, NotSerialized) // _BIF: Battery Information
6502 {
6503 Store (0x00, Local7)
6504 Store (0x0A, Local6)
6505 While (LAnd (LNot (Local7), Local6))
6506 {
6507 If (HB1A)
6508 {
6509 If (LEqual (And (HB1S, 0x07), 0x07))
6510 {
6511 Sleep (0x03E8)
6512 Decrement (Local6)
6513 }
6514 Else
6515 {
6516 Store (0x01, Local7)
6517 }
6518 }
6519 Else
6520 {
6521 Store (0x00, Local6)
6522 }
6523 }
6524
6525 Return (GBIF (0x10, BT1I, Local7))
6526 }
6527
6528 Method (_BST, 0, NotSerialized) // _BST: Battery Status
6529 {
6530 XOr (DerefOf (Index (BT1I, 0x00)), 0x01, Local0)
6531 Return (GBST (0x10, HB1S, Local0, BT1P))
6532 }
6533
6534 Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point
6535 {
6536 And (HAM4, 0xDF, HAM4)
6537 If (Arg0)
6538 {
6539 Store (Arg0, Local1)
6540 If (LNot (DerefOf (Index (BT1I, 0x00))))
6541 {
6542 Divide (Local1, 0x0A, Local0, Local1)
6543 }
6544
6545 And (Local1, 0xFF, HT1L)
6546 And (ShiftRight (Local1, 0x08), 0xFF, HT1H)
6547 Or (HAM4, 0x20, HAM4)
6548 }
6549 }
6550
6551 Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
6552 {
6553 If (Arg0)
6554 {
6555 Store (0x00, B1ST)
6556 Store (0x01, SBLI)
6557 Store (0x00, XB1S)
6558 }
6559 }
6560 }
6561
6562 Device (AC)
6563 {
6564 Name (_HID, "ACPI0003") // _HID: Hardware ID
6565 Name (_UID, 0x00) // _UID: Unique ID
6566 Name (_PCL, Package (0x01) // _PCL: Power Consumer List
6567 {
6568 \_SB
6569 })
6570 Method (_PSR, 0, NotSerialized) // _PSR: Power Source
6571 {
6572 If (\H8DR)
6573 {
6574 If (HPAC)
6575 {
6576 If (LLess (HWAT, MIAC))
6577 {
6578 Return (0x00)
6579 }
6580 Else
6581 {
6582 If (DOCD)
6583 {
6584 If (\_SB.PCI0.LPC.EPWG)
6585 {
6586 Return (0x01)
6587 }
6588 Else
6589 {
6590 Return (0x00)
6591 }
6592 }
6593 Else
6594 {
6595 Return (0x01)
6596 }
6597 }
6598 }
6599 Else
6600 {
6601 Return (0x00)
6602 }
6603 }
6604 Else
6605 {
6606 If (And (\RBEC (0x46), 0x10))
6607 {
6608 Return (0x01)
6609 }
6610 Else
6611 {
6612 Return (0x00)
6613 }
6614 }
6615 }
6616
6617 Method (_STA, 0, NotSerialized) // _STA: Status
6618 {
6619 Return (0x0F)
6620 }
6621 }
6622
6623 Device (WGSH)
6624 {
6625 Name (_HID, EisaId ("LEN0078")) // _HID: Hardware ID
6626 Method (_STA, 0, NotSerialized) // _STA: Status
6627 {
6628 If (\WIN8)
6629 {
6630 Return (0x0F)
6631 }
6632 Else
6633 {
6634 Return (0x00)
6635 }
6636 }
6637
6638 Method (WLSW, 0, NotSerialized)
6639 {
6640 Return (\_SB.PCI0.LPC.EC.GSTS)
6641 }
6642 }
6643
6644 Device (HKEY)
6645 {
6646 Name (_HID, EisaId ("LEN0068")) // _HID: Hardware ID
6647 Method (_STA, 0, NotSerialized) // _STA: Status
6648 {
6649 Return (0x0F)
6650 }
6651
6652 Method (MHKV, 0, NotSerialized)
6653 {
6654 Return (0x0100)
6655 }
6656
6657 Name (DHKC, 0x00)
6658 Name (DHKB, 0x01)
6659 Mutex (XDHK, 0x07)
6660 Name (DHKH, 0x00)
6661 Name (DHKW, 0x00)
6662 Name (DHKS, 0x00)
6663 Name (DHKD, 0x00)
6664 Name (DHKN, 0x0808)
6665 Name (DHKT, 0x00)
6666 Name (DHWW, 0x00)
6667 Method (MHKA, 0, NotSerialized)
6668 {
6669 Return (0x07FFFFFB)
6670 }
6671
6672 Method (MHKN, 0, NotSerialized)
6673 {
6674 Return (DHKN)
6675 }
6676
6677 Method (MHKK, 1, NotSerialized)
6678 {
6679 If (DHKC)
6680 {
6681 Return (And (DHKN, Arg0))
6682 }
6683 Else
6684 {
6685 Return (Zero)
6686 }
6687 }
6688
6689 Method (MHKM, 2, NotSerialized)
6690 {
6691 Acquire (XDHK, 0xFFFF)
6692 If (LGreater (Arg0, 0x20))
6693 {
6694 Noop
6695 }
6696 Else
6697 {
6698 ShiftLeft (One, Decrement (Arg0), Local0)
6699 If (And (Local0, 0x07FFFFFB))
6700 {
6701 If (Arg1)
6702 {
6703 Or (Local0, DHKN, DHKN)
6704 }
6705 Else
6706 {
6707 And (DHKN, XOr (Local0, 0xFFFFFFFF), DHKN)
6708 }
6709 }
6710 Else
6711 {
6712 Noop
6713 }
6714 }
6715
6716 Release (XDHK)
6717 }
6718
6719 Method (MHKS, 0, NotSerialized)
6720 {
6721 Notify (\_SB.SLPB, 0x80)
6722 }
6723
6724 Method (MHKC, 1, NotSerialized)
6725 {
6726 Store (Arg0, DHKC)
6727 }
6728
6729 Method (MHKP, 0, NotSerialized)
6730 {
6731 Acquire (XDHK, 0xFFFF)
6732 If (DHWW)
6733 {
6734 Store (DHWW, Local1)
6735 Store (Zero, DHWW)
6736 }
6737 Else
6738 {
6739 If (DHKW)
6740 {
6741 Store (DHKW, Local1)
6742 Store (Zero, DHKW)
6743 }
6744 Else
6745 {
6746 If (DHKD)
6747 {
6748 Store (DHKD, Local1)
6749 Store (Zero, DHKD)
6750 }
6751 Else
6752 {
6753 If (DHKS)
6754 {
6755 Store (DHKS, Local1)
6756 Store (Zero, DHKS)
6757 }
6758 Else
6759 {
6760 If (DHKT)
6761 {
6762 Store (DHKT, Local1)
6763 Store (Zero, DHKT)
6764 }
6765 Else
6766 {
6767 Store (DHKH, Local1)
6768 Store (Zero, DHKH)
6769 }
6770 }
6771 }
6772 }
6773 }
6774
6775 Release (XDHK)
6776 Return (Local1)
6777 }
6778
6779 Method (MHKE, 1, NotSerialized)
6780 {
6781 Store (Arg0, DHKB)
6782 Acquire (XDHK, 0xFFFF)
6783 Store (Zero, DHKH)
6784 Store (Zero, DHKW)
6785 Store (Zero, DHKS)
6786 Store (Zero, DHKD)
6787 Store (Zero, DHKT)
6788 Store (Zero, DHWW)
6789 Release (XDHK)
6790 }
6791
6792 Method (MHKQ, 1, NotSerialized)
6793 {
6794 If (DHKB)
6795 {
6796 If (DHKC)
6797 {
6798 Acquire (XDHK, 0xFFFF)
6799 If (LLess (Arg0, 0x1000)) {}
6800 Else
6801 {
6802 If (LLess (Arg0, 0x2000))
6803 {
6804 Store (Arg0, DHKH)
6805 }
6806 Else
6807 {
6808 If (LLess (Arg0, 0x3000))
6809 {
6810 Store (Arg0, DHKW)
6811 }
6812 Else
6813 {
6814 If (LLess (Arg0, 0x4000))
6815 {
6816 Store (Arg0, DHKS)
6817 }
6818 Else
6819 {
6820 If (LLess (Arg0, 0x5000))
6821 {
6822 Store (Arg0, DHKD)
6823 }
6824 Else
6825 {
6826 If (LLess (Arg0, 0x6000))
6827 {
6828 Store (Arg0, DHKH)
6829 }
6830 Else
6831 {
6832 If (LLess (Arg0, 0x7000))
6833 {
6834 Store (Arg0, DHKT)
6835 }
6836 Else
6837 {
6838 If (LLess (Arg0, 0x8000))
6839 {
6840 Store (Arg0, DHWW)
6841 }
6842 Else
6843 {
6844 }
6845 }
6846 }
6847 }
6848 }
6849 }
6850 }
6851 }
6852
6853 Release (XDHK)
6854 Notify (HKEY, 0x80)
6855 }
6856 Else
6857 {
6858 If (LEqual (Arg0, 0x1004))
6859 {
6860 Notify (\_SB.SLPB, 0x80)
6861 }
6862 }
6863 }
6864 }
6865
6866 Method (MHKB, 1, NotSerialized)
6867 {
6868 If (LEqual (Arg0, 0x00))
6869 {
6870 \_SB.PCI0.LPC.EC.BEEP (0x11)
6871 Store (0x00, \LIDB)
6872 }
6873 Else
6874 {
6875 If (LEqual (Arg0, 0x01))
6876 {
6877 \_SB.PCI0.LPC.EC.BEEP (0x10)
6878 Store (0x01, \LIDB)
6879 }
6880 Else
6881 {
6882 }
6883 }
6884 }
6885
6886 Method (MHKD, 0, NotSerialized)
6887 {
6888 If (LEqual (\PLUX, 0x00))
6889 {
6890 If (VIGD)
6891 {
6892 \_SB.PCI0.VID.VLOC (0x00)
6893 }
6894 Else
6895 {
6896 \_SB.PCI0.PEG.VID.VLOC (0x00)
6897 }
6898 }
6899 }
6900
6901 Method (MHQC, 1, NotSerialized)
6902 {
6903 If (\WNTF)
6904 {
6905 If (LEqual (Arg0, 0x00))
6906 {
6907 Return (\CWAC)
6908 }
6909 Else
6910 {
6911 If (LEqual (Arg0, 0x01))
6912 {
6913 Return (\CWAP)
6914 }
6915 Else
6916 {
6917 If (LEqual (Arg0, 0x02))
6918 {
6919 Return (\CWAT)
6920 }
6921 Else
6922 {
6923 Noop
6924 }
6925 }
6926 }
6927 }
6928 Else
6929 {
6930 Noop
6931 }
6932
6933 Return (0x00)
6934 }
6935
6936 Method (MHGC, 0, NotSerialized)
6937 {
6938 If (\WNTF)
6939 {
6940 Acquire (XDHK, 0xFFFF)
6941 If (CKC4 (0x00))
6942 {
6943 Store (0x03, Local0)
6944 }
6945 Else
6946 {
6947 Store (0x04, Local0)
6948 }
6949
6950 Release (XDHK)
6951 Return (Local0)
6952 }
6953 Else
6954 {
6955 Noop
6956 }
6957
6958 Return (0x00)
6959 }
6960
6961 Method (MHSC, 1, NotSerialized)
6962 {
6963 If (LAnd (\CWAC, \WNTF))
6964 {
6965 Acquire (XDHK, 0xFFFF)
6966 If (\OSC4)
6967 {
6968 If (LEqual (Arg0, 0x03))
6969 {
6970 If (LNot (\CWAS))
6971 {
6972 \PNTF (0x81)
6973 Store (0x01, \CWAS)
6974 }
6975 }
6976 Else
6977 {
6978 If (LEqual (Arg0, 0x04))
6979 {
6980 If (\CWAS)
6981 {
6982 \PNTF (0x81)
6983 Store (0x00, \CWAS)
6984 }
6985 }
6986 Else
6987 {
6988 Noop
6989 }
6990 }
6991 }
6992
6993 Release (XDHK)
6994 }
6995 Else
6996 {
6997 Noop
6998 }
6999 }
7000
7001 Method (CKC4, 1, NotSerialized)
7002 {
7003 Store (0x00, Local0)
7004 If (\C4WR)
7005 {
7006 If (LNot (\C4AC))
7007 {
7008 Or (Local0, 0x01, Local0)
7009 }
7010 }
7011
7012 If (\C4NA)
7013 {
7014 Or (Local0, 0x02, Local0)
7015 }
7016
7017 If (LAnd (\CWAC, \CWAS))
7018 {
7019 Or (Local0, 0x04, Local0)
7020 }
7021
7022 If (LAnd (\CWUE, \CWUS))
7023 {
7024 Or (Local0, 0x08, Local0)
7025 }
7026
7027 And (Local0, Not (Arg0), Local0)
7028 Return (Local0)
7029 }
7030
7031 Method (MHQE, 0, NotSerialized)
7032 {
7033 Return (\C4WR)
7034 }
7035
7036 Method (MHGE, 0, NotSerialized)
7037 {
7038 If (LAnd (\C4WR, \C4AC))
7039 {
7040 Return (0x04)
7041 }
7042
7043 Return (0x03)
7044 }
7045
7046 Method (MHSE, 1, NotSerialized)
7047 {
7048 If (\C4WR)
7049 {
7050 Store (\C4AC, Local0)
7051 If (LEqual (Arg0, 0x03))
7052 {
7053 Store (0x00, \C4AC)
7054 If (XOr (Local0, \C4AC))
7055 {
7056 If (\OSC4)
7057 {
7058 \PNTF (0x81)
7059 }
7060 }
7061 }
7062 Else
7063 {
7064 If (LEqual (Arg0, 0x04))
7065 {
7066 Store (0x01, \C4AC)
7067 If (XOr (Local0, \C4AC))
7068 {
7069 If (\OSC4)
7070 {
7071 \PNTF (0x81)
7072 }
7073 }
7074 }
7075 }
7076 }
7077 }
7078
7079 Method (UAWO, 1, NotSerialized)
7080 {
7081 Return (\UAWS (Arg0))
7082 }
7083
7084 Method (MLCG, 1, NotSerialized)
7085 {
7086 Store (\KBLS (0x00, 0x00), Local0)
7087 Return (Local0)
7088 }
7089
7090 Method (MLCS, 1, NotSerialized)
7091 {
7092 Store (\KBLS (0x01, Arg0), Local0)
7093 If (LNot (And (Local0, 0x80000000)))
7094 {
7095 If (And (Arg0, 0x00010000))
7096 {
7097 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6001)
7098 }
7099 Else
7100 {
7101 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00020000))
7102 {
7103 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1012)
7104 }
7105 }
7106 }
7107
7108 Return (Local0)
7109 }
7110
7111 Method (DSSG, 1, NotSerialized)
7112 {
7113 Or (0x0400, \PDCI, Local0)
7114 Return (Local0)
7115 }
7116
7117 Method (DSSS, 1, NotSerialized)
7118 {
7119 Or (\PDCI, Arg0, \PDCI)
7120 }
7121
7122 Method (SBSG, 1, NotSerialized)
7123 {
7124 Return (\SYBC (0x00, 0x00))
7125 }
7126
7127 Method (SBSS, 1, NotSerialized)
7128 {
7129 Return (\SYBC (0x01, Arg0))
7130 }
7131
7132 Method (PBLG, 1, NotSerialized)
7133 {
7134 Store (\BRLV, Local0)
7135 Or (Local0, 0x0F00, Local1)
7136 Return (Local1)
7137 }
7138
7139 Method (PBLS, 1, NotSerialized)
7140 {
7141 Store (Arg0, \BRLV)
7142 If (\VIGD)
7143 {
7144 \_SB.PCI0.LPC.EC.BRNS ()
7145 }
7146 Else
7147 {
7148 \VBRC (\BRLV)
7149 }
7150
7151 If (LNot (\NBCF))
7152 {
7153 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6050)
7154 }
7155
7156 Return (0x00)
7157 }
7158
7159 Method (PMSG, 1, NotSerialized)
7160 {
7161 Store (\PRSM (0x00, 0x00), Local0)
7162 If (LNot (\APIN))
7163 {
7164 If (And (Local0, 0x10))
7165 {
7166 Store (0x01, \APMD)
7167 }
7168 Else
7169 {
7170 Store (0x00, \APMD)
7171 }
7172
7173 If (\OSPX)
7174 {
7175 \PNTF (0x80)
7176 }
7177
7178 Store (0x01, \APIN)
7179 }
7180
7181 Return (Local0)
7182 }
7183
7184 Method (PMSS, 1, NotSerialized)
7185 {
7186 \PRSM (0x01, Arg0)
7187 If (LOr (LAnd (LNot (\APMD), And (Arg0, 0x10)), LAnd (
7188 \APMD, LNot (And (Arg0, 0x10)))))
7189 {
7190 If (And (Arg0, 0x10))
7191 {
7192 Store (0x01, \APMD)
7193 }
7194 Else
7195 {
7196 Store (0x00, \APMD)
7197 }
7198
7199 If (\OSPX)
7200 {
7201 \PNTF (0x80)
7202 }
7203 }
7204
7205 Return (0x00)
7206 }
7207
7208 Method (ISSG, 1, NotSerialized)
7209 {
7210 Store (\ISSP, Local0)
7211 Or (Local0, 0x80, Local0)
7212 Or (Local0, And (\ISCG, 0x30), Local0)
7213 Return (Local0)
7214 }
7215
7216 Method (ISSS, 1, NotSerialized)
7217 {
7218 Store (Arg0, \ISCG)
7219 Return (0x00)
7220 }
7221
7222 Method (FFSG, 1, NotSerialized)
7223 {
7224 Return (\IFRS (0x00, 0x00))
7225 }
7226
7227 Method (FFSS, 1, NotSerialized)
7228 {
7229 \IFRS (0x01, Arg0)
7230 Return (0x00)
7231 }
7232 }
7233
7234 Scope (\_SB.PCI0.LPC.EC.HKEY)
7235 {
7236 Name (INDV, 0x00)
7237 Method (MHQI, 0, NotSerialized)
7238 {
7239 If (And (\IPMS, 0x01))
7240 {
7241 Or (INDV, 0x01, INDV)
7242 }
7243
7244 If (And (\IPMS, 0x02))
7245 {
7246 Or (INDV, 0x02, INDV)
7247 }
7248
7249 If (And (\IPMS, 0x04))
7250 {
7251 Or (INDV, 0x0100, INDV)
7252 }
7253
7254 If (And (\IPMS, 0x08))
7255 {
7256 Or (INDV, 0x0200, INDV)
7257 }
7258
7259 If (And (\IPMS, 0x10))
7260 {
7261 Or (INDV, 0x04, INDV)
7262 }
7263
7264 Return (INDV)
7265 }
7266
7267 Method (MHGI, 1, NotSerialized)
7268 {
7269 Name (RETB, Buffer (0x10) {})
7270 CreateByteField (RETB, 0x00, MHGS)
7271 ShiftLeft (0x01, Arg0, Local0)
7272 If (And (INDV, Local0))
7273 {
7274 If (LEqual (Arg0, 0x00))
7275 {
7276 CreateField (RETB, 0x08, 0x78, BRBU)
7277 Store (\IPMB, BRBU)
7278 Store (0x10, MHGS)
7279 }
7280 Else
7281 {
7282 If (LEqual (Arg0, 0x01))
7283 {
7284 CreateField (RETB, 0x08, 0x18, RRBU)
7285 Store (\IPMR, RRBU)
7286 Store (0x04, MHGS)
7287 }
7288 Else
7289 {
7290 If (LEqual (Arg0, 0x08))
7291 {
7292 CreateField (RETB, 0x10, 0x18, ODBU)
7293 CreateByteField (RETB, 0x01, MHGZ)
7294 Store (\IPMO, ODBU)
7295 If (LEqual (^^BDEV, 0x03))
7296 {
7297 If (\H8DR)
7298 {
7299 Store (^^HPBU, Local1)
7300 }
7301 Else
7302 {
7303 And (\RBEC (0x47), 0x01, Local1)
7304 }
7305
7306 If (LNot (Local1))
7307 {
7308 Or (0x04, MHGZ, MHGZ)
7309 }
7310
7311 If (LEqual (^^BSTS, 0x00))
7312 {
7313 Or (0x01, MHGZ, MHGZ)
7314 Or (0x02, MHGZ, MHGZ)
7315 }
7316 }
7317
7318 Store (0x05, MHGS)
7319 }
7320 Else
7321 {
7322 If (LEqual (Arg0, 0x09))
7323 {
7324 CreateField (RETB, 0x10, 0x08, AUBU)
7325 Store (\IPMA, AUBU)
7326 Store (0x01, Index (RETB, 0x01))
7327 Store (0x03, MHGS)
7328 }
7329 Else
7330 {
7331 If (LEqual (Arg0, 0x02))
7332 {
7333 Store (\VDYN (0x00, 0x00), Local1)
7334 And (Local1, 0x0F, Index (RETB, 0x02))
7335 ShiftRight (Local1, 0x04, Local1)
7336 And (Local1, 0x0F, Index (RETB, 0x01))
7337 Store (0x03, MHGS)
7338 }
7339 }
7340 }
7341 }
7342 }
7343 }
7344
7345 Return (RETB)
7346 }
7347
7348 Method (MHSI, 2, NotSerialized)
7349 {
7350 ShiftLeft (0x01, Arg0, Local0)
7351 If (And (INDV, Local0))
7352 {
7353 If (LEqual (Arg0, 0x08))
7354 {
7355 If (Arg1)
7356 {
7357 If (\H8DR)
7358 {
7359 Store (^^HPBU, Local1)
7360 }
7361 Else
7362 {
7363 And (\RBEC (0x47), 0x01, Local1)
7364 }
7365
7366 If (LNot (Local1))
7367 {
7368 Store (^^BGID (0x00), ^^BDEV)
7369 ^^NBIN (Local1)
7370 }
7371 }
7372 }
7373 Else
7374 {
7375 If (LEqual (Arg0, 0x02))
7376 {
7377 \VDYN (0x01, Arg1)
7378 }
7379 }
7380 }
7381 }
7382 }
7383
7384 Scope (\_SB.PCI0.LPC.EC)
7385 {
7386 Method (_Q6A, 0, NotSerialized) // _Qxx: EC Query
7387 {
7388 If (HDMC)
7389 {
7390 Noop
7391 }
7392 Else
7393 {
7394 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x04000000))
7395 {
7396 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101B)
7397 }
7398 }
7399 }
7400 }
7401
7402 Scope (\_SB.PCI0.LPC.EC.HKEY)
7403 {
7404 Method (MMTG, 0, NotSerialized)
7405 {
7406 Store (0x0101, Local0)
7407 If (HDMC)
7408 {
7409 Or (Local0, 0x00010000, Local0)
7410 }
7411
7412 Return (Local0)
7413 }
7414
7415 Method (MMTS, 1, NotSerialized)
7416 {
7417 If (HDMC)
7418 {
7419 Noop
7420 }
7421 Else
7422 {
7423 If (LEqual (Arg0, 0x02))
7424 {
7425 \_SB.PCI0.LPC.EC.LED (0x0E, 0x80)
7426 }
7427 Else
7428 {
7429 If (LEqual (Arg0, 0x03))
7430 {
7431 \_SB.PCI0.LPC.EC.LED (0x0E, 0xC0)
7432 }
7433 Else
7434 {
7435 \_SB.PCI0.LPC.EC.LED (0x0E, 0x00)
7436 }
7437 }
7438 }
7439 }
7440 }
7441
7442 Scope (\_SB.PCI0.LPC.EC.HKEY)
7443 {
7444 Method (PWMC, 0, NotSerialized)
7445 {
7446 Return (0x01)
7447 }
7448
7449 Method (PWMG, 0, NotSerialized)
7450 {
7451 Store (\_SB.PCI0.LPC.EC.PWMH, Local0)
7452 ShiftLeft (Local0, 0x08, Local0)
7453 Or (Local0, \_SB.PCI0.LPC.EC.PWML, Local0)
7454 Return (Local0)
7455 }
7456 }
7457
7458 Scope (\_SB.PCI0.LPC.EC)
7459 {
7460 Method (_Q45, 0, NotSerialized) // _Qxx: EC Query
7461 {
7462 If (DOCD)
7463 {
7464 Sleep (0x64)
7465 If (\_SB.PCI0.LPC.EPWG)
7466 {
7467 Noop
7468 }
7469 Else
7470 {
7471 If (HPAC)
7472 {
7473 _Q27 ()
7474 }
7475 }
7476
7477 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4010)
7478 }
7479 Else
7480 {
7481 Sleep (0x64)
7482 If (HPAC)
7483 {
7484 _Q26 ()
7485 }
7486
7487 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4011)
7488 }
7489 }
7490
7491 Method (DKID, 0, NotSerialized)
7492 {
7493 Store (\_SB.PCI0.LPC.DOI0, Local0)
7494 Store (\_SB.PCI0.LPC.DOI1, Local1)
7495 Store (\_SB.PCI0.LPC.DOI2, Local2)
7496 Or (Local0, ShiftLeft (Local1, 0x01), Local0)
7497 Or (Local0, ShiftLeft (Local2, 0x02), Local0)
7498 Return (Local0)
7499 }
7500 }
7501
7502 Scope (\_SB.PCI0.LPC.EC.HKEY)
7503 {
7504 Method (GDKS, 0, NotSerialized)
7505 {
7506 Store (0x00, Local0)
7507 If (LEqual (\_SB.PCI0.LPC.EC.DOCD, 0x01))
7508 {
7509 Or (Local0, 0x01, Local0)
7510 Store (\_SB.PCI0.LPC.EC.DKID (), Local1)
7511 ShiftLeft (Local1, 0x08, Local1)
7512 Or (Local0, Local1, Local0)
7513 }
7514
7515 If (LEqual (\_SB.PCI0.LPC.EC.HB1A, 0x01))
7516 {
7517 If (LEqual (\_SB.PCI0.LPC.EC.SLUL, 0x01))
7518 {
7519 Or (Local0, 0x04, Local0)
7520 }
7521 }
7522
7523 Return (Local0)
7524 }
7525 }
7526
7527 Scope (\_SB.PCI0.LPC.EC)
7528 {
7529 Method (_Q3F, 0, NotSerialized) // _Qxx: EC Query
7530 {
7531 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6000)
7532 }
7533 }
7534
7535 Scope (\_SB.PCI0.LPC.EC.HKEY)
7536 {
7537 Method (NUMG, 0, NotSerialized)
7538 {
7539 Store (0x00, Local0)
7540 Return (Local0)
7541 }
7542 }
7543 }
7544 }
7545
7546 Device (PEG)
7547 {
7548 Name (_ADR, 0x00010000) // _ADR: Address
7549 Name (_S3D, 0x03) // _S3D: S3 Device State
7550 Name (RID, 0x00)
7551 Name (LART, Package (0x02)
7552 {
7553 Package (0x04)
7554 {
7555 0xFFFF,
7556 0x00,
7557 \_SB.LNKA,
7558 0x00
7559 },
7560
7561 Package (0x04)
7562 {
7563 0xFFFF,
7564 0x01,
7565 \_SB.LNKB,
7566 0x00
7567 }
7568 })
7569 Name (AART, Package (0x02)
7570 {
7571 Package (0x04)
7572 {
7573 0xFFFF,
7574 0x00,
7575 0x00,
7576 0x10
7577 },
7578
7579 Package (0x04)
7580 {
7581 0xFFFF,
7582 0x01,
7583 0x00,
7584 0x11
7585 }
7586 })
7587 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
7588 {
7589 If (\GPIC)
7590 {
7591 Return (AART)
7592 }
7593 Else
7594 {
7595 Return (LART)
7596 }
7597 }
7598
7599 Mutex (MDGS, 0x07)
7600 Name (VDEE, 0x01)
7601 Name (VDDA, Buffer (0x04) {})
7602 CreateBitField (VDDA, 0x00, VUPC)
7603 CreateBitField (VDDA, 0x01, VQDL)
7604 CreateBitField (VDDA, 0x02, VQDC)
7605 CreateBitField (VDDA, 0x03, VQD0)
7606 CreateBitField (VDDA, 0x04, VQD1)
7607 CreateBitField (VDDA, 0x05, VQD2)
7608 CreateBitField (VDDA, 0x06, VQD3)
7609 CreateBitField (VDDA, 0x07, VQD4)
7610 CreateBitField (VDDA, 0x08, VQD5)
7611 CreateBitField (VDDA, 0x09, VSDL)
7612 CreateBitField (VDDA, 0x0A, VSDC)
7613 CreateBitField (VDDA, 0x0B, VSD0)
7614 CreateBitField (VDDA, 0x0C, VSD1)
7615 CreateBitField (VDDA, 0x0D, VSD2)
7616 CreateBitField (VDDA, 0x0E, VSD3)
7617 CreateBitField (VDDA, 0x0F, VSD4)
7618 CreateBitField (VDDA, 0x10, VSD5)
7619 CreateBitField (VDDA, 0x11, MSWT)
7620 CreateBitField (VDDA, 0x12, VWST)
7621 Device (VID)
7622 {
7623 Name (_ADR, 0x00) // _ADR: Address
7624 OperationRegion (VPCG, PCI_Config, 0x00, 0x0100)
7625 Field (VPCG, DWordAcc, NoLock, Preserve)
7626 {
7627 Offset (0x2C),
7628 VSID, 32,
7629 Offset (0x40),
7630 VIDS, 32,
7631 Offset (0x70),
7632 VPWR, 8
7633 }
7634
7635 OperationRegion (GPPB, PCI_Config, 0xB4, 0x14)
7636 Field (GPPB, ByteAcc, NoLock, Preserve)
7637 {
7638 PBCI, 8,
7639 PBNP, 8,
7640 PBLS, 8,
7641 PBCC, 8,
7642 PBCR, 32,
7643 PBDI, 32,
7644 PBDO, 32,
7645 PBMR, 32
7646 }
7647
7648 Name (_S3D, 0x03) // _S3D: S3 Device State
7649 Name (DGOS, 0x00)
7650 Method (_INI, 0, NotSerialized) // _INI: Initialize
7651 {
7652 \VUPS (0x02)
7653 Store (\VCDL, VQDL)
7654 Store (\VCDC, VQDC)
7655 Store (\VCDT, VQD0)
7656 Store (\VCDD, VQD1)
7657 If (ISOP ())
7658 {
7659 \VHYB (0x04, 0x01)
7660 HPDE (0x01)
7661 }
7662 }
7663
7664 Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
7665 {
7666 If (ISOP ())
7667 {
7668 If (DGOS)
7669 {
7670 Store (0x01, \TDNV)
7671 Store (0x01, \APMF)
7672 If (\APMD)
7673 {
7674 If (And (\PPMF, 0x01))
7675 {
7676 If (\OSPX)
7677 {
7678 \PNTF (0x80)
7679 }
7680 }
7681 }
7682
7683 \VHYB (0x02, 0x00)
7684 Sleep (0x64)
7685 \VHYB (0x00, 0x01)
7686 Sleep (0x0A)
7687 \VHYB (0x0A, 0x01)
7688 Sleep (0x64)
7689 \VHYB (0x02, 0x01)
7690 Sleep (0x01)
7691 \VHYB (0x08, 0x01)
7692 Store (0x0A, Local0)
7693 Store (0x32, Local1)
7694 While (Local1)
7695 {
7696 Sleep (Local0)
7697 If (\LCHK (0x01))
7698 {
7699 Break
7700 }
7701
7702 Decrement (Local1)
7703 }
7704
7705 \VHYB (0x0A, 0x00)
7706 \VHYB (0x04, 0x00)
7707 \SWTT (0x01)
7708 Store (Zero, DGOS)
7709 }
7710 Else
7711 {
7712 If (LNotEqual (VSID, 0x21F517AA))
7713 {
7714 \VHYB (0x04, 0x00)
7715 }
7716 }
7717
7718 \VHYB (0x09, \_SB.PCI0.PEG.VID.HDAS)
7719 HPDE (0x00)
7720 }
7721 Else
7722 {
7723 Store (0x21F617AA, VIDS)
7724 }
7725 }
7726
7727 Method (_PS1, 0, NotSerialized) // _PS1: Power State 1
7728 {
7729 Noop
7730 }
7731
7732 Method (_PS2, 0, NotSerialized) // _PS2: Power State 2
7733 {
7734 Noop
7735 }
7736
7737 Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
7738 {
7739 If (ISOP ())
7740 {
7741 If (LEqual (\_SB.PCI0.PEG.VID.OMPR, 0x03))
7742 {
7743 \SWTT (0x00)
7744 \VHYB (0x08, 0x00)
7745 Store (0x0A, Local0)
7746 Store (0x32, Local1)
7747 While (Local1)
7748 {
7749 Sleep (Local0)
7750 If (\LCHK (0x00))
7751 {
7752 Break
7753 }
7754
7755 Decrement (Local1)
7756 }
7757
7758 \VHYB (0x02, 0x00)
7759 Sleep (0x64)
7760 \VHYB (0x00, 0x00)
7761 Store (One, DGOS)
7762 Store (0x02, \_SB.PCI0.PEG.VID.OMPR)
7763 Store (0x00, \TDNV)
7764 Store (0x00, \APMF)
7765 If (\APMD)
7766 {
7767 If (And (\PPMF, 0x01))
7768 {
7769 If (\OSPX)
7770 {
7771 \PNTF (0x80)
7772 }
7773 }
7774 }
7775
7776 HPDE (0x01)
7777 }
7778 }
7779 }
7780
7781 Method (_STA, 0, NotSerialized) // _STA: Status
7782 {
7783 Return (0x0F)
7784 }
7785
7786 Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
7787 {
7788 If (\CMPB (Arg0, Buffer (0x10)
7789 {
7790 /* 0000 */ 0xF8, 0xD8, 0x86, 0xA4, 0xDA, 0x0B, 0x1B, 0x47,
7791 /* 0008 */ 0xA7, 0x2B, 0x60, 0x42, 0xA6, 0xB5, 0xBE, 0xE0
7792 }))
7793 {
7794 Return (NVOP (Arg0, Arg1, Arg2, Arg3))
7795 }
7796
7797 If (\CMPB (Arg0, Buffer (0x10)
7798 {
7799 /* 0000 */ 0x01, 0x2D, 0x13, 0xA3, 0xDA, 0x8C, 0xBA, 0x49,
7800 /* 0008 */ 0xA5, 0x2E, 0xBC, 0x9D, 0x46, 0xDF, 0x6B, 0x81
7801 }))
7802 {
7803 Return (NVPS (Arg0, Arg1, Arg2, Arg3))
7804 }
7805
7806 If (\WIN8)
7807 {
7808 If (\CMPB (Arg0, Buffer (0x10)
7809 {
7810 /* 0000 */ 0x75, 0x0B, 0xA5, 0xD4, 0xC7, 0x65, 0xF7, 0x46,
7811 /* 0008 */ 0xBF, 0xB7, 0x41, 0x51, 0x4C, 0xEA, 0x02, 0x44
7812 }))
7813 {
7814 Return (NBCI (Arg0, Arg1, Arg2, Arg3))
7815 }
7816 }
7817
7818 Return (Buffer (0x04)
7819 {
7820 0x01, 0x00, 0x00, 0x80
7821 })
7822 }
7823
7824 Name (_IRC, 0x00) // _IRC: Inrush Current
7825 OperationRegion (ATRP, SystemMemory, \ATRB, 0x00010000)
7826 Field (ATRP, AnyAcc, Lock, Preserve)
7827 {
7828 IDX0, 262144,
7829 IDX1, 262144
7830 }
7831
7832 Method (_ROM, 2, Serialized) // _ROM: Read-Only Memory
7833 {
7834 If (LGreaterEqual (Arg0, 0x8000))
7835 {
7836 Return (GETB (Subtract (Arg0, 0x8000), Arg1, IDX1))
7837 }
7838
7839 If (LGreater (Add (Arg0, Arg1), 0x8000))
7840 {
7841 Subtract (0x8000, Arg0, Local0)
7842 Subtract (Arg1, Local0, Local1)
7843 Store (GETB (Arg0, Local0, IDX0), Local3)
7844 Store (GETB (0x00, Local1, IDX1), Local4)
7845 Concatenate (Local3, Local4, Local5)
7846 Return (Local5)
7847 }
7848
7849 Return (GETB (Arg0, Arg1, IDX0))
7850 }
7851
7852 Method (GETB, 3, Serialized)
7853 {
7854 Multiply (Arg0, 0x08, Local0)
7855 Multiply (Arg1, 0x08, Local1)
7856 CreateField (Arg2, Local0, Local1, TBF3)
7857 Return (TBF3)
7858 }
7859
7860 Method (HPDE, 1, NotSerialized)
7861 {
7862 If (LEqual (Arg0, 0x00))
7863 {
7864 Store (0x00, \_SB.PCI0.LPC.XHPE)
7865 Store (0x00, \_SB.PCI0.LPC.GR06)
7866 Store (0x00, \_SB.PCI0.LPC.XHPD)
7867 }
7868 Else
7869 {
7870 Store (0x01, \_SB.PCI0.LPC.XHPE)
7871 Store (0x02, \_SB.PCI0.LPC.GR06)
7872 Store (0x00, \_SB.PCI0.LPC.XHPD)
7873 }
7874 }
7875
7876 Method (VSWT, 0, NotSerialized)
7877 {
7878 If (\WVIS)
7879 {
7880 Store (\VEVT (0x07), Local0)
7881 }
7882 Else
7883 {
7884 Store (\VEVT (0x05), Local0)
7885 }
7886
7887 And (0xFF, Local0, Local1)
7888 If (Local1)
7889 {
7890 ASWT (Local1, 0x01)
7891 }
7892 }
7893
7894 Method (VLOC, 1, NotSerialized)
7895 {
7896 If (LEqual (Arg0, \_SB.LID._LID ()))
7897 {
7898 \VSLD (Arg0)
7899 If (LEqual (And (VPWR, 0x03), 0x00))
7900 {
7901 If (Arg0)
7902 {
7903 Store (\VEVT (0x01), Local0)
7904 }
7905 Else
7906 {
7907 Store (\VEVT (0x02), Local0)
7908 }
7909
7910 And (0x0F, Local0, Local1)
7911 If (Local1)
7912 {
7913 ASWT (Local1, 0x00)
7914 }
7915 }
7916 }
7917 }
7918
7919 Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching
7920 {
7921 If (LEqual (Arg0, 0x02))
7922 {
7923 Store (0x14, Local0)
7924 While (Local0)
7925 {
7926 Decrement (Local0)
7927 Acquire (MDGS, 0xFFFF)
7928 If (LEqual (0x00, MSWT))
7929 {
7930 Store (0x01, MSWT)
7931 Store (0x00, Local0)
7932 Store (Arg0, VDEE)
7933 }
7934
7935 Release (MDGS)
7936 Sleep (0xC8)
7937 }
7938 }
7939 Else
7940 {
7941 Acquire (MDGS, 0xFFFF)
7942 If (LEqual (VDEE, 0x02))
7943 {
7944 Store (0x00, MSWT)
7945 }
7946
7947 If (LGreater (Arg0, 0x02))
7948 {
7949 Store (0x01, VDEE)
7950 }
7951 Else
7952 {
7953 Store (Arg0, VDEE)
7954 }
7955
7956 Release (MDGS)
7957 }
7958 }
7959
7960 Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices
7961 {
7962 Return (Package (0x08)
7963 {
7964 0x0100,
7965 0x0114,
7966 0x0111,
7967 0x0115,
7968 0x0112,
7969 0x0116,
7970 0x0113,
7971 0x0110
7972 })
7973 }
7974
7975 Method (ASWT, 2, NotSerialized)
7976 {
7977 If (LEqual (0x01, VDEE))
7978 {
7979 And (0x01, Arg1, Local1)
7980 \VSDS (Arg0, Local1)
7981 }
7982 Else
7983 {
7984 Store (0x14, Local0)
7985 While (Local0)
7986 {
7987 Decrement (Local0)
7988 Acquire (MDGS, 0xFFFF)
7989 If (LEqual (0x00, MSWT))
7990 {
7991 Store (0x00, Local0)
7992 If (And (0x01, Arg1))
7993 {
7994 Store (0x01, VUPC)
7995 }
7996 Else
7997 {
7998 Store (0x00, VUPC)
7999 }
8000
8001 If (And (0x01, Arg0))
8002 {
8003 Store (0x01, VQDL)
8004 }
8005 Else
8006 {
8007 Store (0x00, VQDL)
8008 }
8009
8010 If (And (0x02, Arg0))
8011 {
8012 Store (0x01, VQDC)
8013 }
8014 Else
8015 {
8016 Store (0x00, VQDC)
8017 }
8018
8019 If (And (0x04, Arg0))
8020 {
8021 Store (0x01, VQD0)
8022 }
8023 Else
8024 {
8025 Store (0x00, VQD0)
8026 }
8027
8028 If (And (0x08, Arg0))
8029 {
8030 Store (0x01, VQD1)
8031 }
8032 Else
8033 {
8034 Store (0x00, VQD1)
8035 }
8036
8037 If (And (0x10, Arg0))
8038 {
8039 Store (0x01, VQD2)
8040 }
8041 Else
8042 {
8043 Store (0x00, VQD2)
8044 }
8045
8046 If (And (0x20, Arg0))
8047 {
8048 Store (0x01, VQD3)
8049 }
8050 Else
8051 {
8052 Store (0x00, VQD3)
8053 }
8054
8055 If (And (0x40, Arg0))
8056 {
8057 Store (0x01, VQD4)
8058 }
8059 Else
8060 {
8061 Store (0x00, VQD4)
8062 }
8063
8064 If (And (0x80, Arg0))
8065 {
8066 Store (0x01, VQD5)
8067 }
8068 Else
8069 {
8070 Store (0x00, VQD5)
8071 }
8072 }
8073
8074 Release (MDGS)
8075 Sleep (0xC8)
8076 }
8077
8078 If (And (0x02, Arg1))
8079 {
8080 Notify (VID, 0x81)
8081 }
8082 Else
8083 {
8084 Notify (VID, 0x80)
8085 }
8086 }
8087 }
8088
8089 Method (VDSW, 1, NotSerialized)
8090 {
8091 If (LEqual (VPWR, 0x00))
8092 {
8093 If (Arg0)
8094 {
8095 Store (\VEVT (0x03), Local0)
8096 }
8097 Else
8098 {
8099 Store (\VEVT (0x04), Local0)
8100 }
8101
8102 And (0x0F, Local0, Local1)
8103 If (Local1)
8104 {
8105 ASWT (Local1, 0x00)
8106 }
8107 }
8108 }
8109
8110 Device (LCD0)
8111 {
8112 Method (_ADR, 0, NotSerialized) // _ADR: Address
8113 {
8114 Return (0x0110)
8115 }
8116
8117 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
8118 {
8119 \VUPS (0x00)
8120 If (\VCDL)
8121 {
8122 Return (0x1F)
8123 }
8124 Else
8125 {
8126 Return (0x1D)
8127 }
8128 }
8129
8130 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
8131 {
8132 Return (VQDL)
8133 }
8134
8135 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
8136 {
8137 And (Arg0, 0x01, VSDL)
8138 If (And (Arg0, 0x80000000))
8139 {
8140 If (And (Arg0, 0x40000000))
8141 {
8142 DSWT (0x02)
8143 }
8144 Else
8145 {
8146 DSWT (0x01)
8147 }
8148 }
8149 }
8150
8151 Method (_DDC, 1, NotSerialized) // _DDC: Display Data Current
8152 {
8153 If (ISOP ())
8154 {
8155 Return (0x00)
8156 }
8157
8158 If (LEqual (Arg0, 0x01))
8159 {
8160 Return (\VEDI)
8161 }
8162 Else
8163 {
8164 If (LEqual (Arg0, 0x02))
8165 {
8166 Return (\VEDI)
8167 }
8168 }
8169
8170 Return (0x00)
8171 }
8172 }
8173
8174 Device (CRT0)
8175 {
8176 Method (_ADR, 0, NotSerialized) // _ADR: Address
8177 {
8178 Return (0x0100)
8179 }
8180
8181 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
8182 {
8183 \VUPS (0x01)
8184 If (\VCSS)
8185 {
8186 If (\VCDC)
8187 {
8188 Return (0x1F)
8189 }
8190 Else
8191 {
8192 Return (0x1D)
8193 }
8194 }
8195 Else
8196 {
8197 If (\VCDC)
8198 {
8199 Return (0x0F)
8200 }
8201 Else
8202 {
8203 Return (0x0D)
8204 }
8205 }
8206 }
8207
8208 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
8209 {
8210 Return (VQDC)
8211 }
8212
8213 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
8214 {
8215 And (Arg0, 0x01, VSDC)
8216 If (And (Arg0, 0x80000000))
8217 {
8218 If (And (Arg0, 0x40000000))
8219 {
8220 DSWT (0x02)
8221 }
8222 Else
8223 {
8224 DSWT (0x01)
8225 }
8226 }
8227 }
8228 }
8229
8230 Device (DVI0)
8231 {
8232 Method (_ADR, 0, NotSerialized) // _ADR: Address
8233 {
8234 Return (0x0111)
8235 }
8236
8237 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
8238 {
8239 \VUPS (0x00)
8240 If (\VCDD)
8241 {
8242 Return (0x1F)
8243 }
8244 Else
8245 {
8246 Return (0x1D)
8247 }
8248 }
8249
8250 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
8251 {
8252 Return (VQD1)
8253 }
8254
8255 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
8256 {
8257 And (Arg0, 0x01, VSD1)
8258 If (And (Arg0, 0x80000000))
8259 {
8260 If (And (Arg0, 0x40000000))
8261 {
8262 DSWT (0x02)
8263 }
8264 Else
8265 {
8266 DSWT (0x01)
8267 }
8268 }
8269 }
8270 }
8271
8272 Device (DP0)
8273 {
8274 Method (_ADR, 0, NotSerialized) // _ADR: Address
8275 {
8276 Return (0x0114)
8277 }
8278
8279 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
8280 {
8281 \VUPS (0x00)
8282 If (\VCDT)
8283 {
8284 Return (0x1F)
8285 }
8286 Else
8287 {
8288 Return (0x1D)
8289 }
8290 }
8291
8292 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
8293 {
8294 Return (VQD0)
8295 }
8296
8297 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
8298 {
8299 And (Arg0, 0x01, VSD0)
8300 If (And (Arg0, 0x80000000))
8301 {
8302 If (And (Arg0, 0x40000000))
8303 {
8304 DSWT (0x02)
8305 }
8306 Else
8307 {
8308 DSWT (0x01)
8309 }
8310 }
8311 }
8312 }
8313
8314 Device (DVI1)
8315 {
8316 Method (_ADR, 0, NotSerialized) // _ADR: Address
8317 {
8318 Return (0x0112)
8319 }
8320
8321 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
8322 {
8323 \VUPS (0x00)
8324 If (\VCDD)
8325 {
8326 Return (0x1F)
8327 }
8328 Else
8329 {
8330 Return (0x1D)
8331 }
8332 }
8333
8334 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
8335 {
8336 Return (VQD3)
8337 }
8338
8339 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
8340 {
8341 And (Arg0, 0x01, VSD3)
8342 If (And (Arg0, 0x80000000))
8343 {
8344 If (And (Arg0, 0x40000000))
8345 {
8346 DSWT (0x02)
8347 }
8348 Else
8349 {
8350 DSWT (0x01)
8351 }
8352 }
8353 }
8354 }
8355
8356 Device (DP1)
8357 {
8358 Method (_ADR, 0, NotSerialized) // _ADR: Address
8359 {
8360 Return (0x0115)
8361 }
8362
8363 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
8364 {
8365 \VUPS (0x00)
8366 If (\VCDT)
8367 {
8368 Return (0x1F)
8369 }
8370 Else
8371 {
8372 Return (0x1D)
8373 }
8374 }
8375
8376 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
8377 {
8378 Return (VQD2)
8379 }
8380
8381 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
8382 {
8383 And (Arg0, 0x01, VSD2)
8384 If (And (Arg0, 0x80000000))
8385 {
8386 If (And (Arg0, 0x40000000))
8387 {
8388 DSWT (0x02)
8389 }
8390 Else
8391 {
8392 DSWT (0x01)
8393 }
8394 }
8395 }
8396 }
8397
8398 Device (DVI2)
8399 {
8400 Method (_ADR, 0, NotSerialized) // _ADR: Address
8401 {
8402 Return (0x0113)
8403 }
8404
8405 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
8406 {
8407 \VUPS (0x00)
8408 If (\VCDD)
8409 {
8410 Return (0x1F)
8411 }
8412 Else
8413 {
8414 Return (0x1D)
8415 }
8416 }
8417
8418 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
8419 {
8420 Return (VQD5)
8421 }
8422
8423 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
8424 {
8425 And (Arg0, 0x01, VSD5)
8426 If (And (Arg0, 0x80000000))
8427 {
8428 If (And (Arg0, 0x40000000))
8429 {
8430 DSWT (0x02)
8431 }
8432 Else
8433 {
8434 DSWT (0x01)
8435 }
8436 }
8437 }
8438 }
8439
8440 Device (DP2)
8441 {
8442 Method (_ADR, 0, NotSerialized) // _ADR: Address
8443 {
8444 Return (0x0116)
8445 }
8446
8447 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
8448 {
8449 \VUPS (0x00)
8450 If (\VCDT)
8451 {
8452 Return (0x1F)
8453 }
8454 Else
8455 {
8456 Return (0x1D)
8457 }
8458 }
8459
8460 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
8461 {
8462 Return (VQD4)
8463 }
8464
8465 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
8466 {
8467 And (Arg0, 0x01, VSD4)
8468 If (And (Arg0, 0x80000000))
8469 {
8470 If (And (Arg0, 0x40000000))
8471 {
8472 DSWT (0x02)
8473 }
8474 Else
8475 {
8476 DSWT (0x01)
8477 }
8478 }
8479 }
8480 }
8481
8482 Method (DSWT, 1, NotSerialized)
8483 {
8484 If (VSDL)
8485 {
8486 Store (0x01, Local0)
8487 }
8488 Else
8489 {
8490 Store (0x00, Local0)
8491 }
8492
8493 If (VSDC)
8494 {
8495 Or (0x02, Local0, Local0)
8496 }
8497
8498 If (VSD0)
8499 {
8500 Or (0x08, Local0, Local0)
8501 }
8502
8503 If (Local0)
8504 {
8505 If (VUPC)
8506 {
8507 \VSDS (Local0, Arg0)
8508 }
8509 }
8510 Else
8511 {
8512 Noop
8513 }
8514 }
8515 }
8516
8517 Scope (\_SB.PCI0.PEG.VID)
8518 {
8519 Method (NBCI, 4, NotSerialized)
8520 {
8521 Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
8522 Store ("------- NBCI DSM --------", Debug)
8523 Store (ToInteger (Arg2), _T_0)
8524 If (LEqual (_T_0, 0x00))
8525 {
8526 Store (Buffer (0x04)
8527 {
8528 0x00, 0x00, 0x00, 0x00
8529 }, Local0)
8530 Divide (0x00, 0x08, Local2, Local1)
8531 ShiftLeft (0x01, Local2, Local2)
8532 Or (DerefOf (Index (Local0, Local1)), Local2, Index (Local0, Local1
8533 ))
8534 Divide (0x14, 0x08, Local2, Local1)
8535 ShiftLeft (0x01, Local2, Local2)
8536 Or (DerefOf (Index (Local0, Local1)), Local2, Index (Local0, Local1
8537 ))
8538 Return (Local0)
8539 }
8540 Else
8541 {
8542 If (LEqual (_T_0, 0x14))
8543 {
8544 Store (Package (0x07)
8545 {
8546 0x0110,
8547 0x0200,
8548 0x00,
8549 0x00,
8550 0x05,
8551 0x01,
8552 Package (0x04)
8553 {
8554 0xDC,
8555 0x00,
8556 0x03E8,
8557 Package (0x03)
8558 {
8559 0x65,
8560 Package (0x65)
8561 {
8562 0x00,
8563 0x0A,
8564 0x14,
8565 0x1E,
8566 0x28,
8567 0x32,
8568 0x3C,
8569 0x46,
8570 0x50,
8571 0x5A,
8572 0x64,
8573 0x6E,
8574 0x78,
8575 0x82,
8576 0x8C,
8577 0x96,
8578 0xA0,
8579 0xAA,
8580 0xB4,
8581 0xBE,
8582 0xC8,
8583 0xD2,
8584 0xDC,
8585 0xE6,
8586 0xF0,
8587 0xFA,
8588 0x0104,
8589 0x010E,
8590 0x0118,
8591 0x0122,
8592 0x012C,
8593 0x0136,
8594 0x0140,
8595 0x014A,
8596 0x0154,
8597 0x015E,
8598 0x0168,
8599 0x0172,
8600 0x017C,
8601 0x0186,
8602 0x0190,
8603 0x019A,
8604 0x01A4,
8605 0x01AE,
8606 0x01B8,
8607 0x01C2,
8608 0x01CC,
8609 0x01D6,
8610 0x01E0,
8611 0x01EA,
8612 0x01F4,
8613 0x01FE,
8614 0x0208,
8615 0x0212,
8616 0x021C,
8617 0x0226,
8618 0x0230,
8619 0x023A,
8620 0x0244,
8621 0x024E,
8622 0x0258,
8623 0x0262,
8624 0x026C,
8625 0x0276,
8626 0x0280,
8627 0x028A,
8628 0x0294,
8629 0x029E,
8630 0x02A8,
8631 0x02B2,
8632 0x02BC,
8633 0x02C6,
8634 0x02D0,
8635 0x02DA,
8636 0x02E4,
8637 0x02EE,
8638 0x02F8,
8639 0x0302,
8640 0x030C,
8641 0x0316,
8642 0x0320,
8643 0x032A,
8644 0x0334,
8645 0x033E,
8646 0x0348,
8647 0x0352,
8648 0x035C,
8649 0x0366,
8650 0x0370,
8651 0x037A,
8652 0x0384,
8653 0x038E,
8654 0x0398,
8655 0x03A2,
8656 0x03AC,
8657 0x03B6,
8658 0x03C0,
8659 0x03CA,
8660 0x03D4,
8661 0x03DE,
8662 0x03E8
8663 },
8664
8665 Package (0x65)
8666 {
8667 0x00,
8668 0x0A,
8669 0x14,
8670 0x1E,
8671 0x28,
8672 0x32,
8673 0x3C,
8674 0x46,
8675 0x50,
8676 0x5A,
8677 0x64,
8678 0x6E,
8679 0x78,
8680 0x82,
8681 0x8C,
8682 0x96,
8683 0xA0,
8684 0xAA,
8685 0xB4,
8686 0xBE,
8687 0xC8,
8688 0xD2,
8689 0xDC,
8690 0xE6,
8691 0xF0,
8692 0xFA,
8693 0x0104,
8694 0x010E,
8695 0x0118,
8696 0x0122,
8697 0x012C,
8698 0x0136,
8699 0x0140,
8700 0x014A,
8701 0x0154,
8702 0x015E,
8703 0x0168,
8704 0x0172,
8705 0x017C,
8706 0x0186,
8707 0x0190,
8708 0x019A,
8709 0x01A4,
8710 0x01AE,
8711 0x01B8,
8712 0x01C2,
8713 0x01CC,
8714 0x01D6,
8715 0x01E0,
8716 0x01EA,
8717 0x01F4,
8718 0x01FE,
8719 0x0208,
8720 0x0212,
8721 0x021C,
8722 0x0226,
8723 0x0230,
8724 0x023A,
8725 0x0244,
8726 0x024E,
8727 0x0258,
8728 0x0262,
8729 0x026C,
8730 0x0276,
8731 0x0280,
8732 0x028A,
8733 0x0294,
8734 0x029E,
8735 0x02A8,
8736 0x02B2,
8737 0x02BC,
8738 0x02C6,
8739 0x02D0,
8740 0x02DA,
8741 0x02E4,
8742 0x02EE,
8743 0x02F8,
8744 0x0302,
8745 0x030C,
8746 0x0316,
8747 0x0320,
8748 0x032A,
8749 0x0334,
8750 0x033E,
8751 0x0348,
8752 0x0352,
8753 0x035C,
8754 0x0366,
8755 0x0370,
8756 0x037A,
8757 0x0384,
8758 0x038E,
8759 0x0398,
8760 0x03A2,
8761 0x03AC,
8762 0x03B6,
8763 0x03C0,
8764 0x03CA,
8765 0x03D4,
8766 0x03DE,
8767 0x03E8
8768 }
8769 }
8770 }
8771 }, Local0)
8772 Store (0x00, Local1)
8773 While (LLessEqual (Local1, 0x64))
8774 {
8775 Store (DerefOf (Index (DerefOf (Index (\_SB.PCI0.LPC.EC.BRTD, \BRTN)), Local1)),
8776 Local2)
8777 Multiply (Local2, 0x03E8, Local2)
8778 Divide (Local2, 0xFF, Local2, Local3)
8779 Store (Local3, Index (DerefOf (Index (DerefOf (Index (DerefOf (Index (Local0,
8780 0x06)), 0x03)), 0x01)), Local1))
8781 Increment (Local1)
8782 }
8783
8784 Return (Local0)
8785 }
8786 }
8787
8788 Return (0x80000002)
8789 }
8790
8791 Method (NVSB, 1, NotSerialized)
8792 {
8793 Name (CNT, 0x00)
8794 If (LEqual (PBCC, 0x01))
8795 {
8796 If (LEqual (PBMR, 0x00))
8797 {
8798 Store (0x02, PBMR)
8799 If (LEqual (PBMR, 0x02))
8800 {
8801 While (LAnd (LAnd (PBCC, 0xFF), LLess (CNT, 0x0A)))
8802 {
8803 Increment (CNT)
8804 Sleep (0x01)
8805 }
8806
8807 If (LEqual (And (PBCR, 0x02), 0x00))
8808 {
8809 Multiply (Arg0, 0x03E8, Local0)
8810 Divide (Local0, 0xFF, Local1, Local2)
8811 ShiftLeft (Local2, 0x08, Local2)
8812 Store (Local2, PBDI)
8813 Store (0x86100000, PBCR)
8814 }
8815
8816 Store (0x00, PBMR)
8817 Return (0x01)
8818 }
8819 }
8820 }
8821
8822 Return (0x00)
8823 }
8824 }
8825
8826 OperationRegion (PEGC, PCI_Config, 0x00, 0x0100)
8827 Field (PEGC, DWordAcc, NoLock, Preserve)
8828 {
8829 Offset (0xEC),
8830 GMGP, 1,
8831 HPGP, 1,
8832 PMGP, 1
8833 }
8834 }
8835
8836 Device (IGBE)
8837 {
8838 Name (_ADR, 0x00190000) // _ADR: Address
8839 Name (_S3D, 0x03) // _S3D: S3 Device State
8840 Name (RID, 0x00)
8841 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
8842 {
8843 0x0D,
8844 0x04
8845 })
8846 }
8847
8848 Device (EXP1)
8849 {
8850 Name (_ADR, 0x001C0000) // _ADR: Address
8851 Name (RID, 0x00)
8852 OperationRegion (PECS, PCI_Config, 0x00, 0x0100)
8853 Field (PECS, DWordAcc, NoLock, Preserve)
8854 {
8855 Offset (0x5A),
8856 , 3,
8857 PDC, 1,
8858 , 2,
8859 PDS, 1,
8860 Offset (0x5B),
8861 Offset (0x62),
8862 PS, 1,
8863 PP, 1,
8864 Offset (0xDB),
8865 , 6,
8866 HPCE, 1,
8867 PMCE, 1,
8868 Offset (0xDF),
8869 , 6,
8870 HPCS, 1,
8871 PMCS, 1
8872 }
8873
8874 Method (_INI, 0, NotSerialized) // _INI: Initialize
8875 {
8876 Store (PDS, PDSF)
8877 }
8878
8879 Name (LPRT, Package (0x04)
8880 {
8881 Package (0x04)
8882 {
8883 0xFFFF,
8884 0x00,
8885 \_SB.LNKA,
8886 0x00
8887 },
8888
8889 Package (0x04)
8890 {
8891 0xFFFF,
8892 0x01,
8893 \_SB.LNKB,
8894 0x00
8895 },
8896
8897 Package (0x04)
8898 {
8899 0xFFFF,
8900 0x02,
8901 \_SB.LNKC,
8902 0x00
8903 },
8904
8905 Package (0x04)
8906 {
8907 0xFFFF,
8908 0x03,
8909 \_SB.LNKD,
8910 0x00
8911 }
8912 })
8913 Name (APRT, Package (0x04)
8914 {
8915 Package (0x04)
8916 {
8917 0xFFFF,
8918 0x00,
8919 0x00,
8920 0x10
8921 },
8922
8923 Package (0x04)
8924 {
8925 0xFFFF,
8926 0x01,
8927 0x00,
8928 0x11
8929 },
8930
8931 Package (0x04)
8932 {
8933 0xFFFF,
8934 0x02,
8935 0x00,
8936 0x12
8937 },
8938
8939 Package (0x04)
8940 {
8941 0xFFFF,
8942 0x03,
8943 0x00,
8944 0x13
8945 }
8946 })
8947 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
8948 {
8949 If (\GPIC)
8950 {
8951 Return (APRT)
8952 }
8953 Else
8954 {
8955 Return (LPRT)
8956 }
8957 }
8958
8959 Name (PDSF, 0x00)
8960 Device (SLOT)
8961 {
8962 Name (_ADR, 0x00) // _ADR: Address
8963 }
8964 }
8965
8966 Device (EXP2)
8967 {
8968 Name (_ADR, 0x001C0001) // _ADR: Address
8969 Name (RID, 0x00)
8970 OperationRegion (PECS, PCI_Config, 0x00, 0x0100)
8971 Field (PECS, DWordAcc, NoLock, Preserve)
8972 {
8973 Offset (0x62),
8974 PS, 1,
8975 PP, 1,
8976 Offset (0xDB),
8977 , 7,
8978 PMCE, 1,
8979 Offset (0xDF),
8980 , 7,
8981 PMCS, 1
8982 }
8983
8984 Name (LPRT, Package (0x04)
8985 {
8986 Package (0x04)
8987 {
8988 0xFFFF,
8989 0x00,
8990 \_SB.LNKB,
8991 0x00
8992 },
8993
8994 Package (0x04)
8995 {
8996 0xFFFF,
8997 0x01,
8998 \_SB.LNKC,
8999 0x00
9000 },
9001
9002 Package (0x04)
9003 {
9004 0xFFFF,
9005 0x02,
9006 \_SB.LNKD,
9007 0x00
9008 },
9009
9010 Package (0x04)
9011 {
9012 0xFFFF,
9013 0x03,
9014 \_SB.LNKA,
9015 0x00
9016 }
9017 })
9018 Name (APRT, Package (0x04)
9019 {
9020 Package (0x04)
9021 {
9022 0xFFFF,
9023 0x00,
9024 0x00,
9025 0x11
9026 },
9027
9028 Package (0x04)
9029 {
9030 0xFFFF,
9031 0x01,
9032 0x00,
9033 0x12
9034 },
9035
9036 Package (0x04)
9037 {
9038 0xFFFF,
9039 0x02,
9040 0x00,
9041 0x13
9042 },
9043
9044 Package (0x04)
9045 {
9046 0xFFFF,
9047 0x03,
9048 0x00,
9049 0x10
9050 }
9051 })
9052 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
9053 {
9054 If (\GPIC)
9055 {
9056 Return (APRT)
9057 }
9058 Else
9059 {
9060 Return (LPRT)
9061 }
9062 }
9063 }
9064
9065 Device (EXP3)
9066 {
9067 Name (_ADR, 0x001C0002) // _ADR: Address
9068 Name (RID, 0x00)
9069 OperationRegion (PECS, PCI_Config, 0x00, 0x0100)
9070 Field (PECS, DWordAcc, NoLock, Preserve)
9071 {
9072 Offset (0x5A),
9073 , 3,
9074 PDC, 1,
9075 , 2,
9076 PDS, 1,
9077 Offset (0x5B),
9078 Offset (0x62),
9079 PS, 1,
9080 PP, 1,
9081 Offset (0xDB),
9082 , 6,
9083 HPCE, 1,
9084 PMCE, 1,
9085 Offset (0xDF),
9086 , 6,
9087 HPCS, 1,
9088 PMCS, 1
9089 }
9090
9091 Method (_INI, 0, NotSerialized) // _INI: Initialize
9092 {
9093 Store (PDS, PDSF)
9094 }
9095
9096 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
9097 {
9098 0x09,
9099 0x04
9100 })
9101 Name (LPRT, Package (0x04)
9102 {
9103 Package (0x04)
9104 {
9105 0xFFFF,
9106 0x00,
9107 \_SB.LNKC,
9108 0x00
9109 },
9110
9111 Package (0x04)
9112 {
9113 0xFFFF,
9114 0x01,
9115 \_SB.LNKD,
9116 0x00
9117 },
9118
9119 Package (0x04)
9120 {
9121 0xFFFF,
9122 0x02,
9123 \_SB.LNKA,
9124 0x00
9125 },
9126
9127 Package (0x04)
9128 {
9129 0xFFFF,
9130 0x03,
9131 \_SB.LNKB,
9132 0x00
9133 }
9134 })
9135 Name (APRT, Package (0x04)
9136 {
9137 Package (0x04)
9138 {
9139 0xFFFF,
9140 0x00,
9141 0x00,
9142 0x12
9143 },
9144
9145 Package (0x04)
9146 {
9147 0xFFFF,
9148 0x01,
9149 0x00,
9150 0x13
9151 },
9152
9153 Package (0x04)
9154 {
9155 0xFFFF,
9156 0x02,
9157 0x00,
9158 0x10
9159 },
9160
9161 Package (0x04)
9162 {
9163 0xFFFF,
9164 0x03,
9165 0x00,
9166 0x11
9167 }
9168 })
9169 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
9170 {
9171 If (\GPIC)
9172 {
9173 Return (APRT)
9174 }
9175 Else
9176 {
9177 Return (LPRT)
9178 }
9179 }
9180
9181 Name (PDSF, 0x00)
9182 Device (SLOT)
9183 {
9184 Name (_ADR, 0x00) // _ADR: Address
9185 Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
9186 {
9187 Return (0x01)
9188 }
9189 }
9190 }
9191
9192 Device (SAT1)
9193 {
9194 Name (_ADR, 0x001F0002) // _ADR: Address
9195 Name (_S3D, 0x03) // _S3D: S3 Device State
9196 Name (RID, 0x00)
9197 }
9198
9199 Device (SAT2)
9200 {
9201 Name (_ADR, 0x001F0005) // _ADR: Address
9202 Name (_S3D, 0x03) // _S3D: S3 Device State
9203 Name (RID, 0x00)
9204 }
9205
9206 Device (SMBU)
9207 {
9208 Name (_ADR, 0x001F0003) // _ADR: Address
9209 Name (_S3D, 0x03) // _S3D: S3 Device State
9210 Name (RID, 0x00)
9211 }
9212
9213 Device (XHCI)
9214 {
9215 Name (_ADR, 0x00140000) // _ADR: Address
9216 Name (_S3D, 0x03) // _S3D: S3 Device State
9217 Name (RID, 0x00)
9218 OperationRegion (XHCS, PCI_Config, 0x00, 0x0100)
9219 Field (XHCS, DWordAcc, NoLock, Preserve)
9220 {
9221 Offset (0xD0),
9222 PR2, 32,
9223 PR2M, 32,
9224 PR3, 32,
9225 PR3M, 32
9226 }
9227
9228 Name (XRST, Zero)
9229 Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
9230 {
9231 \_SB.PCI0.LPC.EC.PUBS
9232 })
9233 Name (_PR1, Package (0x01) // _PR1: Power Resources for D1
9234 {
9235 \_SB.PCI0.LPC.EC.PUBS
9236 })
9237 Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
9238 {
9239 \_SB.PCI0.LPC.EC.PUBS
9240 })
9241 Name (_PRW, Package (0x03) // _PRW: Power Resources for Wake
9242 {
9243 0x0D,
9244 0x03,
9245 \_SB.PCI0.LPC.EC.PUBS
9246 })
9247 Method (CUID, 1, Serialized)
9248 {
9249 If (LEqual (Arg0, Buffer (0x10)
9250 {
9251 /* 0000 */ 0xA9, 0x12, 0x95, 0x7C, 0x05, 0x17, 0xB4, 0x4C,
9252 /* 0008 */ 0xAF, 0x7D, 0x50, 0x6A, 0x24, 0x23, 0xAB, 0x71
9253 }))
9254 {
9255 Return (0x01)
9256 }
9257
9258 Return (0x00)
9259 }
9260
9261 Method (POSC, 3, Serialized)
9262 {
9263 CreateDWordField (Arg2, 0x00, CDW1)
9264 If (LNotEqual (Arg0, One))
9265 {
9266 Or (CDW1, 0x08, CDW1)
9267 }
9268
9269 If (LEqual (\XHCM, 0x00))
9270 {
9271 Or (CDW1, 0x02, CDW1)
9272 Store (0x00, \_SB.PCI0.LPC.XUSB)
9273 Store (0x00, XRST)
9274 }
9275
9276 If (LAnd (LNot (And (CDW1, 0x01)), LOr (LEqual (\XHCM,
9277 0x02), LEqual (\XHCM, 0x03))))
9278 {
9279 SXHC ()
9280 }
9281
9282 Return (Arg2)
9283 }
9284
9285 Method (SXHC, 0, NotSerialized)
9286 {
9287 Store (0x01, \_SB.PCI0.LPC.XUSB)
9288 Store (0x01, XRST)
9289 Store (0x00, Local0)
9290 And (PR3, 0xFFFFFFF0, Local0)
9291 Or (Local0, \XHPM, Local0)
9292 And (Local0, PR3M, PR3)
9293 Store (0x00, Local0)
9294 And (PR2, 0xFFFFFFF0, Local0)
9295 Or (Local0, \XHPM, Local0)
9296 And (Local0, PR2M, PR2)
9297 Store (0x01, \_SB.PCI0.LPC.XUSB)
9298 Store (0x01, \USBR)
9299 }
9300
9301 Method (_INI, 0, NotSerialized) // _INI: Initialize
9302 {
9303 If (\WIN8)
9304 {
9305 SXHC ()
9306 }
9307 }
9308
9309 Device (URTH)
9310 {
9311 Name (_ADR, 0x00) // _ADR: Address
9312 Device (HSP0)
9313 {
9314 Name (_ADR, 0x01) // _ADR: Address
9315 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9316 {
9317 Name (UPCP, Package (0x04)
9318 {
9319 0x00,
9320 0x00,
9321 0x00,
9322 0x00
9323 })
9324 CopyObject (\UPC0, UPCP)
9325 If (LNot (And (PR2, 0x01)))
9326 {
9327 Store (0x00, Index (UPCP, 0x00))
9328 }
9329
9330 Return (UPCP)
9331 }
9332
9333 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9334 {
9335 Name (PLDP, Buffer (0x10) {})
9336 Store (\PLD0, PLDP)
9337 CreateBitField (PLDP, 0x40, VIS)
9338 If (LNot (And (PR2, 0x01)))
9339 {
9340 And (VIS, 0x00, VIS)
9341 }
9342
9343 Return (PLDP)
9344 }
9345 }
9346
9347 Device (HSP1)
9348 {
9349 Name (_ADR, 0x02) // _ADR: Address
9350 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9351 {
9352 Name (UPCP, Package (0x04)
9353 {
9354 0x00,
9355 0x00,
9356 0x00,
9357 0x00
9358 })
9359 CopyObject (\UPC1, UPCP)
9360 If (LNot (And (PR2, 0x02)))
9361 {
9362 Store (0x00, Index (UPCP, 0x00))
9363 }
9364
9365 Return (UPCP)
9366 }
9367
9368 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9369 {
9370 Name (PLDP, Buffer (0x10) {})
9371 Store (\PLD1, PLDP)
9372 CreateBitField (PLDP, 0x40, VIS)
9373 If (LNot (And (PR2, 0x02)))
9374 {
9375 And (VIS, 0x00, VIS)
9376 }
9377
9378 Return (PLDP)
9379 }
9380 }
9381
9382 Device (HSP2)
9383 {
9384 Name (_ADR, 0x03) // _ADR: Address
9385 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9386 {
9387 Name (UPCP, Package (0x04)
9388 {
9389 0x00,
9390 0x00,
9391 0x00,
9392 0x00
9393 })
9394 CopyObject (\UPC2, UPCP)
9395 If (LNot (And (PR2, 0x04)))
9396 {
9397 Store (0x00, Index (UPCP, 0x00))
9398 }
9399
9400 Return (UPCP)
9401 }
9402
9403 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9404 {
9405 Name (PLDP, Buffer (0x10) {})
9406 Store (\PLD2, PLDP)
9407 CreateBitField (PLDP, 0x40, VIS)
9408 If (LNot (And (PR2, 0x04)))
9409 {
9410 And (VIS, 0x00, VIS)
9411 }
9412
9413 Return (PLDP)
9414 }
9415 }
9416
9417 Device (HSP3)
9418 {
9419 Name (_ADR, 0x04) // _ADR: Address
9420 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9421 {
9422 Name (UPCP, Package (0x04)
9423 {
9424 0x00,
9425 0x00,
9426 0x00,
9427 0x00
9428 })
9429 CopyObject (\UPC3, UPCP)
9430 If (LNot (And (PR2, 0x08)))
9431 {
9432 Store (0x00, Index (UPCP, 0x00))
9433 }
9434
9435 Return (UPCP)
9436 }
9437
9438 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9439 {
9440 Name (PLDP, Buffer (0x10) {})
9441 Store (\PLD3, PLDP)
9442 CreateBitField (PLDP, 0x40, VIS)
9443 If (LNot (And (PR2, 0x08)))
9444 {
9445 And (VIS, 0x00, VIS)
9446 }
9447
9448 Return (PLDP)
9449 }
9450 }
9451
9452 Device (SSP0)
9453 {
9454 Name (_ADR, 0x05) // _ADR: Address
9455 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9456 {
9457 Name (UPCP, Package (0x04)
9458 {
9459 0x00,
9460 0x00,
9461 0x00,
9462 0x00
9463 })
9464 CopyObject (\UPC0, UPCP)
9465 If (LOr (LNot (And (PR2, 0x01)), LNot (And (PR3,
9466 0x01))))
9467 {
9468 Store (0x00, Index (UPCP, 0x00))
9469 }
9470
9471 Return (UPCP)
9472 }
9473
9474 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9475 {
9476 Name (PLDP, Buffer (0x10) {})
9477 Store (\PLD0, PLDP)
9478 CreateBitField (PLDP, 0x40, VIS)
9479 If (LOr (LNot (And (PR2, 0x01)), LNot (And (PR3,
9480 0x01))))
9481 {
9482 And (VIS, 0x00, VIS)
9483 }
9484
9485 Return (PLDP)
9486 }
9487 }
9488
9489 Device (SSP1)
9490 {
9491 Name (_ADR, 0x06) // _ADR: Address
9492 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9493 {
9494 Name (UPCP, Package (0x04)
9495 {
9496 0x00,
9497 0x00,
9498 0x00,
9499 0x00
9500 })
9501 CopyObject (\UPC1, UPCP)
9502 If (LOr (LNot (And (PR2, 0x02)), LNot (And (PR3,
9503 0x02))))
9504 {
9505 Store (0x00, Index (UPCP, 0x00))
9506 }
9507
9508 Return (UPCP)
9509 }
9510
9511 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9512 {
9513 Name (PLDP, Buffer (0x10) {})
9514 Store (\PLD1, PLDP)
9515 CreateBitField (PLDP, 0x40, VIS)
9516 If (LOr (LNot (And (PR2, 0x02)), LNot (And (PR3,
9517 0x02))))
9518 {
9519 And (VIS, 0x00, VIS)
9520 }
9521
9522 Return (PLDP)
9523 }
9524 }
9525
9526 Device (SSP2)
9527 {
9528 Name (_ADR, 0x07) // _ADR: Address
9529 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9530 {
9531 Name (UPCP, Package (0x04)
9532 {
9533 0x00,
9534 0x00,
9535 0x00,
9536 0x00
9537 })
9538 CopyObject (\UPC2, UPCP)
9539 If (LOr (LNot (And (PR2, 0x04)), LNot (And (PR3,
9540 0x04))))
9541 {
9542 Store (0x00, Index (UPCP, 0x00))
9543 }
9544
9545 Return (UPCP)
9546 }
9547
9548 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9549 {
9550 Name (PLDP, Buffer (0x10) {})
9551 Store (\PLD2, PLDP)
9552 CreateBitField (PLDP, 0x40, VIS)
9553 If (LOr (LNot (And (PR2, 0x04)), LNot (And (PR3,
9554 0x04))))
9555 {
9556 And (VIS, 0x00, VIS)
9557 }
9558
9559 Return (PLDP)
9560 }
9561 }
9562
9563 Device (SSP3)
9564 {
9565 Name (_ADR, 0x08) // _ADR: Address
9566 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9567 {
9568 Name (UPCP, Package (0x04)
9569 {
9570 0x00,
9571 0x00,
9572 0x00,
9573 0x00
9574 })
9575 CopyObject (\UPC3, UPCP)
9576 If (LOr (LNot (And (PR2, 0x08)), LNot (And (PR3,
9577 0x08))))
9578 {
9579 Store (0x00, Index (UPCP, 0x00))
9580 }
9581
9582 Return (UPCP)
9583 }
9584
9585 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9586 {
9587 Name (PLDP, Buffer (0x10) {})
9588 Store (\PLD3, PLDP)
9589 CreateBitField (PLDP, 0x40, VIS)
9590 If (LOr (LNot (And (PR2, 0x08)), LNot (And (PR3,
9591 0x08))))
9592 {
9593 And (VIS, 0x00, VIS)
9594 }
9595
9596 Return (PLDP)
9597 }
9598 }
9599 }
9600 }
9601
9602 Device (EHC1)
9603 {
9604 Name (_ADR, 0x001D0000) // _ADR: Address
9605 Name (_S3D, 0x03) // _S3D: S3 Device State
9606 Name (RID, 0x00)
9607 OperationRegion (EHCS, PCI_Config, 0x00, 0x0100)
9608 Field (EHCS, DWordAcc, NoLock, Preserve)
9609 {
9610 Offset (0x62),
9611 PWKI, 1,
9612 PWUC, 8,
9613 Offset (0x64)
9614 }
9615
9616 Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
9617 {
9618 \_SB.PCI0.LPC.EC.PUBS
9619 })
9620 Name (_PR1, Package (0x01) // _PR1: Power Resources for D1
9621 {
9622 \_SB.PCI0.LPC.EC.PUBS
9623 })
9624 Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
9625 {
9626 \_SB.PCI0.LPC.EC.PUBS
9627 })
9628 Method (_INI, 0, NotSerialized) // _INI: Initialize
9629 {
9630 Store (0x01, PWKI)
9631 Store (0x23, PWUC)
9632 }
9633
9634 Name (_PRW, Package (0x03) // _PRW: Power Resources for Wake
9635 {
9636 0x0D,
9637 0x03,
9638 \_SB.PCI0.LPC.EC.PUBS
9639 })
9640 Device (URTH)
9641 {
9642 Name (_ADR, 0x00) // _ADR: Address
9643 Device (URMH)
9644 {
9645 Name (_ADR, 0x01) // _ADR: Address
9646 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9647 {
9648 Return (\UPCI)
9649 }
9650
9651 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9652 {
9653 Return (\PLDI)
9654 }
9655
9656 Device (PRT0)
9657 {
9658 Name (_ADR, 0x01) // _ADR: Address
9659 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9660 {
9661 Name (UPCP, Package (0x04)
9662 {
9663 0x00,
9664 0x00,
9665 0x00,
9666 0x00
9667 })
9668 CopyObject (\UPC0, UPCP)
9669 If (LEqual (\XHCM, 0x00)) {}
9670 Else
9671 {
9672 If (And (\_SB.PCI0.XHCI.PR2, 0x01))
9673 {
9674 Store (0x00, Index (UPCP, 0x00))
9675 }
9676 }
9677
9678 Return (UPCP)
9679 }
9680
9681 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9682 {
9683 Name (PLDP, Buffer (0x10) {})
9684 Store (\PLD0, PLDP)
9685 CreateBitField (PLDP, 0x40, VIS)
9686 If (LEqual (\XHCM, 0x00)) {}
9687 Else
9688 {
9689 If (And (\_SB.PCI0.XHCI.PR2, 0x01))
9690 {
9691 And (VIS, 0x00, VIS)
9692 }
9693
9694 Return (PLDP)
9695 }
9696 }
9697 }
9698
9699 Device (PRT1)
9700 {
9701 Name (_ADR, 0x02) // _ADR: Address
9702 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9703 {
9704 Name (UPCP, Package (0x04)
9705 {
9706 0x00,
9707 0x00,
9708 0x00,
9709 0x00
9710 })
9711 CopyObject (\UPC1, UPCP)
9712 If (LEqual (\XHCM, 0x00)) {}
9713 Else
9714 {
9715 If (And (\_SB.PCI0.XHCI.PR2, 0x02))
9716 {
9717 Store (0x00, Index (UPCP, 0x00))
9718 }
9719 }
9720
9721 Return (UPCP)
9722 }
9723
9724 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9725 {
9726 Name (PLDP, Buffer (0x10) {})
9727 Store (\PLD1, PLDP)
9728 CreateBitField (PLDP, 0x40, VIS)
9729 If (LEqual (\XHCM, 0x00)) {}
9730 Else
9731 {
9732 If (And (\_SB.PCI0.XHCI.PR2, 0x02))
9733 {
9734 And (VIS, 0x00, VIS)
9735 }
9736 }
9737
9738 Return (PLDP)
9739 }
9740 }
9741
9742 Device (PRT2)
9743 {
9744 Name (_ADR, 0x03) // _ADR: Address
9745 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9746 {
9747 Name (UPCP, Package (0x04)
9748 {
9749 0x00,
9750 0x00,
9751 0x00,
9752 0x00
9753 })
9754 CopyObject (\UPC2, UPCP)
9755 If (LEqual (\XHCM, 0x00)) {}
9756 Else
9757 {
9758 If (And (\_SB.PCI0.XHCI.PR2, 0x04))
9759 {
9760 Store (0x00, Index (UPCP, 0x00))
9761 }
9762 }
9763
9764 Return (UPCP)
9765 }
9766
9767 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9768 {
9769 Name (PLDP, Buffer (0x10) {})
9770 Store (\PLD2, PLDP)
9771 CreateBitField (PLDP, 0x40, VIS)
9772 If (LEqual (\XHCM, 0x00)) {}
9773 Else
9774 {
9775 If (And (\_SB.PCI0.XHCI.PR2, 0x04))
9776 {
9777 And (VIS, 0x00, VIS)
9778 }
9779 }
9780
9781 Return (PLDP)
9782 }
9783 }
9784
9785 Device (PRT3)
9786 {
9787 Name (_ADR, 0x04) // _ADR: Address
9788 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9789 {
9790 Name (UPCP, Package (0x04)
9791 {
9792 0x00,
9793 0x00,
9794 0x00,
9795 0x00
9796 })
9797 CopyObject (\UPC3, UPCP)
9798 If (LEqual (\XHCM, 0x00)) {}
9799 Else
9800 {
9801 If (And (\_SB.PCI0.XHCI.PR2, 0x08))
9802 {
9803 Store (0x00, Index (UPCP, 0x00))
9804 }
9805 }
9806
9807 Return (UPCP)
9808 }
9809
9810 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9811 {
9812 Name (PLDP, Buffer (0x10) {})
9813 Store (\PLD3, PLDP)
9814 CreateBitField (PLDP, 0x40, VIS)
9815 If (LEqual (\XHCM, 0x00)) {}
9816 Else
9817 {
9818 If (And (\_SB.PCI0.XHCI.PR2, 0x08))
9819 {
9820 And (VIS, 0x00, VIS)
9821 }
9822 }
9823
9824 Return (PLDP)
9825 }
9826 }
9827
9828 Device (PRT4)
9829 {
9830 Name (_ADR, 0x05) // _ADR: Address
9831 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9832 {
9833 Return (\UPC4)
9834 }
9835
9836 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9837 {
9838 Return (\PLD4)
9839 }
9840 }
9841
9842 Device (PRT5)
9843 {
9844 Name (_ADR, 0x06) // _ADR: Address
9845 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9846 {
9847 Return (\UPC5)
9848 }
9849
9850 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9851 {
9852 Return (\PLD5)
9853 }
9854 }
9855
9856 Device (PRT6)
9857 {
9858 Name (_ADR, 0x07) // _ADR: Address
9859 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9860 {
9861 Return (\UPC6)
9862 }
9863
9864 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9865 {
9866 Return (\PLD6)
9867 }
9868 }
9869
9870 Device (PRT7)
9871 {
9872 Name (_ADR, 0x08) // _ADR: Address
9873 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9874 {
9875 Return (\UPC7)
9876 }
9877
9878 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9879 {
9880 Return (\PLD7)
9881 }
9882 }
9883 }
9884 }
9885 }
9886
9887 Device (EHC2)
9888 {
9889 Name (_ADR, 0x001A0000) // _ADR: Address
9890 Name (_S3D, 0x03) // _S3D: S3 Device State
9891 Name (RID, 0x00)
9892 OperationRegion (EHCS, PCI_Config, 0x00, 0x0100)
9893 Field (EHCS, DWordAcc, NoLock, Preserve)
9894 {
9895 Offset (0x62),
9896 PWKI, 1,
9897 PWUC, 6,
9898 Offset (0x64)
9899 }
9900
9901 Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
9902 {
9903 \_SB.PCI0.LPC.EC.PUBS
9904 })
9905 Name (_PR1, Package (0x01) // _PR1: Power Resources for D1
9906 {
9907 \_SB.PCI0.LPC.EC.PUBS
9908 })
9909 Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
9910 {
9911 \_SB.PCI0.LPC.EC.PUBS
9912 })
9913 Method (_INI, 0, NotSerialized) // _INI: Initialize
9914 {
9915 Store (0x01, PWKI)
9916 Store (0x13, PWUC)
9917 }
9918
9919 Name (_PRW, Package (0x03) // _PRW: Power Resources for Wake
9920 {
9921 0x0D,
9922 0x03,
9923 \_SB.PCI0.LPC.EC.PUBS
9924 })
9925 Device (URTH)
9926 {
9927 Name (_ADR, 0x00) // _ADR: Address
9928 Device (URMH)
9929 {
9930 Name (_ADR, 0x01) // _ADR: Address
9931 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9932 {
9933 Return (\UPCI)
9934 }
9935
9936 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9937 {
9938 Return (\PLDI)
9939 }
9940
9941 Device (PRT8)
9942 {
9943 Name (_ADR, 0x01) // _ADR: Address
9944 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9945 {
9946 Return (\UPCI)
9947 }
9948
9949 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9950 {
9951 Return (\PLDI)
9952 }
9953 }
9954
9955 Device (PRT9)
9956 {
9957 Name (_ADR, 0x02) // _ADR: Address
9958 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9959 {
9960 Return (\UPC9)
9961 }
9962
9963 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9964 {
9965 Return (\PLD9)
9966 }
9967 }
9968
9969 Device (PRTA)
9970 {
9971 Name (_ADR, 0x03) // _ADR: Address
9972 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9973 {
9974 Return (\UPCI)
9975 }
9976
9977 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9978 {
9979 Return (\PLDI)
9980 }
9981 }
9982
9983 Device (PRTB)
9984 {
9985 Name (_ADR, 0x04) // _ADR: Address
9986 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9987 {
9988 Return (\UPCI)
9989 }
9990
9991 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9992 {
9993 Return (\PLDI)
9994 }
9995 }
9996
9997 Device (PRTC)
9998 {
9999 Name (_ADR, 0x05) // _ADR: Address
10000 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10001 {
10002 Return (\UPCI)
10003 }
10004
10005 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10006 {
10007 Return (\PLDI)
10008 }
10009 }
10010
10011 Device (PRTD)
10012 {
10013 Name (_ADR, 0x06) // _ADR: Address
10014 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10015 {
10016 Return (\UPCI)
10017 }
10018
10019 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10020 {
10021 Return (\PLDI)
10022 }
10023
10024 Device (WCAM)
10025 {
10026 Name (_ADR, 0x06) // _ADR: Address
10027 Method (_STA, 0, NotSerialized) // _STA: Status
10028 {
10029 If (\WIN8)
10030 {
10031 Return (0x0F)
10032 }
10033 Else
10034 {
10035 Return (0x00)
10036 }
10037 }
10038
10039 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10040 {
10041 Return (\UPCI)
10042 }
10043
10044 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10045 {
10046 Return (\PLDC)
10047 }
10048 }
10049 }
10050 }
10051 }
10052 }
10053
10054 Device (HDEF)
10055 {
10056 Name (_ADR, 0x001B0000) // _ADR: Address
10057 Name (_S3D, 0x03) // _S3D: S3 Device State
10058 Name (RID, 0x00)
10059 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
10060 {
10061 0x0D,
10062 0x04
10063 })
10064 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
10065 {
10066 Noop
10067 }
10068 }
10069 }
10070
10071 Scope (\_SB.PCI0.LPC.EC)
10072 {
10073 Name (BDEV, 0xFF)
10074 Name (BSTS, 0x00)
10075 Name (BHKE, 0x00)
10076 Method (_Q2C, 0, NotSerialized) // _Qxx: EC Query
10077 {
10078 If (LEqual (BSTS, 0x00))
10079 {
10080 Store (BGID (0x00), BDEV)
10081 NBRE (BDEV)
10082 }
10083 }
10084
10085 Method (_Q2D, 0, NotSerialized) // _Qxx: EC Query
10086 {
10087 Store (BGID (0x00), BDEV)
10088 NBIN (BDEV)
10089 }
10090
10091 Method (_Q38, 0, NotSerialized) // _Qxx: EC Query
10092 {
10093 Store (BGID (0x00), Local0)
10094 If (LEqual (Local0, 0x0F))
10095 {
10096 BDIS ()
10097 \BHDP (0x01, 0x00)
10098 NBEJ (BDEV)
10099 Store (Local0, BDEV)
10100 If (LEqual (\BIDE, 0x03))
10101 {
10102 Store (0x00, \_SB.PCI0.SAT1.PRIM.GTME)
10103 Store (0x00, \_SB.PCI0.SAT1.SCND.GTME)
10104 }
10105 }
10106 Else
10107 {
10108 If (HPBU) {}
10109 Else
10110 {
10111 Store (Local0, BDEV)
10112 NBIN (Local0)
10113 }
10114 }
10115 }
10116
10117 Name (ODEJ, 0x00)
10118 Method (_Q44, 0, NotSerialized) // _Qxx: EC Query
10119 {
10120 If (\_SB.PCI0.LPC.CSON)
10121 {
10122 Store (0x01, ODEJ)
10123 Store (BGID (0x00), BDEV)
10124 NBIN (BDEV)
10125 Store (0x00, ODEJ)
10126 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x3006)
10127 }
10128 }
10129
10130 Method (NBRE, 1, NotSerialized)
10131 {
10132 If (LLess (Arg0, 0x0C))
10133 {
10134 If (LEqual (\BIDE, 0x03))
10135 {
10136 Notify (\_SB.PCI0.SAT1.SCND.MSTR, 0x03)
10137 }
10138 Else
10139 {
10140 Notify (\_SB.PCI0.SAT1.PRT1, 0x03)
10141 }
10142 }
10143 }
10144
10145 Method (NBEJ, 1, NotSerialized)
10146 {
10147 If (LEqual (BSTS, 0x00))
10148 {
10149 If (LLess (Arg0, 0x0C))
10150 {
10151 If (LEqual (\BIDE, 0x03))
10152 {
10153 Notify (\_SB.PCI0.SAT1.SCND.MSTR, 0x01)
10154 }
10155 Else
10156 {
10157 Notify (\_SB.PCI0.SAT1.PRT1, 0x01)
10158 }
10159 }
10160 }
10161
10162 BEEP (0x00)
10163 Store (0x00, BSTS)
10164 }
10165
10166 Method (NBIN, 1, NotSerialized)
10167 {
10168 If (LLess (Arg0, 0x0C))
10169 {
10170 BEN (0x01)
10171 If (LEqual (\BIDE, 0x03))
10172 {
10173 Notify (\_SB.PCI0.SAT1.SCND.MSTR, 0x01)
10174 }
10175 Else
10176 {
10177 Notify (\_SB.PCI0.SAT1.PRT1, 0x01)
10178 }
10179 }
10180
10181 BEEP (0x00)
10182 Store (0x00, BSTS)
10183 }
10184
10185 Method (BEJ0, 1, NotSerialized)
10186 {
10187 If (Arg0)
10188 {
10189 BDIS ()
10190 \BHDP (0x01, 0x00)
10191 Store (0x01, BSTS)
10192 If (BHKE)
10193 {
10194 Store (0x00, BHKE)
10195 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x3003)
10196 }
10197 }
10198 Else
10199 {
10200 Store (0x00, BSTS)
10201 }
10202 }
10203
10204 Method (BEJ3, 1, NotSerialized)
10205 {
10206 If (Arg0)
10207 {
10208 BDIS ()
10209 Store (0x01, BSTS)
10210 }
10211 Else
10212 {
10213 Store (0x00, BSTS)
10214 }
10215 }
10216
10217 Method (BPTS, 1, NotSerialized)
10218 {
10219 Store (0x01, HDBM)
10220 If (LNotEqual (BSTS, 0x00))
10221 {
10222 Store (0x0F, BDEV)
10223 Store (0x00, BSTS)
10224 }
10225
10226 Store (0x00, BHKE)
10227 BUWK (0x00)
10228 }
10229
10230 Method (BWAK, 1, NotSerialized)
10231 {
10232 BUWK (0x00)
10233 Store (BGID (0x00), Local0)
10234 If (LEqual (BSTS, 0x00))
10235 {
10236 If (LNotEqual (Local0, BDEV))
10237 {
10238 NBEJ (BDEV)
10239 Store (Local0, BDEV)
10240 NBIN (Local0)
10241 }
10242 Else
10243 {
10244 If (LOr (\LFDC, LNotEqual (BDEV, 0x0D)))
10245 {
10246 If (LNotEqual (Local0, 0x0F))
10247 {
10248 If (HPBU)
10249 {
10250 If (LLessEqual (Arg0, 0x02)) {}
10251 Else
10252 {
10253 NBRE (Local0)
10254 }
10255 }
10256 }
10257 }
10258 }
10259 }
10260
10261 If (LLess (BDEV, 0x0C))
10262 {
10263 \UBIS (0x00)
10264 }
10265 Else
10266 {
10267 \UBIS (0x01)
10268 }
10269 }
10270
10271 Method (BDIS, 0, NotSerialized)
10272 {
10273 If (LNot (\_SB.PCI0.LPC.CSON))
10274 {
10275 If (LNot (\_SB.PCI0.LPC.GLIS))
10276 {
10277 \UBIS (0x01)
10278 }
10279
10280 Store (0x01, \_SB.PCI0.LPC.CSON)
10281 Store (0x0F, \IDET)
10282 }
10283 }
10284
10285 Method (BPON, 1, NotSerialized)
10286 {
10287 If (\_SB.PCI0.LPC.CSON)
10288 {
10289 Store (0x00, \_SB.PCI0.LPC.CSON)
10290 If (\_SB.PCI0.LPC.GLIS)
10291 {
10292 \UBIS (0x00)
10293 }
10294 }
10295 }
10296
10297 Method (BEN, 1, NotSerialized)
10298 {
10299 If (\_SB.PCI0.LPC.CSON)
10300 {
10301 BPON (Arg0)
10302 If (LAnd (Arg0, LEqual (ODEJ, 0x01)))
10303 {
10304 Store (0x09, \_SB.PCI0.LPC.EC.HANT)
10305 }
10306
10307 If (Arg0)
10308 {
10309 IRDY ()
10310 }
10311 }
10312 }
10313
10314 Method (BSTA, 1, NotSerialized)
10315 {
10316 If (\_SB.PCI0.LPC.CSON)
10317 {
10318 Return (0x00)
10319 }
10320
10321 BINI ()
10322 If (LEqual (Arg0, 0x01))
10323 {
10324 Return (LLess (BDEV, 0x0C))
10325 }
10326
10327 Return (0x00)
10328 }
10329
10330 Method (BUWK, 1, NotSerialized)
10331 {
10332 If (\H8DR)
10333 {
10334 If (Arg0)
10335 {
10336 Store (0x01, \_SB.PCI0.LPC.EC.HWBU)
10337 }
10338 Else
10339 {
10340 Store (0x00, \_SB.PCI0.LPC.EC.HWBU)
10341 }
10342 }
10343 Else
10344 {
10345 If (Arg0)
10346 {
10347 \MBEC (0x32, 0xFF, 0x80)
10348 }
10349 Else
10350 {
10351 \MBEC (0x32, 0x7F, 0x00)
10352 }
10353 }
10354 }
10355
10356 Method (BINI, 0, NotSerialized)
10357 {
10358 If (LEqual (BDEV, 0xFF))
10359 {
10360 Store (BGID (0x00), BDEV)
10361 }
10362 }
10363
10364 Method (BGID, 1, NotSerialized)
10365 {
10366 If (Arg0)
10367 {
10368 Store (0xFF, Local0)
10369 }
10370 Else
10371 {
10372 If (\H8DR)
10373 {
10374 Store (HPBU, Local1)
10375 Store (HBID, Local2)
10376 }
10377 Else
10378 {
10379 Store (RBEC (0x47), Local2)
10380 And (Local2, 0x01, Local1)
10381 And (Local2, 0x04, Local2)
10382 ShiftRight (Local2, 0x02, Local2)
10383 }
10384
10385 If (Local2)
10386 {
10387 Store (0x0F, Local0)
10388 }
10389 Else
10390 {
10391 If (HDUB)
10392 {
10393 Store (0x0F, Local0)
10394 }
10395 Else
10396 {
10397 If (LOr (LEqual (\IDET, 0x03), LEqual (\IDET, 0x06)))
10398 {
10399 Store (\IDET, Local0)
10400 }
10401 Else
10402 {
10403 Store (0x07, Local0)
10404 }
10405 }
10406 }
10407
10408 If (LEqual (Local0, 0x0F)) {}
10409 }
10410
10411 If (LAnd (\HDUB, LLess (Local0, 0x0C)))
10412 {
10413 Store (0x0F, Local0)
10414 }
10415
10416 Return (Local0)
10417 }
10418
10419 Method (IRDY, 0, NotSerialized)
10420 {
10421 Store (0x01F4, Local0)
10422 Store (0x3C, Local1)
10423 Store (Zero, Local2)
10424 While (Local1)
10425 {
10426 Sleep (Local0)
10427 Store (\BCHK (), Local3)
10428 If (LNot (Local3))
10429 {
10430 Break
10431 }
10432
10433 If (LEqual (Local3, 0x02))
10434 {
10435 Store (One, Local2)
10436 Break
10437 }
10438
10439 Decrement (Local1)
10440 }
10441
10442 Return (Local2)
10443 }
10444 }
10445
10446 Scope (\_SB.PCI0.LPC.EC)
10447 {
10448 Method (_Q43, 0, NotSerialized) // _Qxx: EC Query
10449 {
10450 \UCMS (0x18)
10451 }
10452
10453 Method (SAUM, 1, NotSerialized)
10454 {
10455 If (LGreater (Arg0, 0x03))
10456 {
10457 Noop
10458 }
10459 Else
10460 {
10461 If (\H8DR)
10462 {
10463 Store (Arg0, HAUM)
10464 }
10465 Else
10466 {
10467 \MBEC (0x03, 0x9F, ShiftLeft (Arg0, 0x05))
10468 }
10469 }
10470 }
10471 }
10472
10473 Scope (\_SB.PCI0.LPC.EC.HKEY)
10474 {
10475 Method (GSMS, 1, NotSerialized)
10476 {
10477 Return (\AUDC (0x00, 0x00))
10478 }
10479
10480 Method (SSMS, 1, NotSerialized)
10481 {
10482 Return (\AUDC (0x01, And (Arg0, 0x01)))
10483 }
10484
10485 Method (SHDA, 1, NotSerialized)
10486 {
10487 Return (\AUDC (0x02, And (Arg0, 0x01)))
10488 }
10489 }
10490
10491 Scope (\_SB.PCI0.LPC.EC)
10492 {
10493 Name (BRTW, Package (0x12)
10494 {
10495 0x64,
10496 0x64,
10497 0x05,
10498 0x0A,
10499 0x14,
10500 0x19,
10501 0x1E,
10502 0x23,
10503 0x28,
10504 0x2D,
10505 0x32,
10506 0x37,
10507 0x3C,
10508 0x41,
10509 0x46,
10510 0x50,
10511 0x5A,
10512 0x64
10513 })
10514 Name (BRTB, Package (0x04)
10515 {
10516 Package (0x16)
10517 {
10518 0x16,
10519 0x04,
10520 0x03,
10521 0x05,
10522 0x08,
10523 0x0A,
10524 0x0D,
10525 0x12,
10526 0x19,
10527 0x21,
10528 0x2B,
10529 0x38,
10530 0x4A,
10531 0x61,
10532 0x7E,
10533 0xA0,
10534 0xCC,
10535 0xFF,
10536 0xDC,
10537 0xDC,
10538 0x03,
10539 0x03
10540 },
10541
10542 Package (0x16)
10543 {
10544 0x1B,
10545 0x04,
10546 0x03,
10547 0x05,
10548 0x08,
10549 0x0A,
10550 0x0D,
10551 0x0F,
10552 0x12,
10553 0x19,
10554 0x22,
10555 0x2E,
10556 0x3E,
10557 0x54,
10558 0x6E,
10559 0x93,
10560 0xC1,
10561 0xFF,
10562 0xDC,
10563 0xDC,
10564 0x03,
10565 0x03
10566 },
10567
10568 Package (0x16)
10569 {
10570 0x14,
10571 0x04,
10572 0x04,
10573 0x07,
10574 0x09,
10575 0x0C,
10576 0x10,
10577 0x15,
10578 0x1C,
10579 0x25,
10580 0x32,
10581 0x40,
10582 0x53,
10583 0x6E,
10584 0x94,
10585 0xC6,
10586 0xE1,
10587 0xFF,
10588 0xDC,
10589 0xDC,
10590 0x04,
10591 0x04
10592 },
10593
10594 Package (0x16)
10595 {
10596 0x00,
10597 0x04,
10598 0x04,
10599 0x07,
10600 0x09,
10601 0x0C,
10602 0x10,
10603 0x15,
10604 0x1C,
10605 0x25,
10606 0x32,
10607 0x40,
10608 0x50,
10609 0x64,
10610 0x82,
10611 0xA5,
10612 0xCD,
10613 0xFF,
10614 0xDC,
10615 0xDC,
10616 0x04,
10617 0x04
10618 }
10619 })
10620 Name (BRTD, Package (0x04)
10621 {
10622 Package (0x65)
10623 {
10624 0x03,
10625 0x04,
10626 0x05,
10627 0x06,
10628 0x07,
10629 0x08,
10630 0x09,
10631 0x0A,
10632 0x0B,
10633 0x0C,
10634 0x0D,
10635 0x0E,
10636 0x0F,
10637 0x10,
10638 0x11,
10639 0x12,
10640 0x13,
10641 0x14,
10642 0x15,
10643 0x16,
10644 0x17,
10645 0x18,
10646 0x19,
10647 0x1A,
10648 0x1C,
10649 0x1D,
10650 0x1F,
10651 0x21,
10652 0x22,
10653 0x24,
10654 0x26,
10655 0x28,
10656 0x2A,
10657 0x2C,
10658 0x2E,
10659 0x30,
10660 0x33,
10661 0x35,
10662 0x37,
10663 0x3A,
10664 0x3C,
10665 0x3F,
10666 0x41,
10667 0x44,
10668 0x46,
10669 0x49,
10670 0x4C,
10671 0x4F,
10672 0x51,
10673 0x54,
10674 0x57,
10675 0x5A,
10676 0x5D,
10677 0x61,
10678 0x64,
10679 0x67,
10680 0x6A,
10681 0x6E,
10682 0x71,
10683 0x75,
10684 0x78,
10685 0x7C,
10686 0x80,
10687 0x83,
10688 0x87,
10689 0x8B,
10690 0x8F,
10691 0x93,
10692 0x97,
10693 0x9B,
10694 0x9F,
10695 0xA3,
10696 0xA8,
10697 0xAC,
10698 0xB0,
10699 0xB5,
10700 0xB9,
10701 0xBE,
10702 0xC3,
10703 0xC7,
10704 0xCC,
10705 0xCE,
10706 0xD1,
10707 0xD3,
10708 0xD6,
10709 0xD8,
10710 0xDB,
10711 0xDD,
10712 0xE0,
10713 0xE2,
10714 0xE5,
10715 0xE7,
10716 0xEA,
10717 0xEC,
10718 0xEF,
10719 0xF2,
10720 0xF4,
10721 0xF7,
10722 0xFA,
10723 0xFC,
10724 0xFF
10725 },
10726
10727 Package (0x65)
10728 {
10729 0x03,
10730 0x04,
10731 0x05,
10732 0x06,
10733 0x07,
10734 0x08,
10735 0x09,
10736 0x0A,
10737 0x0B,
10738 0x0C,
10739 0x0D,
10740 0x0E,
10741 0x0F,
10742 0x10,
10743 0x11,
10744 0x12,
10745 0x13,
10746 0x14,
10747 0x15,
10748 0x16,
10749 0x17,
10750 0x18,
10751 0x19,
10752 0x1A,
10753 0x1B,
10754 0x1C,
10755 0x1D,
10756 0x1E,
10757 0x1F,
10758 0x20,
10759 0x21,
10760 0x22,
10761 0x23,
10762 0x25,
10763 0x26,
10764 0x28,
10765 0x2A,
10766 0x2C,
10767 0x2E,
10768 0x2F,
10769 0x31,
10770 0x33,
10771 0x35,
10772 0x37,
10773 0x3A,
10774 0x3C,
10775 0x3E,
10776 0x40,
10777 0x42,
10778 0x45,
10779 0x47,
10780 0x4A,
10781 0x4C,
10782 0x4E,
10783 0x51,
10784 0x54,
10785 0x56,
10786 0x59,
10787 0x5C,
10788 0x5E,
10789 0x61,
10790 0x64,
10791 0x67,
10792 0x6A,
10793 0x6D,
10794 0x70,
10795 0x73,
10796 0x76,
10797 0x79,
10798 0x7D,
10799 0x80,
10800 0x83,
10801 0x86,
10802 0x8A,
10803 0x8D,
10804 0x91,
10805 0x94,
10806 0x98,
10807 0x9C,
10808 0x9F,
10809 0xA3,
10810 0xA7,
10811 0xAB,
10812 0xAF,
10813 0xB4,
10814 0xB8,
10815 0xBC,
10816 0xC1,
10817 0xC5,
10818 0xCA,
10819 0xCE,
10820 0xD3,
10821 0xD8,
10822 0xDC,
10823 0xE1,
10824 0xE6,
10825 0xEB,
10826 0xF0,
10827 0xF5,
10828 0xFA,
10829 0xFF
10830 },
10831
10832 Package (0x65)
10833 {
10834 0x03,
10835 0x04,
10836 0x05,
10837 0x06,
10838 0x07,
10839 0x08,
10840 0x09,
10841 0x0A,
10842 0x0B,
10843 0x0C,
10844 0x0D,
10845 0x0E,
10846 0x0F,
10847 0x10,
10848 0x11,
10849 0x12,
10850 0x13,
10851 0x14,
10852 0x15,
10853 0x16,
10854 0x17,
10855 0x18,
10856 0x19,
10857 0x1A,
10858 0x1C,
10859 0x1D,
10860 0x1F,
10861 0x21,
10862 0x22,
10863 0x24,
10864 0x26,
10865 0x28,
10866 0x2A,
10867 0x2C,
10868 0x2E,
10869 0x30,
10870 0x33,
10871 0x35,
10872 0x37,
10873 0x3A,
10874 0x3C,
10875 0x3F,
10876 0x41,
10877 0x44,
10878 0x46,
10879 0x49,
10880 0x4C,
10881 0x4F,
10882 0x51,
10883 0x54,
10884 0x57,
10885 0x5A,
10886 0x5D,
10887 0x61,
10888 0x64,
10889 0x67,
10890 0x6A,
10891 0x6E,
10892 0x71,
10893 0x75,
10894 0x78,
10895 0x7C,
10896 0x80,
10897 0x83,
10898 0x87,
10899 0x8B,
10900 0x8F,
10901 0x93,
10902 0x97,
10903 0x9B,
10904 0x9F,
10905 0xA3,
10906 0xA8,
10907 0xAC,
10908 0xB0,
10909 0xB5,
10910 0xB9,
10911 0xBE,
10912 0xC3,
10913 0xC7,
10914 0xCC,
10915 0xCE,
10916 0xD1,
10917 0xD3,
10918 0xD6,
10919 0xD8,
10920 0xDB,
10921 0xDD,
10922 0xE0,
10923 0xE2,
10924 0xE5,
10925 0xE7,
10926 0xEA,
10927 0xEC,
10928 0xEF,
10929 0xF2,
10930 0xF4,
10931 0xF7,
10932 0xFA,
10933 0xFC,
10934 0xFF
10935 },
10936
10937 Package (0x65)
10938 {
10939 0x03,
10940 0x04,
10941 0x05,
10942 0x06,
10943 0x07,
10944 0x08,
10945 0x09,
10946 0x0A,
10947 0x0B,
10948 0x0C,
10949 0x0D,
10950 0x0E,
10951 0x0F,
10952 0x10,
10953 0x11,
10954 0x12,
10955 0x13,
10956 0x14,
10957 0x15,
10958 0x16,
10959 0x17,
10960 0x18,
10961 0x19,
10962 0x1A,
10963 0x1C,
10964 0x1D,
10965 0x1F,
10966 0x21,
10967 0x22,
10968 0x24,
10969 0x26,
10970 0x28,
10971 0x2A,
10972 0x2C,
10973 0x2E,
10974 0x30,
10975 0x33,
10976 0x35,
10977 0x37,
10978 0x3A,
10979 0x3C,
10980 0x3F,
10981 0x41,
10982 0x44,
10983 0x46,
10984 0x49,
10985 0x4C,
10986 0x4F,
10987 0x51,
10988 0x54,
10989 0x57,
10990 0x5A,
10991 0x5D,
10992 0x61,
10993 0x64,
10994 0x67,
10995 0x6A,
10996 0x6E,
10997 0x71,
10998 0x75,
10999 0x78,
11000 0x7C,
11001 0x80,
11002 0x83,
11003 0x87,
11004 0x8B,
11005 0x8F,
11006 0x93,
11007 0x97,
11008 0x9B,
11009 0x9F,
11010 0xA3,
11011 0xA8,
11012 0xAC,
11013 0xB0,
11014 0xB5,
11015 0xB9,
11016 0xBE,
11017 0xC3,
11018 0xC7,
11019 0xCC,
11020 0xCE,
11021 0xD1,
11022 0xD3,
11023 0xD6,
11024 0xD8,
11025 0xDB,
11026 0xDD,
11027 0xE0,
11028 0xE2,
11029 0xE5,
11030 0xE7,
11031 0xEA,
11032 0xEC,
11033 0xEF,
11034 0xF2,
11035 0xF4,
11036 0xF7,
11037 0xFA,
11038 0xFC,
11039 0xFF
11040 }
11041 })
11042 Method (_Q14, 0, NotSerialized) // _Qxx: EC Query
11043 {
11044 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x8000))
11045 {
11046 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1010)
11047 }
11048
11049 If (\NBCF)
11050 {
11051 If (\VIGD)
11052 {
11053 Notify (\_SB.PCI0.VID.LCD0, 0x86)
11054 }
11055 Else
11056 {
11057 Notify (\_SB.PCI0.PEG.VID.LCD0, 0x86)
11058 }
11059 }
11060 Else
11061 {
11062 Store (\BRLV, Local0)
11063 If (LNotEqual (Local0, 0x0F))
11064 {
11065 Increment (Local0)
11066 Store (Local0, \BRLV)
11067 }
11068
11069 If (\VIGD)
11070 {
11071 \UCMS (0x16)
11072 \_SB.PCI0.LPC.EC.BRNS ()
11073 }
11074 Else
11075 {
11076 \VBRC (Local0)
11077 }
11078
11079 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6050)
11080 }
11081 }
11082
11083 Method (_Q15, 0, NotSerialized) // _Qxx: EC Query
11084 {
11085 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00010000))
11086 {
11087 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1011)
11088 }
11089
11090 If (\NBCF)
11091 {
11092 If (\VIGD)
11093 {
11094 Notify (\_SB.PCI0.VID.LCD0, 0x87)
11095 }
11096 Else
11097 {
11098 Notify (\_SB.PCI0.PEG.VID.LCD0, 0x87)
11099 }
11100 }
11101 Else
11102 {
11103 Store (\BRLV, Local0)
11104 If (Local0)
11105 {
11106 Decrement (Local0)
11107 Store (Local0, \BRLV)
11108 }
11109
11110 If (\VIGD)
11111 {
11112 \UCMS (0x16)
11113 \_SB.PCI0.LPC.EC.BRNS ()
11114 }
11115 Else
11116 {
11117 \VBRC (Local0)
11118 }
11119
11120 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6050)
11121 }
11122
11123 Return (Zero)
11124 }
11125
11126 Method (BRNS, 0, NotSerialized)
11127 {
11128 Add (\BRLV, 0x02, Local0)
11129 Store (\BRTN, Local3)
11130 If (\_SB.PCI0.VID.DRDY)
11131 {
11132 If (LEqual (0x00, Local0))
11133 {
11134 Store (DerefOf (Index (DerefOf (Index (BRTB, Local3)), 0x14)),
11135 Local1)
11136 Store (DerefOf (Index (DerefOf (Index (BRTB, Local3)), 0x12)),
11137 Local2)
11138 }
11139 Else
11140 {
11141 Store (DerefOf (Index (DerefOf (Index (BRTB, Local3)), 0x15)),
11142 Local1)
11143 Store (DerefOf (Index (DerefOf (Index (BRTB, Local3)), 0x13)),
11144 Local2)
11145 }
11146
11147 Or (Local1, ShiftLeft (Local2, 0x09), Local2)
11148 \_SB.PCI0.VID.AINT (0x03, Local2)
11149 Store (DerefOf (Index (DerefOf (Index (BRTB, Local3)), Local0)),
11150 Local2)
11151 \_SB.PCI0.VID.AINT (0x01, Local2)
11152 }
11153 Else
11154 {
11155 \UCMS (0x12)
11156 }
11157 }
11158
11159 Method (BRCF, 1, NotSerialized)
11160 {
11161 If (LLess (Arg0, 0x00))
11162 {
11163 Return (0x00)
11164 }
11165
11166 If (LGreater (Arg0, 0x64))
11167 {
11168 Return (0x0F)
11169 }
11170
11171 Add (Arg0, 0x03, Local0)
11172 Multiply (Local0, 0x0F, Local0)
11173 Divide (Local0, 0x64, Local0, Local1)
11174 Return (Local1)
11175 }
11176
11177 Method (BRCD, 1, NotSerialized)
11178 {
11179 Store (DerefOf (Index (DerefOf (Index (BRTD, \BRTN)), Arg0)),
11180 Local0)
11181 Return (Local0)
11182 }
11183 }
11184
11185 Scope (\_SB.PCI0.LPC.EC)
11186 {
11187 Method (_Q19, 0, NotSerialized) // _Qxx: EC Query
11188 {
11189 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00800000))
11190 {
11191 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1018)
11192 }
11193
11194 \UCMS (0x03)
11195 }
11196 }
11197
11198 Scope (\_SB.PCI0.LPC.EC)
11199 {
11200 Method (_Q63, 0, NotSerialized) // _Qxx: EC Query
11201 {
11202 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00080000))
11203 {
11204 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1014)
11205 }
11206
11207 \UCMS (0x0B)
11208 }
11209 }
11210
11211 Scope (\_SB.PCI0.LPC.EC)
11212 {
11213 Method (_Q70, 0, NotSerialized) // _Qxx: EC Query
11214 {
11215 FNST ()
11216 }
11217
11218 Method (_Q72, 0, NotSerialized) // _Qxx: EC Query
11219 {
11220 FNST ()
11221 }
11222
11223 Method (_Q73, 0, NotSerialized) // _Qxx: EC Query
11224 {
11225 FNST ()
11226 }
11227
11228 Method (FNST, 0, NotSerialized)
11229 {
11230 If (\H8DR)
11231 {
11232 Store (HFNS, Local0)
11233 Store (HFNE, Local1)
11234 }
11235 Else
11236 {
11237 And (\RBEC (0x0E), 0x03, Local0)
11238 And (\RBEC (0x00), 0x08, Local1)
11239 }
11240
11241 If (Local1)
11242 {
11243 If (LEqual (Local0, 0x00))
11244 {
11245 \UCMS (0x11)
11246 }
11247
11248 If (LEqual (Local0, 0x01))
11249 {
11250 \UCMS (0x0F)
11251 }
11252
11253 If (LEqual (Local0, 0x02))
11254 {
11255 \UCMS (0x10)
11256 }
11257
11258 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6005)
11259 }
11260 }
11261 }
11262
11263 Scope (\_SB.PCI0.LPC.EC.HKEY)
11264 {
11265 Method (GHSL, 1, NotSerialized)
11266 {
11267 Return (\FNSC (0x00, 0x00))
11268 }
11269
11270 Method (SHSL, 1, NotSerialized)
11271 {
11272 Return (\FNSC (0x01, And (Arg0, 0x01)))
11273 }
11274 }
11275
11276 Scope (\_SB.PCI0.LPC.EC.HKEY)
11277 {
11278 Name (WGFL, 0x00)
11279 Method (WSIF, 0, NotSerialized)
11280 {
11281 Return (0x00)
11282 }
11283
11284 Method (WLSW, 0, NotSerialized)
11285 {
11286 Return (\_SB.PCI0.LPC.EC.GSTS)
11287 }
11288
11289 Method (GWAN, 0, NotSerialized)
11290 {
11291 Store (0x00, Local0)
11292 If (And (WGFL, 0x01))
11293 {
11294 Or (Local0, 0x01, Local0)
11295 }
11296
11297 If (And (WGFL, 0x08))
11298 {
11299 Return (Local0)
11300 }
11301
11302 If (WPWS ())
11303 {
11304 Or (Local0, 0x02, Local0)
11305 }
11306
11307 Or (Local0, 0x04, Local0)
11308 Return (Local0)
11309 }
11310
11311 Method (SWAN, 1, NotSerialized)
11312 {
11313 If (And (Arg0, 0x02))
11314 {
11315 WPWC (0x01)
11316 }
11317 Else
11318 {
11319 WPWC (0x00)
11320 }
11321 }
11322
11323 Method (GBDC, 0, NotSerialized)
11324 {
11325 Store (0x00, Local0)
11326 If (And (WGFL, 0x10))
11327 {
11328 Or (Local0, 0x01, Local0)
11329 }
11330
11331 If (And (WGFL, 0x80))
11332 {
11333 Return (Local0)
11334 }
11335
11336 If (BPWS ())
11337 {
11338 Or (Local0, 0x02, Local0)
11339 }
11340
11341 Or (Local0, 0x04, Local0)
11342 Return (Local0)
11343 }
11344
11345 Method (SBDC, 1, NotSerialized)
11346 {
11347 If (And (Arg0, 0x02))
11348 {
11349 BPWC (0x01)
11350 }
11351 Else
11352 {
11353 BPWC (0x00)
11354 }
11355 }
11356
11357 Method (WPWS, 0, NotSerialized)
11358 {
11359 If (\H8DR)
11360 {
11361 Store (\_SB.PCI0.LPC.EC.DCWW, Local0)
11362 }
11363 Else
11364 {
11365 Store (ShiftRight (And (\RBEC (0x3A), 0x40), 0x06), Local0)
11366 }
11367
11368 Return (Local0)
11369 }
11370
11371 Method (WPWC, 1, NotSerialized)
11372 {
11373 If (LAnd (Arg0, LAnd (And (WGFL, 0x01), LNot (And (
11374 WGFL, 0x08)))))
11375 {
11376 If (\H8DR)
11377 {
11378 Store (One, \_SB.PCI0.LPC.EC.DCWW)
11379 }
11380 Else
11381 {
11382 \MBEC (0x3A, 0xFF, 0x40)
11383 }
11384
11385 Or (WGFL, 0x02, WGFL)
11386 }
11387 Else
11388 {
11389 If (\H8DR)
11390 {
11391 Store (Zero, \_SB.PCI0.LPC.EC.DCWW)
11392 }
11393 Else
11394 {
11395 \MBEC (0x3A, 0xBF, 0x00)
11396 }
11397
11398 And (WGFL, Not (0x02), WGFL)
11399 }
11400 }
11401
11402 Method (BPWS, 0, NotSerialized)
11403 {
11404 If (\H8DR)
11405 {
11406 Store (\_SB.PCI0.LPC.EC.DCBD, Local0)
11407 }
11408 Else
11409 {
11410 Store (ShiftRight (And (\RBEC (0x3A), 0x10), 0x04), Local0)
11411 }
11412
11413 Return (Local0)
11414 }
11415
11416 Method (BPWC, 1, NotSerialized)
11417 {
11418 If (LAnd (Arg0, LAnd (And (WGFL, 0x10), LNot (And (
11419 WGFL, 0x80)))))
11420 {
11421 If (\H8DR)
11422 {
11423 Store (One, \_SB.PCI0.LPC.EC.DCBD)
11424 }
11425 Else
11426 {
11427 \MBEC (0x3A, 0xFF, 0x10)
11428 }
11429
11430 Or (WGFL, 0x20, WGFL)
11431 }
11432 Else
11433 {
11434 If (\H8DR)
11435 {
11436 Store (Zero, \_SB.PCI0.LPC.EC.DCBD)
11437 }
11438 Else
11439 {
11440 \MBEC (0x3A, 0xEF, 0x00)
11441 }
11442
11443 And (WGFL, Not (0x20), WGFL)
11444 }
11445 }
11446
11447 Method (WGIN, 0, NotSerialized)
11448 {
11449 Store (0x00, WGFL)
11450 Store (\WGSV (0x01), WGFL)
11451 If (\WIN8)
11452 {
11453 If (LAnd (WGFL, 0x10))
11454 {
11455 BPWC (0x01)
11456 }
11457 }
11458
11459 If (WPWS ())
11460 {
11461 Or (WGFL, 0x02, WGFL)
11462 }
11463
11464 If (BPWS ())
11465 {
11466 Or (WGFL, 0x20, WGFL)
11467 }
11468 }
11469
11470 Method (WGPS, 1, NotSerialized)
11471 {
11472 If (LGreaterEqual (Arg0, 0x04))
11473 {
11474 \BLTH (0x05)
11475 }
11476 }
11477
11478 Method (WGWK, 1, NotSerialized)
11479 {
11480 If (And (WGFL, 0x20))
11481 {
11482 BPWC (0x01)
11483 }
11484
11485 If (And (WGFL, 0x02))
11486 {
11487 WPWC (0x01)
11488 }
11489 }
11490 }
11491
11492 Scope (\_SB.PCI0.LPC.EC)
11493 {
11494 Method (_Q41, 0, NotSerialized) // _Qxx: EC Query
11495 {
11496 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x7000)
11497 If (\WIN8)
11498 {
11499 Notify (\_SB.PCI0.LPC.EC.WGSH, 0x80)
11500 }
11501 }
11502 }
11503
11504 Device (WMI1)
11505 {
11506 Name (_HID, EisaId ("PNP0C14")) // _HID: Hardware ID
11507 Name (_UID, 0x01) // _UID: Unique ID
11508 Name (_WDG, Buffer (0xB4)
11509 {
11510 /* 0000 */ 0x0E, 0x23, 0xF5, 0x51, 0x77, 0x96, 0xCD, 0x46,
11511 /* 0008 */ 0xA1, 0xCF, 0xC0, 0xB2, 0x3E, 0xE3, 0x4D, 0xB7,
11512 /* 0010 */ 0x41, 0x30, 0x50, 0x05, 0x64, 0x9A, 0x47, 0x98,
11513 /* 0018 */ 0xF5, 0x33, 0x33, 0x4E, 0xA7, 0x07, 0x8E, 0x25,
11514 /* 0020 */ 0x1E, 0xBB, 0xC3, 0xA1, 0x41, 0x31, 0x01, 0x06,
11515 /* 0028 */ 0xEF, 0x54, 0x4B, 0x6A, 0xED, 0xA5, 0x33, 0x4D,
11516 /* 0030 */ 0x94, 0x55, 0xB0, 0xD9, 0xB4, 0x8D, 0xF4, 0xB3,
11517 /* 0038 */ 0x41, 0x32, 0x01, 0x06, 0xB6, 0xEB, 0xF1, 0x74,
11518 /* 0040 */ 0x7A, 0x92, 0x7D, 0x4C, 0x95, 0xDF, 0x69, 0x8E,
11519 /* 0048 */ 0x21, 0xE8, 0x0E, 0xB5, 0x41, 0x33, 0x01, 0x06,
11520 /* 0050 */ 0xFF, 0x04, 0xEF, 0x7E, 0x28, 0x43, 0x7C, 0x44,
11521 /* 0058 */ 0xB5, 0xBB, 0xD4, 0x49, 0x92, 0x5D, 0x53, 0x8D,
11522 /* 0060 */ 0x41, 0x34, 0x01, 0x06, 0x9E, 0x15, 0xDB, 0x8A,
11523 /* 0068 */ 0x32, 0x1E, 0x5C, 0x45, 0xBC, 0x93, 0x30, 0x8A,
11524 /* 0070 */ 0x7E, 0xD9, 0x82, 0x46, 0x41, 0x35, 0x01, 0x01,
11525 /* 0078 */ 0xFD, 0xD9, 0x51, 0x26, 0x1C, 0x91, 0x69, 0x4B,
11526 /* 0080 */ 0xB9, 0x4E, 0xD0, 0xDE, 0xD5, 0x96, 0x3B, 0xD7,
11527 /* 0088 */ 0x41, 0x36, 0x01, 0x06, 0x1A, 0x65, 0x64, 0x73,
11528 /* 0090 */ 0x2F, 0x13, 0xE7, 0x4F, 0xAD, 0xAA, 0x40, 0xC6,
11529 /* 0098 */ 0xC7, 0xEE, 0x2E, 0x3B, 0x41, 0x37, 0x01, 0x06,
11530 /* 00A0 */ 0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11,
11531 /* 00A8 */ 0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10,
11532 /* 00B0 */ 0x42, 0x41, 0x01, 0x00
11533 })
11534 Name (RETN, Package (0x05)
11535 {
11536 "Success",
11537 "Not Supported",
11538 "Invalid Parameter",
11539 "Access Denied",
11540 "System Busy"
11541 })
11542 Name (ITEM, Package (0x51)
11543 {
11544 Package (0x02)
11545 {
11546 0x0E,
11547 "WakeOnLAN"
11548 },
11549
11550 Package (0x02)
11551 {
11552 0x00,
11553 "EthernetLANOptionROM"
11554 },
11555
11556 Package (0x02)
11557 {
11558 0x00,
11559 "USBBIOSSupport"
11560 },
11561
11562 Package (0x02)
11563 {
11564 0x00,
11565 "AlwaysOnUSB"
11566 },
11567
11568 Package (0x02)
11569 {
11570 0x01,
11571 "TrackPoint"
11572 },
11573
11574 Package (0x02)
11575 {
11576 0x01,
11577 "TouchPad"
11578 },
11579
11580 Package (0x02)
11581 {
11582 0x00,
11583 "FnKeyLock"
11584 },
11585
11586 Package (0x02)
11587 {
11588 0x04,
11589 "ThinkPadNumLock"
11590 },
11591
11592 Package (0x02)
11593 {
11594 0x0C,
11595 "PowerOnNumLock"
11596 },
11597
11598 Package (0x02)
11599 {
11600 0x05,
11601 "BootDisplayDevice"
11602 },
11603
11604 Package (0x02)
11605 {
11606 0x00,
11607 "SpeedStep"
11608 },
11609
11610 Package (0x02)
11611 {
11612 0x09,
11613 "AdaptiveThermalManagementAC"
11614 },
11615
11616 Package (0x02)
11617 {
11618 0x09,
11619 "AdaptiveThermalManagementBattery"
11620 },
11621
11622 Package (0x02)
11623 {
11624 0x06,
11625 "CDROMSpeed"
11626 },
11627
11628 Package (0x02)
11629 {
11630 0x01,
11631 "CPUPowerManagement"
11632 },
11633
11634 Package (0x02)
11635 {
11636 0x00,
11637 "PowerControlBeep"
11638 },
11639
11640 Package (0x02)
11641 {
11642 0x00,
11643 "LowBatteryAlarm"
11644 },
11645
11646 Package (0x02)
11647 {
11648 0x00,
11649 "PasswordBeep"
11650 },
11651
11652 Package (0x02)
11653 {
11654 0x00,
11655 "KeyboardBeep"
11656 },
11657
11658 Package (0x02)
11659 {
11660 0x00,
11661 "ExtendedMemoryTest"
11662 },
11663
11664 Package (0x02)
11665 {
11666 0x07,
11667 "SATAControllerMode"
11668 },
11669
11670 Package (0x02)
11671 {
11672 0x00,
11673 "CoreMultiProcessing"
11674 },
11675
11676 Package (0x02)
11677 {
11678 0x00,
11679 "VirtualizationTechnology"
11680 },
11681
11682 Package (0x02)
11683 {
11684 0x00,
11685 "LockBIOSSetting"
11686 },
11687
11688 Package (0x02)
11689 {
11690 0x0B,
11691 "MinimumPasswordLength"
11692 },
11693
11694 Package (0x02)
11695 {
11696 0x00,
11697 "BIOSPasswordAtUnattendedBoot"
11698 },
11699
11700 Package (0x02)
11701 {
11702 0x00,
11703 "FingerprintPredesktopAuthentication"
11704 },
11705
11706 Package (0x02)
11707 {
11708 0x08,
11709 "FingerprintReaderPriority"
11710 },
11711
11712 Package (0x02)
11713 {
11714 0x03,
11715 "FingerprintSecurityMode"
11716 },
11717
11718 Package (0x02)
11719 {
11720 0x02,
11721 "SecurityChip"
11722 },
11723
11724 Package (0x02)
11725 {
11726 0x00,
11727 "BIOSUpdateByEndUsers"
11728 },
11729
11730 Package (0x02)
11731 {
11732 0x00,
11733 "DataExecutionPrevention"
11734 },
11735
11736 Package (0x02)
11737 {
11738 0x00,
11739 "EthernetLANAccess"
11740 },
11741
11742 Package (0x02)
11743 {
11744 0x00,
11745 "WirelessLANAccess"
11746 },
11747
11748 Package (0x02)
11749 {
11750 0x00,
11751 "WirelessWANAccess"
11752 },
11753
11754 Package (0x02)
11755 {
11756 0x00,
11757 "BluetoothAccess"
11758 },
11759
11760 Package (0x02)
11761 {
11762 0x00,
11763 "WirelessUSBAccess"
11764 },
11765
11766 Package (0x02)
11767 {
11768 0x00,
11769 "ModemAccess"
11770 },
11771
11772 Package (0x02)
11773 {
11774 0x00,
11775 "USBPortAccess"
11776 },
11777
11778 Package (0x02)
11779 {
11780 0x00,
11781 "IEEE1394Access"
11782 },
11783
11784 Package (0x02)
11785 {
11786 0x00,
11787 "ExpressCardAccess"
11788 },
11789
11790 Package (0x02)
11791 {
11792 0x00,
11793 "PCIExpressSlotAccess"
11794 },
11795
11796 Package (0x02)
11797 {
11798 0x00,
11799 "UltrabayAccess"
11800 },
11801
11802 Package (0x02)
11803 {
11804 0x00,
11805 "MemoryCardSlotAccess"
11806 },
11807
11808 Package (0x02)
11809 {
11810 0x00,
11811 "SmartCardSlotAccess"
11812 },
11813
11814 Package (0x02)
11815 {
11816 0x00,
11817 "IntegratedCameraAccess"
11818 },
11819
11820 Package (0x02)
11821 {
11822 0x00,
11823 "MicrophoneAccess"
11824 },
11825
11826 Package (0x02)
11827 {
11828 0x0A,
11829 "BootMode"
11830 },
11831
11832 Package (0x02)
11833 {
11834 0x00,
11835 "StartupOptionKeys"
11836 },
11837
11838 Package (0x02)
11839 {
11840 0x00,
11841 "BootDeviceListF12Option"
11842 },
11843
11844 Package (0x02)
11845 {
11846 0x64,
11847 "BootOrder"
11848 },
11849
11850 Package (0x02)
11851 {
11852 0x00,
11853 "WiMAXAccess"
11854 },
11855
11856 Package (0x02)
11857 {
11858 0x0D,
11859 "GraphicsDevice"
11860 },
11861
11862 Package (0x02)
11863 {
11864 0x00,
11865 "TXTFeature"
11866 },
11867
11868 Package (0x02)
11869 {
11870 0x00,
11871 "VTdFeature"
11872 },
11873
11874 Package (0x02)
11875 {
11876 0x0F,
11877 "AMTControl"
11878 },
11879
11880 Package (0x02)
11881 {
11882 0x00,
11883 "FingerprintPasswordAuthentication"
11884 },
11885
11886 Package (0x02)
11887 {
11888 0x00,
11889 "FingerprintReaderAccess"
11890 },
11891
11892 Package (0x02)
11893 {
11894 0x00,
11895 "OsDetectionForSwitchableGraphics"
11896 },
11897
11898 Package (0x02)
11899 {
11900 0x0F,
11901 "ComputraceModuleActivation"
11902 },
11903
11904 Package (0x02)
11905 {
11906 0x01,
11907 "PCIExpressPowerManagement"
11908 },
11909
11910 Package (0x02)
11911 {
11912 0x0F,
11913 "ATpModuleActivation"
11914 },
11915
11916 Package (0x02)
11917 {
11918 0x00,
11919 "eSATAPortAccess"
11920 },
11921
11922 Package (0x02)
11923 {
11924 0x00,
11925 "HardwarePasswordManager"
11926 },
11927
11928 Package (0x02)
11929 {
11930 0x00,
11931 "HyperThreadingTechnology"
11932 },
11933
11934 Package (0x02)
11935 {
11936 0x00,
11937 "FnCtrlKeySwap"
11938 },
11939
11940 Package (0x02)
11941 {
11942 0x00,
11943 "BIOSPasswordAtReboot"
11944 },
11945
11946 Package (0x02)
11947 {
11948 0x00,
11949 "OnByAcAttach"
11950 },
11951
11952 Package (0x02)
11953 {
11954 0x64,
11955 "NetworkBoot"
11956 },
11957
11958 Package (0x02)
11959 {
11960 0x00,
11961 "BootOrderLock"
11962 },
11963
11964 Package (0x02)
11965 {
11966 0x10,
11967 "USB30Mode"
11968 },
11969
11970 Package (0x02)
11971 {
11972 0x11,
11973 "ExpressCardSpeed"
11974 },
11975
11976 Package (0x02)
11977 {
11978 0x00,
11979 "RapidStartTechnology"
11980 },
11981
11982 Package (0x02)
11983 {
11984 0x12,
11985 "KeyboardIllumination"
11986 },
11987
11988 Package (0x02)
11989 {
11990 0x00,
11991 "IPv4NetworkStack"
11992 },
11993
11994 Package (0x02)
11995 {
11996 0x00,
11997 "IPv6NetworkStack"
11998 },
11999
12000 Package (0x02)
12001 {
12002 0x13,
12003 "UefiPxeBootPriority"
12004 },
12005
12006 Package (0x02)
12007 {
12008 0x00,
12009 "PhysicalPresenceForTpmProvision"
12010 },
12011
12012 Package (0x02)
12013 {
12014 0x00,
12015 "PhysicalPresenceForTpmClear"
12016 },
12017
12018 Package (0x02)
12019 {
12020 0x00,
12021 "SecureRollBackPrevention"
12022 },
12023
12024 Package (0x02)
12025 {
12026 0x00,
12027 "SecureBoot"
12028 }
12029 })
12030 Name (VSEL, Package (0x14)
12031 {
12032 Package (0x02)
12033 {
12034 "Disable",
12035 "Enable"
12036 },
12037
12038 Package (0x02)
12039 {
12040 "Disable",
12041 "Automatic"
12042 },
12043
12044 Package (0x03)
12045 {
12046 "Active",
12047 "Inactive",
12048 "Disable"
12049 },
12050
12051 Package (0x02)
12052 {
12053 "Normal",
12054 "High"
12055 },
12056
12057 Package (0x02)
12058 {
12059 "Independent",
12060 "Synchronized"
12061 },
12062
12063 Package (0x05)
12064 {
12065 "LCD",
12066 "VGA",
12067 "Digital",
12068 "Digital1onDock",
12069 "Digital2onDock"
12070 },
12071
12072 Package (0x03)
12073 {
12074 "High",
12075 "Normal",
12076 "Silent"
12077 },
12078
12079 Package (0x02)
12080 {
12081 "Compatibility",
12082 "AHCI"
12083 },
12084
12085 Package (0x02)
12086 {
12087 "External",
12088 "InternalOnly"
12089 },
12090
12091 Package (0x02)
12092 {
12093 "MaximizePerformance",
12094 "Balanced"
12095 },
12096
12097 Package (0x02)
12098 {
12099 "Quick",
12100 "Diagnostics"
12101 },
12102
12103 Package (0x0A)
12104 {
12105 "Disable",
12106 "4",
12107 "5",
12108 "6",
12109 "7",
12110 "8",
12111 "9",
12112 "10",
12113 "11",
12114 "12"
12115 },
12116
12117 Package (0x03)
12118 {
12119 "Auto",
12120 "On",
12121 "Off"
12122 },
12123
12124 Package (0x03)
12125 {
12126 "IntegratedGfx",
12127 "DiscreteGfx",
12128 "SwitchableGfx"
12129 },
12130
12131 Package (0x04)
12132 {
12133 "Disable",
12134 "ACOnly",
12135 "ACandBattery",
12136 "Enable"
12137 },
12138
12139 Package (0x03)
12140 {
12141 "Disable",
12142 "Enable",
12143 "Disable"
12144 },
12145
12146 Package (0x03)
12147 {
12148 "Disable",
12149 "Enable",
12150 "Automatic"
12151 },
12152
12153 Package (0x02)
12154 {
12155 "Generation1",
12156 "Automatic"
12157 },
12158
12159 Package (0x03)
12160 {
12161 "ThinkLightOnly",
12162 "BacklightOnly",
12163 "Both"
12164 },
12165
12166 Package (0x02)
12167 {
12168 "IPv4First",
12169 "IPv6First"
12170 }
12171 })
12172 Name (VLST, Package (0x0F)
12173 {
12174 "HDD0",
12175 "HDD1",
12176 "HDD2",
12177 "HDD3",
12178 "HDD4",
12179 "PCILAN",
12180 "ATAPICD0",
12181 "ATAPICD1",
12182 "ATAPICD2",
12183 "USBFDD",
12184 "USBCD",
12185 "USBHDD",
12186 "OtherHDD",
12187 "OtherCD",
12188 "NODEV"
12189 })
12190 Name (PENC, Package (0x02)
12191 {
12192 "ascii",
12193 "scancode"
12194 })
12195 Name (PKBD, Package (0x03)
12196 {
12197 "us",
12198 "fr",
12199 "gr"
12200 })
12201 Name (PTYP, Package (0x08)
12202 {
12203 "pap",
12204 "pop",
12205 "uhdp1",
12206 "mhdp1",
12207 "uhdp2",
12208 "mhdp2",
12209 "uhdp3",
12210 "mhdp3"
12211 })
12212 Mutex (MWMI, 0x07)
12213 Name (PCFG, Buffer (0x18) {})
12214 Name (IBUF, Buffer (0x0100) {})
12215 Name (ILEN, 0x00)
12216 Name (PSTR, Buffer (0x81) {})
12217 Method (WQA0, 1, NotSerialized)
12218 {
12219 Acquire (MWMI, 0xFFFF)
12220 If (LNotEqual (\WMIS (0x00, Arg0), 0x00))
12221 {
12222 Release (MWMI)
12223 Return ("")
12224 }
12225
12226 Store (DerefOf (Index (ITEM, \WITM)), Local0)
12227 Store (DerefOf (Index (Local0, 0x00)), Local1)
12228 Store (DerefOf (Index (Local0, 0x01)), Local2)
12229 If (LLess (Local1, 0x64))
12230 {
12231 Concatenate (Local2, ",", Local6)
12232 Store (DerefOf (Index (VSEL, Local1)), Local3)
12233 Concatenate (Local6, DerefOf (Index (Local3, \WSEL)), Local7)
12234 }
12235 Else
12236 {
12237 Store (SizeOf (VLST), Local3)
12238 If (LLessEqual (\WLS0, Local3))
12239 {
12240 Concatenate (Local2, ",", Local7)
12241 Concatenate (Local7, DerefOf (Index (VLST, \WLS0)), Local2)
12242 }
12243
12244 If (LLessEqual (\WLS1, Local3))
12245 {
12246 Concatenate (Local2, ":", Local7)
12247 Concatenate (Local7, DerefOf (Index (VLST, \WLS1)), Local2)
12248 }
12249
12250 If (LLessEqual (\WLS2, Local3))
12251 {
12252 Concatenate (Local2, ":", Local7)
12253 Concatenate (Local7, DerefOf (Index (VLST, \WLS2)), Local2)
12254 }
12255
12256 If (LLessEqual (\WLS3, Local3))
12257 {
12258 Concatenate (Local2, ":", Local7)
12259 Concatenate (Local7, DerefOf (Index (VLST, \WLS3)), Local2)
12260 }
12261
12262 If (LLessEqual (\WLS4, Local3))
12263 {
12264 Concatenate (Local2, ":", Local7)
12265 Concatenate (Local7, DerefOf (Index (VLST, \WLS4)), Local2)
12266 }
12267
12268 If (LLessEqual (\WLS5, Local3))
12269 {
12270 Concatenate (Local2, ":", Local7)
12271 Concatenate (Local7, DerefOf (Index (VLST, \WLS5)), Local2)
12272 }
12273
12274 If (LLessEqual (\WLS6, Local3))
12275 {
12276 Concatenate (Local2, ":", Local7)
12277 Concatenate (Local7, DerefOf (Index (VLST, \WLS6)), Local2)
12278 }
12279
12280 If (LLessEqual (\WLS7, Local3))
12281 {
12282 Concatenate (Local2, ":", Local7)
12283 Concatenate (Local7, DerefOf (Index (VLST, \WLS7)), Local2)
12284 }
12285
12286 If (LLessEqual (\WLS8, Local3))
12287 {
12288 Concatenate (Local2, ":", Local7)
12289 Concatenate (Local7, DerefOf (Index (VLST, \WLS8)), Local2)
12290 }
12291
12292 If (LLessEqual (\WLS9, Local3))
12293 {
12294 Concatenate (Local2, ":", Local7)
12295 Concatenate (Local7, DerefOf (Index (VLST, \WLS9)), Local2)
12296 }
12297
12298 If (LLessEqual (\WLSA, Local3))
12299 {
12300 Concatenate (Local2, ":", Local7)
12301 Concatenate (Local7, DerefOf (Index (VLST, \WLSA)), Local2)
12302 }
12303
12304 If (LLessEqual (\WLSB, Local3))
12305 {
12306 Concatenate (Local2, ":", Local7)
12307 Concatenate (Local7, DerefOf (Index (VLST, \WLSB)), Local2)
12308 }
12309
12310 If (LLessEqual (\WLSC, Local3))
12311 {
12312 Concatenate (Local2, ":", Local7)
12313 Concatenate (Local7, DerefOf (Index (VLST, \WLSC)), Local2)
12314 }
12315
12316 If (LLessEqual (\WLSD, Local3))
12317 {
12318 Concatenate (Local2, ":", Local7)
12319 Concatenate (Local7, DerefOf (Index (VLST, \WLSD)), Local2)
12320 }
12321
12322 Store (Local2, Local7)
12323 }
12324
12325 Release (MWMI)
12326 Return (Local7)
12327 }
12328
12329 Method (WMA1, 3, NotSerialized)
12330 {
12331 Acquire (MWMI, 0xFFFF)
12332 If (LEqual (SizeOf (Arg2), 0x00))
12333 {
12334 Store (0x02, Local0)
12335 }
12336 Else
12337 {
12338 Store (CARG (Arg2), Local0)
12339 If (LEqual (Local0, 0x00))
12340 {
12341 Store (WSET (ITEM, VSEL), Local0)
12342 If (LEqual (Local0, 0x00))
12343 {
12344 Store (\WMIS (0x01, 0x00), Local0)
12345 }
12346 }
12347 }
12348
12349 Release (MWMI)
12350 Return (DerefOf (Index (RETN, Local0)))
12351 }
12352
12353 Method (WMA2, 3, NotSerialized)
12354 {
12355 Acquire (MWMI, 0xFFFF)
12356 Store (CARG (Arg2), Local0)
12357 If (LEqual (Local0, 0x00))
12358 {
12359 If (LNotEqual (ILEN, 0x00))
12360 {
12361 Store (CPAS (IBUF, 0x00), Local0)
12362 }
12363
12364 If (LEqual (Local0, 0x00))
12365 {
12366 Store (\WMIS (0x02, 0x00), Local0)
12367 }
12368 }
12369
12370 Release (MWMI)
12371 Return (DerefOf (Index (RETN, Local0)))
12372 }
12373
12374 Method (WMA3, 3, NotSerialized)
12375 {
12376 Acquire (MWMI, 0xFFFF)
12377 Store (CARG (Arg2), Local0)
12378 If (LEqual (Local0, 0x00))
12379 {
12380 If (LNotEqual (ILEN, 0x00))
12381 {
12382 Store (CPAS (IBUF, 0x00), Local0)
12383 }
12384
12385 If (LEqual (Local0, 0x00))
12386 {
12387 Store (\WMIS (0x03, 0x00), Local0)
12388 }
12389 }
12390
12391 Release (MWMI)
12392 Return (DerefOf (Index (RETN, Local0)))
12393 }
12394
12395 Method (WMA4, 3, NotSerialized)
12396 {
12397 Acquire (MWMI, 0xFFFF)
12398 Store (CARG (Arg2), Local0)
12399 If (LEqual (Local0, 0x00))
12400 {
12401 If (LNotEqual (ILEN, 0x00))
12402 {
12403 Store (CPAS (IBUF, 0x00), Local0)
12404 }
12405
12406 If (LEqual (Local0, 0x00))
12407 {
12408 Store (\WMIS (0x04, 0x00), Local0)
12409 }
12410 }
12411
12412 Release (MWMI)
12413 Return (DerefOf (Index (RETN, Local0)))
12414 }
12415
12416 Method (WQA5, 1, NotSerialized)
12417 {
12418 Acquire (MWMI, 0xFFFF)
12419 Store (\WMIS (0x05, 0x00), Local0)
12420 Store (\WSPM, Index (PCFG, 0x00))
12421 Store (\WSPS, Index (PCFG, 0x04))
12422 Store (\WSMN, Index (PCFG, 0x08))
12423 Store (\WSMX, Index (PCFG, 0x0C))
12424 Store (\WSEN, Index (PCFG, 0x10))
12425 Store (\WSKB, Index (PCFG, 0x14))
12426 Release (MWMI)
12427 Return (PCFG)
12428 }
12429
12430 Method (WMA6, 3, NotSerialized)
12431 {
12432 Acquire (MWMI, 0xFFFF)
12433 If (LEqual (SizeOf (Arg2), 0x00))
12434 {
12435 Store (0x02, Local0)
12436 }
12437 Else
12438 {
12439 Store (CARG (Arg2), Local0)
12440 If (LEqual (Local0, 0x00))
12441 {
12442 If (LNotEqual (ILEN, 0x00))
12443 {
12444 Store (SPAS (IBUF), Local0)
12445 }
12446
12447 If (LEqual (Local0, 0x00))
12448 {
12449 Store (\WMIS (0x06, 0x00), Local0)
12450 }
12451 }
12452 }
12453
12454 Release (MWMI)
12455 Return (DerefOf (Index (RETN, Local0)))
12456 }
12457
12458 Method (WMA7, 3, NotSerialized)
12459 {
12460 If (LEqual (SizeOf (Arg2), 0x00))
12461 {
12462 Return ("")
12463 }
12464
12465 Store (CARG (Arg2), Local0)
12466 If (LEqual (Local0, 0x00))
12467 {
12468 Store (GITM (IBUF, ITEM), Local1)
12469 If (LEqual (Local1, Ones))
12470 {
12471 Return ("")
12472 }
12473
12474 Store (DerefOf (Index (ITEM, Local1)), Local0)
12475 Store (DerefOf (Index (Local0, 0x00)), Local1)
12476 If (LLess (Local1, 0x64))
12477 {
12478 Store (DerefOf (Index (VSEL, Local1)), Local3)
12479 Store (DerefOf (Index (Local3, 0x00)), Local2)
12480 Store (SizeOf (Local3), Local4)
12481 Store (0x01, Local5)
12482 While (LLess (Local5, Local4))
12483 {
12484 Store (DerefOf (Index (Local3, Local5)), Local6)
12485 If (LNotEqual (SizeOf (Local6), 0x00))
12486 {
12487 Concatenate (Local2, ",", Local7)
12488 Concatenate (Local7, Local6, Local2)
12489 }
12490
12491 Increment (Local5)
12492 }
12493 }
12494 Else
12495 {
12496 Store (DerefOf (Index (VLST, 0x00)), Local2)
12497 Store (SizeOf (VLST), Local4)
12498 Store (0x01, Local5)
12499 While (LLess (Local5, Local4))
12500 {
12501 Store (DerefOf (Index (VLST, Local5)), Local6)
12502 Concatenate (Local2, ",", Local7)
12503 Concatenate (Local7, Local6, Local2)
12504 Increment (Local5)
12505 }
12506 }
12507 }
12508
12509 Return (Local2)
12510 }
12511
12512 Method (CARG, 1, NotSerialized)
12513 {
12514 Store (SizeOf (Arg0), Local0)
12515 If (LEqual (Local0, 0x00))
12516 {
12517 Store (0x00, IBUF)
12518 Store (0x00, ILEN)
12519 Return (0x00)
12520 }
12521
12522 If (LNotEqual (ObjectType (Arg0), 0x02))
12523 {
12524 Return (0x02)
12525 }
12526
12527 If (LGreaterEqual (Local0, 0xFF))
12528 {
12529 Return (0x02)
12530 }
12531
12532 Store (Arg0, IBUF)
12533 Decrement (Local0)
12534 Store (DerefOf (Index (IBUF, Local0)), Local1)
12535 If (LOr (LEqual (Local1, 0x3B), LEqual (Local1, 0x2A)))
12536 {
12537 Store (0x00, Index (IBUF, Local0))
12538 Store (Local0, ILEN)
12539 }
12540 Else
12541 {
12542 Store (SizeOf (Arg0), ILEN)
12543 }
12544
12545 Return (0x00)
12546 }
12547
12548 Method (SCMP, 3, NotSerialized)
12549 {
12550 Store (SizeOf (Arg0), Local0)
12551 If (LEqual (Local0, 0x00))
12552 {
12553 Return (0x00)
12554 }
12555
12556 Increment (Local0)
12557 Name (STR1, Buffer (Local0) {})
12558 Store (Arg0, STR1)
12559 Decrement (Local0)
12560 Store (0x00, Local1)
12561 Store (Arg2, Local2)
12562 While (LLess (Local1, Local0))
12563 {
12564 Store (DerefOf (Index (STR1, Local1)), Local3)
12565 Store (DerefOf (Index (Arg1, Local2)), Local4)
12566 If (LNotEqual (Local3, Local4))
12567 {
12568 Return (0x00)
12569 }
12570
12571 Increment (Local1)
12572 Increment (Local2)
12573 }
12574
12575 Store (DerefOf (Index (Arg1, Local2)), Local4)
12576 If (LEqual (Local4, 0x00))
12577 {
12578 Return (0x01)
12579 }
12580
12581 If (LOr (LEqual (Local4, 0x2C), LEqual (Local4, 0x3A)))
12582 {
12583 Return (0x01)
12584 }
12585
12586 Return (0x00)
12587 }
12588
12589 Method (GITM, 2, NotSerialized)
12590 {
12591 Store (0x00, Local0)
12592 Store (SizeOf (Arg1), Local1)
12593 While (LLess (Local0, Local1))
12594 {
12595 Store (DerefOf (Index (DerefOf (Index (Arg1, Local0)), 0x01)),
12596 Local3)
12597 If (SCMP (Local3, Arg0, 0x00))
12598 {
12599 Return (Local0)
12600 }
12601
12602 Increment (Local0)
12603 }
12604
12605 Return (Ones)
12606 }
12607
12608 Method (GSEL, 3, NotSerialized)
12609 {
12610 Store (0x00, Local0)
12611 Store (SizeOf (Arg0), Local1)
12612 While (LLess (Local0, Local1))
12613 {
12614 Store (DerefOf (Index (Arg0, Local0)), Local2)
12615 If (SCMP (Local2, Arg1, Arg2))
12616 {
12617 Return (Local0)
12618 }
12619
12620 Increment (Local0)
12621 }
12622
12623 Return (Ones)
12624 }
12625
12626 Method (SLEN, 2, NotSerialized)
12627 {
12628 Store (DerefOf (Index (Arg0, Arg1)), Local0)
12629 Return (SizeOf (Local0))
12630 }
12631
12632 Method (CLRP, 0, NotSerialized)
12633 {
12634 Store (0x00, \WPAS)
12635 Store (0x00, \WPNW)
12636 }
12637
12638 Method (GPAS, 2, NotSerialized)
12639 {
12640 Store (Arg1, Local0)
12641 Store (0x00, Local1)
12642 While (LLessEqual (Local1, 0x80))
12643 {
12644 Store (DerefOf (Index (Arg0, Local0)), Local2)
12645 If (LOr (LEqual (Local2, 0x2C), LEqual (Local2, 0x00)))
12646 {
12647 Store (0x00, Index (PSTR, Local1))
12648 Return (Local1)
12649 }
12650
12651 Store (Local2, Index (PSTR, Local1))
12652 Increment (Local0)
12653 Increment (Local1)
12654 }
12655
12656 Store (0x00, Index (PSTR, Local1))
12657 Return (Ones)
12658 }
12659
12660 Method (CPAS, 2, NotSerialized)
12661 {
12662 CLRP ()
12663 Store (Arg1, Local0)
12664 Store (GPAS (Arg0, Local0), Local1)
12665 If (LEqual (Local1, Ones))
12666 {
12667 Return (0x02)
12668 }
12669
12670 If (LEqual (Local1, 0x00))
12671 {
12672 Return (0x02)
12673 }
12674
12675 Store (PSTR, \WPAS)
12676 Add (Local0, Local1, Local0)
12677 Increment (Local0)
12678 Store (GSEL (PENC, Arg0, Local0), Local6)
12679 If (LEqual (Local6, Ones))
12680 {
12681 Return (0x02)
12682 }
12683
12684 Store (Local6, \WENC)
12685 If (LEqual (Local6, 0x00))
12686 {
12687 Add (Local0, SLEN (PENC, 0x00), Local0)
12688 If (LNotEqual (DerefOf (Index (Arg0, Local0)), 0x2C))
12689 {
12690 Return (0x02)
12691 }
12692
12693 Increment (Local0)
12694 Store (GSEL (PKBD, Arg0, Local0), Local6)
12695 If (LEqual (Local6, Ones))
12696 {
12697 Return (0x02)
12698 }
12699
12700 Store (Local6, \WKBD)
12701 }
12702
12703 Return (0x00)
12704 }
12705
12706 Method (SPAS, 1, NotSerialized)
12707 {
12708 CLRP ()
12709 Store (GSEL (PTYP, Arg0, 0x00), Local6)
12710 If (LEqual (Local6, Ones))
12711 {
12712 Return (0x02)
12713 }
12714
12715 Store (Local6, \WPTY)
12716 Store (SLEN (PTYP, Local6), Local0)
12717 If (LNotEqual (DerefOf (Index (Arg0, Local0)), 0x2C))
12718 {
12719 Return (0x02)
12720 }
12721
12722 Increment (Local0)
12723 Store (GPAS (Arg0, Local0), Local1)
12724 If (LOr (LEqual (Local1, Ones), LEqual (Local1, 0x00)))
12725 {
12726 Return (0x02)
12727 }
12728
12729 Store (PSTR, \WPAS)
12730 Add (Local0, Local1, Local0)
12731 If (LNotEqual (DerefOf (Index (Arg0, Local0)), 0x2C))
12732 {
12733 Return (0x02)
12734 }
12735
12736 Increment (Local0)
12737 Store (GPAS (Arg0, Local0), Local1)
12738 If (LEqual (Local1, Ones))
12739 {
12740 Return (0x02)
12741 }
12742
12743 If (LEqual (Local1, 0x00))
12744 {
12745 Store (0x00, PSTR)
12746 }
12747
12748 Store (PSTR, \WPNW)
12749 Add (Local0, Local1, Local0)
12750 Increment (Local0)
12751 Store (GSEL (PENC, Arg0, Local0), Local6)
12752 If (LEqual (Local6, Ones))
12753 {
12754 Return (0x02)
12755 }
12756
12757 Store (Local6, \WENC)
12758 If (LEqual (Local6, 0x00))
12759 {
12760 Add (Local0, SLEN (PENC, 0x00), Local0)
12761 If (LNotEqual (DerefOf (Index (Arg0, Local0)), 0x2C))
12762 {
12763 Return (0x02)
12764 }
12765
12766 Increment (Local0)
12767 Store (GSEL (PKBD, Arg0, Local0), Local6)
12768 If (LEqual (Local6, Ones))
12769 {
12770 Return (0x02)
12771 }
12772
12773 Store (Local6, \WKBD)
12774 }
12775
12776 Return (0x00)
12777 }
12778
12779 Method (WSET, 2, NotSerialized)
12780 {
12781 Store (ILEN, Local0)
12782 Increment (Local0)
12783 Store (GITM (IBUF, Arg0), Local1)
12784 If (LEqual (Local1, Ones))
12785 {
12786 Return (0x02)
12787 }
12788
12789 Store (Local1, \WITM)
12790 Store (DerefOf (Index (Arg0, Local1)), Local3)
12791 Store (DerefOf (Index (Local3, 0x01)), Local4)
12792 Store (SizeOf (Local4), Local2)
12793 Increment (Local2)
12794 Store (DerefOf (Index (Local3, 0x00)), Local4)
12795 If (LLess (Local4, 0x64))
12796 {
12797 Store (DerefOf (Index (Arg1, Local4)), Local5)
12798 Store (GSEL (Local5, IBUF, Local2), Local6)
12799 If (LEqual (Local6, Ones))
12800 {
12801 Return (0x02)
12802 }
12803
12804 Store (Local6, \WSEL)
12805 Add (Local2, SLEN (Local5, Local6), Local2)
12806 Store (DerefOf (Index (IBUF, Local2)), Local4)
12807 }
12808 Else
12809 {
12810 Store (0x3F, \WLS0)
12811 Store (0x3F, \WLS1)
12812 Store (0x3F, \WLS2)
12813 Store (0x3F, \WLS3)
12814 Store (0x3F, \WLS4)
12815 Store (0x3F, \WLS5)
12816 Store (0x3F, \WLS6)
12817 Store (0x3F, \WLS7)
12818 Store (0x3F, \WLS8)
12819 Store (0x3F, \WLS9)
12820 Store (0x3F, \WLSA)
12821 Store (0x3F, \WLSB)
12822 Store (0x3F, \WLSC)
12823 Store (0x3F, \WLSD)
12824 Store (GSEL (VLST, IBUF, Local2), Local6)
12825 If (LEqual (Local6, Ones))
12826 {
12827 Return (0x02)
12828 }
12829
12830 Store (Local6, \WLS0)
12831 Add (Local2, SLEN (VLST, Local6), Local2)
12832 Store (DerefOf (Index (IBUF, Local2)), Local4)
12833 If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12834 {
12835 Increment (Local2)
12836 Store (GSEL (VLST, IBUF, Local2), Local6)
12837 If (LEqual (Local6, Ones))
12838 {
12839 Return (0x02)
12840 }
12841
12842 Store (Local6, \WLS1)
12843 Add (Local2, SLEN (VLST, Local6), Local2)
12844 Store (DerefOf (Index (IBUF, Local2)), Local4)
12845 }
12846
12847 If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12848 {
12849 Increment (Local2)
12850 Store (GSEL (VLST, IBUF, Local2), Local6)
12851 If (LEqual (Local6, Ones))
12852 {
12853 Return (0x02)
12854 }
12855
12856 Store (Local6, \WLS2)
12857 Add (Local2, SLEN (VLST, Local6), Local2)
12858 Store (DerefOf (Index (IBUF, Local2)), Local4)
12859 }
12860
12861 If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12862 {
12863 Increment (Local2)
12864 Store (GSEL (VLST, IBUF, Local2), Local6)
12865 If (LEqual (Local6, Ones))
12866 {
12867 Return (0x02)
12868 }
12869
12870 Store (Local6, \WLS3)
12871 Add (Local2, SLEN (VLST, Local6), Local2)
12872 Store (DerefOf (Index (IBUF, Local2)), Local4)
12873 }
12874
12875 If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12876 {
12877 Increment (Local2)
12878 Store (GSEL (VLST, IBUF, Local2), Local6)
12879 If (LEqual (Local6, Ones))
12880 {
12881 Return (0x02)
12882 }
12883
12884 Store (Local6, \WLS4)
12885 Add (Local2, SLEN (VLST, Local6), Local2)
12886 Store (DerefOf (Index (IBUF, Local2)), Local4)
12887 }
12888
12889 If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12890 {
12891 Increment (Local2)
12892 Store (GSEL (VLST, IBUF, Local2), Local6)
12893 If (LEqual (Local6, Ones))
12894 {
12895 Return (0x02)
12896 }
12897
12898 Store (Local6, \WLS5)
12899 Add (Local2, SLEN (VLST, Local6), Local2)
12900 Store (DerefOf (Index (IBUF, Local2)), Local4)
12901 }
12902
12903 If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12904 {
12905 Increment (Local2)
12906 Store (GSEL (VLST, IBUF, Local2), Local6)
12907 If (LEqual (Local6, Ones))
12908 {
12909 Return (0x02)
12910 }
12911
12912 Store (Local6, \WLS6)
12913 Add (Local2, SLEN (VLST, Local6), Local2)
12914 Store (DerefOf (Index (IBUF, Local2)), Local4)
12915 }
12916
12917 If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12918 {
12919 Increment (Local2)
12920 Store (GSEL (VLST, IBUF, Local2), Local6)
12921 If (LEqual (Local6, Ones))
12922 {
12923 Return (0x02)
12924 }
12925
12926 Store (Local6, \WLS7)
12927 Add (Local2, SLEN (VLST, Local6), Local2)
12928 Store (DerefOf (Index (IBUF, Local2)), Local4)
12929 }
12930
12931 If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12932 {
12933 Increment (Local2)
12934 Store (GSEL (VLST, IBUF, Local2), Local6)
12935 If (LEqual (Local6, Ones))
12936 {
12937 Return (0x02)
12938 }
12939
12940 Store (Local6, \WLS8)
12941 Add (Local2, SLEN (VLST, Local6), Local2)
12942 Store (DerefOf (Index (IBUF, Local2)), Local4)
12943 }
12944
12945 If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12946 {
12947 Increment (Local2)
12948 Store (GSEL (VLST, IBUF, Local2), Local6)
12949 If (LEqual (Local6, Ones))
12950 {
12951 Return (0x02)
12952 }
12953
12954 Store (Local6, \WLS9)
12955 Add (Local2, SLEN (VLST, Local6), Local2)
12956 Store (DerefOf (Index (IBUF, Local2)), Local4)
12957 }
12958
12959 If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12960 {
12961 Increment (Local2)
12962 Store (GSEL (VLST, IBUF, Local2), Local6)
12963 If (LEqual (Local6, Ones))
12964 {
12965 Return (0x02)
12966 }
12967
12968 Store (Local6, \WLSA)
12969 Add (Local2, SLEN (VLST, Local6), Local2)
12970 Store (DerefOf (Index (IBUF, Local2)), Local4)
12971 }
12972
12973 If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12974 {
12975 Increment (Local2)
12976 Store (GSEL (VLST, IBUF, Local2), Local6)
12977 If (LEqual (Local6, Ones))
12978 {
12979 Return (0x02)
12980 }
12981
12982 Store (Local6, \WLSB)
12983 Add (Local2, SLEN (VLST, Local6), Local2)
12984 Store (DerefOf (Index (IBUF, Local2)), Local4)
12985 }
12986
12987 If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12988 {
12989 Increment (Local2)
12990 Store (GSEL (VLST, IBUF, Local2), Local6)
12991 If (LEqual (Local6, Ones))
12992 {
12993 Return (0x02)
12994 }
12995
12996 Store (Local6, \WLSC)
12997 Add (Local2, SLEN (VLST, Local6), Local2)
12998 Store (DerefOf (Index (IBUF, Local2)), Local4)
12999 }
13000
13001 If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
13002 {
13003 Increment (Local2)
13004 Store (GSEL (VLST, IBUF, Local2), Local6)
13005 If (LEqual (Local6, Ones))
13006 {
13007 Return (0x02)
13008 }
13009
13010 Store (Local6, \WLSD)
13011 Add (Local2, SLEN (VLST, Local6), Local2)
13012 Store (DerefOf (Index (IBUF, Local2)), Local4)
13013 }
13014 }
13015
13016 If (LAnd (LEqual (Local4, 0x2C), LLess (Local2, Local0)))
13017 {
13018 Increment (Local2)
13019 Store (CPAS (IBUF, Local2), Local0)
13020 If (LNotEqual (Local0, 0x00))
13021 {
13022 Return (Local0)
13023 }
13024 }
13025
13026 Return (0x00)
13027 }
13028
13029 Name (WQBA, Buffer (0x089D)
13030 {
13031 /* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,
13032 /* 0008 */ 0x8D, 0x08, 0x00, 0x00, 0xF2, 0x36, 0x00, 0x00,
13033 /* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,
13034 /* 0018 */ 0xA8, 0xC9, 0x9A, 0x00, 0x01, 0x06, 0x18, 0x42,
13035 /* 0020 */ 0x10, 0x13, 0x10, 0x0A, 0x0D, 0x21, 0x02, 0x0B,
13036 /* 0028 */ 0x83, 0x50, 0x4C, 0x18, 0x14, 0xA0, 0x45, 0x41,
13037 /* 0030 */ 0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02,
13038 /* 0038 */ 0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5,
13039 /* 0040 */ 0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F,
13040 /* 0048 */ 0x31, 0x0E, 0x88, 0x14, 0x40, 0x48, 0x26, 0x84,
13041 /* 0050 */ 0x44, 0x00, 0x53, 0x21, 0x70, 0x84, 0xA0, 0x5F,
13042 /* 0058 */ 0x01, 0x08, 0x1D, 0xA2, 0xC9, 0xA0, 0x00, 0xA7,
13043 /* 0060 */ 0x08, 0x82, 0xB4, 0x65, 0x01, 0xBA, 0x05, 0xF8,
13044 /* 0068 */ 0x16, 0xA0, 0x1D, 0x42, 0x68, 0x15, 0x0A, 0x30,
13045 /* 0070 */ 0x29, 0xC0, 0x27, 0x98, 0x2C, 0x0A, 0x90, 0x0D,
13046 /* 0078 */ 0x26, 0xDB, 0x70, 0x64, 0x18, 0x4C, 0xE4, 0x18,
13047 /* 0080 */ 0x50, 0x62, 0xC6, 0x80, 0xD2, 0x39, 0x05, 0xD9,
13048 /* 0088 */ 0x04, 0x16, 0x74, 0xA1, 0x28, 0x9A, 0x46, 0x94,
13049 /* 0090 */ 0x04, 0x07, 0x75, 0x0C, 0x11, 0x82, 0x97, 0x2B,
13050 /* 0098 */ 0x40, 0xF2, 0x04, 0xA4, 0x79, 0x5E, 0xB2, 0x3E,
13051 /* 00A0 */ 0x08, 0x0D, 0x81, 0x8D, 0x80, 0x47, 0x91, 0x00,
13052 /* 00A8 */ 0xC2, 0x62, 0x2C, 0x53, 0xE2, 0x61, 0x50, 0x1E,
13053 /* 00B0 */ 0x40, 0x24, 0x67, 0xA8, 0x28, 0x60, 0x7B, 0x9D,
13054 /* 00B8 */ 0x88, 0x86, 0x75, 0x9C, 0x4C, 0x12, 0x1C, 0x6A,
13055 /* 00C0 */ 0x94, 0x96, 0x28, 0xC0, 0xFC, 0xC8, 0x34, 0x91,
13056 /* 00C8 */ 0x63, 0x6B, 0x7A, 0xC4, 0x82, 0x64, 0xD2, 0x86,
13057 /* 00D0 */ 0x82, 0x1A, 0xBA, 0xA7, 0x75, 0x52, 0x9E, 0x68,
13058 /* 00D8 */ 0xC4, 0x83, 0x32, 0x4C, 0x02, 0x8F, 0x82, 0xA1,
13059 /* 00E0 */ 0x71, 0x82, 0xB2, 0x20, 0xE4, 0x60, 0xA0, 0x28,
13060 /* 00E8 */ 0xC0, 0x93, 0xF0, 0x1C, 0x8B, 0x17, 0x20, 0x7C,
13061 /* 00F0 */ 0xC6, 0xE4, 0x28, 0x10, 0x23, 0x81, 0x8F, 0x04,
13062 /* 00F8 */ 0x1E, 0xCD, 0x31, 0x63, 0x81, 0xC2, 0x05, 0x3C,
13063 /* 0100 */ 0x9F, 0x63, 0x88, 0x1C, 0xF7, 0x50, 0x63, 0x1C,
13064 /* 0108 */ 0x45, 0xE4, 0x04, 0xEF, 0x00, 0x51, 0x8C, 0x56,
13065 /* 0110 */ 0xD0, 0xBC, 0x85, 0x18, 0x2C, 0x9A, 0xC1, 0x7A,
13066 /* 0118 */ 0x06, 0x27, 0x83, 0x4E, 0xF0, 0xFF, 0x3F, 0x02,
13067 /* 0120 */ 0x2E, 0x03, 0x42, 0x1E, 0x05, 0x58, 0x1D, 0x94,
13068 /* 0128 */ 0xA6, 0x61, 0x82, 0xEE, 0x05, 0xBC, 0x1A, 0x1A,
13069 /* 0130 */ 0x13, 0xA0, 0x11, 0x43, 0xCA, 0x04, 0x38, 0xBB,
13070 /* 0138 */ 0x2F, 0x68, 0x46, 0x6D, 0x09, 0x30, 0x27, 0x40,
13071 /* 0140 */ 0x9B, 0x00, 0x6F, 0x08, 0x42, 0x39, 0xCF, 0x28,
13072 /* 0148 */ 0xC7, 0x72, 0x8A, 0x51, 0x1E, 0x06, 0x62, 0xBE,
13073 /* 0150 */ 0x0C, 0x04, 0x8D, 0x12, 0x23, 0xE6, 0xB9, 0xC4,
13074 /* 0158 */ 0x35, 0x6C, 0x84, 0x18, 0x21, 0x4F, 0x21, 0x50,
13075 /* 0160 */ 0xDC, 0xF6, 0x07, 0x41, 0x06, 0x8D, 0x1B, 0xBD,
13076 /* 0168 */ 0x4F, 0x0B, 0x67, 0x75, 0x02, 0x47, 0xFF, 0xA4,
13077 /* 0170 */ 0x60, 0x02, 0x4F, 0xF9, 0xC0, 0x9E, 0x0D, 0x4E,
13078 /* 0178 */ 0xE0, 0x58, 0xA3, 0xC6, 0x38, 0x95, 0x04, 0x8E,
13079 /* 0180 */ 0xFD, 0x80, 0x90, 0x06, 0x10, 0x45, 0x82, 0x47,
13080 /* 0188 */ 0x9D, 0x16, 0x7C, 0x2E, 0xF0, 0xD0, 0x0E, 0xDA,
13081 /* 0190 */ 0x73, 0x3C, 0x81, 0x20, 0x87, 0x70, 0x04, 0x4F,
13082 /* 0198 */ 0x0C, 0x0F, 0x04, 0x1E, 0x03, 0xBB, 0x29, 0xF8,
13083 /* 01A0 */ 0x08, 0xE0, 0x13, 0x02, 0xDE, 0x35, 0xA0, 0xAE,
13084 /* 01A8 */ 0x06, 0x0F, 0x06, 0x6C, 0xD0, 0xE1, 0x30, 0xE3,
13085 /* 01B0 */ 0xF5, 0xF0, 0xC3, 0x9D, 0xC0, 0x49, 0x3E, 0x60,
13086 /* 01B8 */ 0xF0, 0xC3, 0x86, 0x07, 0x87, 0x9B, 0xE7, 0xC9,
13087 /* 01C0 */ 0x1C, 0x59, 0xA9, 0x02, 0xCC, 0x1E, 0x0E, 0x74,
13088 /* 01C8 */ 0x90, 0xF0, 0x69, 0x83, 0x9D, 0x01, 0x30, 0xF2,
13089 /* 01D0 */ 0x07, 0x81, 0x1A, 0x99, 0xA1, 0x3D, 0xEE, 0x97,
13090 /* 01D8 */ 0x0E, 0x43, 0x3E, 0x27, 0x1C, 0x16, 0x13, 0x7B,
13091 /* 01E0 */ 0xEA, 0xA0, 0xE3, 0x01, 0xFF, 0x65, 0xE4, 0x39,
13092 /* 01E8 */ 0xC3, 0xD3, 0xF7, 0x7C, 0x4D, 0x30, 0xEC, 0xC0,
13093 /* 01F0 */ 0xD1, 0x03, 0x31, 0xF4, 0xC3, 0xC6, 0x61, 0x9C,
13094 /* 01F8 */ 0x86, 0xEF, 0x1F, 0x3E, 0x2F, 0xC0, 0x38, 0x05,
13095 /* 0200 */ 0x78, 0xE4, 0xFE, 0xFF, 0x1F, 0x52, 0x7C, 0x9A,
13096 /* 0208 */ 0xE0, 0x47, 0x0B, 0x9F, 0x26, 0xD8, 0xF5, 0xE0,
13097 /* 0210 */ 0x34, 0x9E, 0x03, 0x3C, 0x9C, 0xB3, 0xF2, 0x61,
13098 /* 0218 */ 0x02, 0x6C, 0xF7, 0x13, 0x36, 0xA2, 0x77, 0x0B,
13099 /* 0220 */ 0x8F, 0x06, 0x7B, 0x0A, 0x00, 0xDF, 0xF9, 0x05,
13100 /* 0228 */ 0x9C, 0x77, 0x0D, 0x36, 0x58, 0x18, 0xE7, 0x17,
13101 /* 0230 */ 0xE0, 0x71, 0x42, 0xF0, 0x10, 0xF8, 0x41, 0xC2,
13102 /* 0238 */ 0x43, 0xE0, 0x03, 0x78, 0xFE, 0x38, 0x43, 0x2B,
13103 /* 0240 */ 0x9D, 0x17, 0x72, 0x60, 0xF0, 0xCE, 0x39, 0x30,
13104 /* 0248 */ 0x46, 0xC1, 0xF3, 0x3C, 0x36, 0x4C, 0xA0, 0x20,
13105 /* 0250 */ 0xAF, 0x01, 0x85, 0x7A, 0x16, 0x50, 0x18, 0x9F,
13106 /* 0258 */ 0x6A, 0x80, 0xD7, 0xFF, 0xFF, 0x54, 0x03, 0x5C,
13107 /* 0260 */ 0x0E, 0x07, 0xB8, 0x93, 0x03, 0xDC, 0x7B, 0x01,
13108 /* 0268 */ 0xBB, 0x38, 0x3C, 0xD7, 0xC0, 0x15, 0x7D, 0xAE,
13109 /* 0270 */ 0x81, 0x7A, 0x6F, 0x29, 0x6E, 0x8C, 0xBA, 0xC6,
13110 /* 0278 */ 0x04, 0x79, 0x14, 0x78, 0xA4, 0x89, 0xF2, 0x3C,
13111 /* 0280 */ 0xF3, 0x2E, 0x13, 0xE1, 0xD9, 0xC6, 0xD7, 0x1A,
13112 /* 0288 */ 0x4F, 0x21, 0x8E, 0xAF, 0x35, 0x46, 0x7C, 0x99,
13113 /* 0290 */ 0x78, 0xB7, 0x31, 0xEE, 0xC1, 0x3D, 0xD6, 0x3C,
13114 /* 0298 */ 0xE4, 0x18, 0xE4, 0x68, 0x22, 0xBC, 0x18, 0x04,
13115 /* 02A0 */ 0x7C, 0xBC, 0xF1, 0xB1, 0x06, 0xBC, 0x62, 0x5E,
13116 /* 02A8 */ 0x28, 0xB2, 0x70, 0xAC, 0x01, 0x34, 0xFE, 0xFF,
13117 /* 02B0 */ 0x8F, 0x35, 0xC0, 0x0D, 0xEB, 0x01, 0x05, 0x7C,
13118 /* 02B8 */ 0x47, 0x06, 0x76, 0x43, 0x81, 0x77, 0x42, 0x01,
13119 /* 02C0 */ 0xFC, 0x24, 0x7E, 0x01, 0xE8, 0xC8, 0xE1, 0xB4,
13120 /* 02C8 */ 0x20, 0xB2, 0xF1, 0x06, 0xF0, 0x29, 0x80, 0xAA,
13121 /* 02D0 */ 0x01, 0xD2, 0x34, 0x61, 0x13, 0x4C, 0x4F, 0x2E,
13122 /* 02D8 */ 0x78, 0x1F, 0x09, 0x9C, 0x9B, 0x44, 0xC9, 0x87,
13123 /* 02E0 */ 0x45, 0xE1, 0x9C, 0xF5, 0x20, 0x42, 0x41, 0x0C,
13124 /* 02E8 */ 0xE8, 0x20, 0xC7, 0x09, 0xF4, 0x19, 0xC5, 0x07,
13125 /* 02F0 */ 0x91, 0x13, 0x7D, 0x22, 0xF4, 0xA0, 0x3C, 0x8C,
13126 /* 02F8 */ 0x77, 0x14, 0x76, 0x02, 0xF1, 0x61, 0xC2, 0x63,
13127 /* 0300 */ 0xF7, 0x31, 0x81, 0xFF, 0x63, 0x3C, 0x1B, 0xA3,
13128 /* 0308 */ 0x5B, 0x0D, 0x86, 0xFE, 0xFF, 0xE7, 0x14, 0x0E,
13129 /* 0310 */ 0xE6, 0x83, 0x08, 0x27, 0xA8, 0xEB, 0x26, 0x01,
13130 /* 0318 */ 0x32, 0x7D, 0x47, 0x05, 0x50, 0x00, 0xF9, 0x5E,
13131 /* 0320 */ 0xE0, 0x73, 0xC0, 0xB3, 0x01, 0x1B, 0xC3, 0xA3,
13132 /* 0328 */ 0x80, 0xD1, 0x8C, 0xCE, 0xC3, 0x4F, 0x16, 0x15,
13133 /* 0330 */ 0x77, 0xB2, 0x14, 0xC4, 0x93, 0x75, 0x94, 0xC9,
13134 /* 0338 */ 0xA2, 0x67, 0xE2, 0x7B, 0x85, 0x67, 0xF4, 0xA6,
13135 /* 0340 */ 0xE5, 0x39, 0x7A, 0xC2, 0xBE, 0x87, 0xC0, 0x3A,
13136 /* 0348 */ 0x0C, 0x84, 0x7C, 0x30, 0xF0, 0x34, 0x0C, 0xE7,
13137 /* 0350 */ 0xC9, 0x72, 0x38, 0x4F, 0x96, 0x8F, 0xC5, 0xD7,
13138 /* 0358 */ 0x10, 0xF0, 0x09, 0x9C, 0x2D, 0xC8, 0xE1, 0x31,
13139 /* 0360 */ 0xB1, 0x46, 0x45, 0xAF, 0x42, 0x1E, 0x1E, 0xBF,
13140 /* 0368 */ 0x1C, 0x78, 0x3E, 0xCF, 0x08, 0x47, 0xF9, 0x24,
13141 /* 0370 */ 0x81, 0xC3, 0x78, 0x26, 0xF1, 0x10, 0x7D, 0x2B,
13142 /* 0378 */ 0x82, 0x35, 0x91, 0x93, 0xF6, 0x6D, 0xE1, 0x64,
13143 /* 0380 */ 0x83, 0xBE, 0x9E, 0x61, 0x6E, 0x45, 0xB0, 0xFF,
13144 /* 0388 */ 0xFF, 0xB7, 0x22, 0x38, 0x17, 0x34, 0x98, 0x99,
13145 /* 0390 */ 0xEE, 0x55, 0xA8, 0x58, 0xF7, 0x2A, 0x40, 0xEC,
13146 /* 0398 */ 0xB0, 0x5E, 0x7B, 0x7C, 0xB0, 0x82, 0x7B, 0xAF,
13147 /* 03A0 */ 0x82, 0x7B, 0xA9, 0x7A, 0x56, 0x38, 0xC6, 0xF0,
13148 /* 03A8 */ 0x0F, 0x53, 0x31, 0x4E, 0xE9, 0xB5, 0xD3, 0x40,
13149 /* 03B0 */ 0x61, 0xA2, 0xC4, 0x7B, 0xAF, 0xF2, 0x18, 0xDF,
13150 /* 03B8 */ 0xAB, 0xD8, 0x15, 0x2A, 0x4C, 0xAC, 0x97, 0x2B,
13151 /* 03C0 */ 0xA3, 0xBE, 0x4E, 0x84, 0x0B, 0x14, 0x24, 0xD2,
13152 /* 03C8 */ 0xAB, 0x55, 0x94, 0xC8, 0xF1, 0x0D, 0xF9, 0x5E,
13153 /* 03D0 */ 0x05, 0x5E, 0x39, 0xF7, 0x2A, 0x90, 0xFD, 0xFF,
13154 /* 03D8 */ 0xEF, 0x55, 0x80, 0x79, 0xB4, 0xF7, 0x2A, 0x30,
13155 /* 03E0 */ 0x5E, 0x1B, 0xD8, 0x0D, 0x09, 0x16, 0xD0, 0x8B,
13156 /* 03E8 */ 0x15, 0x60, 0x28, 0xF3, 0xC5, 0x8A, 0xE6, 0xBD,
13157 /* 03F0 */ 0x58, 0x21, 0xFE, 0xFF, 0xE7, 0x12, 0xA6, 0xE7,
13158 /* 03F8 */ 0x62, 0x45, 0xE6, 0x09, 0xFF, 0x66, 0x05, 0x70,
13159 /* 0400 */ 0xFA, 0xFF, 0x7F, 0xB3, 0x02, 0x8C, 0xDD, 0x8B,
13160 /* 0408 */ 0x30, 0x47, 0x2B, 0x78, 0x29, 0x6F, 0x56, 0x34,
13161 /* 0410 */ 0xCE, 0x32, 0x14, 0x70, 0x41, 0x14, 0xC6, 0x37,
13162 /* 0418 */ 0x2B, 0xC0, 0xD1, 0x75, 0x05, 0x37, 0x64, 0xB8,
13163 /* 0420 */ 0x60, 0x51, 0x82, 0xF9, 0x10, 0xE2, 0xE9, 0x1C,
13164 /* 0428 */ 0xF1, 0x43, 0xC2, 0x4B, 0xC0, 0x63, 0x8E, 0x07,
13165 /* 0430 */ 0xFC, 0x40, 0xE0, 0xCB, 0x15, 0x98, 0xFE, 0xFF,
13166 /* 0438 */ 0x04, 0x3E, 0xF9, 0x9E, 0xE5, 0xDB, 0xD4, 0x7B,
13167 /* 0440 */ 0x2F, 0x3F, 0x60, 0xBD, 0x57, 0xF9, 0xF0, 0x1B,
13168 /* 0448 */ 0xEB, 0x9D, 0xE1, 0xE5, 0xCA, 0x23, 0x89, 0x72,
13169 /* 0450 */ 0x12, 0xA1, 0x7C, 0xB7, 0x7A, 0xAF, 0x32, 0x4A,
13170 /* 0458 */ 0xC4, 0x17, 0x62, 0x9F, 0x82, 0x0D, 0x6D, 0x94,
13171 /* 0460 */ 0xA7, 0x8A, 0xE8, 0xC6, 0x7B, 0xB9, 0x02, 0xAF,
13172 /* 0468 */ 0xA4, 0xCB, 0x15, 0x40, 0x93, 0xE1, 0xBF, 0x5C,
13173 /* 0470 */ 0x81, 0xEF, 0xE6, 0x80, 0xBD, 0x26, 0xC1, 0xF9,
13174 /* 0478 */ 0xFF, 0x5F, 0x93, 0xF8, 0xF5, 0x0A, 0xF0, 0x93,
13175 /* 0480 */ 0xFD, 0x7A, 0x45, 0x73, 0x5F, 0xAF, 0x50, 0xA2,
13176 /* 0488 */ 0x20, 0xA4, 0x08, 0x48, 0x33, 0x05, 0xCF, 0xFD,
13177 /* 0490 */ 0x0A, 0xE0, 0xC4, 0xFF, 0xFF, 0x7E, 0x05, 0x58,
13178 /* 0498 */ 0x0E, 0x77, 0xBF, 0x02, 0x7A, 0xB7, 0x23, 0xF0,
13179 /* 04A0 */ 0xA2, 0xBC, 0x1D, 0x61, 0xAF, 0x58, 0xF8, 0x8C,
13180 /* 04A8 */ 0x57, 0x2C, 0x1A, 0x66, 0x25, 0x8A, 0xB7, 0x26,
13181 /* 04B0 */ 0x0A, 0xE3, 0x2B, 0x16, 0x30, 0xF9, 0xFF, 0x5F,
13182 /* 04B8 */ 0xB1, 0x80, 0xD9, 0x41, 0x14, 0x37, 0x6A, 0xB8,
13183 /* 04C0 */ 0x17, 0x27, 0xDF, 0x7A, 0x3C, 0xDF, 0x88, 0xBE,
13184 /* 04C8 */ 0xC3, 0x60, 0x4E, 0x58, 0x30, 0x6E, 0x58, 0xF0,
13185 /* 04D0 */ 0x87, 0xF4, 0x30, 0xEC, 0x93, 0xC4, 0x3B, 0x96,
13186 /* 04D8 */ 0x8F, 0x56, 0x06, 0x79, 0x03, 0x7E, 0xB2, 0x7A,
13187 /* 04E0 */ 0xB0, 0x8A, 0x62, 0x84, 0x80, 0xC7, 0xF3, 0x2E,
13188 /* 04E8 */ 0xEC, 0xA3, 0xD5, 0x9B, 0x96, 0x51, 0x62, 0xC7,
13189 /* 04F0 */ 0xF2, 0x85, 0xEA, 0x59, 0xCB, 0xD7, 0x2C, 0x43,
13190 /* 04F8 */ 0xC4, 0x7D, 0x20, 0xF6, 0x0D, 0x0B, 0xB0, 0xFD,
13191 /* 0500 */ 0xFF, 0xBF, 0x61, 0x01, 0x8E, 0x2E, 0x0E, 0xFC,
13192 /* 0508 */ 0xE0, 0x80, 0xBD, 0x61, 0x01, 0x3E, 0x67, 0x0A,
13193 /* 0510 */ 0x9E, 0x1B, 0x16, 0xB0, 0xF9, 0xFF, 0xDF, 0xB0,
13194 /* 0518 */ 0x00, 0xFE, 0xFF, 0xFF, 0x6F, 0x58, 0xC0, 0xE1,
13195 /* 0520 */ 0x76, 0x85, 0xBD, 0x65, 0x61, 0x6F, 0x2F, 0x64,
13196 /* 0528 */ 0x15, 0x34, 0xD4, 0x4A, 0x14, 0xFC, 0x7B, 0x65,
13197 /* 0530 */ 0x18, 0x7A, 0xC3, 0x02, 0x1C, 0x8D, 0xDB, 0xA3,
13198 /* 0538 */ 0x06, 0xC7, 0xD9, 0xE0, 0x49, 0x02, 0x73, 0xAE,
13199 /* 0540 */ 0xC6, 0xCD, 0xE6, 0xE0, 0x02, 0x47, 0xE8, 0x1D,
13200 /* 0548 */ 0x54, 0x73, 0x67, 0x97, 0x14, 0x18, 0xB7, 0x2C,
13201 /* 0550 */ 0xB8, 0x97, 0xAA, 0x87, 0x86, 0x28, 0x07, 0xF1,
13202 /* 0558 */ 0x2A, 0xFC, 0x60, 0xF5, 0x28, 0x75, 0x64, 0x8F,
13203 /* 0560 */ 0x57, 0x4F, 0xC3, 0x3E, 0x66, 0xF9, 0x96, 0x65,
13204 /* 0568 */ 0xA8, 0x08, 0x6F, 0x59, 0xEC, 0x0C, 0x11, 0x2F,
13205 /* 0570 */ 0x56, 0x94, 0x10, 0xEF, 0x15, 0xA1, 0x7D, 0xE7,
13206 /* 0578 */ 0x32, 0xF8, 0xA3, 0xB1, 0x51, 0x83, 0xBE, 0x1C,
13207 /* 0580 */ 0xBF, 0x65, 0xC1, 0xFB, 0xFF, 0xDF, 0xB2, 0xE0,
13208 /* 0588 */ 0x8B, 0xFC, 0xAB, 0xE8, 0x44, 0xE0, 0x5B, 0x16,
13209 /* 0590 */ 0xC0, 0x8F, 0x60, 0x10, 0x72, 0x32, 0x70, 0xF4,
13210 /* 0598 */ 0x79, 0x01, 0x3F, 0x80, 0x87, 0x11, 0x0F, 0x89,
13211 /* 05A0 */ 0x05, 0x18, 0x38, 0xBD, 0x2F, 0xF9, 0x4C, 0xC1,
13212 /* 05A8 */ 0x0F, 0x18, 0x3E, 0x53, 0xB0, 0xEB, 0x41, 0xF4,
13213 /* 05B0 */ 0xC7, 0x00, 0x9F, 0x4B, 0x30, 0x83, 0x03, 0xFF,
13214 /* 05B8 */ 0xB5, 0xE2, 0xD0, 0x3D, 0x8A, 0xD7, 0x07, 0x13,
13215 /* 05C0 */ 0x78, 0x70, 0xFC, 0xFF, 0x3F, 0x38, 0xB8, 0x77,
13216 /* 05C8 */ 0x86, 0x23, 0xF2, 0x1D, 0xC6, 0x83, 0x03, 0xDB,
13217 /* 05D0 */ 0x41, 0x00, 0x38, 0x0C, 0x0E, 0x1F, 0x6A, 0x70,
13218 /* 05D8 */ 0xE8, 0xF1, 0x18, 0x38, 0xA4, 0xCF, 0x63, 0xEC,
13219 /* 05E0 */ 0xC2, 0xF0, 0x90, 0xE3, 0xA1, 0x81, 0x0D, 0xD0,
13220 /* 05E8 */ 0x43, 0x03, 0x96, 0x93, 0x78, 0x0A, 0x39, 0x34,
13221 /* 05F0 */ 0x30, 0x4B, 0x18, 0x1A, 0x50, 0x8A, 0x37, 0x34,
13222 /* 05F8 */ 0xFA, 0xFF, 0x1F, 0x1A, 0x1F, 0x92, 0x0F, 0x0B,
13223 /* 0600 */ 0x31, 0x9F, 0x72, 0x22, 0xBC, 0x2F, 0xF8, 0x04,
13224 /* 0608 */ 0xC5, 0xD0, 0x5F, 0x53, 0x7C, 0xBB, 0xF0, 0x4D,
13225 /* 0610 */ 0x10, 0x37, 0x3E, 0x70, 0x5D, 0x3A, 0x3D, 0x3E,
13226 /* 0618 */ 0xE0, 0x73, 0xE4, 0xF2, 0xF8, 0x70, 0x47, 0x27,
13227 /* 0620 */ 0x8F, 0x0F, 0x86, 0xCB, 0xAB, 0x0C, 0x39, 0x9A,
13228 /* 0628 */ 0xF8, 0x68, 0xC5, 0x86, 0x07, 0xB6, 0x9B, 0x9E,
13229 /* 0630 */ 0x87, 0x07, 0x7C, 0xAE, 0x9B, 0x60, 0xBC, 0x42,
13230 /* 0638 */ 0xF2, 0x6B, 0x09, 0x8C, 0x13, 0x14, 0xFE, 0xBA,
13231 /* 0640 */ 0x09, 0xDE, 0xFF, 0xFF, 0x75, 0x13, 0x78, 0x8E,
13232 /* 0648 */ 0x82, 0x6B, 0xBD, 0x64, 0xD3, 0x20, 0xAF, 0x1C,
13233 /* 0650 */ 0xC5, 0x7A, 0x11, 0x50, 0x18, 0x9F, 0xD9, 0x00,
13234 /* 0658 */ 0x47, 0x63, 0x7D, 0x66, 0x03, 0xCB, 0xBD, 0x80,
13235 /* 0660 */ 0xDD, 0xD8, 0xE0, 0x9E, 0xD6, 0x60, 0xDF, 0x1D,
13236 /* 0668 */ 0x1E, 0xCE, 0x1E, 0xD3, 0x1E, 0xD5, 0x1E, 0xD0,
13237 /* 0670 */ 0x7C, 0xC4, 0x8E, 0xF1, 0x96, 0x16, 0x24, 0x4E,
13238 /* 0678 */ 0x84, 0xD7, 0x81, 0xA7, 0x35, 0x5F, 0x32, 0xE2,
13239 /* 0680 */ 0x05, 0x7A, 0x5A, 0x33, 0x46, 0x9C, 0x97, 0x36,
13240 /* 0688 */ 0x23, 0xBE, 0x52, 0x84, 0x78, 0x58, 0xF3, 0xC9,
13241 /* 0690 */ 0xCD, 0x78, 0x0F, 0x13, 0xE1, 0xC2, 0xBC, 0xB0,
13242 /* 0698 */ 0x3D, 0xAD, 0x81, 0xE3, 0xFF, 0x7F, 0x5A, 0x83,
13243 /* 06A0 */ 0x23, 0xE7, 0x8A, 0x0D, 0xD0, 0xE4, 0xA2, 0x8F,
13244 /* 06A8 */ 0x3B, 0xA4, 0x80, 0xE5, 0xDA, 0xC0, 0x6E, 0x29,
13245 /* 06B0 */ 0xF0, 0x2E, 0xD8, 0xC0, 0xF9, 0xFF, 0x7F, 0x44,
13246 /* 06B8 */ 0x01, 0x5F, 0x96, 0x0B, 0x36, 0xCD, 0x71, 0xC1,
13247 /* 06C0 */ 0x46, 0x71, 0x58, 0x0D, 0x90, 0xE6, 0x09, 0xFF,
13248 /* 06C8 */ 0x7A, 0x0D, 0xFE, 0x49, 0xF8, 0x7A, 0x0D, 0xD8,
13249 /* 06D0 */ 0xBE, 0xC5, 0xE2, 0xAE, 0xD7, 0xC0, 0xEA, 0xFF,
13250 /* 06D8 */ 0x7F, 0xBD, 0x06, 0x96, 0x82, 0x47, 0x4A, 0xEF,
13251 /* 06E0 */ 0xD4, 0xE0, 0xBA, 0x69, 0xE3, 0x41, 0xDF, 0xB4,
13252 /* 06E8 */ 0x61, 0x0A, 0xBE, 0x45, 0xD1, 0x28, 0xE4, 0x8A,
13253 /* 06F0 */ 0xB6, 0x10, 0x0A, 0xE3, 0x5B, 0x14, 0xE0, 0x08,
13254 /* 06F8 */ 0xFB, 0x2D, 0x0A, 0x2C, 0x17, 0xA7, 0xB7, 0x28,
13255 /* 0700 */ 0xFC, 0x0C, 0x3C, 0x68, 0xDF, 0x75, 0x18, 0xA6,
13256 /* 0708 */ 0xEF, 0xD0, 0xF0, 0x4F, 0x4D, 0xCF, 0x4D, 0x0F,
13257 /* 0710 */ 0x4E, 0x0F, 0xCD, 0x3E, 0x48, 0xF9, 0x70, 0xF0,
13258 /* 0718 */ 0xFC, 0xF4, 0xFF, 0x8F, 0xF1, 0x5E, 0xE7, 0x9B,
13259 /* 0720 */ 0xD4, 0x6B, 0x94, 0x2F, 0x30, 0xC7, 0x10, 0x31,
13260 /* 0728 */ 0xCA, 0xCB, 0xB4, 0x21, 0xE2, 0xF9, 0xD4, 0xE4,
13261 /* 0730 */ 0xB3, 0x42, 0xDC, 0x10, 0x0F, 0xD1, 0x46, 0x88,
13262 /* 0738 */ 0xFA, 0x3C, 0xED, 0x09, 0xBD, 0x46, 0x81, 0x57,
13263 /* 0740 */ 0xD0, 0x35, 0x0A, 0xA0, 0xC9, 0xFD, 0x08, 0x77,
13264 /* 0748 */ 0x8D, 0x02, 0xCB, 0xBD, 0x81, 0x9D, 0x87, 0xF8,
13265 /* 0750 */ 0x95, 0xC8, 0xD7, 0x06, 0x18, 0xF7, 0x28, 0x38,
13266 /* 0758 */ 0xFF, 0xFF, 0x7B, 0x14, 0x60, 0x23, 0xCC, 0x3D,
13267 /* 0760 */ 0x8A, 0x06, 0xB9, 0x47, 0xA1, 0x4E, 0x26, 0xBE,
13268 /* 0768 */ 0xD4, 0x79, 0xA2, 0xE0, 0x08, 0x7F, 0x91, 0x42,
13269 /* 0770 */ 0xC5, 0x26, 0x51, 0xE8, 0xC3, 0x10, 0x2A, 0xE6,
13270 /* 0778 */ 0x61, 0x84, 0x82, 0x18, 0xD0, 0x19, 0x4E, 0x14,
13271 /* 0780 */ 0x68, 0x15, 0x27, 0x0A, 0x72, 0x8B, 0xF1, 0xA4,
13272 /* 0788 */ 0x1E, 0xA3, 0x00, 0x5F, 0xCB, 0xF4, 0x50, 0x79,
13273 /* 0790 */ 0xE4, 0xA1, 0x52, 0x10, 0x0F, 0xD5, 0x71, 0x86,
13274 /* 0798 */ 0x8A, 0x9E, 0xA4, 0xE7, 0x8F, 0xF9, 0xFF, 0x1F,
13275 /* 07A0 */ 0x1C, 0xB0, 0x07, 0x29, 0x80, 0x17, 0x0A, 0x6D,
13276 /* 07A8 */ 0xFA, 0xD4, 0x68, 0xD4, 0xAA, 0x41, 0x99, 0x1A,
13277 /* 07B0 */ 0x65, 0x1A, 0xD4, 0xEA, 0x53, 0xA9, 0x31, 0x63,
13278 /* 07B8 */ 0xE7, 0x50, 0x4B, 0x3B, 0x4B, 0x50, 0x31, 0x8B,
13279 /* 07C0 */ 0xD1, 0x68, 0x1C, 0x05, 0x84, 0xCA, 0xFE, 0x9B,
13280 /* 07C8 */ 0x0B, 0xC4, 0x21, 0x9F, 0x3A, 0x02, 0x74, 0xB0,
13281 /* 07D0 */ 0x17, 0x95, 0x80, 0x2C, 0x6B, 0x6D, 0x02, 0x71,
13282 /* 07D8 */ 0x7C, 0x13, 0x10, 0x8D, 0x80, 0x48, 0xCB, 0x63,
13283 /* 07E0 */ 0x42, 0x40, 0xCE, 0x0D, 0x22, 0x20, 0xAB, 0x58,
13284 /* 07E8 */ 0x93, 0x80, 0xAC, 0xF9, 0x01, 0x23, 0x70, 0xEB,
13285 /* 07F0 */ 0xD4, 0x01, 0xC4, 0x52, 0x82, 0xD0, 0x44, 0x0B,
13286 /* 07F8 */ 0x17, 0xA8, 0xE3, 0x81, 0x68, 0x30, 0x84, 0x46,
13287 /* 0800 */ 0x40, 0x0E, 0x46, 0x21, 0x20, 0xCB, 0xF8, 0x74,
13288 /* 0808 */ 0x0B, 0xDC, 0x02, 0xAC, 0x00, 0x31, 0xF9, 0x20,
13289 /* 0810 */ 0x54, 0xB0, 0x17, 0x50, 0xA6, 0x1E, 0x44, 0x40,
13290 /* 0818 */ 0x56, 0xBA, 0x56, 0x01, 0x59, 0x37, 0x88, 0x80,
13291 /* 0820 */ 0xFE, 0xFF, 0x2F, 0x83, 0x32, 0x03, 0xCE, 0x32,
13292 /* 0828 */ 0xBA, 0x01, 0x62, 0x0A, 0x1F, 0x0A, 0x02, 0xB1,
13293 /* 0830 */ 0x26, 0x3D, 0xA0, 0x4C, 0x20, 0x88, 0xAE, 0x1C,
13294 /* 0838 */ 0xC4, 0x0F, 0x10, 0x93, 0x06, 0x22, 0x20, 0xC7,
13295 /* 0840 */ 0x39, 0x98, 0x08, 0xDC, 0x71, 0x14, 0x01, 0x52,
13296 /* 0848 */ 0x47, 0xC3, 0xA5, 0x20, 0x54, 0xFC, 0xF3, 0x44,
13297 /* 0850 */ 0x20, 0x16, 0x64, 0x09, 0x8C, 0x82, 0xD0, 0x08,
13298 /* 0858 */ 0x9A, 0x40, 0x98, 0x3C, 0x4F, 0x20, 0x2C, 0xD4,
13299 /* 0860 */ 0x9F, 0x5C, 0xA7, 0x15, 0xA2, 0x6A, 0x88, 0xD4,
13300 /* 0868 */ 0x15, 0x08, 0x0B, 0xFC, 0x30, 0xD0, 0x60, 0x9C,
13301 /* 0870 */ 0x1E, 0x44, 0x40, 0x4E, 0xFA, 0xA7, 0x0A, 0x44,
13302 /* 0878 */ 0x72, 0x83, 0x08, 0xC8, 0xF9, 0x9F, 0x22, 0x02,
13303 /* 0880 */ 0x77, 0xEA, 0xD7, 0x84, 0x86, 0x4F, 0xBE, 0x58,
13304 /* 0888 */ 0x41, 0x88, 0xB8, 0x87, 0x55, 0x50, 0xA2, 0x14,
13305 /* 0890 */ 0x44, 0x40, 0x56, 0xF6, 0xB4, 0x12, 0x90, 0x75,
13306 /* 0898 */ 0x82, 0x08, 0xC8, 0xFF, 0x7F
13307 })
13308 }
13309
13310 Device (WMI2)
13311 {
13312 Name (_HID, EisaId ("PNP0C14")) // _HID: Hardware ID
13313 Name (_UID, 0x02) // _UID: Unique ID
13314 Name (_WDG, Buffer (0x64)
13315 {
13316 /* 0000 */ 0xF1, 0x24, 0xB4, 0xFC, 0x5A, 0x07, 0x0E, 0x4E,
13317 /* 0008 */ 0xBF, 0xC4, 0x62, 0xF3, 0xE7, 0x17, 0x71, 0xFA,
13318 /* 0010 */ 0x41, 0x37, 0x01, 0x01, 0xE3, 0x5E, 0xBE, 0xE2,
13319 /* 0018 */ 0xDA, 0x42, 0xDB, 0x49, 0x83, 0x78, 0x1F, 0x52,
13320 /* 0020 */ 0x47, 0x38, 0x82, 0x02, 0x41, 0x38, 0x01, 0x02,
13321 /* 0028 */ 0x9A, 0x01, 0x30, 0x74, 0xE9, 0xDC, 0x48, 0x45,
13322 /* 0030 */ 0xBA, 0xB0, 0x9F, 0xDE, 0x09, 0x35, 0xCA, 0xFF,
13323 /* 0038 */ 0x41, 0x39, 0x0A, 0x05, 0x03, 0x70, 0xF4, 0x7F,
13324 /* 0040 */ 0x6C, 0x3B, 0x5E, 0x4E, 0xA2, 0x27, 0xE9, 0x79,
13325 /* 0048 */ 0x82, 0x4A, 0x85, 0xD1, 0x41, 0x41, 0x01, 0x06,
13326 /* 0050 */ 0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11,
13327 /* 0058 */ 0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10,
13328 /* 0060 */ 0x42, 0x42, 0x01, 0x00
13329 })
13330 Name (PREL, Buffer (0x08)
13331 {
13332 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
13333 })
13334 Method (WQA7, 1, NotSerialized)
13335 {
13336 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
13337 \WMIS (0x07, 0x00)
13338 Store (\WLS0, Index (PREL, 0x00))
13339 Store (\WLS1, Index (PREL, 0x01))
13340 Store (\WLS2, Index (PREL, 0x02))
13341 Store (\WLS3, Index (PREL, 0x03))
13342 Store (\WLS4, Index (PREL, 0x04))
13343 Store (\WLS5, Index (PREL, 0x05))
13344 Store (\WLS6, Index (PREL, 0x06))
13345 Store (\WLS7, Index (PREL, 0x07))
13346 Release (\_SB.WMI1.MWMI)
13347 Return (PREL)
13348 }
13349
13350 Method (WMA8, 3, NotSerialized)
13351 {
13352 CreateByteField (Arg2, 0x00, PRE0)
13353 CreateByteField (Arg2, 0x01, PRE1)
13354 CreateByteField (Arg2, 0x02, PRE2)
13355 CreateByteField (Arg2, 0x03, PRE3)
13356 CreateByteField (Arg2, 0x04, PRE4)
13357 CreateByteField (Arg2, 0x05, PRE5)
13358 CreateByteField (Arg2, 0x06, PRE6)
13359 CreateByteField (Arg2, 0x07, PRE7)
13360 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
13361 Store (PRE0, \WLS0)
13362 Store (PRE1, \WLS1)
13363 Store (PRE2, \WLS2)
13364 Store (PRE3, \WLS3)
13365 Store (PRE4, \WLS4)
13366 Store (PRE5, \WLS5)
13367 Store (PRE6, \WLS6)
13368 Store (PRE7, \WLS7)
13369 \WMIS (0x08, 0x00)
13370 Release (\_SB.WMI1.MWMI)
13371 }
13372
13373 Name (ITEM, Package (0x05)
13374 {
13375 Package (0x02)
13376 {
13377 0x00,
13378 "InhibitEnteringThinkPadSetup"
13379 },
13380
13381 Package (0x02)
13382 {
13383 0x00,
13384 "MTMSerialConcatenation"
13385 },
13386
13387 Package (0x02)
13388 {
13389 0x00,
13390 "SwapProductName"
13391 },
13392
13393 Package (0x02)
13394 {
13395 0x00,
13396 "ComputraceMsgDisable"
13397 },
13398
13399 Package (0x02)
13400 {
13401 0x00,
13402 "AtpMsgDisable"
13403 }
13404 })
13405 Name (VSEL, Package (0x02)
13406 {
13407 Package (0x02)
13408 {
13409 "Disable",
13410 "Enable"
13411 },
13412
13413 Package (0x02)
13414 {
13415 "Off",
13416 "On"
13417 }
13418 })
13419 Method (WQA9, 1, NotSerialized)
13420 {
13421 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
13422 If (LNotEqual (\WMIS (0x09, Arg0), 0x00))
13423 {
13424 Release (\_SB.WMI1.MWMI)
13425 Return ("")
13426 }
13427
13428 Store (DerefOf (Index (ITEM, \WITM)), Local0)
13429 Store (DerefOf (Index (Local0, 0x00)), Local1)
13430 Store (DerefOf (Index (Local0, 0x01)), Local2)
13431 Concatenate (Local2, ",", Local6)
13432 Store (DerefOf (Index (VSEL, Local1)), Local3)
13433 Concatenate (Local6, DerefOf (Index (Local3, \WSEL)), Local7)
13434 Release (\_SB.WMI1.MWMI)
13435 Return (Local7)
13436 }
13437
13438 Method (WMAA, 3, NotSerialized)
13439 {
13440 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
13441 If (LEqual (SizeOf (Arg2), 0x00))
13442 {
13443 Store (0x02, Local0)
13444 }
13445 Else
13446 {
13447 Store (\_SB.WMI1.CARG (Arg2), Local0)
13448 If (LEqual (Local0, 0x00))
13449 {
13450 Store (\_SB.WMI1.WSET (ITEM, VSEL), Local0)
13451 If (LEqual (Local0, 0x00))
13452 {
13453 Store (\WMIS (0x0A, 0x00), Local0)
13454 }
13455 }
13456 }
13457
13458 Release (\_SB.WMI1.MWMI)
13459 Return (DerefOf (Index (\_SB.WMI1.RETN, Local0)))
13460 }
13461
13462 Name (WQBB, Buffer (0x0538)
13463 {
13464 /* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,
13465 /* 0008 */ 0x28, 0x05, 0x00, 0x00, 0xAE, 0x18, 0x00, 0x00,
13466 /* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,
13467 /* 0018 */ 0x98, 0xDE, 0x8B, 0x00, 0x01, 0x06, 0x18, 0x42,
13468 /* 0020 */ 0x10, 0x0D, 0x10, 0x8A, 0x0D, 0x21, 0x02, 0x0B,
13469 /* 0028 */ 0x83, 0x50, 0x50, 0x18, 0x14, 0xA0, 0x45, 0x41,
13470 /* 0030 */ 0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02,
13471 /* 0038 */ 0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5,
13472 /* 0040 */ 0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F,
13473 /* 0048 */ 0x31, 0x10, 0x88, 0x14, 0x40, 0x48, 0x28, 0x84,
13474 /* 0050 */ 0x44, 0x00, 0x53, 0x21, 0x70, 0x84, 0xA0, 0x5F,
13475 /* 0058 */ 0x01, 0x08, 0x1D, 0x0A, 0x90, 0x29, 0xC0, 0xA0,
13476 /* 0060 */ 0x00, 0xA7, 0x08, 0x22, 0x88, 0xD2, 0xB2, 0x00,
13477 /* 0068 */ 0xDD, 0x02, 0x7C, 0x0B, 0xD0, 0x0E, 0x21, 0xB4,
13478 /* 0070 */ 0xC8, 0x95, 0x0A, 0xB0, 0x08, 0x25, 0x9F, 0x80,
13479 /* 0078 */ 0x92, 0x88, 0x22, 0xD9, 0x78, 0xB2, 0x8D, 0x48,
13480 /* 0080 */ 0xE6, 0x61, 0x91, 0x83, 0x40, 0x89, 0x19, 0x04,
13481 /* 0088 */ 0x4A, 0x27, 0xAE, 0x6C, 0xE2, 0x6A, 0x10, 0x07,
13482 /* 0090 */ 0x10, 0xE5, 0x3C, 0xA2, 0x24, 0x38, 0xAA, 0x83,
13483 /* 0098 */ 0x88, 0x10, 0xBB, 0x5C, 0x01, 0x92, 0x07, 0x20,
13484 /* 00A0 */ 0xCD, 0x13, 0x93, 0xF5, 0x39, 0x68, 0x64, 0x6C,
13485 /* 00A8 */ 0x04, 0x3C, 0x98, 0x04, 0x10, 0x16, 0x65, 0x9D,
13486 /* 00B0 */ 0x8A, 0x02, 0x83, 0xF2, 0x00, 0x22, 0x39, 0x63,
13487 /* 00B8 */ 0x45, 0x01, 0xDB, 0xEB, 0x44, 0x64, 0x72, 0xA0,
13488 /* 00C0 */ 0x54, 0x12, 0x1C, 0x6A, 0x98, 0x9E, 0x5A, 0xF3,
13489 /* 00C8 */ 0x13, 0xD3, 0x44, 0x4E, 0xAD, 0xE9, 0x21, 0x0B,
13490 /* 00D0 */ 0x92, 0x49, 0x1B, 0x0A, 0x6A, 0xEC, 0x9E, 0xD6,
13491 /* 00D8 */ 0x49, 0x79, 0xA6, 0x11, 0x0F, 0xCA, 0x30, 0x09,
13492 /* 00E0 */ 0x3C, 0x0A, 0x86, 0xC6, 0x09, 0xCA, 0x82, 0x90,
13493 /* 00E8 */ 0x83, 0x81, 0xA2, 0x00, 0x4F, 0xC2, 0x73, 0x2C,
13494 /* 00F0 */ 0x5E, 0x80, 0xF0, 0x11, 0x93, 0xB3, 0x40, 0x8C,
13495 /* 00F8 */ 0x04, 0x3E, 0x13, 0x78, 0xE4, 0xC7, 0x8C, 0x1D,
13496 /* 0100 */ 0x51, 0xB8, 0x80, 0xE7, 0x73, 0x0C, 0x91, 0xE3,
13497 /* 0108 */ 0x1E, 0x6A, 0x8C, 0xA3, 0x88, 0x7C, 0x38, 0x0C,
13498 /* 0110 */ 0xED, 0x74, 0xE3, 0x1C, 0xD8, 0xE9, 0x14, 0x04,
13499 /* 0118 */ 0x2E, 0x90, 0x60, 0x3D, 0xCF, 0x59, 0x20, 0xFF,
13500 /* 0120 */ 0xFF, 0x18, 0x07, 0xC1, 0xF0, 0x8E, 0x01, 0x23,
13501 /* 0128 */ 0x03, 0x42, 0x1E, 0x05, 0x58, 0x1D, 0x96, 0x26,
13502 /* 0130 */ 0x91, 0xC0, 0xEE, 0x05, 0x68, 0xBC, 0x04, 0x48,
13503 /* 0138 */ 0xE1, 0x20, 0xA5, 0x0C, 0x42, 0x30, 0x8D, 0x09,
13504 /* 0140 */ 0xB0, 0x75, 0x68, 0x90, 0x37, 0x01, 0xD6, 0xAE,
13505 /* 0148 */ 0x02, 0x42, 0x89, 0x74, 0x02, 0x71, 0x42, 0x44,
13506 /* 0150 */ 0x89, 0x18, 0xD4, 0x40, 0x51, 0x6A, 0x43, 0x15,
13507 /* 0158 */ 0x4C, 0x67, 0xC3, 0x13, 0x66, 0xDC, 0x10, 0x31,
13508 /* 0160 */ 0x0C, 0x14, 0xB7, 0xFD, 0x41, 0x90, 0x61, 0xE3,
13509 /* 0168 */ 0xC6, 0xEF, 0x41, 0x9D, 0xD6, 0xD9, 0x1D, 0xD3,
13510 /* 0170 */ 0xAB, 0x82, 0x09, 0x3C, 0xE9, 0x37, 0x84, 0xA7,
13511 /* 0178 */ 0x83, 0xA3, 0x38, 0xDA, 0xA8, 0x31, 0x9A, 0x23,
13512 /* 0180 */ 0x65, 0xAB, 0xD6, 0xB9, 0xC2, 0x91, 0xE0, 0x51,
13513 /* 0188 */ 0xE7, 0x05, 0x9F, 0x0C, 0x3C, 0xB4, 0xC3, 0xF6,
13514 /* 0190 */ 0x60, 0xCF, 0xD2, 0x43, 0x38, 0x82, 0x67, 0x86,
13515 /* 0198 */ 0x47, 0x02, 0x8F, 0x81, 0xDD, 0x15, 0x7C, 0x08,
13516 /* 01A0 */ 0xF0, 0x19, 0x01, 0xEF, 0x1A, 0x50, 0x97, 0x83,
13517 /* 01A8 */ 0x47, 0x03, 0x36, 0xE9, 0x70, 0x98, 0xF1, 0x7A,
13518 /* 01B0 */ 0xEE, 0x9E, 0xBA, 0xCF, 0x18, 0xFC, 0xBC, 0xE1,
13519 /* 01B8 */ 0xC1, 0xE1, 0x46, 0x7A, 0x32, 0x47, 0x56, 0xAA,
13520 /* 01C0 */ 0x00, 0xB3, 0xD7, 0x00, 0x1D, 0x25, 0x7C, 0xE0,
13521 /* 01C8 */ 0x60, 0x77, 0x81, 0xA7, 0x00, 0x13, 0x58, 0xFE,
13522 /* 01D0 */ 0x20, 0x50, 0x23, 0x33, 0xB4, 0xC7, 0xFB, 0xDE,
13523 /* 01D8 */ 0x61, 0xC8, 0x27, 0x85, 0xC3, 0x62, 0x62, 0x0F,
13524 /* 01E0 */ 0x1E, 0x74, 0x3C, 0xE0, 0xBF, 0x8F, 0x3C, 0x69,
13525 /* 01E8 */ 0x78, 0xFA, 0x9E, 0xAF, 0x09, 0x06, 0x86, 0x90,
13526 /* 01F0 */ 0x95, 0xF1, 0xA0, 0x06, 0x62, 0xE8, 0x57, 0x85,
13527 /* 01F8 */ 0xC3, 0x38, 0x0D, 0x9F, 0x40, 0x7C, 0x0E, 0x08,
13528 /* 0200 */ 0x12, 0xE3, 0x98, 0x3C, 0x38, 0xFF, 0xFF, 0x09,
13529 /* 0208 */ 0x1C, 0x6B, 0xE4, 0xF4, 0x9C, 0xE2, 0xF3, 0x04,
13530 /* 0210 */ 0x3F, 0x5C, 0xF8, 0x3C, 0xC1, 0x4E, 0x0C, 0xA7,
13531 /* 0218 */ 0xF1, 0x1C, 0xE0, 0xE1, 0x9C, 0x95, 0x8F, 0x13,
13532 /* 0220 */ 0xC0, 0x02, 0xE2, 0x75, 0x82, 0x0F, 0x14, 0x3E,
13533 /* 0228 */ 0xEC, 0xA1, 0x79, 0x14, 0x2F, 0x11, 0x6F, 0x0F,
13534 /* 0230 */ 0x26, 0x88, 0xF6, 0x10, 0x03, 0xC6, 0x19, 0xE1,
13535 /* 0238 */ 0xCE, 0x1B, 0x70, 0x4E, 0x31, 0xC0, 0x03, 0xEA,
13536 /* 0240 */ 0x10, 0x30, 0x87, 0x09, 0x0F, 0x81, 0x0F, 0xE0,
13537 /* 0248 */ 0x19, 0xE4, 0x1C, 0x7D, 0xCC, 0x39, 0x33, 0xDC,
13538 /* 0250 */ 0x71, 0x07, 0x6C, 0xC3, 0xE0, 0x91, 0x2D, 0x80,
13539 /* 0258 */ 0xB0, 0x38, 0x4F, 0x02, 0x05, 0x7C, 0x1B, 0x50,
13540 /* 0260 */ 0x18, 0x1F, 0x6E, 0xC0, 0xFB, 0xFF, 0x3F, 0xDC,
13541 /* 0268 */ 0x00, 0xD7, 0xF3, 0x01, 0xEE, 0xF8, 0x00, 0xF7,
13542 /* 0270 */ 0x62, 0xC1, 0x0E, 0x0F, 0x8F, 0x37, 0xC0, 0x60,
13543 /* 0278 */ 0x48, 0x8F, 0x34, 0x6F, 0x35, 0x31, 0x5E, 0x6D,
13544 /* 0280 */ 0x42, 0x44, 0x78, 0xA8, 0x79, 0xB7, 0x31, 0x52,
13545 /* 0288 */ 0xBC, 0xC7, 0x1B, 0x76, 0x8D, 0x39, 0x8B, 0x07,
13546 /* 0290 */ 0x90, 0x28, 0xC5, 0xA1, 0xE9, 0x62, 0x13, 0x23,
13547 /* 0298 */ 0xCA, 0x9B, 0x8D, 0x61, 0xDF, 0x74, 0x0C, 0x14,
13548 /* 02A0 */ 0x2A, 0x52, 0x84, 0x30, 0x2F, 0x16, 0x21, 0x1E,
13549 /* 02A8 */ 0x6F, 0xC0, 0x2C, 0xE9, 0xA5, 0xA2, 0xCF, 0x81,
13550 /* 02B0 */ 0x8F, 0x37, 0x80, 0x97, 0xFF, 0xFF, 0xF1, 0x06,
13551 /* 02B8 */ 0xF0, 0x30, 0x0C, 0x1F, 0x53, 0xC0, 0x76, 0x73,
13552 /* 02C0 */ 0x60, 0xF7, 0x14, 0xF8, 0xE7, 0x14, 0xC0, 0x91,
13553 /* 02C8 */ 0x90, 0x47, 0x80, 0x0E, 0x1E, 0x16, 0x01, 0x22,
13554 /* 02D0 */ 0x1B, 0xCF, 0x00, 0x9F, 0x89, 0xA8, 0x40, 0x2A,
13555 /* 02D8 */ 0xCD, 0x14, 0x2C, 0xE3, 0x14, 0xAC, 0x4E, 0x88,
13556 /* 02E0 */ 0x5C, 0x06, 0x85, 0x44, 0x40, 0x68, 0x64, 0x86,
13557 /* 02E8 */ 0xF3, 0x21, 0xD1, 0x60, 0x06, 0xF1, 0xF9, 0xC0,
13558 /* 02F0 */ 0x67, 0x0A, 0x9F, 0x9C, 0xF8, 0xFF, 0xFF, 0xE4,
13559 /* 02F8 */ 0x04, 0x9E, 0x83, 0xC9, 0x43, 0x05, 0x2C, 0x44,
13560 /* 0300 */ 0x9F, 0x16, 0x38, 0x9C, 0xCF, 0x2C, 0x1C, 0xCE,
13561 /* 0308 */ 0x47, 0x12, 0x7E, 0x80, 0xE4, 0x47, 0x25, 0x70,
13562 /* 0310 */ 0x09, 0x3C, 0x34, 0x80, 0x02, 0xC8, 0xF7, 0x03,
13563 /* 0318 */ 0x9F, 0x03, 0x9E, 0x11, 0xD8, 0x1C, 0x1E, 0x09,
13564 /* 0320 */ 0x7C, 0x20, 0x60, 0xF0, 0x3C, 0xDA, 0xA8, 0xE8,
13565 /* 0328 */ 0xD1, 0xC6, 0xC3, 0xE3, 0x47, 0x06, 0xCF, 0xE7,
13566 /* 0330 */ 0x81, 0xE0, 0x28, 0x1F, 0x09, 0x70, 0x18, 0xEF,
13567 /* 0338 */ 0x17, 0x1E, 0xA2, 0x4F, 0x39, 0xB0, 0x26, 0x72,
13568 /* 0340 */ 0xD4, 0x16, 0x7D, 0x22, 0x10, 0xE8, 0x33, 0x17,
13569 /* 0348 */ 0xE6, 0x94, 0x03, 0x9C, 0x82, 0x8F, 0x1E, 0x15,
13570 /* 0350 */ 0xF5, 0x40, 0x0A, 0xDA, 0x93, 0x82, 0xCF, 0x0A,
13571 /* 0358 */ 0x3E, 0x7C, 0xC1, 0xFF, 0xFF, 0x1F, 0xBE, 0xE0,
13572 /* 0360 */ 0xCC, 0xEB, 0x65, 0xCD, 0x07, 0x8E, 0x38, 0x67,
13573 /* 0368 */ 0x71, 0xBA, 0xEF, 0x16, 0xF8, 0x13, 0x29, 0x30,
13574 /* 0370 */ 0x0B, 0x72, 0x22, 0x45, 0xC1, 0xF8, 0x44, 0x0A,
13575 /* 0378 */ 0xD8, 0xBC, 0x05, 0x60, 0xAF, 0x0B, 0x4F, 0x22,
13576 /* 0380 */ 0x30, 0xCE, 0x11, 0xCF, 0x58, 0x30, 0x0F, 0x55,
13577 /* 0388 */ 0xA7, 0xF8, 0x52, 0xF5, 0xC6, 0x10, 0xE1, 0xC9,
13578 /* 0390 */ 0xEA, 0x35, 0xEA, 0x01, 0xCB, 0x60, 0x2F, 0x02,
13579 /* 0398 */ 0x86, 0x79, 0xC5, 0xF2, 0xE9, 0x2A, 0xC4, 0x03,
13580 /* 03A0 */ 0x96, 0xCF, 0x5A, 0xD1, 0x42, 0x84, 0x8C, 0x12,
13581 /* 03A8 */ 0xEC, 0x15, 0xEB, 0x55, 0xC6, 0x47, 0x2A, 0x83,
13582 /* 03B0 */ 0x07, 0x0C, 0x1B, 0x2D, 0x52, 0x84, 0x47, 0x2C,
13583 /* 03B8 */ 0xFC, 0xFF, 0xFF, 0x88, 0x05, 0x1E, 0x09, 0x07,
13584 /* 03C0 */ 0x52, 0x80, 0x2A, 0x03, 0xC7, 0x1D, 0x48, 0x81,
13585 /* 03C8 */ 0xFD, 0x69, 0x02, 0x7F, 0xBD, 0xF0, 0x78, 0xB0,
13586 /* 03D0 */ 0xFF, 0xFF, 0x73, 0x00, 0xF8, 0x0E, 0x31, 0xC0,
13587 /* 03D8 */ 0x60, 0xC0, 0x30, 0x0E, 0x31, 0xC0, 0x43, 0xF0,
13588 /* 03E0 */ 0xC9, 0x0C, 0xF4, 0xC7, 0x1D, 0xF8, 0xE3, 0xE0,
13589 /* 03E8 */ 0x19, 0x9F, 0x1C, 0x26, 0x50, 0x98, 0x13, 0x29,
13590 /* 03F0 */ 0x0A, 0xC6, 0x27, 0x52, 0xC0, 0xD9, 0xFF, 0xFF,
13591 /* 03F8 */ 0x70, 0x05, 0x86, 0xE3, 0x0D, 0xF8, 0x6F, 0x33,
13592 /* 0400 */ 0x3E, 0x84, 0xFA, 0x7C, 0xE3, 0x0B, 0xA9, 0x21,
13593 /* 0408 */ 0x5E, 0x6C, 0xDE, 0xD4, 0x5E, 0x09, 0x5E, 0xDF,
13594 /* 0410 */ 0xD9, 0xB5, 0xE6, 0xF5, 0xDD, 0xA7, 0x82, 0x27,
13595 /* 0418 */ 0xD1, 0x08, 0x21, 0xA3, 0xBC, 0xE4, 0x18, 0x24,
13596 /* 0420 */ 0xC4, 0xEB, 0xA8, 0x01, 0x83, 0x05, 0x89, 0x78,
13597 /* 0428 */ 0x0A, 0x4F, 0x3B, 0x8F, 0x37, 0xE0, 0x15, 0x75,
13598 /* 0430 */ 0x20, 0x05, 0xE8, 0xF1, 0xFF, 0x3F, 0x90, 0x02,
13599 /* 0438 */ 0x83, 0x7B, 0x0A, 0xEC, 0x73, 0x0A, 0xE0, 0x29,
13600 /* 0440 */ 0xF9, 0x89, 0x94, 0xA6, 0x3E, 0x91, 0xA2, 0x15,
13601 /* 0448 */ 0x01, 0x69, 0xAA, 0x60, 0x21, 0x98, 0xFE, 0x44,
13602 /* 0450 */ 0x4A, 0x0F, 0x06, 0xCE, 0x4D, 0xA2, 0xE4, 0x43,
13603 /* 0458 */ 0xA3, 0x70, 0xCE, 0x7A, 0x20, 0xA1, 0x20, 0x06,
13604 /* 0460 */ 0x74, 0x90, 0x43, 0x05, 0xFA, 0xAC, 0xE2, 0x03,
13605 /* 0468 */ 0xC9, 0x81, 0x3C, 0x22, 0x7A, 0x58, 0x3E, 0x54,
13606 /* 0470 */ 0xFA, 0xAE, 0xE2, 0x73, 0x88, 0x8F, 0x14, 0x1E,
13607 /* 0478 */ 0xBF, 0x0F, 0x0B, 0xFC, 0x3F, 0xE3, 0xE3, 0x28,
13608 /* 0480 */ 0x03, 0xAF, 0xE6, 0xBC, 0x82, 0x02, 0xF3, 0x69,
13609 /* 0488 */ 0x14, 0xA3, 0xEB, 0x3E, 0x01, 0x92, 0xFF, 0xFF,
13610 /* 0490 */ 0xFC, 0xB8, 0xBE, 0xC3, 0x28, 0xC8, 0xD1, 0x79,
13611 /* 0498 */ 0xF8, 0xC9, 0xA2, 0xE2, 0x4E, 0x96, 0x82, 0x78,
13612 /* 04A0 */ 0xB2, 0x8E, 0x32, 0x59, 0xF4, 0x4C, 0x7C, 0xBB,
13613 /* 04A8 */ 0xF0, 0x8C, 0xDE, 0xBB, 0x7C, 0x83, 0x65, 0x37,
13614 /* 04B0 */ 0x59, 0x78, 0x97, 0x81, 0x90, 0x8F, 0x06, 0xBE,
13615 /* 04B8 */ 0xC9, 0xC2, 0x1D, 0x8B, 0x2F, 0x23, 0xE0, 0xBB,
13616 /* 04C0 */ 0xC9, 0x02, 0x5E, 0x47, 0xE3, 0xB3, 0x05, 0x3B,
13617 /* 04C8 */ 0x85, 0xF8, 0xBA, 0x06, 0x4B, 0xA1, 0x4D, 0x9F,
13618 /* 04D0 */ 0x1A, 0x8D, 0x5A, 0xFD, 0xFF, 0x1B, 0x94, 0xA9,
13619 /* 04D8 */ 0x51, 0xA6, 0x41, 0xAD, 0x3E, 0x95, 0x1A, 0x33,
13620 /* 04E0 */ 0x76, 0xA1, 0xB0, 0xB8, 0x0B, 0x06, 0x95, 0xB4,
13621 /* 04E8 */ 0x2C, 0x8D, 0xCB, 0x81, 0x40, 0x68, 0x80, 0x5B,
13622 /* 04F0 */ 0xA9, 0x40, 0x1C, 0xFA, 0x0B, 0xA4, 0x53, 0x02,
13623 /* 04F8 */ 0xF9, 0x6A, 0x09, 0xC8, 0x62, 0x57, 0x25, 0x10,
13624 /* 0500 */ 0xCB, 0x54, 0x01, 0xD1, 0xC8, 0xDD, 0xC2, 0x20,
13625 /* 0508 */ 0x02, 0x72, 0xBC, 0x4F, 0x8D, 0x40, 0x1D, 0x49,
13626 /* 0510 */ 0x07, 0x10, 0x13, 0xE4, 0x63, 0xAC, 0xF4, 0x25,
13627 /* 0518 */ 0x20, 0x10, 0xCB, 0xA6, 0x15, 0xA0, 0xE5, 0x3A,
13628 /* 0520 */ 0x01, 0x62, 0x61, 0x41, 0x68, 0xC0, 0x5F, 0xB5,
13629 /* 0528 */ 0x86, 0xE0, 0xB4, 0x20, 0x02, 0x72, 0x32, 0x2D,
13630 /* 0530 */ 0x40, 0x2C, 0x27, 0x88, 0x80, 0xFC, 0xFF, 0x07
13631 })
13632 }
13633
13634 Scope (\_SB.PCI0.LPC.EC.HKEY)
13635 {
13636 Mutex (BFWM, 0x07)
13637 Method (MHCF, 1, NotSerialized)
13638 {
13639 Store (\BFWC (Arg0), Local0)
13640 Return (Local0)
13641 }
13642
13643 Method (MHPF, 1, NotSerialized)
13644 {
13645 Name (RETB, Buffer (0x25) {})
13646 Acquire (BFWM, 0xFFFF)
13647 If (LLessEqual (SizeOf (Arg0), 0x25))
13648 {
13649 Store (Arg0, \BFWB)
13650 If (\BFWP ())
13651 {
13652 \_SB.PCI0.LPC.EC.CHKS ()
13653 \BFWL ()
13654 }
13655
13656 Store (\BFWB, RETB)
13657 }
13658
13659 Release (BFWM)
13660 Return (RETB)
13661 }
13662
13663 Method (MHIF, 1, NotSerialized)
13664 {
13665 Name (RETB, Buffer (0x0A) {})
13666 Acquire (BFWM, 0xFFFF)
13667 \BFWG (Arg0)
13668 Store (\BFWB, RETB)
13669 Release (BFWM)
13670 Return (RETB)
13671 }
13672
13673 Method (MHDM, 1, NotSerialized)
13674 {
13675 \BDMC (Arg0)
13676 }
13677 }
13678
13679 Scope (\_SB.PCI0.LPC.EC.HKEY)
13680 {
13681 Method (PSSG, 1, NotSerialized)
13682 {
13683 Return (\PSIF (0x00, 0x00))
13684 }
13685
13686 Method (PSSS, 1, NotSerialized)
13687 {
13688 Return (\PSIF (0x01, Arg0))
13689 }
13690
13691 Method (PSBS, 1, NotSerialized)
13692 {
13693 Return (\PSIF (0x02, Arg0))
13694 }
13695
13696 Method (BICG, 1, NotSerialized)
13697 {
13698 Return (\PSIF (0x03, Arg0))
13699 }
13700
13701 Method (BICS, 1, NotSerialized)
13702 {
13703 Return (\PSIF (0x04, Arg0))
13704 }
13705
13706 Method (BCTG, 1, NotSerialized)
13707 {
13708 Return (\PSIF (0x05, Arg0))
13709 }
13710
13711 Method (BCCS, 1, NotSerialized)
13712 {
13713 Return (\PSIF (0x06, Arg0))
13714 }
13715
13716 Method (BCSG, 1, NotSerialized)
13717 {
13718 Return (\PSIF (0x07, Arg0))
13719 }
13720
13721 Method (BCSS, 1, NotSerialized)
13722 {
13723 Return (\PSIF (0x08, Arg0))
13724 }
13725
13726 Method (BDSG, 1, NotSerialized)
13727 {
13728 Return (\PSIF (0x09, Arg0))
13729 }
13730
13731 Method (BDSS, 1, NotSerialized)
13732 {
13733 Return (\PSIF (0x0A, Arg0))
13734 }
13735 }
13736
13737 Scope (\_SB.PCI0.LPC.EC.HKEY)
13738 {
13739 Method (GILN, 0, NotSerialized)
13740 {
13741 Return (Or (0x02, \ILNF))
13742 }
13743
13744 Method (SILN, 1, NotSerialized)
13745 {
13746 If (LEqual (0x01, Arg0))
13747 {
13748 Store (0x01, \ILNF)
13749 Store (0x00, BBLS)
13750 Return (0x00)
13751 }
13752 Else
13753 {
13754 If (LEqual (0x02, Arg0))
13755 {
13756 Store (0x00, \ILNF)
13757 Store (0x01, BBLS)
13758 Return (0x00)
13759 }
13760 Else
13761 {
13762 Return (0x01)
13763 }
13764 }
13765 }
13766
13767 Method (GLSI, 0, NotSerialized)
13768 {
13769 If (\H8DR)
13770 {
13771 Return (Add (0x02, \_SB.PCI0.LPC.EC.HPLD))
13772 }
13773 Else
13774 {
13775 If (And (\RBEC (0x46), 0x04))
13776 {
13777 Return (0x03)
13778 }
13779 Else
13780 {
13781 Return (0x02)
13782 }
13783 }
13784 }
13785 }
13786
13787 Scope (\_SB.PCI0.LPC.EC.HKEY)
13788 {
13789 Method (GDLN, 0, NotSerialized)
13790 {
13791 Return (Or (0x02, \PLUX))
13792 }
13793
13794 Method (SDLN, 1, NotSerialized)
13795 {
13796 If (LEqual (0x01, Arg0))
13797 {
13798 Store (0x01, \PLUX)
13799 Return (0x00)
13800 }
13801 Else
13802 {
13803 If (LEqual (0x02, Arg0))
13804 {
13805 Store (0x00, \PLUX)
13806 Return (0x00)
13807 }
13808 Else
13809 {
13810 Return (0x01)
13811 }
13812 }
13813 }
13814 }
13815
13816 Name (\VHCC, 0x00)
13817 Scope (\_SB.PCI0.PEG.VID)
13818 {
13819 Method (ISOP, 0, NotSerialized)
13820 {
13821 Return (LAnd (VDSP, LAnd (VIGD, VDSC)))
13822 }
13823 }
13824
13825 Scope (\_SB.PCI0)
13826 {
13827 Name (OTM, "OTMACPI 2009-Nov-12 18:18:51")
13828 }
13829
13830 Scope (\_SB.PCI0.PEG.VID)
13831 {
13832 Method (GOBT, 1, NotSerialized)
13833 {
13834 Name (OPVK, Buffer (0xE6)
13835 {
13836 /* 0000 */ 0xE4, 0xB8, 0x4F, 0x51, 0x50, 0x72, 0x8A, 0xC2,
13837 /* 0008 */ 0x4B, 0x56, 0xE6, 0x00, 0x00, 0x00, 0x01, 0x00,
13838 /* 0010 */ 0x31, 0x34, 0x38, 0x35, 0x39, 0x37, 0x34, 0x35,
13839 /* 0018 */ 0x36, 0x39, 0x38, 0x35, 0x47, 0x65, 0x6E, 0x75,
13840 /* 0020 */ 0x69, 0x6E, 0x65, 0x20, 0x4E, 0x56, 0x49, 0x44,
13841 /* 0028 */ 0x49, 0x41, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69,
13842 /* 0030 */ 0x66, 0x69, 0x65, 0x64, 0x20, 0x4F, 0x70, 0x74,
13843 /* 0038 */ 0x69, 0x6D, 0x75, 0x73, 0x20, 0x52, 0x65, 0x61,
13844 /* 0040 */ 0x64, 0x79, 0x20, 0x4D, 0x6F, 0x74, 0x68, 0x65,
13845 /* 0048 */ 0x72, 0x62, 0x6F, 0x61, 0x72, 0x64, 0x20, 0x66,
13846 /* 0050 */ 0x6F, 0x72, 0x20, 0x36, 0x38, 0x38, 0x33, 0x32,
13847 /* 0058 */ 0x35, 0x6E, 0x6F, 0x7A, 0x6F, 0x6D, 0x69, 0x32,
13848 /* 0060 */ 0x31, 0x44, 0x35, 0x20, 0x20, 0x20, 0x20, 0x20,
13849 /* 0068 */ 0x2D, 0x20, 0x40, 0x4A, 0x20, 0x24, 0x55, 0x27,
13850 /* 0070 */ 0x5C, 0x22, 0x54, 0x20, 0x29, 0x5F, 0x47, 0x42,
13851 /* 0078 */ 0x20, 0x50, 0x2F, 0x41, 0x4F, 0x5C, 0x37, 0x22,
13852 /* 0080 */ 0x3D, 0x46, 0x37, 0x39, 0x4B, 0x37, 0x2B, 0x5F,
13853 /* 0088 */ 0x3F, 0x4B, 0x48, 0x5C, 0x5F, 0x46, 0x58, 0x48,
13854 /* 0090 */ 0x5F, 0x44, 0x57, 0x32, 0x26, 0x4A, 0x46, 0x50,
13855 /* 0098 */ 0x52, 0x25, 0x24, 0x2F, 0x46, 0x24, 0x20, 0x2D,
13856 /* 00A0 */ 0x20, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67,
13857 /* 00A8 */ 0x68, 0x74, 0x20, 0x32, 0x30, 0x31, 0x30, 0x20,
13858 /* 00B0 */ 0x4E, 0x56, 0x49, 0x44, 0x49, 0x41, 0x20, 0x43,
13859 /* 00B8 */ 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69,
13860 /* 00C0 */ 0x6F, 0x6E, 0x20, 0x41, 0x6C, 0x6C, 0x20, 0x52,
13861 /* 00C8 */ 0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x52, 0x65,
13862 /* 00D0 */ 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2D, 0x31,
13863 /* 00D8 */ 0x34, 0x38, 0x35, 0x39, 0x37, 0x34, 0x35, 0x36,
13864 /* 00E0 */ 0x39, 0x38, 0x35, 0x28, 0x52, 0x29
13865 })
13866 CreateWordField (Arg0, 0x02, USRG)
13867 If (LEqual (USRG, 0x564B))
13868 {
13869 Return (OPVK)
13870 }
13871
13872 Return (Zero)
13873 }
13874 }
13875
13876 Scope (\_SB.PCI0.PEG.VID)
13877 {
13878 Name (OMPR, 0x02)
13879 Name (HDAS, 0x00)
13880 Method (NVOP, 4, NotSerialized)
13881 {
13882 Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
13883 Store ("------- NV OPTIMUS DSM --------", Debug)
13884 If (LNotEqual (Arg1, 0x0100))
13885 {
13886 Return (0x80000001)
13887 }
13888
13889 Store (ToInteger (Arg2), _T_0)
13890 If (LEqual (_T_0, 0x00))
13891 {
13892 Store (Buffer (0x04)
13893 {
13894 0x00, 0x00, 0x00, 0x00
13895 }, Local0)
13896 Divide (0x00, 0x08, Local2, Local1)
13897 ShiftLeft (0x01, Local2, Local2)
13898 Or (DerefOf (Index (Local0, Local1)), Local2, Index (Local0, Local1
13899 ))
13900 Divide (0x1A, 0x08, Local2, Local1)
13901 ShiftLeft (0x01, Local2, Local2)
13902 Or (DerefOf (Index (Local0, Local1)), Local2, Index (Local0, Local1
13903 ))
13904 Divide (0x1B, 0x08, Local2, Local1)
13905 ShiftLeft (0x01, Local2, Local2)
13906 Or (DerefOf (Index (Local0, Local1)), Local2, Index (Local0, Local1
13907 ))
13908 Divide (0x10, 0x08, Local2, Local1)
13909 ShiftLeft (0x01, Local2, Local2)
13910 Or (DerefOf (Index (Local0, Local1)), Local2, Index (Local0, Local1
13911 ))
13912 Return (Local0)
13913 }
13914 Else
13915 {
13916 If (LEqual (_T_0, 0x1A))
13917 {
13918 CreateField (Arg3, 0x18, 0x02, OPCE)
13919 CreateField (Arg3, 0x00, 0x01, FLCH)
13920 If (ToInteger (FLCH))
13921 {
13922 Store (OPCE, OMPR)
13923 }
13924
13925 Store (Buffer (0x04)
13926 {
13927 0x00, 0x00, 0x00, 0x00
13928 }, Local0)
13929 CreateField (Local0, 0x00, 0x01, OPEN)
13930 CreateField (Local0, 0x03, 0x02, CGCS)
13931 CreateField (Local0, 0x06, 0x01, SHPC)
13932 CreateField (Local0, 0x18, 0x03, DGPC)
13933 CreateField (Local0, 0x1B, 0x02, HDAC)
13934 Store (One, OPEN)
13935 Store (One, SHPC)
13936 Store (One, DGPC)
13937 If (\_SB.PCI0.PEG.VID._STA ())
13938 {
13939 Store (0x03, CGCS)
13940 }
13941
13942 Store (0x02, HDAC)
13943 Return (Local0)
13944 }
13945 Else
13946 {
13947 If (LEqual (_T_0, 0x1B))
13948 {
13949 CreateField (Arg3, 0x00, 0x01, HDAU)
13950 CreateField (Arg3, 0x01, 0x01, HDAR)
13951 Store (Buffer (0x04)
13952 {
13953 0x00, 0x00, 0x00, 0x00
13954 }, Local0)
13955 CreateField (Local0, 0x02, 0x02, RQGS)
13956 CreateField (Local0, 0x04, 0x01, PWST)
13957 Store (One, PWST)
13958 If (LAnd (\_SB.PCI0.LPC.EC.DOCD, \_SB.PCI0.LPC.EC.AC._PSR ()))
13959 {
13960 Store (One, RQGS)
13961 }
13962 Else
13963 {
13964 Store (Zero, RQGS)
13965 }
13966
13967 If (ToInteger (HDAR))
13968 {
13969 Store (ToInteger (HDAU), HDAS)
13970 }
13971
13972 Return (Local0)
13973 }
13974 Else
13975 {
13976 If (LEqual (_T_0, 0x10))
13977 {
13978 Return (\_SB.PCI0.PEG.VID.GOBT (Arg3))
13979 }
13980 }
13981 }
13982 }
13983
13984 Return (0x80000002)
13985 }
13986 }
13987
13988 Scope (\)
13989 {
13990 Method (CMPB, 2, NotSerialized)
13991 {
13992 Store (SizeOf (Arg0), Local1)
13993 If (LNotEqual (Local1, SizeOf (Arg1)))
13994 {
13995 Return (0x00)
13996 }
13997
13998 Store (0x00, Local0)
13999 While (LLess (Local0, Local1))
14000 {
14001 If (LNotEqual (DerefOf (Index (Arg0, Local0)), DerefOf (Index (
14002 Arg1, Local0))))
14003 {
14004 Return (0x00)
14005 }
14006
14007 Increment (Local0)
14008 }
14009
14010 Return (0x01)
14011 }
14012 }
14013
14014 Scope (\_SB.PCI0.PEG.VID)
14015 {
14016 Name (CPPC, 0x00)
14017 Method (NVPS, 4, NotSerialized)
14018 {
14019 Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler
14020 Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
14021 Store ("------- NV GPS DSM --------", Debug)
14022 Store (ToInteger (Arg2), _T_0)
14023 If (LEqual (_T_0, 0x00))
14024 {
14025 Store (Buffer (0x08)
14026 {
14027 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
14028 }, Local0)
14029 Store (Buffer (0x07)
14030 {
14031 0x00, 0x20, 0x21, 0x22, 0x23, 0x2A, 0xFF
14032 }, Local3)
14033 Store (Zero, Local4)
14034 Store (DerefOf (Index (Local3, Local4)), Local5)
14035 While (LNotEqual (Local5, 0xFF))
14036 {
14037 Divide (Local5, 0x08, Local2, Local1)
14038 ShiftLeft (0x01, Local2, Local2)
14039 Or (DerefOf (Index (Local0, Local1)), Local2, Index (Local0, Local1
14040 ))
14041 Increment (Local4)
14042 Store (DerefOf (Index (Local3, Local4)), Local5)
14043 }
14044
14045 Return (Local0)
14046 }
14047 Else
14048 {
14049 If (LEqual (_T_0, 0x20))
14050 {
14051 Store (Buffer (0x04)
14052 {
14053 0x00, 0x00, 0x00, 0x00
14054 }, Local0)
14055 CreateField (Local0, 0x18, 0x01, CUIT)
14056 CreateField (Local0, 0x1E, 0x01, PSER)
14057 Store (One, CUIT)
14058 Store (One, PSER)
14059 Return (Local0)
14060 }
14061 Else
14062 {
14063 If (LEqual (_T_0, 0x21))
14064 {
14065 Return (\_PR.CPU0._PSS)
14066 }
14067 Else
14068 {
14069 If (LEqual (_T_0, 0x22))
14070 {
14071 CreateField (Arg3, 0x00, 0x08, PPCV)
14072 Store (PPCV, CPPC)
14073 \PNTF (0x80)
14074 Return (Buffer (0x04)
14075 {
14076 0x00, 0x00, 0x00, 0x00
14077 })
14078 }
14079 Else
14080 {
14081 If (LEqual (_T_0, 0x23))
14082 {
14083 Store (Buffer (0x04)
14084 {
14085 0x00, 0x00, 0x00, 0x00
14086 }, Local0)
14087 Store (CPPC, Index (Local0, 0x00))
14088 Return (Local0)
14089 }
14090 Else
14091 {
14092 If (LEqual (_T_0, 0x2A))
14093 {
14094 Store (Buffer (0x24)
14095 {
14096 /* 0000 */ 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
14097 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
14098 /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
14099 /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
14100 /* 0020 */ 0x00, 0x00, 0x00, 0x00
14101 }, Local0)
14102 Store (DerefOf (Index (Arg3, 0x00)), Index (Local0, 0x00))
14103 CreateField (Arg3, 0x00, 0x04, QTYP)
14104 Store (ToInteger (QTYP), _T_1)
14105 If (LEqual (_T_1, 0x00))
14106 {
14107 Store (\_SB.PCI0.LPC.EC.TMP0, Local1)
14108 Store (And (Local1, 0xFF), Index (Local0, 0x0C))
14109 Return (Local0)
14110 }
14111 Else
14112 {
14113 If (LEqual (_T_1, 0x01))
14114 {
14115 Store (0x08, Index (Local0, 0x0D))
14116 Store (0x03, Index (Local0, 0x01))
14117 Return (Local0)
14118 }
14119 Else
14120 {
14121 If (LEqual (_T_1, 0x02))
14122 {
14123 Store (Zero, Index (Local0, 0x01))
14124 Return (Local0)
14125 }
14126 }
14127 }
14128 }
14129 }
14130 }
14131 }
14132 }
14133 }
14134
14135 Return (Buffer (0x04)
14136 {
14137 0x02, 0x00, 0x00, 0x80
14138 })
14139 }
14140 }
14141 }
14142
14143 Scope (\_SB.PCI0.EHC2.URTH.URMH.PRTC)
14144 {
14145 Name (_EJD, "\\_SB.GDCK") // _EJD: Ejection Dependent Device
14146 }
14147
14148 Scope (\_SB.PCI0.EHC1.URTH.URMH.PRT5)
14149 {
14150 Name (_EJD, "\\_SB.PCI0.EXP3.SLOT") // _EJD: Ejection Dependent Device
14151 }
14152
14153 Scope (\_SB.PCI0.EXP3.SLOT)
14154 {
14155 Name (_EJD, "\\_SB.PCI0.EHC1.URTH.URMH.PRT5") // _EJD: Ejection Dependent Device
14156 }
14157
14158 Name (\_S0, Package (0x04) // _S0_: S0 System State
14159 {
14160 0x00,
14161 0x00,
14162 0x00,
14163 0x00
14164 })
14165 Name (\_S3, Package (0x04) // _S3_: S3 System State
14166 {
14167 0x05,
14168 0x05,
14169 0x00,
14170 0x00
14171 })
14172 Name (\_S4, Package (0x04) // _S4_: S4 System State
14173 {
14174 0x06,
14175 0x06,
14176 0x00,
14177 0x00
14178 })
14179 Name (\_S5, Package (0x04) // _S5_: S5 System State
14180 {
14181 0x07,
14182 0x07,
14183 0x00,
14184 0x00
14185 })
14186 Method (\_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep
14187 {
14188 Store (0x01, Local0)
14189 If (LEqual (Arg0, \SPS))
14190 {
14191 Store (0x00, Local0)
14192 }
14193
14194 If (LOr (LEqual (Arg0, 0x00), LGreaterEqual (Arg0, 0x06)))
14195 {
14196 Store (0x00, Local0)
14197 }
14198
14199 If (Local0)
14200 {
14201 Store (Arg0, \SPS)
14202 \_SB.PCI0.LPC.EC.HKEY.MHKE (0x00)
14203 If (\_SB.PCI0.LPC.EC.KBLT)
14204 {
14205 \UCMS (0x0D)
14206 }
14207
14208 If (LEqual (Arg0, 0x01))
14209 {
14210 Store (\_SB.PCI0.LPC.EC.HFNI, \FNID)
14211 Store (0x00, \_SB.PCI0.LPC.EC.HFNI)
14212 Store (0x00, \_SB.PCI0.LPC.EC.HFSP)
14213 }
14214
14215 If (LEqual (Arg0, 0x03))
14216 {
14217 \VVPD (0x03)
14218 \TRAP ()
14219 Store (\_SB.PCI0.LPC.EC.AC._PSR (), \ACST)
14220 Store (0x00, \APIN)
14221 }
14222
14223 If (LEqual (Arg0, 0x04))
14224 {
14225 If (VDSP)
14226 {
14227 Store (Zero, SHA1)
14228 }
14229
14230 If (XPFG)
14231 {
14232 If (VDSC)
14233 {
14234 Store (0x01, SVHC)
14235 }
14236 }
14237
14238 \_SB.SLPB._PSW (0x00)
14239 \TRAP ()
14240 \_SB.PCI0.LPC.TPM.CMOR ()
14241 \AWON (0x04)
14242 Store (0x00, \APIN)
14243 }
14244
14245 If (LEqual (Arg0, 0x05))
14246 {
14247 \TRAP ()
14248 \_SB.PCI0.LPC.TPM.CMOR ()
14249 \AWON (0x05)
14250 }
14251
14252 \_SB.PCI0.LPC.EC.BPTS (Arg0)
14253 If (LGreaterEqual (Arg0, 0x04))
14254 {
14255 Store (0x00, \_SB.PCI0.LPC.EC.HWLB)
14256 }
14257 Else
14258 {
14259 Store (0x01, \_SB.PCI0.LPC.EC.HWLB)
14260 }
14261
14262 If (LNotEqual (Arg0, 0x05))
14263 {
14264 Store (0x01, \_SB.PCI0.LPC.EC.HCMU)
14265 Store (\_SB.PCI0.EXP1.PDS, \_SB.PCI0.EXP1.PDSF)
14266 Store (\_SB.PCI0.EXP3.PDS, \_SB.PCI0.EXP3.PDSF)
14267 }
14268
14269 \_SB.PCI0.LPC.EC.HKEY.WGPS (Arg0)
14270 }
14271 }
14272
14273 Name (WAKI, Package (0x02)
14274 {
14275 0x00,
14276 0x00
14277 })
14278 Method (\_WAK, 1, NotSerialized) // _WAK: Wake
14279 {
14280 If (LOr (LEqual (Arg0, 0x00), LGreaterEqual (Arg0, 0x05)))
14281 {
14282 Return (WAKI)
14283 }
14284
14285 Store (0x00, \SPS)
14286 Store (0x00, \_SB.PCI0.LPC.EC.HCMU)
14287 \_SB.PCI0.LPC.EC.EVNT (0x01)
14288 \_SB.PCI0.LPC.EC.HKEY.MHKE (0x01)
14289 \_SB.PCI0.LPC.EC.FNST ()
14290 \UCMS (0x0D)
14291 Store (0x00, \LIDB)
14292 If (LEqual (Arg0, 0x01))
14293 {
14294 Store (\_SB.PCI0.LPC.EC.HFNI, \FNID)
14295 }
14296
14297 If (LEqual (Arg0, 0x03))
14298 {
14299 \NVSS (0x00)
14300 Store (\_SB.PCI0.LPC.EC.AC._PSR (), \PWRS)
14301 If (\OSC4)
14302 {
14303 \PNTF (0x81)
14304 }
14305
14306 If (LNotEqual (\ACST, \_SB.PCI0.LPC.EC.AC._PSR ()))
14307 {
14308 \_SB.PCI0.LPC.EC.ATMC ()
14309 }
14310
14311 If (\SCRM)
14312 {
14313 Store (0x07, \_SB.PCI0.LPC.EC.HFSP)
14314 If (\MTAU)
14315 {
14316 Store (0x03E8, Local2)
14317 While (LAnd (\_SB.PCI0.LPC.EC.PIBS, Local2))
14318 {
14319 Sleep (0x01)
14320 Decrement (Local2)
14321 }
14322
14323 If (Local2)
14324 {
14325 Store (0x01, \_SB.PCI0.LPC.EC.PLSL)
14326 Store (\MTAU, \_SB.PCI0.LPC.EC.PLTU)
14327 Store (\PL1L, \_SB.PCI0.LPC.EC.PLLS)
14328 Store (\PL1M, \_SB.PCI0.LPC.EC.PLMS)
14329 }
14330 }
14331 }
14332
14333 If (LEqual (\ISWK, 0x01))
14334 {
14335 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
14336 {
14337 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6070)
14338 }
14339 }
14340
14341 If (\VIGD)
14342 {
14343 \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
14344 If (\WVIS)
14345 {
14346 \VBTD ()
14347 }
14348 }
14349 Else
14350 {
14351 If (\WVIS)
14352 {
14353 \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
14354 \VBTD ()
14355 }
14356 }
14357
14358 \VCMS (0x01, \_SB.LID._LID ())
14359 \AWON (0x00)
14360 If (\CMPR)
14361 {
14362 Notify (\_SB.SLPB, 0x02)
14363 Store (0x00, \CMPR)
14364 }
14365
14366 If (LOr (\USBR, \_SB.PCI0.XHCI.XRST))
14367 {
14368 If (LOr (LEqual (\XHCM, 0x02), LEqual (\XHCM, 0x03)))
14369 {
14370 Store (0x00, Local0)
14371 And (\_SB.PCI0.XHCI.PR3, 0xFFFFFFF0, Local0)
14372 Or (Local0, \XHPM, Local0)
14373 And (Local0, \_SB.PCI0.XHCI.PR3M, \_SB.PCI0.XHCI.PR3)
14374 Store (0x00, Local0)
14375 And (\_SB.PCI0.XHCI.PR2, 0xFFFFFFF0, Local0)
14376 Or (Local0, \XHPM, Local0)
14377 And (Local0, \_SB.PCI0.XHCI.PR2M, \_SB.PCI0.XHCI.PR2)
14378 }
14379 }
14380 }
14381
14382 If (LEqual (Arg0, 0x04))
14383 {
14384 \NVSS (0x00)
14385 Store (0x00, \_SB.PCI0.LPC.EC.HSPA)
14386 Store (\_SB.PCI0.LPC.EC.AC._PSR (), \PWRS)
14387 If (\OSC4)
14388 {
14389 \PNTF (0x81)
14390 }
14391
14392 \_SB.PCI0.LPC.EC.ATMC ()
14393 If (\SCRM)
14394 {
14395 Store (0x07, \_SB.PCI0.LPC.EC.HFSP)
14396 If (\MTAU)
14397 {
14398 Store (0x03E8, Local2)
14399 While (LAnd (\_SB.PCI0.LPC.EC.PIBS, Local2))
14400 {
14401 Sleep (0x01)
14402 Decrement (Local2)
14403 }
14404
14405 If (Local2)
14406 {
14407 Store (0x01, \_SB.PCI0.LPC.EC.PLSL)
14408 Store (\MTAU, \_SB.PCI0.LPC.EC.PLTU)
14409 Store (\PL1L, \_SB.PCI0.LPC.EC.PLLS)
14410 Store (\PL1M, \_SB.PCI0.LPC.EC.PLMS)
14411 }
14412 }
14413 }
14414
14415 If (XPFG)
14416 {
14417 If (VDSC)
14418 {
14419 Store (0x00, SVHC)
14420 }
14421 }
14422
14423 If (LNot (\NBCF))
14424 {
14425 If (\VIGD)
14426 {
14427 \_SB.PCI0.LPC.EC.BRNS ()
14428 }
14429 Else
14430 {
14431 \VBRC (\BRLV)
14432 }
14433 }
14434
14435 If (LEqual (\ISWK, 0x02))
14436 {
14437 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
14438 {
14439 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6080)
14440 }
14441 }
14442
14443 If (\_SB.PCI0.XHCI.XRST)
14444 {
14445 If (LOr (LEqual (\XHCM, 0x02), LEqual (\XHCM, 0x03)))
14446 {
14447 Store (0x00, Local0)
14448 And (\_SB.PCI0.XHCI.PR3, 0xFFFFFFF0, Local0)
14449 Or (Local0, \XHPM, Local0)
14450 And (Local0, \_SB.PCI0.XHCI.PR3M, \_SB.PCI0.XHCI.PR3)
14451 Store (0x00, Local0)
14452 And (\_SB.PCI0.XHCI.PR2, 0xFFFFFFF0, Local0)
14453 Or (Local0, \XHPM, Local0)
14454 }
14455 }
14456 }
14457
14458 If (XOr (\_SB.PCI0.EXP1.PDS, \_SB.PCI0.EXP1.PDSF))
14459 {
14460 Store (\_SB.PCI0.EXP1.PDS, \_SB.PCI0.EXP1.PDSF)
14461 Notify (\_SB.PCI0.EXP1, 0x00)
14462 }
14463
14464 If (XOr (\_SB.PCI0.EXP3.PDS, \_SB.PCI0.EXP3.PDSF))
14465 {
14466 Store (\_SB.PCI0.EXP3.PDS, \_SB.PCI0.EXP3.PDSF)
14467 Notify (\_SB.PCI0.EXP3, 0x00)
14468 }
14469
14470 \_SB.PCI0.LPC.EC.BATW (Arg0)
14471 \_SB.PCI0.LPC.EC.BWAK (Arg0)
14472 \_SB.PCI0.LPC.EC.HKEY.WGWK (Arg0)
14473 Notify (\_TZ.THM0, 0x80)
14474 \VSLD (\_SB.LID._LID ())
14475 If (\VIGD)
14476 {
14477 \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
14478 }
14479 Else
14480 {
14481 If (\WVIS)
14482 {
14483 \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
14484 }
14485 }
14486
14487 If (LLess (Arg0, 0x04))
14488 {
14489 If (And (\RRBF, 0x02))
14490 {
14491 ShiftLeft (Arg0, 0x08, Local0)
14492 Store (Or (0x2013, Local0), Local0)
14493 \_SB.PCI0.LPC.EC.HKEY.MHKQ (Local0)
14494 }
14495 }
14496
14497 If (LEqual (Arg0, 0x04))
14498 {
14499 Store (0x00, Local0)
14500 Store (\CSUM (0x00), Local1)
14501 If (LNotEqual (Local1, \CHKC))
14502 {
14503 Store (0x01, Local0)
14504 Store (Local1, \CHKC)
14505 }
14506
14507 Store (\CSUM (0x01), Local1)
14508 If (LNotEqual (Local1, \CHKE))
14509 {
14510 Store (0x01, Local0)
14511 Store (Local1, \CHKE)
14512 }
14513
14514 If (Local0)
14515 {
14516 Notify (\_SB, 0x00)
14517 }
14518 }
14519
14520 Store (Zero, \RRBF)
14521 Return (WAKI)
14522 }
14523
14524 Scope (\_SI)
14525 {
14526 Method (_SST, 1, NotSerialized) // _SST: System Status
14527 {
14528 If (LEqual (Arg0, 0x00))
14529 {
14530 \_SB.PCI0.LPC.EC.LED (0x00, 0x00)
14531 \_SB.PCI0.LPC.EC.LED (0x07, 0x00)
14532 }
14533
14534 If (LEqual (Arg0, 0x01))
14535 {
14536 If (LOr (\SPS, \WNTF))
14537 {
14538 \_SB.PCI0.LPC.EC.BEEP (0x05)
14539 }
14540
14541 \_SB.PCI0.LPC.EC.LED (0x00, 0x80)
14542 \_SB.PCI0.LPC.EC.LED (0x07, 0x00)
14543 }
14544
14545 If (LEqual (Arg0, 0x02))
14546 {
14547 \_SB.PCI0.LPC.EC.LED (0x00, 0xC0)
14548 \_SB.PCI0.LPC.EC.LED (0x07, 0xC0)
14549 }
14550
14551 If (LEqual (Arg0, 0x03))
14552 {
14553 If (LGreater (\SPS, 0x03))
14554 {
14555 \_SB.PCI0.LPC.EC.BEEP (0x07)
14556 }
14557 Else
14558 {
14559 If (LEqual (\SPS, 0x03))
14560 {
14561 \_SB.PCI0.LPC.EC.BEEP (0x03)
14562 }
14563 Else
14564 {
14565 \_SB.PCI0.LPC.EC.BEEP (0x04)
14566 }
14567 }
14568
14569 If (LEqual (\SPS, 0x03)) {}
14570 Else
14571 {
14572 \_SB.PCI0.LPC.EC.LED (0x00, 0x80)
14573 }
14574
14575 \_SB.PCI0.LPC.EC.LED (0x07, 0xC0)
14576 \_SB.PCI0.LPC.EC.LED (0x00, 0xC0)
14577 }
14578
14579 If (LEqual (Arg0, 0x04))
14580 {
14581 \_SB.PCI0.LPC.EC.BEEP (0x03)
14582 \_SB.PCI0.LPC.EC.LED (0x07, 0xC0)
14583 \_SB.PCI0.LPC.EC.LED (0x00, 0xC0)
14584 }
14585 }
14586 }
14587
14588 Scope (\_GPE)
14589 {
14590 Method (_L1D, 0, NotSerialized) // _Lxx: Level-Triggered GPE
14591 {
14592 Store (\_SB.PCI0.LPC.EC.HWAK, Local0)
14593 Store (Local0, \RRBF)
14594 Sleep (0x0A)
14595 If (And (Local0, 0x02)) {}
14596 If (And (Local0, 0x04))
14597 {
14598 Notify (\_SB.LID, 0x02)
14599 }
14600
14601 If (And (Local0, 0x08))
14602 {
14603 Notify (\_SB.SLPB, 0x02)
14604 }
14605
14606 If (And (Local0, 0x10))
14607 {
14608 Notify (\_SB.SLPB, 0x02)
14609 }
14610
14611 If (And (Local0, 0x40)) {}
14612 If (And (Local0, 0x80))
14613 {
14614 Notify (\_SB.SLPB, 0x02)
14615 }
14616 }
14617
14618 Method (_L09, 0, NotSerialized) // _Lxx: Level-Triggered GPE
14619 {
14620 If (\_SB.PCI0.EXP1.PS)
14621 {
14622 Store (0x01, \_SB.PCI0.EXP1.PS)
14623 Store (0x01, \_SB.PCI0.EXP1.PMCS)
14624 Notify (\_SB.PCI0.EXP1, 0x02)
14625 }
14626
14627 If (\_SB.PCI0.EXP2.PS)
14628 {
14629 Store (0x01, \_SB.PCI0.EXP2.PS)
14630 Store (0x01, \_SB.PCI0.EXP2.PMCS)
14631 Notify (\_SB.PCI0.EXP2, 0x02)
14632 }
14633
14634 If (\_SB.PCI0.EXP3.PS)
14635 {
14636 Store (0x01, \_SB.PCI0.EXP3.PS)
14637 Store (0x01, \_SB.PCI0.EXP3.PMCS)
14638 Notify (\_SB.PCI0.EXP3, 0x02)
14639 }
14640 }
14641
14642 Method (_L01, 0, NotSerialized) // _Lxx: Level-Triggered GPE
14643 {
14644 If (\_SB.PCI0.EXP1.HPCS)
14645 {
14646 Sleep (0x64)
14647 Store (0x01, \_SB.PCI0.EXP1.HPCS)
14648 If (\_SB.PCI0.EXP1.PDC)
14649 {
14650 Store (0x01, \_SB.PCI0.EXP1.PDC)
14651 Store (\_SB.PCI0.EXP1.PDS, \_SB.PCI0.EXP1.PDSF)
14652 Notify (\_SB.PCI0.EXP1, 0x00)
14653 }
14654 }
14655
14656 If (\_SB.PCI0.EXP3.HPCS)
14657 {
14658 Sleep (0x64)
14659 Store (0x01, \_SB.PCI0.EXP3.HPCS)
14660 If (\_SB.PCI0.EXP3.PDC)
14661 {
14662 Store (0x01, \_SB.PCI0.EXP3.PDC)
14663 Store (\_SB.PCI0.EXP3.PDS, \_SB.PCI0.EXP3.PDSF)
14664 Notify (\_SB.PCI0.EXP3, 0x00)
14665 }
14666 }
14667 }
14668
14669 Method (_L02, 0, NotSerialized) // _Lxx: Level-Triggered GPE
14670 {
14671 Store (0x00, \_SB.PCI0.LPC.SWGE)
14672 If (LAnd (\CWUE, And (\SWGP, 0x02)))
14673 {
14674 And (\SWGP, Not (0x02), \SWGP)
14675 If (\OSC4)
14676 {
14677 \PNTF (0x81)
14678 }
14679 }
14680 }
14681
14682 Method (_L06, 0, NotSerialized) // _Lxx: Level-Triggered GPE
14683 {
14684 If (\_SB.PCI0.VID.GSSE)
14685 {
14686 \_SB.PCI0.VID.GSCI ()
14687 }
14688 Else
14689 {
14690 Store (0x01, \_SB.PCI0.LPC.SCIS)
14691 }
14692 }
14693
14694 Method (_L16, 0, NotSerialized) // _Lxx: Level-Triggered GPE
14695 {
14696 If (\_SB.PCI0.PEG.VID.ISOP ())
14697 {
14698 If (LNot (\_SB.PCI0.LPC.XHPD))
14699 {
14700 Notify (\_SB.PCI0.PEG.VID, 0x81)
14701 }
14702 }
14703
14704 XOr (\_SB.PCI0.LPC.XHPD, 0x01, \_SB.PCI0.LPC.XHPD)
14705 }
14706 }
14707
14708 Scope (\_SB.PCI0.LPC.EC.HKEY)
14709 {
14710 Method (MHQT, 1, NotSerialized)
14711 {
14712 If (LAnd (\WNTF, \TATC))
14713 {
14714 If (LEqual (Arg0, 0x00))
14715 {
14716 Store (\TATC, Local0)
14717 Return (Local0)
14718 }
14719 Else
14720 {
14721 If (LEqual (Arg0, 0x01))
14722 {
14723 Store (\TDFA, Local0)
14724 Add (Local0, ShiftLeft (\TDTA, 0x04), Local0)
14725 Add (Local0, ShiftLeft (\TDFD, 0x08), Local0)
14726 Add (Local0, ShiftLeft (\TDTD, 0x0C), Local0)
14727 Add (Local0, ShiftLeft (\TNFT, 0x10), Local0)
14728 Add (Local0, ShiftLeft (\TNTT, 0x14), Local0)
14729 Return (Local0)
14730 }
14731 Else
14732 {
14733 If (LEqual (Arg0, 0x02))
14734 {
14735 Store (\TCFA, Local0)
14736 Add (Local0, ShiftLeft (\TCTA, 0x04), Local0)
14737 Add (Local0, ShiftLeft (\TCFD, 0x08), Local0)
14738 Add (Local0, ShiftLeft (\TCTD, 0x0C), Local0)
14739 Return (Local0)
14740 }
14741 Else
14742 {
14743 If (LEqual (Arg0, 0x03)) {}
14744 Else
14745 {
14746 If (LEqual (Arg0, 0x04))
14747 {
14748 Store (\TATW, Local0)
14749 Return (Local0)
14750 }
14751 Else
14752 {
14753 Noop
14754 }
14755 }
14756 }
14757 }
14758 }
14759 }
14760
14761 Return (0x00)
14762 }
14763
14764 Method (MHAT, 1, NotSerialized)
14765 {
14766 If (LAnd (\WNTF, \TATC))
14767 {
14768 Store (And (Arg0, 0xFF), Local0)
14769 If (LNot (ATMV (Local0)))
14770 {
14771 Return (0x00)
14772 }
14773
14774 Store (And (ShiftRight (Arg0, 0x08), 0xFF), Local0)
14775 If (LNot (ATMV (Local0)))
14776 {
14777 Return (0x00)
14778 }
14779
14780 Store (And (Arg0, 0x0F), \TCFA)
14781 Store (And (ShiftRight (Arg0, 0x04), 0x0F), \TCTA)
14782 Store (And (ShiftRight (Arg0, 0x08), 0x0F), \TCFD)
14783 Store (And (ShiftRight (Arg0, 0x0C), 0x0F), \TCTD)
14784 ATMC ()
14785 If (And (\PPMF, 0x80))
14786 {
14787 Store (\FTPS, Local1)
14788 If (And (Arg0, 0x00010000))
14789 {
14790 Store (0x01, \FTPS)
14791 }
14792 Else
14793 {
14794 Store (0x00, \FTPS)
14795 }
14796
14797 If (XOr (\FTPS, Local1))
14798 {
14799 If (\OSPX)
14800 {
14801 \PNTF (0x80)
14802 }
14803 }
14804 }
14805
14806 Store (\SCRM, Local2)
14807 If (And (Arg0, 0x00040000))
14808 {
14809 Store (0x01, \SCRM)
14810 Store (0x07, \_SB.PCI0.LPC.EC.HFSP)
14811 }
14812 Else
14813 {
14814 Store (0x00, \SCRM)
14815 Store (0x80, \_SB.PCI0.LPC.EC.HFSP)
14816 }
14817
14818 Store (\ETAU, Local3)
14819 If (And (Arg0, 0x00020000))
14820 {
14821 Store (0x01, \ETAU)
14822 }
14823 Else
14824 {
14825 Store (0x00, \ETAU)
14826 }
14827
14828 If (\MTAU)
14829 {
14830 If (LOr (XOr (\SCRM, Local2), XOr (\ETAU, Local3)))
14831 {
14832 Store (0x03E8, Local4)
14833 While (\_SB.PCI0.LPC.EC.PIBS)
14834 {
14835 Sleep (0x01)
14836 Decrement (Local4)
14837 If (LNot (Local4))
14838 {
14839 Return (0x00)
14840 }
14841 }
14842
14843 Store (0x01, \_SB.PCI0.LPC.EC.PLSL)
14844 If (And (Arg0, 0x00060000))
14845 {
14846 Store (\MTAU, \_SB.PCI0.LPC.EC.PLTU)
14847 }
14848 Else
14849 {
14850 Store (0x1C, \_SB.PCI0.LPC.EC.PLTU)
14851 }
14852
14853 Store (\PL1L, \_SB.PCI0.LPC.EC.PLLS)
14854 Store (\PL1M, \_SB.PCI0.LPC.EC.PLMS)
14855 }
14856 }
14857
14858 Return (0x01)
14859 }
14860
14861 Return (0x00)
14862 }
14863
14864 Method (MHGT, 1, NotSerialized)
14865 {
14866 If (LAnd (\WNTF, \TATC))
14867 {
14868 Store (0x01000000, Local0)
14869 If (And (\PPMF, 0x80))
14870 {
14871 Or (Local0, 0x08000000, Local0)
14872 }
14873
14874 If (\SCRM)
14875 {
14876 Or (Local0, 0x10000000, Local0)
14877 }
14878
14879 If (\ETAU)
14880 {
14881 Or (Local0, 0x04000000, Local0)
14882 }
14883
14884 If (\FTPS)
14885 {
14886 Or (Local0, 0x02000000, Local0)
14887 }
14888
14889 Add (Local0, ShiftLeft (\TSFT, 0x10), Local0)
14890 Add (Local0, ShiftLeft (\TSTT, 0x14), Local0)
14891 Store (And (Arg0, 0xFF), Local1)
14892 If (LNot (ATMV (Local1)))
14893 {
14894 Or (Local0, 0xFFFF, Local0)
14895 Return (Local0)
14896 }
14897
14898 Store (And (Arg0, 0x0F), Local1)
14899 If (LEqual (Local1, 0x00))
14900 {
14901 Add (Local0, \TIF0, Local0)
14902 }
14903 Else
14904 {
14905 If (LEqual (Local1, 0x01))
14906 {
14907 Add (Local0, \TIF1, Local0)
14908 }
14909 Else
14910 {
14911 If (LEqual (Local1, 0x02))
14912 {
14913 Add (Local0, \TIF2, Local0)
14914 }
14915 Else
14916 {
14917 Add (Local0, 0xFF, Local0)
14918 }
14919 }
14920 }
14921
14922 Store (And (ShiftRight (Arg0, 0x04), 0x0F), Local1)
14923 If (LEqual (Local1, 0x00))
14924 {
14925 Add (Local0, ShiftLeft (\TIT0, 0x08), Local0)
14926 }
14927 Else
14928 {
14929 If (LEqual (Local1, 0x01))
14930 {
14931 Add (Local0, ShiftLeft (\TIT1, 0x08), Local0)
14932 }
14933 Else
14934 {
14935 If (LEqual (Local1, 0x02))
14936 {
14937 Add (Local0, ShiftLeft (\TIT2, 0x08), Local0)
14938 }
14939 Else
14940 {
14941 Add (Local0, ShiftLeft (0xFF, 0x08), Local0)
14942 }
14943 }
14944 }
14945
14946 Return (Local0)
14947 }
14948
14949 Return (0x00)
14950 }
14951
14952 Method (ATMV, 1, NotSerialized)
14953 {
14954 Store (And (Arg0, 0x0F), Local1)
14955 Store (\TNFT, Local0)
14956 If (LGreaterEqual (Local1, Local0))
14957 {
14958 Return (0x00)
14959 }
14960
14961 Store (And (ShiftRight (Arg0, 0x04), 0x0F), Local2)
14962 Store (\TNTT, Local0)
14963 If (LGreaterEqual (Local2, Local0))
14964 {
14965 Return (0x00)
14966 }
14967
14968 If (\TATL)
14969 {
14970 If (XOr (Local1, Local2))
14971 {
14972 Return (0x00)
14973 }
14974 }
14975
14976 Return (0x01)
14977 }
14978
14979 Method (MHCT, 1, NotSerialized)
14980 {
14981 Store (0x00, Local0)
14982 If (\SPEN)
14983 {
14984 Store (\LWST, Local0)
14985 Increment (Local0)
14986 ShiftLeft (Local0, 0x08, Local0)
14987 }
14988
14989 Store (0x08, Local1)
14990 ShiftLeft (Local1, 0x08, Local1)
14991 If (LEqual (Arg0, 0xFFFFFFFF))
14992 {
14993 Or (Local1, \TPCR, Local1)
14994 If (\SPEN)
14995 {
14996 Or (Local0, \PPCR, Local0)
14997 If (LNot (LAnd (\PPMF, 0x02000000)))
14998 {
14999 Or (Local1, 0x80, Local1)
15000 }
15001
15002 If (LNot (LAnd (\PPMF, 0x08000000)))
15003 {
15004 Or (Local1, 0x40, Local1)
15005 }
15006 }
15007 Else
15008 {
15009 Or (Local1, 0xC0, Local1)
15010 }
15011 }
15012 Else
15013 {
15014 If (LAnd (\OSPX, \SPEN))
15015 {
15016 And (Arg0, 0x00FF0000, Local2)
15017 ShiftRight (Local2, 0x10, Local2)
15018 Or (Local0, Local2, Local0)
15019 If (XOr (Local2, \PPCR))
15020 {
15021 Store (Local2, \PPCA)
15022 \PNTF (0x80)
15023 }
15024 }
15025
15026 If (\WVIS)
15027 {
15028 And (Arg0, 0x1F, Local2)
15029 Or (Local1, Local2, Local1)
15030 If (XOr (Local2, \TPCR))
15031 {
15032 Store (Local2, \TPCA)
15033 \PNTF (0x82)
15034 }
15035 }
15036 }
15037
15038 ShiftLeft (Local0, 0x10, Local0)
15039 Or (Local0, Local1, Local0)
15040 Return (Local0)
15041 }
15042 }
15043
15044 Scope (\_SB.PCI0.LPC.EC)
15045 {
15046 Method (ATMC, 0, NotSerialized)
15047 {
15048 If (LAnd (\WNTF, \TATC))
15049 {
15050 If (HPAC)
15051 {
15052 Store (\TCFA, Local0)
15053 Store (\TCTA, Local1)
15054 Store (Or (ShiftLeft (Local1, 0x04), Local0), Local2)
15055 XOr (Local2, ATMX, Local3)
15056 Store (Local2, ATMX)
15057 If (LEqual (\TCTA, 0x00))
15058 {
15059 Store (\TCR0, \TCRT)
15060 Store (\TPS0, \TPSV)
15061 }
15062 Else
15063 {
15064 If (LEqual (\TCTA, 0x01))
15065 {
15066 Store (\TCR1, \TCRT)
15067 Store (\TPS1, \TPSV)
15068 }
15069 Else
15070 {
15071 }
15072 }
15073 }
15074 Else
15075 {
15076 Store (\TCFD, Local0)
15077 Store (\TCTD, Local1)
15078 Store (Or (ShiftLeft (Local1, 0x04), Local0), Local2)
15079 XOr (Local2, ATMX, Local3)
15080 Store (Local2, ATMX)
15081 If (LEqual (\TCTD, 0x00))
15082 {
15083 Store (\TCR0, \TCRT)
15084 Store (\TPS0, \TPSV)
15085 }
15086 Else
15087 {
15088 If (LEqual (\TCTD, 0x01))
15089 {
15090 Store (\TCR1, \TCRT)
15091 Store (\TPS1, \TPSV)
15092 }
15093 Else
15094 {
15095 }
15096 }
15097 }
15098
15099 If (Local3)
15100 {
15101 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
15102 {
15103 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6030)
15104 }
15105 }
15106
15107 Notify (\_TZ.THM0, 0x81)
15108 }
15109 }
15110 }
15111
15112 Scope (\_TZ)
15113 {
15114 ThermalZone (THM0)
15115 {
15116 Method (_CRT, 0, NotSerialized) // _CRT: Critical Temperature
15117 {
15118 Return (\TCRT)
15119 }
15120
15121 Method (_TMP, 0, NotSerialized) // _TMP: Temperature
15122 {
15123 If (\H8DR)
15124 {
15125 Store (\_SB.PCI0.LPC.EC.TMP0, Local0)
15126 Store (\_SB.PCI0.LPC.EC.TSL2, Local1)
15127 Store (\_SB.PCI0.LPC.EC.TSL3, Local2)
15128 }
15129 Else
15130 {
15131 Store (\RBEC (0x78), Local0)
15132 Store (And (\RBEC (0x8A), 0x7F), Local1)
15133 Store (And (\RBEC (0x8B), 0x7F), Local2)
15134 }
15135
15136 If (LEqual (Local0, 0x80))
15137 {
15138 Store (0x30, Local0)
15139 }
15140
15141 Or (ShiftLeft (\_SB.PCI0.LPC.PIDH, 0x02), \_SB.PCI0.LPC.PIDL, Local3)
15142 If (LLess (Local3, 0x03))
15143 {
15144 And (Local2, 0xF7, Local2)
15145 }
15146
15147 If (Local2)
15148 {
15149 \TSDL ()
15150 Return (C2K (0x80))
15151 }
15152
15153 If (LNot (\_SB.PCI0.LPC.EC.HKEY.DHKC))
15154 {
15155 If (Local1)
15156 {
15157 \TSDL ()
15158 Return (C2K (0x80))
15159 }
15160 }
15161
15162 Return (C2K (Local0))
15163 }
15164 }
15165
15166 Method (C2K, 1, NotSerialized)
15167 {
15168 Add (Multiply (Arg0, 0x0A), 0x0AAC, Local0)
15169 If (LLessEqual (Local0, 0x0AAC))
15170 {
15171 Store (0x0BB8, Local0)
15172 }
15173
15174 If (LGreater (Local0, 0x0FAC))
15175 {
15176 Store (0x0BB8, Local0)
15177 }
15178
15179 Return (Local0)
15180 }
15181 }
15182
15183 Scope (\_SB.PCI0.LPC.EC)
15184 {
15185 Method (_Q40, 0, NotSerialized) // _Qxx: EC Query
15186 {
15187 Notify (\_TZ.THM0, 0x80)
15188 If (\H8DR)
15189 {
15190 Store (\_SB.PCI0.LPC.EC.TSL2, Local1)
15191 }
15192 Else
15193 {
15194 Store (And (\RBEC (0x8A), 0x7F), Local1)
15195 }
15196
15197 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
15198 {
15199 If (Local1)
15200 {
15201 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6022)
15202 }
15203 }
15204
15205 If (VIGD)
15206 {
15207 Noop
15208 }
15209 Else
15210 {
15211 \VTHR ()
15212 }
15213
15214 If (And (\PPMF, 0x01))
15215 {
15216 If (\OSPX)
15217 {
15218 \PNTF (0x80)
15219 }
15220 Else
15221 {
15222 Store (And (\_SB.PCI0.LPC.EC.TSL0, 0x77), Local2)
15223 If (Local2)
15224 {
15225 \STEP (0x09)
15226 }
15227 Else
15228 {
15229 \STEP (0x0A)
15230 }
15231 }
15232 }
15233 }
15234 }
15235
15236 Name (GPIC, 0x00)
15237 Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
15238 {
15239 Store (Arg0, \GPIC)
15240 }
15241
15242 OperationRegion (SMI0, SystemIO, 0xB2, 0x01)
15243 Field (SMI0, ByteAcc, NoLock, Preserve)
15244 {
15245 APMC, 8
15246 }
15247
15248 Field (MNVS, AnyAcc, NoLock, Preserve)
15249 {
15250 Offset (0xFC0),
15251 CMD, 8,
15252 ERR, 32,
15253 PAR0, 32,
15254 PAR1, 32,
15255 PAR2, 32,
15256 PAR3, 32
15257 }
15258
15259 Mutex (MSMI, 0x07)
15260 Method (SMI, 5, NotSerialized)
15261 {
15262 Acquire (MSMI, 0xFFFF)
15263 Store (Arg0, CMD)
15264 Store (0x01, ERR)
15265 Store (Arg1, PAR0)
15266 Store (Arg2, PAR1)
15267 Store (Arg3, PAR2)
15268 Store (Arg4, PAR3)
15269 Store (0xF5, APMC)
15270 While (LEqual (ERR, 0x01))
15271 {
15272 Sleep (0x01)
15273 Store (0xF5, APMC)
15274 }
15275
15276 Store (PAR0, Local0)
15277 Release (MSMI)
15278 Return (Local0)
15279 }
15280
15281 Method (RPCI, 1, NotSerialized)
15282 {
15283 Return (SMI (0x00, 0x00, Arg0, 0x00, 0x00))
15284 }
15285
15286 Method (WPCI, 2, NotSerialized)
15287 {
15288 SMI (0x00, 0x01, Arg0, Arg1, 0x00)
15289 }
15290
15291 Method (MPCI, 3, NotSerialized)
15292 {
15293 SMI (0x00, 0x02, Arg0, Arg1, Arg2)
15294 }
15295
15296 Method (RBEC, 1, NotSerialized)
15297 {
15298 Return (SMI (0x00, 0x03, Arg0, 0x00, 0x00))
15299 }
15300
15301 Method (WBEC, 2, NotSerialized)
15302 {
15303 SMI (0x00, 0x04, Arg0, Arg1, 0x00)
15304 }
15305
15306 Method (MBEC, 3, NotSerialized)
15307 {
15308 SMI (0x00, 0x05, Arg0, Arg1, Arg2)
15309 }
15310
15311 Method (RISA, 1, NotSerialized)
15312 {
15313 Return (SMI (0x00, 0x06, Arg0, 0x00, 0x00))
15314 }
15315
15316 Method (WISA, 2, NotSerialized)
15317 {
15318 SMI (0x00, 0x07, Arg0, Arg1, 0x00)
15319 }
15320
15321 Method (MISA, 3, NotSerialized)
15322 {
15323 SMI (0x00, 0x08, Arg0, Arg1, Arg2)
15324 }
15325
15326 Method (VEXP, 0, NotSerialized)
15327 {
15328 SMI (0x01, 0x00, 0x00, 0x00, 0x00)
15329 }
15330
15331 Method (VUPS, 1, NotSerialized)
15332 {
15333 SMI (0x01, 0x01, Arg0, 0x00, 0x00)
15334 }
15335
15336 Method (VSDS, 2, NotSerialized)
15337 {
15338 SMI (0x01, 0x02, Arg0, Arg1, 0x00)
15339 }
15340
15341 Method (VDDC, 0, NotSerialized)
15342 {
15343 SMI (0x01, 0x03, 0x00, 0x00, 0x00)
15344 }
15345
15346 Method (VVPD, 1, NotSerialized)
15347 {
15348 SMI (0x01, 0x04, Arg0, 0x00, 0x00)
15349 }
15350
15351 Method (VNRS, 1, NotSerialized)
15352 {
15353 SMI (0x01, 0x05, Arg0, 0x00, 0x00)
15354 }
15355
15356 Method (GLPW, 0, NotSerialized)
15357 {
15358 Return (SMI (0x01, 0x06, 0x00, 0x00, 0x00))
15359 }
15360
15361 Method (VSLD, 1, NotSerialized)
15362 {
15363 SMI (0x01, 0x07, Arg0, 0x00, 0x00)
15364 }
15365
15366 Method (VEVT, 1, NotSerialized)
15367 {
15368 Return (SMI (0x01, 0x08, Arg0, 0x00, 0x00))
15369 }
15370
15371 Method (VTHR, 0, NotSerialized)
15372 {
15373 Return (SMI (0x01, 0x09, 0x00, 0x00, 0x00))
15374 }
15375
15376 Method (VBRC, 1, NotSerialized)
15377 {
15378 SMI (0x01, 0x0A, Arg0, 0x00, 0x00)
15379 }
15380
15381 Method (VBRG, 0, NotSerialized)
15382 {
15383 Return (SMI (0x01, 0x0E, 0x00, 0x00, 0x00))
15384 }
15385
15386 Method (VCMS, 2, NotSerialized)
15387 {
15388 Return (SMI (0x01, 0x0B, Arg0, Arg1, 0x00))
15389 }
15390
15391 Method (VBTD, 0, NotSerialized)
15392 {
15393 Return (SMI (0x01, 0x0F, 0x00, 0x00, 0x00))
15394 }
15395
15396 Method (VHYB, 2, NotSerialized)
15397 {
15398 Return (SMI (0x01, 0x10, Arg0, Arg1, 0x00))
15399 }
15400
15401 Method (VDYN, 2, NotSerialized)
15402 {
15403 Return (SMI (0x01, 0x11, Arg0, Arg1, 0x00))
15404 }
15405
15406 Method (UCMS, 1, NotSerialized)
15407 {
15408 Return (SMI (0x02, Arg0, 0x00, 0x00, 0x00))
15409 }
15410
15411 Method (BHDP, 2, NotSerialized)
15412 {
15413 Return (SMI (0x03, 0x00, Arg0, Arg1, 0x00))
15414 }
15415
15416 Method (STEP, 1, NotSerialized)
15417 {
15418 SMI (0x04, Arg0, 0x00, 0x00, 0x00)
15419 }
15420
15421 Method (TRAP, 0, NotSerialized)
15422 {
15423 SMI (0x05, 0x00, 0x00, 0x00, 0x00)
15424 }
15425
15426 Method (CBRI, 0, NotSerialized)
15427 {
15428 SMI (0x05, 0x01, 0x00, 0x00, 0x00)
15429 }
15430
15431 Method (BCHK, 0, NotSerialized)
15432 {
15433 Return (SMI (0x05, 0x04, 0x00, 0x00, 0x00))
15434 }
15435
15436 Method (BYRS, 0, NotSerialized)
15437 {
15438 SMI (0x05, 0x05, 0x00, 0x00, 0x00)
15439 }
15440
15441 Method (LCHK, 1, NotSerialized)
15442 {
15443 Return (SMI (0x05, 0x06, Arg0, 0x00, 0x00))
15444 }
15445
15446 Method (BLTH, 1, NotSerialized)
15447 {
15448 Return (SMI (0x06, Arg0, 0x00, 0x00, 0x00))
15449 }
15450
15451 Method (PRSM, 2, NotSerialized)
15452 {
15453 Return (SMI (0x07, 0x00, Arg0, Arg1, 0x00))
15454 }
15455
15456 Method (IFRS, 2, NotSerialized)
15457 {
15458 Return (SMI (0x07, 0x01, Arg0, Arg1, 0x00))
15459 }
15460
15461 Method (TDPC, 1, NotSerialized)
15462 {
15463 Return (SMI (0x07, 0x02, Arg0, 0x00, 0x00))
15464 }
15465
15466 Method (WGSV, 1, NotSerialized)
15467 {
15468 Return (SMI (0x09, Arg0, 0x00, 0x00, 0x00))
15469 }
15470
15471 Method (SWTT, 1, NotSerialized)
15472 {
15473 If (SMI (0x0A, 0x02, Arg0, 0x00, 0x00))
15474 {
15475 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
15476 {
15477 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6030)
15478 }
15479 }
15480 }
15481
15482 Method (TSDL, 0, NotSerialized)
15483 {
15484 Return (SMI (0x0A, 0x03, 0x00, 0x00, 0x00))
15485 }
15486
15487 Method (TPHY, 1, NotSerialized)
15488 {
15489 SMI (0x0C, Arg0, 0x00, 0x00, 0x00)
15490 }
15491
15492 Method (CSUM, 1, NotSerialized)
15493 {
15494 Return (SMI (0x0E, Arg0, 0x00, 0x00, 0x00))
15495 }
15496
15497 Method (NVSS, 1, NotSerialized)
15498 {
15499 Return (SMI (0x0F, Arg0, 0x00, 0x00, 0x00))
15500 }
15501
15502 Method (WMIS, 2, NotSerialized)
15503 {
15504 Return (SMI (0x10, Arg0, Arg1, 0x00, 0x00))
15505 }
15506
15507 Method (AWON, 1, NotSerialized)
15508 {
15509 Return (SMI (0x12, Arg0, 0x00, 0x00, 0x00))
15510 }
15511
15512 Method (PMON, 2, NotSerialized)
15513 {
15514 Store (SizeOf (Arg0), Local0)
15515 Name (TSTR, Buffer (Local0) {})
15516 Store (Arg0, TSTR)
15517 Store (TSTR, \DBGS)
15518 SMI (0x11, Arg1, 0x00, 0x00, 0x00)
15519 }
15520
15521 Method (UAWS, 1, NotSerialized)
15522 {
15523 Return (SMI (0x13, Arg0, 0x00, 0x00, 0x00))
15524 }
15525
15526 Method (BFWC, 1, NotSerialized)
15527 {
15528 Return (SMI (0x14, 0x00, Arg0, 0x00, 0x00))
15529 }
15530
15531 Method (BFWP, 0, NotSerialized)
15532 {
15533 Return (SMI (0x14, 0x01, 0x00, 0x00, 0x00))
15534 }
15535
15536 Method (BFWL, 0, NotSerialized)
15537 {
15538 SMI (0x14, 0x02, 0x00, 0x00, 0x00)
15539 }
15540
15541 Method (BFWG, 1, NotSerialized)
15542 {
15543 SMI (0x14, 0x03, Arg0, 0x00, 0x00)
15544 }
15545
15546 Method (BDMC, 1, NotSerialized)
15547 {
15548 SMI (0x14, 0x04, Arg0, 0x00, 0x00)
15549 }
15550
15551 Method (PSIF, 2, NotSerialized)
15552 {
15553 Return (SMI (0x14, 0x05, Arg0, Arg1, 0x00))
15554 }
15555
15556 Method (FNSC, 2, NotSerialized)
15557 {
15558 Return (SMI (0x14, 0x06, Arg0, Arg1, 0x00))
15559 }
15560
15561 Method (AUDC, 2, NotSerialized)
15562 {
15563 Return (SMI (0x14, 0x07, Arg0, Arg1, 0x00))
15564 }
15565
15566 Method (SYBC, 2, NotSerialized)
15567 {
15568 Return (SMI (0x14, 0x08, Arg0, Arg1, 0x00))
15569 }
15570
15571 Method (KBLS, 2, NotSerialized)
15572 {
15573 Return (SMI (0x14, 0x09, Arg0, Arg1, 0x00))
15574 }
15575
15576 Method (UBIS, 1, NotSerialized)
15577 {
15578 Return (SMI (0x15, 0x00, Arg0, 0x00, 0x00))
15579 }
15580
15581 Method (DPIO, 2, NotSerialized)
15582 {
15583 If (LNot (Arg0))
15584 {
15585 Return (0x00)
15586 }
15587
15588 If (LGreater (Arg0, 0xF0))
15589 {
15590 Return (0x00)
15591 }
15592
15593 If (LGreater (Arg0, 0xB4))
15594 {
15595 If (Arg1)
15596 {
15597 Return (0x02)
15598 }
15599 Else
15600 {
15601 Return (0x01)
15602 }
15603 }
15604
15605 If (LGreater (Arg0, 0x78))
15606 {
15607 Return (0x03)
15608 }
15609
15610 Return (0x04)
15611 }
15612
15613 Method (DUDM, 2, NotSerialized)
15614 {
15615 If (LNot (Arg1))
15616 {
15617 Return (0xFF)
15618 }
15619
15620 If (LGreater (Arg0, 0x5A))
15621 {
15622 Return (0x00)
15623 }
15624
15625 If (LGreater (Arg0, 0x3C))
15626 {
15627 Return (0x01)
15628 }
15629
15630 If (LGreater (Arg0, 0x2D))
15631 {
15632 Return (0x02)
15633 }
15634
15635 If (LGreater (Arg0, 0x1E))
15636 {
15637 Return (0x03)
15638 }
15639
15640 If (LGreater (Arg0, 0x14))
15641 {
15642 Return (0x04)
15643 }
15644
15645 Return (0x05)
15646 }
15647
15648 Method (DMDM, 2, NotSerialized)
15649 {
15650 If (Arg1)
15651 {
15652 Return (0x00)
15653 }
15654
15655 If (LNot (Arg0))
15656 {
15657 Return (0x00)
15658 }
15659
15660 If (LGreater (Arg0, 0x96))
15661 {
15662 Return (0x01)
15663 }
15664
15665 If (LGreater (Arg0, 0x78))
15666 {
15667 Return (0x02)
15668 }
15669
15670 Return (0x03)
15671 }
15672
15673 Method (UUDM, 2, NotSerialized)
15674 {
15675 If (LNot (And (Arg0, 0x04)))
15676 {
15677 Return (0x00)
15678 }
15679
15680 If (And (Arg1, 0x20))
15681 {
15682 Return (0x14)
15683 }
15684
15685 If (And (Arg1, 0x10))
15686 {
15687 Return (0x1E)
15688 }
15689
15690 If (And (Arg1, 0x08))
15691 {
15692 Return (0x2D)
15693 }
15694
15695 If (And (Arg1, 0x04))
15696 {
15697 Return (0x3C)
15698 }
15699
15700 If (And (Arg1, 0x02))
15701 {
15702 Return (0x5A)
15703 }
15704
15705 If (And (Arg1, 0x01))
15706 {
15707 Return (0x78)
15708 }
15709
15710 Return (0x00)
15711 }
15712
15713 Method (UMDM, 4, NotSerialized)
15714 {
15715 If (LNot (And (Arg0, 0x02)))
15716 {
15717 Return (0x00)
15718 }
15719
15720 If (And (Arg1, 0x04))
15721 {
15722 Return (Arg3)
15723 }
15724
15725 If (And (Arg1, 0x02))
15726 {
15727 If (LLessEqual (Arg3, 0x78))
15728 {
15729 Return (0xB4)
15730 }
15731 Else
15732 {
15733 Return (Arg3)
15734 }
15735 }
15736
15737 If (And (Arg2, 0x04))
15738 {
15739 If (LLessEqual (Arg3, 0xB4))
15740 {
15741 Return (0xF0)
15742 }
15743 Else
15744 {
15745 Return (Arg3)
15746 }
15747 }
15748
15749 Return (0x00)
15750 }
15751
15752 Method (UPIO, 4, NotSerialized)
15753 {
15754 If (LNot (And (Arg0, 0x02)))
15755 {
15756 If (LEqual (Arg2, 0x02))
15757 {
15758 Return (0xF0)
15759 }
15760 Else
15761 {
15762 Return (0x0384)
15763 }
15764 }
15765
15766 If (And (Arg1, 0x02))
15767 {
15768 Return (Arg3)
15769 }
15770
15771 If (And (Arg1, 0x01))
15772 {
15773 If (LLessEqual (Arg3, 0x78))
15774 {
15775 Return (0xB4)
15776 }
15777 Else
15778 {
15779 Return (Arg3)
15780 }
15781 }
15782
15783 If (LEqual (Arg2, 0x02))
15784 {
15785 Return (0xF0)
15786 }
15787 Else
15788 {
15789 Return (0x0384)
15790 }
15791 }
15792
15793 Method (FDMA, 2, NotSerialized)
15794 {
15795 If (LNotEqual (Arg1, 0xFF))
15796 {
15797 Return (Or (Arg1, 0x40))
15798 }
15799
15800 If (LGreaterEqual (Arg0, 0x03))
15801 {
15802 Return (Or (Subtract (Arg0, 0x02), 0x20))
15803 }
15804
15805 If (Arg0)
15806 {
15807 Return (0x12)
15808 }
15809
15810 Return (0x00)
15811 }
15812
15813 Method (FPIO, 1, NotSerialized)
15814 {
15815 If (LGreaterEqual (Arg0, 0x03))
15816 {
15817 Return (Or (Arg0, 0x08))
15818 }
15819
15820 If (LEqual (Arg0, 0x01))
15821 {
15822 Return (0x01)
15823 }
15824
15825 Return (0x00)
15826 }
15827
15828 Method (SCMP, 2, NotSerialized)
15829 {
15830 Store (SizeOf (Arg0), Local0)
15831 If (LNotEqual (Local0, SizeOf (Arg1)))
15832 {
15833 Return (One)
15834 }
15835
15836 Increment (Local0)
15837 Name (STR1, Buffer (Local0) {})
15838 Name (STR2, Buffer (Local0) {})
15839 Store (Arg0, STR1)
15840 Store (Arg1, STR2)
15841 Store (Zero, Local1)
15842 While (LLess (Local1, Local0))
15843 {
15844 Store (DerefOf (Index (STR1, Local1)), Local2)
15845 Store (DerefOf (Index (STR2, Local1)), Local3)
15846 If (LNotEqual (Local2, Local3))
15847 {
15848 Return (One)
15849 }
15850
15851 Increment (Local1)
15852 }
15853
15854 Return (Zero)
15855 }
15856
15857 Name (SPS, 0x00)
15858 Name (OSIF, 0x00)
15859 Name (WNTF, 0x00)
15860 Name (WXPF, 0x00)
15861 Name (WVIS, 0x00)
15862 Name (WIN7, 0x00)
15863 Name (WIN8, 0x00)
15864 Name (WSPV, 0x00)
15865 Name (LNUX, 0x00)
15866 Name (H8DR, 0x00)
15867 Name (MEMX, 0x00)
15868 Name (ACST, 0x00)
15869 Name (FMBL, 0x01)
15870 Name (FDTP, 0x02)
15871 Name (FUPS, 0x03)
15872 Name (FNID, 0x00)
15873 Name (RRBF, 0x00)
15874 Name (NBCF, 0x00)
15875 Name (APIN, 0x00)
15876 Scope (\)
15877 {
15878 Method (KOU2, 0, NotSerialized)
15879 {
15880 Stall (0x64)
15881 }
15882 }
15883
15884 Scope (\_SB.PCI0.VID.LCD0)
15885 {
15886 Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
15887 {
15888 If (\WVIS)
15889 {
15890 Store (0x01, \NBCF)
15891 }
15892
15893 If (\WIN8)
15894 {
15895 Return (Package (0x67)
15896 {
15897 0x64,
15898 0x64,
15899 0x00,
15900 0x01,
15901 0x02,
15902 0x03,
15903 0x04,
15904 0x05,
15905 0x06,
15906 0x07,
15907 0x08,
15908 0x09,
15909 0x0A,
15910 0x0B,
15911 0x0C,
15912 0x0D,
15913 0x0E,
15914 0x0F,
15915 0x10,
15916 0x11,
15917 0x12,
15918 0x13,
15919 0x14,
15920 0x15,
15921 0x16,
15922 0x17,
15923 0x18,
15924 0x19,
15925 0x1A,
15926 0x1B,
15927 0x1C,
15928 0x1D,
15929 0x1E,
15930 0x1F,
15931 0x20,
15932 0x21,
15933 0x22,
15934 0x23,
15935 0x24,
15936 0x25,
15937 0x26,
15938 0x27,
15939 0x28,
15940 0x29,
15941 0x2A,
15942 0x2B,
15943 0x2C,
15944 0x2D,
15945 0x2E,
15946 0x2F,
15947 0x30,
15948 0x31,
15949 0x32,
15950 0x33,
15951 0x34,
15952 0x35,
15953 0x36,
15954 0x37,
15955 0x38,
15956 0x39,
15957 0x3A,
15958 0x3B,
15959 0x3C,
15960 0x3D,
15961 0x3E,
15962 0x3F,
15963 0x40,
15964 0x41,
15965 0x42,
15966 0x43,
15967 0x44,
15968 0x45,
15969 0x46,
15970 0x47,
15971 0x48,
15972 0x49,
15973 0x4A,
15974 0x4B,
15975 0x4C,
15976 0x4D,
15977 0x4E,
15978 0x4F,
15979 0x50,
15980 0x51,
15981 0x52,
15982 0x53,
15983 0x54,
15984 0x55,
15985 0x56,
15986 0x57,
15987 0x58,
15988 0x59,
15989 0x5A,
15990 0x5B,
15991 0x5C,
15992 0x5D,
15993 0x5E,
15994 0x5F,
15995 0x60,
15996 0x61,
15997 0x62,
15998 0x63,
15999 0x64
16000 })
16001 }
16002
16003 Return (\_SB.PCI0.LPC.EC.BRTW)
16004 }
16005
16006 Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
16007 {
16008 Store (Match (\_SB.PCI0.LPC.EC.BRTW, MEQ, Arg0, MTR, 0x00, 0x02), Local0)
16009 If (LNotEqual (Local0, Ones))
16010 {
16011 Subtract (Local0, 0x02, Local1)
16012 Store (Local1, \BRLV)
16013 \_SB.PCI0.LPC.EC.BRNS ()
16014 \UCMS (0x16)
16015 }
16016 }
16017
16018 Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
16019 {
16020 Store (\BRLV, Local0)
16021 Add (Local0, 0x02, Local1)
16022 If (LLessEqual (Local1, 0x11))
16023 {
16024 Return (DerefOf (Index (\_SB.PCI0.LPC.EC.BRTW, Local1)))
16025 }
16026 Else
16027 {
16028 Return (Zero)
16029 }
16030 }
16031 }
16032
16033 Scope (\_SB.PCI0.PEG.VID.LCD0)
16034 {
16035 Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
16036 {
16037 If (\WVIS)
16038 {
16039 Store (0x01, \NBCF)
16040 }
16041
16042 If (\WIN8)
16043 {
16044 Return (Package (0x67)
16045 {
16046 0x64,
16047 0x64,
16048 0x00,
16049 0x01,
16050 0x02,
16051 0x03,
16052 0x04,
16053 0x05,
16054 0x06,
16055 0x07,
16056 0x08,
16057 0x09,
16058 0x0A,
16059 0x0B,
16060 0x0C,
16061 0x0D,
16062 0x0E,
16063 0x0F,
16064 0x10,
16065 0x11,
16066 0x12,
16067 0x13,
16068 0x14,
16069 0x15,
16070 0x16,
16071 0x17,
16072 0x18,
16073 0x19,
16074 0x1A,
16075 0x1B,
16076 0x1C,
16077 0x1D,
16078 0x1E,
16079 0x1F,
16080 0x20,
16081 0x21,
16082 0x22,
16083 0x23,
16084 0x24,
16085 0x25,
16086 0x26,
16087 0x27,
16088 0x28,
16089 0x29,
16090 0x2A,
16091 0x2B,
16092 0x2C,
16093 0x2D,
16094 0x2E,
16095 0x2F,
16096 0x30,
16097 0x31,
16098 0x32,
16099 0x33,
16100 0x34,
16101 0x35,
16102 0x36,
16103 0x37,
16104 0x38,
16105 0x39,
16106 0x3A,
16107 0x3B,
16108 0x3C,
16109 0x3D,
16110 0x3E,
16111 0x3F,
16112 0x40,
16113 0x41,
16114 0x42,
16115 0x43,
16116 0x44,
16117 0x45,
16118 0x46,
16119 0x47,
16120 0x48,
16121 0x49,
16122 0x4A,
16123 0x4B,
16124 0x4C,
16125 0x4D,
16126 0x4E,
16127 0x4F,
16128 0x50,
16129 0x51,
16130 0x52,
16131 0x53,
16132 0x54,
16133 0x55,
16134 0x56,
16135 0x57,
16136 0x58,
16137 0x59,
16138 0x5A,
16139 0x5B,
16140 0x5C,
16141 0x5D,
16142 0x5E,
16143 0x5F,
16144 0x60,
16145 0x61,
16146 0x62,
16147 0x63,
16148 0x64
16149 })
16150 }
16151
16152 Return (\_SB.PCI0.LPC.EC.BRTW)
16153 }
16154
16155 Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
16156 {
16157 If (LAnd (LNotEqual (\WIN7, 0x00), \_SB.PCI0.PEG.VID.ISOP ()))
16158 {
16159 \_SB.PCI0.VID.LCD0._BCM (Arg0)
16160 }
16161 Else
16162 {
16163 If (\NBCF)
16164 {
16165 Store (Match (\_SB.PCI0.LPC.EC.BRTW, MEQ, Arg0, MTR, 0x00, 0x02), Local0)
16166 If (LNotEqual (Local0, Ones))
16167 {
16168 Subtract (Local0, 0x02, Local1)
16169 \VBRC (Local1)
16170 Store (Local1, \BRLV)
16171 }
16172 }
16173 }
16174 }
16175
16176 Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
16177 {
16178 If (LAnd (LNotEqual (\WIN7, 0x00), \_SB.PCI0.PEG.VID.ISOP ()))
16179 {
16180 Return (\_SB.PCI0.VID.LCD0._BQC ())
16181 }
16182 Else
16183 {
16184 Store (\BRLV, Local0)
16185 Add (Local0, 0x02, Local1)
16186 If (LLessEqual (Local1, 0x11))
16187 {
16188 Return (DerefOf (Index (\_SB.PCI0.LPC.EC.BRTW, Local1)))
16189 }
16190 Else
16191 {
16192 Return (Zero)
16193 }
16194 }
16195 }
16196 }
16197
16198 Scope (\)
16199 {
16200 Method (KOU1, 0, NotSerialized)
16201 {
16202 Stall (0x64)
16203 }
16204 }
16205
16206 Scope (\_SB.PCI0.SAT1)
16207 {
16208 Device (PRT0)
16209 {
16210 Name (DIP0, 0x00)
16211 Name (HDTF, Buffer (0x0E)
16212 {
16213 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16214 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
16215 })
16216 Name (ERTF, Buffer (0x15)
16217 {
16218 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16219 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,
16220 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF
16221 })
16222 Name (HPTF, Buffer (0x15)
16223 {
16224 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16225 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,
16226 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF
16227 })
16228 Name (HXTF, Buffer (0x1C)
16229 {
16230 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16231 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,
16232 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,
16233 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF
16234 })
16235 Name (DDTF, Buffer (0x0E)
16236 {
16237 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,
16238 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3
16239 })
16240 CreateByteField (DDTF, 0x01, DTAT)
16241 CreateByteField (DDTF, 0x08, DTFT)
16242 Name (DGTF, Buffer (0x15)
16243 {
16244 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,
16245 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,
16246 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF
16247 })
16248 CreateByteField (DGTF, 0x01, GTAT)
16249 CreateByteField (DGTF, 0x08, GTFT)
16250 Name (_ADR, 0xFFFF) // _ADR: Address
16251 Method (_SDD, 1, NotSerialized) // _SDD: Set Device Data
16252 {
16253 Store (0x00, DIP0)
16254 If (LEqual (SizeOf (Arg0), 0x0200))
16255 {
16256 CreateWordField (Arg0, 0x9C, M078)
16257 If (LAnd (\DPP0, And (M078, 0x08)))
16258 {
16259 Store (0x01, DIP0)
16260 }
16261 }
16262 }
16263
16264 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
16265 {
16266 If (DIP0)
16267 {
16268 Return (HPTF)
16269 }
16270
16271 Return (HDTF)
16272 }
16273 }
16274
16275 Device (PRT1)
16276 {
16277 Name (DIP0, 0x00)
16278 Name (HDTF, Buffer (0x0E)
16279 {
16280 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16281 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
16282 })
16283 Name (ERTF, Buffer (0x15)
16284 {
16285 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16286 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,
16287 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF
16288 })
16289 Name (HPTF, Buffer (0x15)
16290 {
16291 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16292 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,
16293 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF
16294 })
16295 Name (HXTF, Buffer (0x1C)
16296 {
16297 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16298 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,
16299 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,
16300 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF
16301 })
16302 Name (DDTF, Buffer (0x0E)
16303 {
16304 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,
16305 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3
16306 })
16307 CreateByteField (DDTF, 0x01, DTAT)
16308 CreateByteField (DDTF, 0x08, DTFT)
16309 Name (DGTF, Buffer (0x15)
16310 {
16311 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,
16312 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,
16313 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF
16314 })
16315 CreateByteField (DGTF, 0x01, GTAT)
16316 CreateByteField (DGTF, 0x08, GTFT)
16317 Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
16318 {
16319 \_SB.PCI0.LPC.EC.BEJ0 (Arg0)
16320 }
16321
16322 Method (_STA, 0, NotSerialized) // _STA: Status
16323 {
16324 If (\_SB.PCI0.LPC.EC.BSTA (0x01))
16325 {
16326 Return (0x0F)
16327 }
16328 Else
16329 {
16330 Return (0x00)
16331 }
16332 }
16333
16334 Name (_PLD, Buffer (0x10) // _PLD: Physical Location of Device
16335 {
16336 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
16337 /* 0008 */ 0x59, 0x11, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00
16338 /* Revision : 01 */
16339 /* IgnoreColor : 01 */
16340 /* Color : 000000 */
16341 /* Width : 0000 */
16342 /* Height : 0000 */
16343 /* UserVisible : 01 */
16344 /* Dock : 00 */
16345 /* Lid : 00 */
16346 /* Panel : 03 */
16347 /* VerticalPosition : 01 */
16348 /* HorizontalPosition : 01 */
16349 /* Shape : 04 */
16350 /* GroupOrientation : 00 */
16351 /* GroupToken : 00 */
16352 /* GroupPosition : 00 */
16353 /* Bay : 01 */
16354 /* Ejectable : 01 */
16355 /* OspmEjectRequired : 01 */
16356 /* CabinetNumber : 00 */
16357 /* CardCageNumber : 00 */
16358 /* Reference : 00 */
16359 /* Rotation : 00 */
16360 /* Order : 00 */
16361 /* VerticalOffset : 0000 */
16362 /* HorizontalOffset : 0000 */
16363 })
16364 Name (_ADR, 0x0001FFFF) // _ADR: Address
16365 Method (_SDD, 1, NotSerialized) // _SDD: Set Device Data
16366 {
16367 Store (0x00, DIP0)
16368 If (LEqual (SizeOf (Arg0), 0x0200))
16369 {
16370 CreateWordField (Arg0, 0x9C, M078)
16371 CreateWordField (Arg0, 0x00, M000)
16372 If (And (M000, 0xC000))
16373 {
16374 If (LNot (And (M000, 0x4000)))
16375 {
16376 Store (0x03, \IDET)
16377 Store (0x03, \_SB.PCI0.LPC.EC.BDEV)
16378 }
16379 }
16380 Else
16381 {
16382 Store (0x06, \IDET)
16383 Store (0x06, \_SB.PCI0.LPC.EC.BDEV)
16384 }
16385
16386 If (LAnd (\DPP1, And (M078, 0x08)))
16387 {
16388 Store (0x01, DIP0)
16389 }
16390 }
16391 }
16392
16393 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
16394 {
16395 Store (\_SB.PCI0.LPC.EC.BGID (0x00), Local0)
16396 If (LEqual (Local0, 0x07))
16397 {
16398 Store (0x06, Local0)
16399 }
16400
16401 If (LEqual (Local0, 0x06))
16402 {
16403 If (DIP0)
16404 {
16405 Return (HPTF)
16406 }
16407
16408 Return (HDTF)
16409 }
16410
16411 If (DIP0)
16412 {
16413 Store (\CDFL, GTFT)
16414 Store (\CDAH, GTAT)
16415 Return (DGTF)
16416 }
16417
16418 Store (\CDFL, DTFT)
16419 Store (\CDAH, DTAT)
16420 Return (DDTF)
16421 }
16422 }
16423
16424 Device (PRT2)
16425 {
16426 Name (DIP0, 0x00)
16427 Name (HDTF, Buffer (0x0E)
16428 {
16429 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16430 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
16431 })
16432 Name (ERTF, Buffer (0x15)
16433 {
16434 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16435 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,
16436 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF
16437 })
16438 Name (HPTF, Buffer (0x15)
16439 {
16440 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16441 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,
16442 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF
16443 })
16444 Name (HXTF, Buffer (0x1C)
16445 {
16446 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16447 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,
16448 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,
16449 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF
16450 })
16451 Name (DDTF, Buffer (0x0E)
16452 {
16453 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,
16454 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3
16455 })
16456 CreateByteField (DDTF, 0x01, DTAT)
16457 CreateByteField (DDTF, 0x08, DTFT)
16458 Name (DGTF, Buffer (0x15)
16459 {
16460 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,
16461 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,
16462 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF
16463 })
16464 CreateByteField (DGTF, 0x01, GTAT)
16465 CreateByteField (DGTF, 0x08, GTFT)
16466 Name (_ADR, 0x0002FFFF) // _ADR: Address
16467 Method (_SDD, 1, NotSerialized) // _SDD: Set Device Data
16468 {
16469 Store (0x00, DIP0)
16470 If (LEqual (SizeOf (Arg0), 0x0200))
16471 {
16472 CreateWordField (Arg0, 0x9C, M078)
16473 If (LAnd (\DPP2, And (M078, 0x08)))
16474 {
16475 Store (0x01, DIP0)
16476 }
16477 }
16478 }
16479
16480 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
16481 {
16482 If (DIP0)
16483 {
16484 Return (HPTF)
16485 }
16486
16487 Return (HDTF)
16488 }
16489 }
16490
16491 Device (PRT3)
16492 {
16493 Name (DIP0, 0x00)
16494 Name (HDTF, Buffer (0x0E)
16495 {
16496 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16497 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
16498 })
16499 Name (ERTF, Buffer (0x15)
16500 {
16501 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16502 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,
16503 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF
16504 })
16505 Name (HPTF, Buffer (0x15)
16506 {
16507 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16508 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,
16509 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF
16510 })
16511 Name (HXTF, Buffer (0x1C)
16512 {
16513 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16514 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,
16515 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,
16516 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF
16517 })
16518 Name (DDTF, Buffer (0x0E)
16519 {
16520 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,
16521 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3
16522 })
16523 CreateByteField (DDTF, 0x01, DTAT)
16524 CreateByteField (DDTF, 0x08, DTFT)
16525 Name (DGTF, Buffer (0x15)
16526 {
16527 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,
16528 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,
16529 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF
16530 })
16531 CreateByteField (DGTF, 0x01, GTAT)
16532 CreateByteField (DGTF, 0x08, GTFT)
16533 Name (_ADR, 0x0003FFFF) // _ADR: Address
16534 Method (_SDD, 1, NotSerialized) // _SDD: Set Device Data
16535 {
16536 Store (0x00, DIP0)
16537 If (LEqual (SizeOf (Arg0), 0x0200))
16538 {
16539 CreateWordField (Arg0, 0x9C, M078)
16540 If (LAnd (\DPP3, And (M078, 0x08)))
16541 {
16542 Store (0x01, DIP0)
16543 }
16544 }
16545 }
16546
16547 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
16548 {
16549 If (DIP0)
16550 {
16551 Return (HPTF)
16552 }
16553
16554 Return (HDTF)
16555 }
16556 }
16557
16558 Device (PRT4)
16559 {
16560 Name (DIP0, 0x00)
16561 Name (HDTF, Buffer (0x0E)
16562 {
16563 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16564 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
16565 })
16566 Name (ERTF, Buffer (0x15)
16567 {
16568 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16569 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,
16570 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF
16571 })
16572 Name (HPTF, Buffer (0x15)
16573 {
16574 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16575 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,
16576 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF
16577 })
16578 Name (HXTF, Buffer (0x1C)
16579 {
16580 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16581 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,
16582 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,
16583 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF
16584 })
16585 Name (DDTF, Buffer (0x0E)
16586 {
16587 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,
16588 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3
16589 })
16590 CreateByteField (DDTF, 0x01, DTAT)
16591 CreateByteField (DDTF, 0x08, DTFT)
16592 Name (DGTF, Buffer (0x15)
16593 {
16594 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,
16595 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,
16596 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF
16597 })
16598 CreateByteField (DGTF, 0x01, GTAT)
16599 CreateByteField (DGTF, 0x08, GTFT)
16600 Name (_ADR, 0x0004FFFF) // _ADR: Address
16601 Method (_SDD, 1, NotSerialized) // _SDD: Set Device Data
16602 {
16603 Store (0x00, DIP0)
16604 If (LEqual (SizeOf (Arg0), 0x0200))
16605 {
16606 CreateWordField (Arg0, 0x9C, M078)
16607 If (LAnd (\DPP4, And (M078, 0x08)))
16608 {
16609 Store (0x01, DIP0)
16610 }
16611 }
16612 }
16613
16614 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
16615 {
16616 If (DIP0)
16617 {
16618 Return (HPTF)
16619 }
16620
16621 Return (HDTF)
16622 }
16623 }
16624 }
16625
16626 Scope (\_PR.CPU0)
16627 {
16628 Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilites
16629 {
16630 Store (Zero, Local0)
16631 Store (\_SB.PCI0.LPC.EC.LPMD (), Local0)
16632 If (LNot (Local0))
16633 {
16634 If (LOr (LAnd (\_SB.PCI0.LPC.EC.AC._PSR (), \TCFA), LAnd (LNot (\_SB.PCI0.LPC.EC.AC._PSR ()), \TCFD)))
16635 {
16636 If (And (\_SB.PCI0.LPC.EC.TSL0, 0x76))
16637 {
16638 Store (\LWST, Local0)
16639 }
16640 }
16641 Else
16642 {
16643 If (And (\_SB.PCI0.LPC.EC.TSL0, 0x77))
16644 {
16645 Store (\LWST, Local0)
16646 }
16647 }
16648
16649 If (LNot (Local0))
16650 {
16651 If (LOr (\PPCA, \FTPS))
16652 {
16653 If (LLessEqual (\FTPS, \PPCA))
16654 {
16655 Store (\PPCA, Local0)
16656 }
16657 Else
16658 {
16659 Store (\FTPS, Local0)
16660 }
16661 }
16662 }
16663 }
16664
16665 If (LGreater (\_SB.PCI0.PEG.VID.CPPC, Local0))
16666 {
16667 Store (\_SB.PCI0.PEG.VID.CPPC, Local0)
16668 }
16669
16670 If (\APMD)
16671 {
16672 If (LOr (\APMF, \_SB.PCI0.LPC.IVPW))
16673 {
16674 Store (\LWST, Local0)
16675 }
16676 Else
16677 {
16678 If (LNot (Local0))
16679 {
16680 If (And (\PPMF, 0x80))
16681 {
16682 Store (One, Local0)
16683 }
16684 }
16685 }
16686 }
16687
16688 If (LOr (LAnd (\GFPL, LNot (Local0)), LAnd (LNot (\GFPL), Local0)))
16689 {
16690 Store (0x03E8, Local1)
16691 While (\_SB.PCI0.LPC.EC.PIBS)
16692 {
16693 Sleep (One)
16694 Decrement (Local1)
16695 If (LNot (Local1))
16696 {
16697 Store (Local0, \PPCR)
16698 Return (Local0)
16699 }
16700 }
16701
16702 If (Local0)
16703 {
16704 If (LNot (\GFPL))
16705 {
16706 Store (One, \GFPL)
16707 Store (0x04, \_SB.PCI0.LPC.EC.PLSL)
16708 Store (One, \_SB.PCI0.LPC.EC.PLTU)
16709 Store (0x0D, \_SB.PCI0.LPC.EC.PLLS)
16710 Store (Zero, \_SB.PCI0.LPC.EC.PLMS)
16711 }
16712 }
16713 Else
16714 {
16715 If (\GFPL)
16716 {
16717 Store (Zero, \GFPL)
16718 Store (0x04, \_SB.PCI0.LPC.EC.PLSL)
16719 If (\MTAU)
16720 {
16721 Store (\MTAU, \_SB.PCI0.LPC.EC.PLTU)
16722 }
16723 Else
16724 {
16725 Store (0x1C, \_SB.PCI0.LPC.EC.PLTU)
16726 }
16727
16728 Store (\PL1L, \_SB.PCI0.LPC.EC.PLLS)
16729 Store (\PL1M, \_SB.PCI0.LPC.EC.PLMS)
16730 }
16731 }
16732 }
16733
16734 If (LNot (Local0))
16735 {
16736 If (LNot (\_SB.PCI0.LPC.EC.AC._PSR ()))
16737 {
16738 If (LAnd (LEqual (\VIGD, One), LEqual (\VDSC, Zero)))
16739 {
16740 Noop
16741 }
16742 Else
16743 {
16744 If (LOr (\TDNV, \_SB.PCI0.LPC.IVPW))
16745 {
16746 If (\CPUC)
16747 {
16748 Noop
16749 }
16750 Else
16751 {
16752 Store (\LPST, Local0)
16753 }
16754 }
16755 }
16756 }
16757 }
16758
16759 Store (Local0, \PPCR)
16760 Return (Local0)
16761 }
16762
16763 Method (_PCT, 0, NotSerialized) // _PCT: Performance Control
16764 {
16765 If (LAnd (And (CFGD, One), And (PDC0, One)))
16766 {
16767 Return (Package (0x02)
16768 {
16769 ResourceTemplate ()
16770 {
16771 Register (FFixedHW,
16772 0x00, // Bit Width
16773 0x00, // Bit Offset
16774 0x0000000000000000, // Address
16775 ,)
16776 },
16777
16778 ResourceTemplate ()
16779 {
16780 Register (FFixedHW,
16781 0x00, // Bit Width
16782 0x00, // Bit Offset
16783 0x0000000000000000, // Address
16784 ,)
16785 }
16786 })
16787 }
16788
16789 Return (Package (0x02)
16790 {
16791 ResourceTemplate ()
16792 {
16793 Register (SystemIO,
16794 0x10, // Bit Width
16795 0x00, // Bit Offset
16796 0x0000000000000800, // Address
16797 ,)
16798 },
16799
16800 ResourceTemplate ()
16801 {
16802 Register (SystemIO,
16803 0x08, // Bit Width
16804 0x00, // Bit Offset
16805 0x00000000000000B3, // Address
16806 ,)
16807 }
16808 })
16809 }
16810
16811 Method (XPSS, 0, NotSerialized)
16812 {
16813 If (And (PDC0, One))
16814 {
16815 Return (NPSS)
16816 }
16817
16818 Return (SPSS)
16819 }
16820
16821 Name (SPSS, Package (0x10)
16822 {
16823 Package (0x06)
16824 {
16825 0x00000A29,
16826 0x000088B8,
16827 0x0000006E,
16828 0x0000000A,
16829 0x00000083,
16830 0x00000000
16831 },
16832
16833 Package (0x06)
16834 {
16835 0x00000A28,
16836 0x000088B8,
16837 0x0000006E,
16838 0x0000000A,
16839 0x00000183,
16840 0x00000001
16841 },
16842
16843 Package (0x06)
16844 {
16845 0x000009C4,
16846 0x000081C2,
16847 0x0000006E,
16848 0x0000000A,
16849 0x00000283,
16850 0x00000002
16851 },
16852
16853 Package (0x06)
16854 {
16855 0x00000960,
16856 0x00007AEE,
16857 0x0000006E,
16858 0x0000000A,
16859 0x00000383,
16860 0x00000003
16861 },
16862
16863 Package (0x06)
16864 {
16865 0x000008FC,
16866 0x0000743B,
16867 0x0000006E,
16868 0x0000000A,
16869 0x00000483,
16870 0x00000004
16871 },
16872
16873 Package (0x06)
16874 {
16875 0x00000898,
16876 0x00006DAA,
16877 0x0000006E,
16878 0x0000000A,
16879 0x00000583,
16880 0x00000005
16881 },
16882
16883 Package (0x06)
16884 {
16885 0x00000834,
16886 0x0000673A,
16887 0x0000006E,
16888 0x0000000A,
16889 0x00000683,
16890 0x00000006
16891 },
16892
16893 Package (0x06)
16894 {
16895 0x000007D0,
16896 0x000060F0,
16897 0x0000006E,
16898 0x0000000A,
16899 0x00000783,
16900 0x00000007
16901 },
16902
16903 Package (0x06)
16904 {
16905 0x0000076C,
16906 0x00005C04,
16907 0x0000006E,
16908 0x0000000A,
16909 0x00000883,
16910 0x00000008
16911 },
16912
16913 Package (0x06)
16914 {
16915 0x00000708,
16916 0x000055F2,
16917 0x0000006E,
16918 0x0000000A,
16919 0x00000983,
16920 0x00000009
16921 },
16922
16923 Package (0x06)
16924 {
16925 0x000006A4,
16926 0x00005000,
16927 0x0000006E,
16928 0x0000000A,
16929 0x00000A83,
16930 0x0000000A
16931 },
16932
16933 Package (0x06)
16934 {
16935 0x00000640,
16936 0x00004A2D,
16937 0x0000006E,
16938 0x0000000A,
16939 0x00000B83,
16940 0x0000000B
16941 },
16942
16943 Package (0x06)
16944 {
16945 0x000005DC,
16946 0x0000447E,
16947 0x0000006E,
16948 0x0000000A,
16949 0x00000C83,
16950 0x0000000C
16951 },
16952
16953 Package (0x06)
16954 {
16955 0x00000578,
16956 0x00003EEA,
16957 0x0000006E,
16958 0x0000000A,
16959 0x00000D83,
16960 0x0000000D
16961 },
16962
16963 Package (0x06)
16964 {
16965 0x00000514,
16966 0x00003AA1,
16967 0x0000006E,
16968 0x0000000A,
16969 0x00000E83,
16970 0x0000000E
16971 },
16972
16973 Package (0x06)
16974 {
16975 0x000004B0,
16976 0x00003546,
16977 0x0000006E,
16978 0x0000000A,
16979 0x00000F83,
16980 0x0000000F
16981 }
16982 })
16983 Package (0x06)
16984 {
16985 0x80000000,
16986 0x80000000,
16987 0x80000000,
16988 0x80000000,
16989 0x80000000,
16990 0x80000000
16991 }
16992
16993 Package (0x06)
16994 {
16995 0x80000000,
16996 0x80000000,
16997 0x80000000,
16998 0x80000000,
16999 0x80000000,
17000 0x80000000
17001 }
17002
17003 Package (0x06)
17004 {
17005 0x80000000,
17006 0x80000000,
17007 0x80000000,
17008 0x80000000,
17009 0x80000000,
17010 0x80000000
17011 }
17012
17013 Package (0x06)
17014 {
17015 0x80000000,
17016 0x80000000,
17017 0x80000000,
17018 0x80000000,
17019 0x80000000,
17020 0x80000000
17021 }
17022
17023 Package (0x06)
17024 {
17025 0x80000000,
17026 0x80000000,
17027 0x80000000,
17028 0x80000000,
17029 0x80000000,
17030 0x80000000
17031 }
17032
17033 Package (0x06)
17034 {
17035 0x80000000,
17036 0x80000000,
17037 0x80000000,
17038 0x80000000,
17039 0x80000000,
17040 0x80000000
17041 }
17042
17043 Package (0x06)
17044 {
17045 0x80000000,
17046 0x80000000,
17047 0x80000000,
17048 0x80000000,
17049 0x80000000,
17050 0x80000000
17051 }
17052
17053 Package (0x06)
17054 {
17055 0x80000000,
17056 0x80000000,
17057 0x80000000,
17058 0x80000000,
17059 0x80000000,
17060 0x80000000
17061 }
17062
17063 Package (0x06)
17064 {
17065 0x80000000,
17066 0x80000000,
17067 0x80000000,
17068 0x80000000,
17069 0x80000000,
17070 0x80000000
17071 }
17072
17073 Package (0x06)
17074 {
17075 0x80000000,
17076 0x80000000,
17077 0x80000000,
17078 0x80000000,
17079 0x80000000,
17080 0x80000000
17081 }
17082
17083 Package (0x06)
17084 {
17085 0x80000000,
17086 0x80000000,
17087 0x80000000,
17088 0x80000000,
17089 0x80000000,
17090 0x80000000
17091 }
17092
17093 Package (0x06)
17094 {
17095 0x80000000,
17096 0x80000000,
17097 0x80000000,
17098 0x80000000,
17099 0x80000000,
17100 0x80000000
17101 }
17102
17103 Package (0x06)
17104 {
17105 0x80000000,
17106 0x80000000,
17107 0x80000000,
17108 0x80000000,
17109 0x80000000,
17110 0x80000000
17111 }
17112
17113 Package (0x06)
17114 {
17115 0x80000000,
17116 0x80000000,
17117 0x80000000,
17118 0x80000000,
17119 0x80000000,
17120 0x80000000
17121 }
17122
17123 Package (0x06)
17124 {
17125 0x80000000,
17126 0x80000000,
17127 0x80000000,
17128 0x80000000,
17129 0x80000000,
17130 0x80000000
17131 }
17132
17133 Package (0x06)
17134 {
17135 0x80000000,
17136 0x80000000,
17137 0x80000000,
17138 0x80000000,
17139 0x80000000,
17140 0x80000000
17141 }
17142
17143 Name (_PSS, Package (0x10) // _PSS: Performance Supported States
17144 {
17145 Package (0x06)
17146 {
17147 0x00000A29,
17148 0x000088B8,
17149 0x0000000A,
17150 0x0000000A,
17151 0x00002100,
17152 0x00002100
17153 },
17154
17155 Package (0x06)
17156 {
17157 0x00000A28,
17158 0x000088B8,
17159 0x0000000A,
17160 0x0000000A,
17161 0x00001A00,
17162 0x00001A00
17163 },
17164
17165 Package (0x06)
17166 {
17167 0x000009C4,
17168 0x000081C2,
17169 0x0000000A,
17170 0x0000000A,
17171 0x00001900,
17172 0x00001900
17173 },
17174
17175 Package (0x06)
17176 {
17177 0x00000960,
17178 0x00007AEE,
17179 0x0000000A,
17180 0x0000000A,
17181 0x00001800,
17182 0x00001800
17183 },
17184
17185 Package (0x06)
17186 {
17187 0x000008FC,
17188 0x0000743B,
17189 0x0000000A,
17190 0x0000000A,
17191 0x00001700,
17192 0x00001700
17193 },
17194
17195 Package (0x06)
17196 {
17197 0x00000898,
17198 0x00006DAA,
17199 0x0000000A,
17200 0x0000000A,
17201 0x00001600,
17202 0x00001600
17203 },
17204
17205 Package (0x06)
17206 {
17207 0x00000834,
17208 0x0000673A,
17209 0x0000000A,
17210 0x0000000A,
17211 0x00001500,
17212 0x00001500
17213 },
17214
17215 Package (0x06)
17216 {
17217 0x000007D0,
17218 0x000060F0,
17219 0x0000000A,
17220 0x0000000A,
17221 0x00001400,
17222 0x00001400
17223 },
17224
17225 Package (0x06)
17226 {
17227 0x0000076C,
17228 0x00005C04,
17229 0x0000000A,
17230 0x0000000A,
17231 0x00001300,
17232 0x00001300
17233 },
17234
17235 Package (0x06)
17236 {
17237 0x00000708,
17238 0x000055F2,
17239 0x0000000A,
17240 0x0000000A,
17241 0x00001200,
17242 0x00001200
17243 },
17244
17245 Package (0x06)
17246 {
17247 0x000006A4,
17248 0x00005000,
17249 0x0000000A,
17250 0x0000000A,
17251 0x00001100,
17252 0x00001100
17253 },
17254
17255 Package (0x06)
17256 {
17257 0x00000640,
17258 0x00004A2D,
17259 0x0000000A,
17260 0x0000000A,
17261 0x00001000,
17262 0x00001000
17263 },
17264
17265 Package (0x06)
17266 {
17267 0x000005DC,
17268 0x0000447E,
17269 0x0000000A,
17270 0x0000000A,
17271 0x00000F00,
17272 0x00000F00
17273 },
17274
17275 Package (0x06)
17276 {
17277 0x00000578,
17278 0x00003EEA,
17279 0x0000000A,
17280 0x0000000A,
17281 0x00000E00,
17282 0x00000E00
17283 },
17284
17285 Package (0x06)
17286 {
17287 0x00000514,
17288 0x00003AA1,
17289 0x0000000A,
17290 0x0000000A,
17291 0x00000D00,
17292 0x00000D00
17293 },
17294
17295 Package (0x06)
17296 {
17297 0x000004B0,
17298 0x00003546,
17299 0x0000000A,
17300 0x0000000A,
17301 0x00000C00,
17302 0x00000C00
17303 }
17304 })
17305 Package (0x06)
17306 {
17307 0x80000000,
17308 0x80000000,
17309 0x80000000,
17310 0x80000000,
17311 0x80000000,
17312 0x80000000
17313 }
17314
17315 Package (0x06)
17316 {
17317 0x80000000,
17318 0x80000000,
17319 0x80000000,
17320 0x80000000,
17321 0x80000000,
17322 0x80000000
17323 }
17324
17325 Package (0x06)
17326 {
17327 0x80000000,
17328 0x80000000,
17329 0x80000000,
17330 0x80000000,
17331 0x80000000,
17332 0x80000000
17333 }
17334
17335 Package (0x06)
17336 {
17337 0x80000000,
17338 0x80000000,
17339 0x80000000,
17340 0x80000000,
17341 0x80000000,
17342 0x80000000
17343 }
17344
17345 Package (0x06)
17346 {
17347 0x80000000,
17348 0x80000000,
17349 0x80000000,
17350 0x80000000,
17351 0x80000000,
17352 0x80000000
17353 }
17354
17355 Package (0x06)
17356 {
17357 0x80000000,
17358 0x80000000,
17359 0x80000000,
17360 0x80000000,
17361 0x80000000,
17362 0x80000000
17363 }
17364
17365 Package (0x06)
17366 {
17367 0x80000000,
17368 0x80000000,
17369 0x80000000,
17370 0x80000000,
17371 0x80000000,
17372 0x80000000
17373 }
17374
17375 Package (0x06)
17376 {
17377 0x80000000,
17378 0x80000000,
17379 0x80000000,
17380 0x80000000,
17381 0x80000000,
17382 0x80000000
17383 }
17384
17385 Package (0x06)
17386 {
17387 0x80000000,
17388 0x80000000,
17389 0x80000000,
17390 0x80000000,
17391 0x80000000,
17392 0x80000000
17393 }
17394
17395 Package (0x06)
17396 {
17397 0x80000000,
17398 0x80000000,
17399 0x80000000,
17400 0x80000000,
17401 0x80000000,
17402 0x80000000
17403 }
17404
17405 Package (0x06)
17406 {
17407 0x80000000,
17408 0x80000000,
17409 0x80000000,
17410 0x80000000,
17411 0x80000000,
17412 0x80000000
17413 }
17414
17415 Package (0x06)
17416 {
17417 0x80000000,
17418 0x80000000,
17419 0x80000000,
17420 0x80000000,
17421 0x80000000,
17422 0x80000000
17423 }
17424
17425 Package (0x06)
17426 {
17427 0x80000000,
17428 0x80000000,
17429 0x80000000,
17430 0x80000000,
17431 0x80000000,
17432 0x80000000
17433 }
17434
17435 Package (0x06)
17436 {
17437 0x80000000,
17438 0x80000000,
17439 0x80000000,
17440 0x80000000,
17441 0x80000000,
17442 0x80000000
17443 }
17444
17445 Package (0x06)
17446 {
17447 0x80000000,
17448 0x80000000,
17449 0x80000000,
17450 0x80000000,
17451 0x80000000,
17452 0x80000000
17453 }
17454
17455 Package (0x06)
17456 {
17457 0x80000000,
17458 0x80000000,
17459 0x80000000,
17460 0x80000000,
17461 0x80000000,
17462 0x80000000
17463 }
17464
17465 Name (PSDF, Zero)
17466 Method (_PSD, 0, NotSerialized) // _PSD: Power State Dependencies
17467 {
17468 If (LNot (PSDF))
17469 {
17470 Store (TCNT, Index (DerefOf (Index (HPSD, Zero)), 0x04))
17471 Store (TCNT, Index (DerefOf (Index (SPSD, Zero)), 0x04))
17472 Store (Ones, PSDF)
17473 }
17474
17475 If (And (PDC0, 0x0800))
17476 {
17477 Return (HPSD)
17478 }
17479
17480 Return (SPSD)
17481 }
17482
17483 Name (HPSD, Package (0x01)
17484 {
17485 Package (0x05)
17486 {
17487 0x05,
17488 Zero,
17489 Zero,
17490 0xFE,
17491 0x80
17492 }
17493 })
17494 Name (SPSD, Package (0x01)
17495 {
17496 Package (0x05)
17497 {
17498 0x05,
17499 Zero,
17500 Zero,
17501 0xFC,
17502 0x80
17503 }
17504 })
17505 }
17506
17507 Scope (\)
17508 {
17509 Name (SSDT, Package (0x0C)
17510 {
17511 "CPU0IST ",
17512 0xD367E018,
17513 0x00000CB5,
17514 "APIST ",
17515 0xDAE3BA98,
17516 0x00000303,
17517 "CPU0CST ",
17518 0xDAE3A018,
17519 0x00000A01,
17520 "APCST ",
17521 0xDAE39D98,
17522 0x00000119
17523 })
17524 Name (CFGD, 0x0066F6FF)
17525 Name (\PDC0, 0x80000000)
17526 Name (\PDC1, 0x80000000)
17527 Name (\PDC2, 0x80000000)
17528 Name (\PDC3, 0x80000000)
17529 Name (\PDC4, 0x80000000)
17530 Name (\PDC5, 0x80000000)
17531 Name (\PDC6, 0x80000000)
17532 Name (\PDC7, 0x80000000)
17533 Name (\SDTL, Zero)
17534 }
17535
17536 Scope (\_PR)
17537 {
17538 OperationRegion (PPMT, SystemMemory, 0xDAF58F98, 0x0029)
17539 Field (PPMT, AnyAcc, Lock, Preserve)
17540 {
17541 PGRV, 8,
17542 Offset (0x06),
17543 ACRT, 8,
17544 APSV, 8,
17545 AAC0, 8,
17546 CPID, 32,
17547 CPPC, 8,
17548 CCTP, 8,
17549 CLVL, 8,
17550 CBMI, 8,
17551 PL10, 16,
17552 PL20, 16,
17553 PLW0, 8,
17554 CTC0, 8,
17555 TAR0, 8,
17556 PPC0, 8,
17557 PL11, 16,
17558 PL21, 16,
17559 PLW1, 8,
17560 CTC1, 8,
17561 TAR1, 8,
17562 PPC1, 8,
17563 PL12, 16,
17564 PL22, 16,
17565 PLW2, 8,
17566 CTC2, 8,
17567 TAR2, 8,
17568 PPC2, 8
17569 }
17570 }
17571
17572 Scope (\_PR.CPU0)
17573 {
17574 Name (HI0, Zero)
17575 Name (HC0, Zero)
17576 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
17577 {
17578 Store (CPDC (Arg0), Local0)
17579 GCAP (Local0)
17580 Return (Local0)
17581 }
17582
17583 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
17584 {
17585 Store (COSC (Arg0, Arg1, Arg2, Arg3), Local0)
17586 GCAP (Local0)
17587 Return (Local0)
17588 }
17589
17590 Method (CPDC, 1, NotSerialized)
17591 {
17592 CreateDWordField (Arg0, Zero, REVS)
17593 CreateDWordField (Arg0, 0x04, SIZE)
17594 Store (SizeOf (Arg0), Local0)
17595 Store (Subtract (Local0, 0x08), Local1)
17596 CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
17597 Name (STS0, Buffer (0x04)
17598 {
17599 0x00, 0x00, 0x00, 0x00
17600 })
17601 Concatenate (STS0, TEMP, Local2)
17602 Return (COSC (Buffer (0x10)
17603 {
17604 /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
17605 /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
17606 }, REVS, SIZE, Local2))
17607 }
17608
17609 Method (COSC, 4, NotSerialized)
17610 {
17611 CreateDWordField (Arg3, Zero, STS0)
17612 CreateDWordField (Arg3, 0x04, CAP0)
17613 CreateDWordField (Arg0, Zero, IID0)
17614 CreateDWordField (Arg0, 0x04, IID1)
17615 CreateDWordField (Arg0, 0x08, IID2)
17616 CreateDWordField (Arg0, 0x0C, IID3)
17617 Name (UID0, Buffer (0x10)
17618 {
17619 /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
17620 /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
17621 })
17622 CreateDWordField (UID0, Zero, EID0)
17623 CreateDWordField (UID0, 0x04, EID1)
17624 CreateDWordField (UID0, 0x08, EID2)
17625 CreateDWordField (UID0, 0x0C, EID3)
17626 If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)),
17627 LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
17628 {
17629 Store (0x06, STS0)
17630 Return (Arg3)
17631 }
17632
17633 If (LNotEqual (Arg1, One))
17634 {
17635 Store (0x0A, STS0)
17636 Return (Arg3)
17637 }
17638
17639 Return (Arg3)
17640 }
17641
17642 Method (GCAP, 1, NotSerialized)
17643 {
17644 CreateDWordField (Arg0, Zero, STS0)
17645 CreateDWordField (Arg0, 0x04, CAP0)
17646 If (LOr (LEqual (STS0, 0x06), LEqual (STS0, 0x0A)))
17647 {
17648 Return (Zero)
17649 }
17650
17651 If (And (STS0, One))
17652 {
17653 And (CAP0, 0x0BFF, CAP0)
17654 Return (Zero)
17655 }
17656
17657 Or (And (PDC0, 0x7FFFFFFF), CAP0, PDC0)
17658 If (And (CFGD, 0x3E))
17659 {
17660 If (LAnd (LAnd (And (CFGD, 0x0400), And (PDC0, 0x18
17661 )), LNot (And (SDTL, 0x02))))
17662 {
17663 Or (SDTL, 0x02, SDTL)
17664 OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08
17665 )))
17666 Load (CST0, HC0)
17667 }
17668 }
17669
17670 Return (Zero)
17671 }
17672 }
17673
17674 Scope (\_PR.CPU1)
17675 {
17676 Name (HI1, Zero)
17677 Name (HC1, Zero)
17678 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
17679 {
17680 Store (\_PR.CPU0.CPDC (Arg0), Local0)
17681 GCAP (Local0)
17682 Return (Local0)
17683 }
17684
17685 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
17686 {
17687 Store (\_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3), Local0)
17688 GCAP (Local0)
17689 Return (Local0)
17690 }
17691
17692 Method (GCAP, 1, NotSerialized)
17693 {
17694 CreateDWordField (Arg0, Zero, STS1)
17695 CreateDWordField (Arg0, 0x04, CAP1)
17696 If (LOr (LEqual (STS1, 0x06), LEqual (STS1, 0x0A)))
17697 {
17698 Return (Zero)
17699 }
17700
17701 If (And (STS1, One))
17702 {
17703 And (CAP1, 0x0BFF, CAP1)
17704 Return (Zero)
17705 }
17706
17707 Or (And (PDC1, 0x7FFFFFFF), CAP1, PDC1)
17708 If (LEqual (And (PDC1, 0x09), 0x09))
17709 {
17710 APPT ()
17711 }
17712
17713 If (And (PDC1, 0x18))
17714 {
17715 APCT ()
17716 }
17717
17718 Store (PDC1, PDC0)
17719 Return (Zero)
17720 }
17721
17722 Method (APCT, 0, NotSerialized)
17723 {
17724 If (LAnd (And (CFGD, 0x2E), LNot (And (SDTL, 0x20
17725 ))))
17726 {
17727 Or (SDTL, 0x20, SDTL)
17728 OperationRegion (CST1, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B
17729 )))
17730 Load (CST1, HC1)
17731 }
17732 }
17733
17734 Method (APPT, 0, NotSerialized)
17735 {
17736 If (LAnd (And (CFGD, One), LNot (And (SDTL, 0x10
17737 ))))
17738 {
17739 Or (SDTL, 0x10, SDTL)
17740 OperationRegion (IST1, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05
17741 )))
17742 Load (IST1, HI1)
17743 }
17744 }
17745 }
17746
17747 Scope (\_PR.CPU2)
17748 {
17749 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
17750 {
17751 Store (\_PR.CPU0.CPDC (Arg0), Local0)
17752 GCAP (Local0)
17753 Return (Local0)
17754 }
17755
17756 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
17757 {
17758 Store (\_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3), Local0)
17759 GCAP (Local0)
17760 Return (Local0)
17761 }
17762
17763 Method (GCAP, 1, NotSerialized)
17764 {
17765 CreateDWordField (Arg0, Zero, STS2)
17766 CreateDWordField (Arg0, 0x04, CAP2)
17767 If (LOr (LEqual (STS2, 0x06), LEqual (STS2, 0x0A)))
17768 {
17769 Return (Zero)
17770 }
17771
17772 If (And (STS2, One))
17773 {
17774 And (CAP2, 0x0BFF, CAP2)
17775 Return (Zero)
17776 }
17777
17778 Or (And (PDC2, 0x7FFFFFFF), CAP2, PDC2)
17779 If (LEqual (And (PDC2, 0x09), 0x09))
17780 {
17781 \_PR.CPU1.APPT ()
17782 }
17783
17784 If (And (PDC2, 0x18))
17785 {
17786 \_PR.CPU1.APCT ()
17787 }
17788
17789 Store (PDC2, PDC0)
17790 Return (Zero)
17791 }
17792 }
17793
17794 Scope (\_PR.CPU3)
17795 {
17796 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
17797 {
17798 Store (\_PR.CPU0.CPDC (Arg0), Local0)
17799 GCAP (Local0)
17800 Return (Local0)
17801 }
17802
17803 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
17804 {
17805 Store (\_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3), Local0)
17806 GCAP (Local0)
17807 Return (Local0)
17808 }
17809
17810 Method (GCAP, 1, NotSerialized)
17811 {
17812 CreateDWordField (Arg0, Zero, STS3)
17813 CreateDWordField (Arg0, 0x04, CAP3)
17814 If (LOr (LEqual (STS3, 0x06), LEqual (STS3, 0x0A)))
17815 {
17816 Return (Zero)
17817 }
17818
17819 If (And (STS3, One))
17820 {
17821 And (CAP3, 0x0BFF, CAP3)
17822 Return (Zero)
17823 }
17824
17825 Or (And (PDC3, 0x7FFFFFFF), CAP3, PDC3)
17826 If (LEqual (And (PDC3, 0x09), 0x09))
17827 {
17828 \_PR.CPU1.APPT ()
17829 }
17830
17831 If (And (PDC3, 0x18))
17832 {
17833 \_PR.CPU1.APCT ()
17834 }
17835
17836 Store (PDC3, PDC0)
17837 Return (Zero)
17838 }
17839 }
17840
17841 Scope (\_PR.CPU4)
17842 {
17843 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
17844 {
17845 Store (\_PR.CPU0.CPDC (Arg0), Local0)
17846 GCAP (Local0)
17847 Return (Local0)
17848 }
17849
17850 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
17851 {
17852 Store (\_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3), Local0)
17853 GCAP (Local0)
17854 Return (Local0)
17855 }
17856
17857 Method (GCAP, 1, NotSerialized)
17858 {
17859 CreateDWordField (Arg0, Zero, STS4)
17860 CreateDWordField (Arg0, 0x04, CAP4)
17861 If (LOr (LEqual (STS4, 0x06), LEqual (STS4, 0x0A)))
17862 {
17863 Return (Zero)
17864 }
17865
17866 If (And (STS4, One))
17867 {
17868 And (CAP4, 0x0BFF, CAP4)
17869 Return (Zero)
17870 }
17871
17872 Or (And (PDC4, 0x7FFFFFFF), CAP4, PDC4)
17873 If (LEqual (And (PDC4, 0x09), 0x09))
17874 {
17875 \_PR.CPU1.APPT ()
17876 }
17877
17878 If (And (PDC4, 0x18))
17879 {
17880 \_PR.CPU1.APCT ()
17881 }
17882
17883 Store (PDC4, PDC0)
17884 Return (Zero)
17885 }
17886 }
17887
17888 Scope (\_PR.CPU5)
17889 {
17890 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
17891 {
17892 Store (\_PR.CPU0.CPDC (Arg0), Local0)
17893 GCAP (Local0)
17894 Return (Local0)
17895 }
17896
17897 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
17898 {
17899 Store (\_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3), Local0)
17900 GCAP (Local0)
17901 Return (Local0)
17902 }
17903
17904 Method (GCAP, 1, NotSerialized)
17905 {
17906 CreateDWordField (Arg0, Zero, STS5)
17907 CreateDWordField (Arg0, 0x04, CAP5)
17908 If (LOr (LEqual (STS5, 0x06), LEqual (STS5, 0x0A)))
17909 {
17910 Return (Zero)
17911 }
17912
17913 If (And (STS5, One))
17914 {
17915 And (CAP5, 0x0BFF, CAP5)
17916 Return (Zero)
17917 }
17918
17919 Or (And (PDC5, 0x7FFFFFFF), CAP5, PDC5)
17920 If (LEqual (And (PDC5, 0x09), 0x09))
17921 {
17922 \_PR.CPU1.APPT ()
17923 }
17924
17925 If (And (PDC5, 0x18))
17926 {
17927 \_PR.CPU1.APCT ()
17928 }
17929
17930 Store (PDC5, PDC0)
17931 Return (Zero)
17932 }
17933 }
17934
17935 Scope (\_PR.CPU6)
17936 {
17937 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
17938 {
17939 Store (\_PR.CPU0.CPDC (Arg0), Local0)
17940 GCAP (Local0)
17941 Return (Local0)
17942 }
17943
17944 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
17945 {
17946 Store (\_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3), Local0)
17947 GCAP (Local0)
17948 Return (Local0)
17949 }
17950
17951 Method (GCAP, 1, NotSerialized)
17952 {
17953 CreateDWordField (Arg0, Zero, STS6)
17954 CreateDWordField (Arg0, 0x04, CAP6)
17955 If (LOr (LEqual (STS6, 0x06), LEqual (STS6, 0x0A)))
17956 {
17957 Return (Zero)
17958 }
17959
17960 If (And (STS6, One))
17961 {
17962 And (CAP6, 0x0BFF, CAP6)
17963 Return (Zero)
17964 }
17965
17966 Or (And (PDC6, 0x7FFFFFFF), CAP6, PDC6)
17967 If (LEqual (And (PDC6, 0x09), 0x09))
17968 {
17969 \_PR.CPU1.APPT ()
17970 }
17971
17972 If (And (PDC6, 0x18))
17973 {
17974 \_PR.CPU1.APCT ()
17975 }
17976
17977 Store (PDC6, PDC0)
17978 Return (Zero)
17979 }
17980 }
17981
17982 Scope (\_PR.CPU7)
17983 {
17984 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
17985 {
17986 Store (\_PR.CPU0.CPDC (Arg0), Local0)
17987 GCAP (Local0)
17988 Return (Local0)
17989 }
17990
17991 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
17992 {
17993 Store (\_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3), Local0)
17994 GCAP (Local0)
17995 Return (Local0)
17996 }
17997
17998 Method (GCAP, 1, NotSerialized)
17999 {
18000 CreateDWordField (Arg0, Zero, STS7)
18001 CreateDWordField (Arg0, 0x04, CAP7)
18002 If (LOr (LEqual (STS7, 0x06), LEqual (STS7, 0x0A)))
18003 {
18004 Return (Zero)
18005 }
18006
18007 If (And (STS7, One))
18008 {
18009 And (CAP7, 0x0BFF, CAP7)
18010 Return (Zero)
18011 }
18012
18013 Or (And (PDC7, 0x7FFFFFFF), CAP7, PDC7)
18014 If (LEqual (And (PDC7, 0x09), 0x09))
18015 {
18016 \_PR.CPU1.APPT ()
18017 }
18018
18019 If (And (PDC7, 0x18))
18020 {
18021 \_PR.CPU1.APCT ()
18022 }
18023
18024 Store (PDC7, PDC0)
18025 Return (Zero)
18026 }
18027 }
18028 }
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.