Attachment 'acpidump.txt'
Download 1 /*
2 RSD PTR: OEM=LENOVO, ACPI_Rev=2.0x (2)
3 XSDT=0x00000000caffe210, length=36, cksum=33
4 */
5 /*
6 XSDT: Length=156, Revision=1, Checksum=118,
7 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
8 Creator ID=, Creator Revision=0x1000013
9 Entries={ 0x00000000caffa000, 0x00000000caffd000, 0x00000000caffc000, 0x00000000caffb000, 0x00000000caff9000, 0x00000000caff8000, 0x00000000caff7000, 0x00000000cafeb000, 0x00000000cafe9000, 0x00000000cafe7000, 0x00000000cafe6000, 0x00000000cafe4000, 0x00000000cafe3000, 0x00000000cafe2000, 0x00000000cafe1000 }
10 */
11 /*
12 FACP: Length=268, Revision=5, Checksum=199,
13 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
14 Creator ID=ACPI, Creator Revision=0x40000
15 FACS=0xcafbb000, DSDT=0xcafec000
16 INT_MODEL=APIC
17 Preferred_PM_Profile=Mobile (2)
18 SCI_INT=9
19 SMI_CMD=0xb2, ACPI_ENABLE=0xa0, ACPI_DISABLE=0xa1, S4BIOS_REQ=0x0
20 PSTATE_CNT=0x80
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=0x85
27 P_LVL2_LAT=101 us, P_LVL3_LAT=57 us
28 FLUSH_SIZE=1024, FLUSH_STRIDE=16
29 DUTY_OFFSET=1, DUTY_WIDTH=3
30 DAY_ALRM=13, MON_ALRM=0, CENTURY=0
31 IAPC_BOOT_ARCH={LEGACY_DEVICES,8042,NO_ASPM}
32 Flags={WBINVD,C1_SUPPORTED,SLEEP_BUTTON,S4_RTC_WAKE,DOCKING_SUPPORTED,RESET_REGISTER,PCI_EXPRESS_WAKE,PLATFORM_CLOCK,S4_RTC_VALID,REMOTE_POWER_ON}
33 RESET_REG=0xb2:0[8] (IO), RESET_VALUE=0xfb
34 */
35 /*
36 FACS: Length=64, HwSig=0xa26897df, Firm_Wake_Vec=0x00000000
37 Global_Lock=
38 Flags=
39 Version=2
40 */
41 /*
42 DSDT: Length=41001, Revision=1, Checksum=116,
43 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
44 Creator ID=ACPI, Creator Revision=0x40000
45 */
46 /*
47 SLIC: Length=374, Revision=1, Checksum=71,
48 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
49 Creator ID=ACPI, Creator Revision=0x40000
50 */
51 /*
52 UEFI: Length=566, Revision=1, Checksum=207,
53 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
54 Creator ID=ACPI, Creator Revision=0x40000
55 */
56 /*
57 ASF!: Length=165, Revision=32, Checksum=116,
58 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
59 Creator ID=ACPI, Creator Revision=0x40000
60 */
61 /*
62 HPET: Length=56, Revision=1, Checksum=55,
63 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
64 Creator ID=ACPI, Creator Revision=0x40000
65 HPET Number=0
66 ADDR=0xfed00000:0[0] (Memory) HW Rev=0x1
67 Comparators=2
68 Counter Size=1
69 Legacy IRQ routing capable={TRUE}
70 PCI Vendor ID=0x8086
71 Minimal Tick=128
72 */
73 /*
74 APIC: Length=140, Revision=3, Checksum=155,
75 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
76 Creator ID=ACPI, Creator Revision=0x40000
77 Local APIC ADDR=0xfee00000
78 Flags={PC-AT}
79
80 Type=Local APIC
81 ACPI CPU=1
82 Flags={ENABLED}
83 APIC ID=0
84
85 Type=Local APIC
86 ACPI CPU=2
87 Flags={ENABLED}
88 APIC ID=1
89
90 Type=Local APIC
91 ACPI CPU=3
92 Flags={ENABLED}
93 APIC ID=2
94
95 Type=Local APIC
96 ACPI CPU=4
97 Flags={ENABLED}
98 APIC ID=3
99
100 Type=Local APIC
101 ACPI CPU=5
102 Flags={DISABLED}
103 APIC ID=0
104
105 Type=Local APIC
106 ACPI CPU=6
107 Flags={DISABLED}
108 APIC ID=0
109
110 Type=Local APIC
111 ACPI CPU=7
112 Flags={DISABLED}
113 APIC ID=0
114
115 Type=Local APIC
116 ACPI CPU=8
117 Flags={DISABLED}
118 APIC ID=0
119
120 Type=IO APIC
121 APIC ID=0
122 INT BASE=0
123 ADDR=0x00000000fec00000
124
125 Type=INT Override
126 BUS=0
127 IRQ=0
128 INTR=2
129 Flags={Polarity=conforming, Trigger=conforming}
130
131 Type=INT Override
132 BUS=0
133 IRQ=9
134 INTR=9
135 Flags={Polarity=active-hi, Trigger=level}
136 */
137 /*
138 MCFG: Length=60, Revision=1, Checksum=15,
139 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
140 Creator ID=ACPI, Creator Revision=0x40000
141
142 Base Address=0x00000000f0000000
143 Segment Group=0x0000
144 Start Bus=0
145 End Bus=63
146 */
147 /*
148 SSDT: Length=1790, Revision=1, Checksum=175,
149 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
150 Creator ID=ACPI, Creator Revision=0x40000
151 */
152 /*
153 BOOT: Length=40, Revision=1, Checksum=247,
154 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
155 Creator ID=ACPI, Creator Revision=0x40000
156 */
157 /*
158 ASPT: Length=52, Revision=7, Checksum=37,
159 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
160 Creator ID=ACPI, Creator Revision=0x40000
161 */
162 /*
163 DBGP: Length=52, Revision=1, Checksum=57,
164 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
165 Creator ID=ACPI, Creator Revision=0x40000
166 */
167 /*
168 FPDT: Length=68, Revision=1, Checksum=4,
169 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
170 Creator ID=ACPI, Creator Revision=0x40000
171 */
172 /*
173 MSDM: Length=85, Revision=3, Checksum=123,
174 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
175 Creator ID=ACPI, Creator Revision=0x40000
176 */
177 /*
178 SSDT: Length=2474, Revision=1, Checksum=243,
179 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
180 Creator ID=ACPI, Creator Revision=0x40000
181 */
182 /*
183 SSDT: Length=2706, Revision=1, Checksum=145,
184 OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
185 Creator ID=ACPI, Creator Revision=0x40000
186 */
187 /*
188 * Intel ACPI Component Architecture
189 * AML/ASL+ Disassembler version 20150515-64
190 * Copyright (c) 2000 - 2015 Intel Corporation
191 *
192 * Disassembling to symbolic ASL+ operators
193 *
194 * Disassembly of /tmp/acpidump.H5AoKk, Mon Feb 29 00:33:42 2016
195 *
196 * Original Table Header:
197 * Signature "DSDT"
198 * Length 0x0000BAF7 (47863)
199 * Revision 0x01 **** 32-bit table (V1), no 64-bit math support
200 * Checksum 0x07
201 * OEM ID "LENOVO"
202 * OEM Table ID "CB-01 "
203 * OEM Revision 0x00000001 (1)
204 * Compiler ID "ACPI"
205 * Compiler Version 0x00040000 (262144)
206 */
207 DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "LENOVO", "CB-01 ", 0x00000001)
208 {
209 /*
210 * iASL Warning: There were 4 external control methods found during
211 * disassembly, but additional ACPI tables to resolve these externals
212 * were not specified. This resulting disassembler output file may not
213 * compile because the disassembler did not know how many arguments
214 * to assign to these methods. To specify the tables needed to resolve
215 * external control method references, the -e option can be used to
216 * specify the filenames. Note: SSDTs can be dynamically loaded at
217 * runtime and may or may not be available via the host OS.
218 * Example iASL invocations:
219 * iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml
220 * iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml
221 * iasl -e ssdt*.aml -d dsdt.aml
222 *
223 * In addition, the -fe option can be used to specify a file containing
224 * control method external declarations with the associated method
225 * argument counts. Each line of the file must be of the form:
226 * External (<method pathname>, MethodObj, <argument count>)
227 * Invocation:
228 * iasl -fe refs.txt -d dsdt.aml
229 *
230 * The following methods were unresolved and many not compile properly
231 * because the disassembler had to guess at the number of arguments
232 * required for each:
233 */
234 External (ECST, MethodObj) // Warning: Unresolved method, guessing 1 arguments
235 External (HDOS, MethodObj) // Warning: Unresolved method, guessing 0 arguments
236 External (HNOT, MethodObj) // Warning: Unresolved method, guessing 1 arguments
237 External (IDAB, MethodObj) // Warning: Unresolved method, guessing 0 arguments
238
239 External (HWID, IntObj)
240 External (NPSS, IntObj)
241
242 Name (ECDY, Zero)
243 Name (SS1, Zero)
244 Name (SS2, Zero)
245 Name (SS3, One)
246 Name (SS4, One)
247 Name (IOST, 0xFFFF)
248 Name (SP2O, 0x4E)
249 Name (SP1O, 0x2E)
250 Name (IO1B, 0x0600)
251 Name (IO1L, 0x70)
252 Name (IO2B, 0x0600)
253 Name (IO2L, 0x20)
254 Name (IO3B, 0x0290)
255 Name (IO3L, 0x10)
256 Name (SP3O, 0x2E)
257 Name (IO4B, 0x0A20)
258 Name (IO4L, 0x20)
259 Name (MCHB, 0xFED10000)
260 Name (MCHL, 0x8000)
261 Name (EGPB, 0xFED19000)
262 Name (EGPL, 0x1000)
263 Name (DMIB, 0xFED18000)
264 Name (DMIL, 0x1000)
265 Name (IFPB, 0xFED14000)
266 Name (IFPL, 0x1000)
267 Name (PEBS, 0xF0000000)
268 Name (PELN, 0x04000000)
269 Name (SMBS, 0x0580)
270 Name (SMBL, 0x20)
271 Name (PBLK, 0x0410)
272 Name (PMBS, 0x0400)
273 Name (PMLN, 0x80)
274 Name (LVL2, 0x0414)
275 Name (LVL3, 0x0415)
276 Name (LVL4, 0x0416)
277 Name (SMIP, 0xB2)
278 Name (GPBS, 0x0500)
279 Name (GPLN, 0x80)
280 Name (APCB, 0xFEC00000)
281 Name (APCL, 0x1000)
282 Name (PM30, 0x0430)
283 Name (SRCB, 0xFED1C000)
284 Name (SRCL, 0x4000)
285 Name (HPTB, 0xFED00000)
286 Name (HPTC, 0xFED1F404)
287 Name (ACPH, 0xDE)
288 Name (ASSB, Zero)
289 Name (AOTB, Zero)
290 Name (AAXB, Zero)
291 Name (DSSP, Zero)
292 Name (FHPP, One)
293 Name (FMBL, One)
294 Name (FDTP, 0x02)
295 Name (FUPS, 0x03)
296 Name (BEL, One)
297 Name (BEH, 0x02)
298 Name (BRH, 0x03)
299 Name (BTF, 0x04)
300 Name (BYB, 0x06)
301 Name (BWB, 0x06)
302 Name (BELC, 0x09)
303 Name (BRHP, 0x0A)
304 Name (BTFC, 0x0B)
305 Name (BEHP, 0x0C)
306 Name (BELP, 0x0E)
307 Name (BTL, 0x10)
308 Name (BTFP, 0x11)
309 Name (BSR, 0x14)
310 Name (BCC, 0x1C)
311 Name (BEF, 0x21)
312 Name (BLLE, 0x22)
313 Name (BLLC, 0x23)
314 Name (BLCA, 0x24)
315 Name (BLLS, 0x25)
316 Name (BLLP, 0x26)
317 Name (BLLD, 0x27)
318 Name (BKF, 0x28)
319 Name (BHBE, 0x30)
320 Name (BHBC, 0x31)
321 Name (BHBN, 0x32)
322 Name (BHBM, 0x33)
323 Name (TCGM, One)
324 Name (TRTP, One)
325 Name (WDTE, One)
326 Name (TRTD, 0x02)
327 Name (TRTI, 0x03)
328 Name (GCDD, One)
329 Name (DSTA, 0x0A)
330 Name (DSLO, 0x0C)
331 Name (DSLC, 0x0E)
332 Name (PITS, 0x10)
333 Name (SBCS, 0x12)
334 Name (SALS, 0x13)
335 Name (LSSS, 0x2A)
336 Name (SOOT, 0x35)
337 Name (PDBR, 0x4D)
338 Name (DPPB, 0xFED98000)
339 Name (DPPL, 0x8000)
340 OperationRegion (GNVS, SystemMemory, 0xCAFBEA18, 0x00000203)
341 Field (GNVS, AnyAcc, Lock, Preserve)
342 {
343 OSYS, 16,
344 SMIF, 8,
345 PRM0, 8,
346 PRM1, 8,
347 SCIF, 8,
348 PRM2, 8,
349 PRM3, 8,
350 LCKF, 8,
351 PRM4, 8,
352 PRM5, 8,
353 P80D, 32,
354 LIDS, 8,
355 PWRS, 8,
356 DBGS, 8,
357 THOF, 8,
358 ACT1, 8,
359 ACTT, 8,
360 PSVT, 8,
361 TC1V, 8,
362 TC2V, 8,
363 TSPV, 8,
364 CRTT, 8,
365 DTSE, 8,
366 DTS1, 8,
367 DTS2, 8,
368 DTSF, 8,
369 Offset (0x25),
370 REVN, 8,
371 RES3, 8,
372 Offset (0x28),
373 APIC, 8,
374 TCNT, 8,
375 PCP0, 8,
376 PCP1, 8,
377 PPCM, 8,
378 PPMF, 32,
379 C67L, 8,
380 NATP, 8,
381 CMAP, 8,
382 CMBP, 8,
383 LPTP, 8,
384 FDCP, 8,
385 COMA, 8,
386 COMB, 8,
387 SMSC, 8,
388 W381, 8,
389 SMC1, 8,
390 IGDS, 8,
391 TLST, 8,
392 CADL, 8,
393 PADL, 8,
394 CSTE, 16,
395 NSTE, 16,
396 SSTE, 16,
397 NDID, 8,
398 DID1, 32,
399 DID2, 32,
400 DID3, 32,
401 DID4, 32,
402 DID5, 32,
403 KSV0, 32,
404 KSV1, 8,
405 Offset (0x67),
406 BLCS, 8,
407 BRTL, 8,
408 ALSE, 8,
409 ALAF, 8,
410 LLOW, 8,
411 LHIH, 8,
412 Offset (0x6E),
413 EMAE, 8,
414 EMAP, 16,
415 EMAL, 16,
416 Offset (0x74),
417 MEFE, 8,
418 DSTS, 8,
419 Offset (0x78),
420 TPMP, 8,
421 TPME, 8,
422 MORD, 8,
423 TCGP, 8,
424 PPRP, 32,
425 PPRQ, 8,
426 LPPR, 8,
427 GTF0, 56,
428 GTF2, 56,
429 IDEM, 8,
430 GTF1, 56,
431 BID, 8,
432 PLID, 8,
433 Offset (0xAA),
434 ASLB, 32,
435 IBTT, 8,
436 IPAT, 8,
437 ITVF, 8,
438 ITVM, 8,
439 IPSC, 8,
440 IBLC, 8,
441 IBIA, 8,
442 ISSC, 8,
443 I409, 8,
444 I509, 8,
445 I609, 8,
446 I709, 8,
447 IPCF, 8,
448 IDMS, 8,
449 IF1E, 8,
450 HVCO, 8,
451 NXD1, 32,
452 NXD2, 32,
453 NXD3, 32,
454 NXD4, 32,
455 NXD5, 32,
456 NXD6, 32,
457 NXD7, 32,
458 NXD8, 32,
459 GSMI, 8,
460 PAVP, 8,
461 Offset (0xE1),
462 OSCC, 8,
463 NEXP, 8,
464 SBV1, 8,
465 SBV2, 8,
466 Offset (0xEB),
467 DSEN, 8,
468 Offset (0xED),
469 GPIC, 8,
470 CTYP, 8,
471 L01C, 8,
472 VFN0, 8,
473 VFN1, 8,
474 VFN2, 8,
475 VFN3, 8,
476 VFN4, 8,
477 Offset (0x100),
478 NVGA, 32,
479 NVHA, 32,
480 AMDA, 32,
481 DID6, 32,
482 DID7, 32,
483 DID8, 32,
484 EBAS, 32,
485 CPSP, 32,
486 EECP, 32,
487 EVCP, 32,
488 XBAS, 32,
489 OBS1, 32,
490 OBS2, 32,
491 OBS3, 32,
492 OBS4, 32,
493 OBS5, 32,
494 OBS6, 32,
495 OBS7, 32,
496 OBS8, 32,
497 Offset (0x157),
498 ATMC, 8,
499 PTMC, 8,
500 ATRA, 8,
501 PTRA, 8,
502 PNHM, 32,
503 TBAB, 32,
504 TBAH, 32,
505 RTIP, 8,
506 TSOD, 8,
507 ATPC, 8,
508 PTPC, 8,
509 PFLV, 8,
510 BREV, 8,
511 SGMD, 8,
512 SGFL, 8,
513 PWOK, 8,
514 HLRS, 8,
515 DSEL, 8,
516 ESEL, 8,
517 PSEL, 8,
518 PWEN, 8,
519 PRST, 8,
520 MXD1, 32,
521 MXD2, 32,
522 MXD3, 32,
523 MXD4, 32,
524 MXD5, 32,
525 MXD6, 32,
526 MXD7, 32,
527 MXD8, 32,
528 GBAS, 16,
529 SGGP, 8,
530 Offset (0x19D),
531 ALFP, 8,
532 IMON, 8,
533 PDTS, 8,
534 PKGA, 8,
535 PAMT, 8,
536 AC0F, 8,
537 AC1F, 8,
538 DTS3, 8,
539 DTS4, 8,
540 Offset (0x1B2),
541 XHCI, 8,
542 XHPM, 8,
543 Offset (0x1B7),
544 XTUB, 32,
545 XTUS, 32,
546 XMPB, 32,
547 Offset (0x1C4),
548 LPMV, 8,
549 Offset (0x1C6),
550 DDRF, 8,
551 MM64, 8,
552 Offset (0x1E0),
553 CCMD, 8,
554 COMD, 8,
555 LPT1, 8,
556 PSTP, 8,
557 WKMD, 8,
558 IDER, 8,
559 PIE0, 8,
560 PIE1, 8,
561 CSTS, 8,
562 PMEE, 8,
563 WOLE, 8,
564 NVAD, 32,
565 PGVI, 32,
566 OPTF, 8,
567 IFSE, 8,
568 AOAC, 8,
569 S1C0, 16,
570 S1C1, 16,
571 S2C0, 16,
572 S2C1, 16,
573 SLPS, 8,
574 ALAT, 32
575 }
576
577 OperationRegion (OGNS, SystemMemory, 0xCAFBCF98, 0x00000039)
578 Field (OGNS, AnyAcc, Lock, Preserve)
579 {
580 OG00, 8,
581 OG01, 8,
582 OG02, 8,
583 OG03, 8,
584 OG04, 8,
585 OG05, 8,
586 OG06, 8,
587 OG07, 8,
588 OG08, 8,
589 OG09, 8,
590 OG10, 8,
591 ECON, 8,
592 TPDF, 8,
593 CMPS, 8,
594 ODTY, 8,
595 ODST, 8,
596 VTST, 8,
597 WLFG, 8,
598 FS35, 8,
599 BL00, 8,
600 BL01, 8,
601 BL02, 8,
602 BL03, 8,
603 BL04, 8,
604 BL05, 8,
605 BL06, 8,
606 BL07, 8,
607 BL08, 8,
608 BL09, 8,
609 BL10, 8,
610 BL11, 8,
611 BL12, 8,
612 BL13, 8,
613 BL14, 8,
614 BL15, 8,
615 BL20, 8,
616 BL21, 8,
617 BL22, 8,
618 BL23, 8,
619 BL24, 8,
620 BL25, 8,
621 BL26, 8,
622 BL27, 8,
623 BL28, 8,
624 BL29, 8,
625 BL30, 8,
626 BL31, 8,
627 BL32, 8,
628 BL33, 8,
629 BL34, 8,
630 BL35, 8,
631 BL36, 8,
632 BL37, 8,
633 BL38, 8,
634 BL39, 8,
635 BL40, 8,
636 KBID, 8
637 }
638
639 OperationRegion (SMIO, SystemIO, 0xB2, 0x02)
640 Field (SMIO, ByteAcc, NoLock, Preserve)
641 {
642 SMIC, 8,
643 SMID, 8
644 }
645
646 Scope (_SB)
647 {
648 Name (PRSA, ResourceTemplate ()
649 {
650 IRQ (Level, ActiveLow, Shared, )
651 {1,3,4,5,6,10,11,12,14,15}
652 })
653 Alias (PRSA, PRSB)
654 Alias (PRSA, PRSC)
655 Alias (PRSA, PRSD)
656 Alias (PRSA, PRSE)
657 Alias (PRSA, PRSF)
658 Alias (PRSA, PRSG)
659 Alias (PRSA, PRSH)
660 Device (PCI0)
661 {
662 Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID
663 Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID
664 Name (_ADR, Zero) // _ADR: Address
665 Method (^BN00, 0, NotSerialized)
666 {
667 Return (Zero)
668 }
669
670 Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number
671 {
672 Return (BN00 ())
673 }
674
675 Name (_UID, Zero) // _UID: Unique ID
676 Name (PR00, Package (0x25)
677 {
678 Package (0x04)
679 {
680 0x0014FFFF,
681 Zero,
682 LNKA,
683 Zero
684 },
685
686 Package (0x04)
687 {
688 0x0016FFFF,
689 Zero,
690 LNKA,
691 Zero
692 },
693
694 Package (0x04)
695 {
696 0x0016FFFF,
697 One,
698 LNKB,
699 Zero
700 },
701
702 Package (0x04)
703 {
704 0x0016FFFF,
705 0x02,
706 LNKC,
707 Zero
708 },
709
710 Package (0x04)
711 {
712 0x0016FFFF,
713 0x03,
714 LNKD,
715 Zero
716 },
717
718 Package (0x04)
719 {
720 0x0019FFFF,
721 Zero,
722 LNKE,
723 Zero
724 },
725
726 Package (0x04)
727 {
728 0x001AFFFF,
729 Zero,
730 LNKA,
731 Zero
732 },
733
734 Package (0x04)
735 {
736 0x001AFFFF,
737 One,
738 LNKF,
739 Zero
740 },
741
742 Package (0x04)
743 {
744 0x001AFFFF,
745 0x02,
746 LNKD,
747 Zero
748 },
749
750 Package (0x04)
751 {
752 0x001AFFFF,
753 0x03,
754 LNKC,
755 Zero
756 },
757
758 Package (0x04)
759 {
760 0x001BFFFF,
761 Zero,
762 LNKG,
763 Zero
764 },
765
766 Package (0x04)
767 {
768 0x001CFFFF,
769 Zero,
770 LNKB,
771 Zero
772 },
773
774 Package (0x04)
775 {
776 0x001CFFFF,
777 One,
778 LNKA,
779 Zero
780 },
781
782 Package (0x04)
783 {
784 0x001CFFFF,
785 0x02,
786 LNKC,
787 Zero
788 },
789
790 Package (0x04)
791 {
792 0x001CFFFF,
793 0x03,
794 LNKD,
795 Zero
796 },
797
798 Package (0x04)
799 {
800 0x001DFFFF,
801 Zero,
802 LNKH,
803 Zero
804 },
805
806 Package (0x04)
807 {
808 0x001DFFFF,
809 One,
810 LNKD,
811 Zero
812 },
813
814 Package (0x04)
815 {
816 0x001DFFFF,
817 0x02,
818 LNKC,
819 Zero
820 },
821
822 Package (0x04)
823 {
824 0x001DFFFF,
825 0x03,
826 LNKA,
827 Zero
828 },
829
830 Package (0x04)
831 {
832 0x001FFFFF,
833 Zero,
834 LNKF,
835 Zero
836 },
837
838 Package (0x04)
839 {
840 0x001FFFFF,
841 One,
842 LNKD,
843 Zero
844 },
845
846 Package (0x04)
847 {
848 0x001FFFFF,
849 0x02,
850 LNKD,
851 Zero
852 },
853
854 Package (0x04)
855 {
856 0x001FFFFF,
857 0x03,
858 LNKA,
859 Zero
860 },
861
862 Package (0x04)
863 {
864 0x0001FFFF,
865 Zero,
866 LNKA,
867 Zero
868 },
869
870 Package (0x04)
871 {
872 0x0001FFFF,
873 One,
874 LNKB,
875 Zero
876 },
877
878 Package (0x04)
879 {
880 0x0001FFFF,
881 0x02,
882 LNKC,
883 Zero
884 },
885
886 Package (0x04)
887 {
888 0x0001FFFF,
889 0x03,
890 LNKD,
891 Zero
892 },
893
894 Package (0x04)
895 {
896 0x0002FFFF,
897 Zero,
898 LNKA,
899 Zero
900 },
901
902 Package (0x04)
903 {
904 0x0004FFFF,
905 Zero,
906 LNKA,
907 Zero
908 },
909
910 Package (0x04)
911 {
912 0x0004FFFF,
913 One,
914 LNKB,
915 Zero
916 },
917
918 Package (0x04)
919 {
920 0x0004FFFF,
921 0x02,
922 LNKC,
923 Zero
924 },
925
926 Package (0x04)
927 {
928 0x0004FFFF,
929 0x03,
930 LNKD,
931 Zero
932 },
933
934 Package (0x04)
935 {
936 0x0006FFFF,
937 Zero,
938 LNKD,
939 Zero
940 },
941
942 Package (0x04)
943 {
944 0x0006FFFF,
945 One,
946 LNKA,
947 Zero
948 },
949
950 Package (0x04)
951 {
952 0x0006FFFF,
953 0x02,
954 LNKB,
955 Zero
956 },
957
958 Package (0x04)
959 {
960 0x0006FFFF,
961 0x03,
962 LNKC,
963 Zero
964 },
965
966 Package (0x04)
967 {
968 0x0018FFFF,
969 Zero,
970 LNKE,
971 Zero
972 }
973 })
974 Name (AR00, Package (0x25)
975 {
976 Package (0x04)
977 {
978 0x0014FFFF,
979 Zero,
980 Zero,
981 0x15
982 },
983
984 Package (0x04)
985 {
986 0x0016FFFF,
987 Zero,
988 Zero,
989 0x10
990 },
991
992 Package (0x04)
993 {
994 0x0016FFFF,
995 One,
996 Zero,
997 0x11
998 },
999
1000 Package (0x04)
1001 {
1002 0x0016FFFF,
1003 0x02,
1004 Zero,
1005 0x12
1006 },
1007
1008 Package (0x04)
1009 {
1010 0x0016FFFF,
1011 0x03,
1012 Zero,
1013 0x13
1014 },
1015
1016 Package (0x04)
1017 {
1018 0x0019FFFF,
1019 Zero,
1020 Zero,
1021 0x14
1022 },
1023
1024 Package (0x04)
1025 {
1026 0x001AFFFF,
1027 Zero,
1028 Zero,
1029 0x10
1030 },
1031
1032 Package (0x04)
1033 {
1034 0x001AFFFF,
1035 One,
1036 Zero,
1037 0x15
1038 },
1039
1040 Package (0x04)
1041 {
1042 0x001AFFFF,
1043 0x02,
1044 Zero,
1045 0x13
1046 },
1047
1048 Package (0x04)
1049 {
1050 0x001AFFFF,
1051 0x03,
1052 Zero,
1053 0x12
1054 },
1055
1056 Package (0x04)
1057 {
1058 0x001BFFFF,
1059 Zero,
1060 Zero,
1061 0x16
1062 },
1063
1064 Package (0x04)
1065 {
1066 0x001CFFFF,
1067 Zero,
1068 Zero,
1069 0x11
1070 },
1071
1072 Package (0x04)
1073 {
1074 0x001CFFFF,
1075 One,
1076 Zero,
1077 0x10
1078 },
1079
1080 Package (0x04)
1081 {
1082 0x001CFFFF,
1083 0x02,
1084 Zero,
1085 0x12
1086 },
1087
1088 Package (0x04)
1089 {
1090 0x001CFFFF,
1091 0x03,
1092 Zero,
1093 0x13
1094 },
1095
1096 Package (0x04)
1097 {
1098 0x001DFFFF,
1099 Zero,
1100 Zero,
1101 0x17
1102 },
1103
1104 Package (0x04)
1105 {
1106 0x001DFFFF,
1107 One,
1108 Zero,
1109 0x13
1110 },
1111
1112 Package (0x04)
1113 {
1114 0x001DFFFF,
1115 0x02,
1116 Zero,
1117 0x12
1118 },
1119
1120 Package (0x04)
1121 {
1122 0x001DFFFF,
1123 0x03,
1124 Zero,
1125 0x10
1126 },
1127
1128 Package (0x04)
1129 {
1130 0x001FFFFF,
1131 Zero,
1132 Zero,
1133 0x15
1134 },
1135
1136 Package (0x04)
1137 {
1138 0x001FFFFF,
1139 One,
1140 Zero,
1141 0x13
1142 },
1143
1144 Package (0x04)
1145 {
1146 0x001FFFFF,
1147 0x02,
1148 Zero,
1149 0x13
1150 },
1151
1152 Package (0x04)
1153 {
1154 0x001FFFFF,
1155 0x03,
1156 Zero,
1157 0x10
1158 },
1159
1160 Package (0x04)
1161 {
1162 0x0001FFFF,
1163 Zero,
1164 Zero,
1165 0x10
1166 },
1167
1168 Package (0x04)
1169 {
1170 0x0001FFFF,
1171 One,
1172 Zero,
1173 0x11
1174 },
1175
1176 Package (0x04)
1177 {
1178 0x0001FFFF,
1179 0x02,
1180 Zero,
1181 0x12
1182 },
1183
1184 Package (0x04)
1185 {
1186 0x0001FFFF,
1187 0x03,
1188 Zero,
1189 0x13
1190 },
1191
1192 Package (0x04)
1193 {
1194 0x0002FFFF,
1195 Zero,
1196 Zero,
1197 0x10
1198 },
1199
1200 Package (0x04)
1201 {
1202 0x0004FFFF,
1203 Zero,
1204 Zero,
1205 0x10
1206 },
1207
1208 Package (0x04)
1209 {
1210 0x0004FFFF,
1211 One,
1212 Zero,
1213 0x11
1214 },
1215
1216 Package (0x04)
1217 {
1218 0x0004FFFF,
1219 0x02,
1220 Zero,
1221 0x12
1222 },
1223
1224 Package (0x04)
1225 {
1226 0x0004FFFF,
1227 0x03,
1228 Zero,
1229 0x13
1230 },
1231
1232 Package (0x04)
1233 {
1234 0x0006FFFF,
1235 Zero,
1236 Zero,
1237 0x13
1238 },
1239
1240 Package (0x04)
1241 {
1242 0x0006FFFF,
1243 One,
1244 Zero,
1245 0x10
1246 },
1247
1248 Package (0x04)
1249 {
1250 0x0006FFFF,
1251 0x02,
1252 Zero,
1253 0x11
1254 },
1255
1256 Package (0x04)
1257 {
1258 0x0006FFFF,
1259 0x03,
1260 Zero,
1261 0x12
1262 },
1263
1264 Package (0x04)
1265 {
1266 0x0018FFFF,
1267 Zero,
1268 Zero,
1269 0x14
1270 }
1271 })
1272 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
1273 {
1274 If (PICM)
1275 {
1276 Return (AR00) /* \_SB_.PCI0.AR00 */
1277 }
1278
1279 Return (PR00) /* \_SB_.PCI0.PR00 */
1280 }
1281
1282 OperationRegion (HBUS, PCI_Config, Zero, 0x0100)
1283 Field (HBUS, DWordAcc, NoLock, Preserve)
1284 {
1285 Offset (0x40),
1286 EPEN, 1,
1287 , 11,
1288 EPBR, 20,
1289 Offset (0x48),
1290 MHEN, 1,
1291 , 14,
1292 MHBR, 17,
1293 Offset (0x50),
1294 GCLK, 1,
1295 Offset (0x54),
1296 D0EN, 1,
1297 Offset (0x60),
1298 PXEN, 1,
1299 PXSZ, 2,
1300 , 23,
1301 PXBR, 6,
1302 Offset (0x68),
1303 DIEN, 1,
1304 , 11,
1305 DIBR, 20,
1306 Offset (0x70),
1307 , 20,
1308 MEBR, 12,
1309 Offset (0x80),
1310 , 4,
1311 PM0H, 2,
1312 Offset (0x81),
1313 PM1L, 2,
1314 , 2,
1315 PM1H, 2,
1316 Offset (0x82),
1317 PM2L, 2,
1318 , 2,
1319 PM2H, 2,
1320 Offset (0x83),
1321 PM3L, 2,
1322 , 2,
1323 PM3H, 2,
1324 Offset (0x84),
1325 PM4L, 2,
1326 , 2,
1327 PM4H, 2,
1328 Offset (0x85),
1329 PM5L, 2,
1330 , 2,
1331 PM5H, 2,
1332 Offset (0x86),
1333 PM6L, 2,
1334 , 2,
1335 PM6H, 2,
1336 Offset (0x87),
1337 Offset (0xA8),
1338 , 20,
1339 TUUD, 19,
1340 Offset (0xBC),
1341 , 20,
1342 TLUD, 12,
1343 Offset (0xC8),
1344 , 7,
1345 HTSE, 1
1346 }
1347
1348 OperationRegion (MCHT, SystemMemory, 0xFED10000, 0x1100)
1349 Field (MCHT, ByteAcc, NoLock, Preserve)
1350 {
1351 }
1352
1353 Name (BUF0, ResourceTemplate ()
1354 {
1355 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
1356 0x0000, // Granularity
1357 0x0000, // Range Minimum
1358 0x00FF, // Range Maximum
1359 0x0000, // Translation Offset
1360 0x0100, // Length
1361 ,, _Y00)
1362 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
1363 0x00000000, // Granularity
1364 0x00000000, // Range Minimum
1365 0x00000CF7, // Range Maximum
1366 0x00000000, // Translation Offset
1367 0x00000CF8, // Length
1368 ,, , TypeStatic)
1369 IO (Decode16,
1370 0x0CF8, // Range Minimum
1371 0x0CF8, // Range Maximum
1372 0x01, // Alignment
1373 0x08, // Length
1374 )
1375 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
1376 0x00000000, // Granularity
1377 0x00000D00, // Range Minimum
1378 0x0000FFFF, // Range Maximum
1379 0x00000000, // Translation Offset
1380 0x0000F300, // Length
1381 ,, , TypeStatic)
1382 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1383 0x00000000, // Granularity
1384 0x000A0000, // Range Minimum
1385 0x000BFFFF, // Range Maximum
1386 0x00000000, // Translation Offset
1387 0x00020000, // Length
1388 ,, , AddressRangeMemory, TypeStatic)
1389 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1390 0x00000000, // Granularity
1391 0x000C0000, // Range Minimum
1392 0x000C3FFF, // Range Maximum
1393 0x00000000, // Translation Offset
1394 0x00004000, // Length
1395 ,, _Y01, AddressRangeMemory, TypeStatic)
1396 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1397 0x00000000, // Granularity
1398 0x000C4000, // Range Minimum
1399 0x000C7FFF, // Range Maximum
1400 0x00000000, // Translation Offset
1401 0x00004000, // Length
1402 ,, _Y02, AddressRangeMemory, TypeStatic)
1403 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1404 0x00000000, // Granularity
1405 0x000C8000, // Range Minimum
1406 0x000CBFFF, // Range Maximum
1407 0x00000000, // Translation Offset
1408 0x00004000, // Length
1409 ,, _Y03, AddressRangeMemory, TypeStatic)
1410 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1411 0x00000000, // Granularity
1412 0x000CC000, // Range Minimum
1413 0x000CFFFF, // Range Maximum
1414 0x00000000, // Translation Offset
1415 0x00004000, // Length
1416 ,, _Y04, AddressRangeMemory, TypeStatic)
1417 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1418 0x00000000, // Granularity
1419 0x000D0000, // Range Minimum
1420 0x000D3FFF, // Range Maximum
1421 0x00000000, // Translation Offset
1422 0x00004000, // Length
1423 ,, _Y05, AddressRangeMemory, TypeStatic)
1424 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1425 0x00000000, // Granularity
1426 0x000D4000, // Range Minimum
1427 0x000D7FFF, // Range Maximum
1428 0x00000000, // Translation Offset
1429 0x00004000, // Length
1430 ,, _Y06, AddressRangeMemory, TypeStatic)
1431 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1432 0x00000000, // Granularity
1433 0x000D8000, // Range Minimum
1434 0x000DBFFF, // Range Maximum
1435 0x00000000, // Translation Offset
1436 0x00004000, // Length
1437 ,, _Y07, AddressRangeMemory, TypeStatic)
1438 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1439 0x00000000, // Granularity
1440 0x000DC000, // Range Minimum
1441 0x000DFFFF, // Range Maximum
1442 0x00000000, // Translation Offset
1443 0x00004000, // Length
1444 ,, _Y08, AddressRangeMemory, TypeStatic)
1445 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1446 0x00000000, // Granularity
1447 0x000E0000, // Range Minimum
1448 0x000E3FFF, // Range Maximum
1449 0x00000000, // Translation Offset
1450 0x00004000, // Length
1451 ,, _Y09, AddressRangeMemory, TypeStatic)
1452 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1453 0x00000000, // Granularity
1454 0x000E4000, // Range Minimum
1455 0x000E7FFF, // Range Maximum
1456 0x00000000, // Translation Offset
1457 0x00004000, // Length
1458 ,, _Y0A, AddressRangeMemory, TypeStatic)
1459 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1460 0x00000000, // Granularity
1461 0x000E8000, // Range Minimum
1462 0x000EBFFF, // Range Maximum
1463 0x00000000, // Translation Offset
1464 0x00004000, // Length
1465 ,, _Y0B, AddressRangeMemory, TypeStatic)
1466 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1467 0x00000000, // Granularity
1468 0x000EC000, // Range Minimum
1469 0x000EFFFF, // Range Maximum
1470 0x00000000, // Translation Offset
1471 0x00004000, // Length
1472 ,, _Y0C, AddressRangeMemory, TypeStatic)
1473 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1474 0x00000000, // Granularity
1475 0x000F0000, // Range Minimum
1476 0x000FFFFF, // Range Maximum
1477 0x00000000, // Translation Offset
1478 0x00010000, // Length
1479 ,, _Y0D, AddressRangeMemory, TypeStatic)
1480 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1481 0x00000000, // Granularity
1482 0x00000000, // Range Minimum
1483 0xFEAFFFFF, // Range Maximum
1484 0x00000000, // Translation Offset
1485 0xFEB00000, // Length
1486 ,, _Y0E, AddressRangeMemory, TypeStatic)
1487 QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1488 0x0000000000000000, // Granularity
1489 0x0000000000010000, // Range Minimum
1490 0x000000000001FFFF, // Range Maximum
1491 0x0000000000000000, // Translation Offset
1492 0x0000000000010000, // Length
1493 ,, _Y0F, AddressRangeMemory, TypeStatic)
1494 })
1495 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
1496 {
1497 CreateWordField (BUF0, \_SB.PCI0._Y00._MAX, PBMX) // _MAX: Maximum Base Address
1498 PBMX = ((PELN >> 0x14) - 0x02)
1499 CreateWordField (BUF0, \_SB.PCI0._Y00._LEN, PBLN) // _LEN: Length
1500 PBLN = ((PELN >> 0x14) - One)
1501 If (PM1L)
1502 {
1503 CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C0LN) // _LEN: Length
1504 C0LN = Zero
1505 }
1506
1507 If ((PM1L == One))
1508 {
1509 CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C0RW) // _RW_: Read-Write Status
1510 C0RW = Zero
1511 }
1512
1513 If (PM1H)
1514 {
1515 CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C4LN) // _LEN: Length
1516 C4LN = Zero
1517 }
1518
1519 If ((PM1H == One))
1520 {
1521 CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C4RW) // _RW_: Read-Write Status
1522 C4RW = Zero
1523 }
1524
1525 If (PM2L)
1526 {
1527 CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, C8LN) // _LEN: Length
1528 C8LN = Zero
1529 }
1530
1531 If ((PM2L == One))
1532 {
1533 CreateBitField (BUF0, \_SB.PCI0._Y03._RW, C8RW) // _RW_: Read-Write Status
1534 C8RW = Zero
1535 }
1536
1537 If (PM2H)
1538 {
1539 CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, CCLN) // _LEN: Length
1540 CCLN = Zero
1541 }
1542
1543 If ((PM2H == One))
1544 {
1545 CreateBitField (BUF0, \_SB.PCI0._Y04._RW, CCRW) // _RW_: Read-Write Status
1546 CCRW = Zero
1547 }
1548
1549 If (PM3L)
1550 {
1551 CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D0LN) // _LEN: Length
1552 D0LN = Zero
1553 }
1554
1555 If ((PM3L == One))
1556 {
1557 CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D0RW) // _RW_: Read-Write Status
1558 D0RW = Zero
1559 }
1560
1561 If (PM3H)
1562 {
1563 CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D4LN) // _LEN: Length
1564 D4LN = Zero
1565 }
1566
1567 If ((PM3H == One))
1568 {
1569 CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D4RW) // _RW_: Read-Write Status
1570 D4RW = Zero
1571 }
1572
1573 If (PM4L)
1574 {
1575 CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, D8LN) // _LEN: Length
1576 D8LN = Zero
1577 }
1578
1579 If ((PM4L == One))
1580 {
1581 CreateBitField (BUF0, \_SB.PCI0._Y07._RW, D8RW) // _RW_: Read-Write Status
1582 D8RW = Zero
1583 }
1584
1585 If (PM4H)
1586 {
1587 CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, DCLN) // _LEN: Length
1588 DCLN = Zero
1589 }
1590
1591 If ((PM4H == One))
1592 {
1593 CreateBitField (BUF0, \_SB.PCI0._Y08._RW, DCRW) // _RW_: Read-Write Status
1594 DCRW = Zero
1595 }
1596
1597 If (PM5L)
1598 {
1599 CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E0LN) // _LEN: Length
1600 E0LN = Zero
1601 }
1602
1603 If ((PM5L == One))
1604 {
1605 CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E0RW) // _RW_: Read-Write Status
1606 E0RW = Zero
1607 }
1608
1609 If (PM5H)
1610 {
1611 CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E4LN) // _LEN: Length
1612 E4LN = Zero
1613 }
1614
1615 If ((PM5H == One))
1616 {
1617 CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E4RW) // _RW_: Read-Write Status
1618 E4RW = Zero
1619 }
1620
1621 If (PM6L)
1622 {
1623 CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, E8LN) // _LEN: Length
1624 E8LN = Zero
1625 }
1626
1627 If ((PM6L == One))
1628 {
1629 CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, E8RW) // _RW_: Read-Write Status
1630 E8RW = Zero
1631 }
1632
1633 If (PM6H)
1634 {
1635 CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, ECLN) // _LEN: Length
1636 ECLN = Zero
1637 }
1638
1639 If ((PM6H == One))
1640 {
1641 CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW) // _RW_: Read-Write Status
1642 ECRW = Zero
1643 }
1644
1645 If (PM0H)
1646 {
1647 CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN) // _LEN: Length
1648 F0LN = Zero
1649 }
1650
1651 If ((PM0H == One))
1652 {
1653 CreateBitField (BUF0, \_SB.PCI0._Y0D._RW, F0RW) // _RW_: Read-Write Status
1654 F0RW = Zero
1655 }
1656
1657 CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M1MN) // _MIN: Minimum Base Address
1658 CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M1MX) // _MAX: Maximum Base Address
1659 CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M1LN) // _LEN: Length
1660 M1MN = (TLUD << 0x14)
1661 M1LN = ((M1MX - M1MN) + One)
1662 If (((MM64 == Zero) || (OSYS <= 0x07D3)))
1663 {
1664 CreateDWordField (BUF0, \_SB.PCI0._Y0F._LEN, MSLN) // _LEN: Length
1665 MSLN = Zero
1666 }
1667 Else
1668 {
1669 CreateQWordField (BUF0, \_SB.PCI0._Y0F._LEN, M2LN) // _LEN: Length
1670 CreateQWordField (BUF0, \_SB.PCI0._Y0F._MIN, M2MN) // _MIN: Minimum Base Address
1671 CreateQWordField (BUF0, \_SB.PCI0._Y0F._MAX, M2MX) // _MAX: Maximum Base Address
1672 M2LN = 0x00000000
1673 If ((TUUD >= 0x1000))
1674 {
1675 M2MN = (TUUD << 0x14)
1676 }
1677 Else
1678 {
1679 M2MN = 0x00000000
1680 }
1681
1682 M2MX = ((M2MN + M2LN) - One)
1683 }
1684
1685 Return (BUF0) /* \_SB_.PCI0.BUF0 */
1686 }
1687
1688 Name (GUID, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)
1689 Name (SUPP, Zero)
1690 Name (CTRL, Zero)
1691 Name (XCNT, Zero)
1692 Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities
1693 {
1694 Local0 = Arg3
1695 CreateDWordField (Local0, Zero, CDW1)
1696 CreateDWordField (Local0, 0x04, CDW2)
1697 CreateDWordField (Local0, 0x08, CDW3)
1698 If (^XHC.CUID (Arg0))
1699 {
1700 Return (^XHC.POSC (Arg1, Arg2, Arg3))
1701 }
1702 Else
1703 {
1704 If (_OSI ("Windows 2012"))
1705 {
1706 If ((XCNT == Zero))
1707 {
1708 ^XHC.XSEL ()
1709 XCNT++
1710 }
1711 }
1712 }
1713
1714 If (((Arg0 == GUID) && NEXP))
1715 {
1716 SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
1717 CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
1718 If (~(CDW1 & One))
1719 {
1720 If ((CTRL & One))
1721 {
1722 NHPG ()
1723 }
1724
1725 If ((CTRL & 0x04))
1726 {
1727 NPME ()
1728 }
1729 }
1730
1731 If ((Arg1 != One))
1732 {
1733 CDW1 |= 0x08
1734 }
1735
1736 If ((CDW3 != CTRL))
1737 {
1738 CDW1 |= 0x10
1739 }
1740
1741 CDW3 = CTRL /* \_SB_.PCI0.CTRL */
1742 OSCC = CTRL /* \_SB_.PCI0.CTRL */
1743 Return (Local0)
1744 }
1745 Else
1746 {
1747 CDW1 |= 0x04
1748 Return (Local0)
1749 }
1750 }
1751
1752 Device (P0P1)
1753 {
1754 Name (_ADR, 0x001E0000) // _ADR: Address
1755 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
1756 {
1757 If (PMEE)
1758 {
1759 Return (Package (0x02)
1760 {
1761 0x0B,
1762 0x04
1763 })
1764 }
1765 Else
1766 {
1767 Return (Package (0x02)
1768 {
1769 0x0B,
1770 Zero
1771 })
1772 }
1773 }
1774
1775 Name (PR04, Package (0x0C)
1776 {
1777 Package (0x04)
1778 {
1779 0xFFFF,
1780 Zero,
1781 LNKF,
1782 Zero
1783 },
1784
1785 Package (0x04)
1786 {
1787 0xFFFF,
1788 One,
1789 LNKG,
1790 Zero
1791 },
1792
1793 Package (0x04)
1794 {
1795 0xFFFF,
1796 0x02,
1797 LNKH,
1798 Zero
1799 },
1800
1801 Package (0x04)
1802 {
1803 0xFFFF,
1804 0x03,
1805 LNKE,
1806 Zero
1807 },
1808
1809 Package (0x04)
1810 {
1811 0x0001FFFF,
1812 Zero,
1813 LNKG,
1814 Zero
1815 },
1816
1817 Package (0x04)
1818 {
1819 0x0001FFFF,
1820 One,
1821 LNKF,
1822 Zero
1823 },
1824
1825 Package (0x04)
1826 {
1827 0x0001FFFF,
1828 0x02,
1829 LNKE,
1830 Zero
1831 },
1832
1833 Package (0x04)
1834 {
1835 0x0001FFFF,
1836 0x03,
1837 LNKH,
1838 Zero
1839 },
1840
1841 Package (0x04)
1842 {
1843 0x0005FFFF,
1844 Zero,
1845 LNKC,
1846 Zero
1847 },
1848
1849 Package (0x04)
1850 {
1851 0x0005FFFF,
1852 One,
1853 LNKE,
1854 Zero
1855 },
1856
1857 Package (0x04)
1858 {
1859 0x0005FFFF,
1860 0x02,
1861 LNKG,
1862 Zero
1863 },
1864
1865 Package (0x04)
1866 {
1867 0x0005FFFF,
1868 0x03,
1869 LNKF,
1870 Zero
1871 }
1872 })
1873 Name (AR04, Package (0x0C)
1874 {
1875 Package (0x04)
1876 {
1877 0xFFFF,
1878 Zero,
1879 Zero,
1880 0x15
1881 },
1882
1883 Package (0x04)
1884 {
1885 0xFFFF,
1886 One,
1887 Zero,
1888 0x16
1889 },
1890
1891 Package (0x04)
1892 {
1893 0xFFFF,
1894 0x02,
1895 Zero,
1896 0x17
1897 },
1898
1899 Package (0x04)
1900 {
1901 0xFFFF,
1902 0x03,
1903 Zero,
1904 0x14
1905 },
1906
1907 Package (0x04)
1908 {
1909 0x0001FFFF,
1910 Zero,
1911 Zero,
1912 0x16
1913 },
1914
1915 Package (0x04)
1916 {
1917 0x0001FFFF,
1918 One,
1919 Zero,
1920 0x15
1921 },
1922
1923 Package (0x04)
1924 {
1925 0x0001FFFF,
1926 0x02,
1927 Zero,
1928 0x14
1929 },
1930
1931 Package (0x04)
1932 {
1933 0x0001FFFF,
1934 0x03,
1935 Zero,
1936 0x17
1937 },
1938
1939 Package (0x04)
1940 {
1941 0x0005FFFF,
1942 Zero,
1943 Zero,
1944 0x12
1945 },
1946
1947 Package (0x04)
1948 {
1949 0x0005FFFF,
1950 One,
1951 Zero,
1952 0x14
1953 },
1954
1955 Package (0x04)
1956 {
1957 0x0005FFFF,
1958 0x02,
1959 Zero,
1960 0x16
1961 },
1962
1963 Package (0x04)
1964 {
1965 0x0005FFFF,
1966 0x03,
1967 Zero,
1968 0x15
1969 }
1970 })
1971 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
1972 {
1973 If (PICM)
1974 {
1975 Return (AR04) /* \_SB_.PCI0.P0P1.AR04 */
1976 }
1977
1978 Return (PR04) /* \_SB_.PCI0.P0P1.PR04 */
1979 }
1980 }
1981
1982 Device (LPCB)
1983 {
1984 Name (_ADR, 0x001F0000) // _ADR: Address
1985 Scope (\_SB)
1986 {
1987 OperationRegion (PCI0.LPCB.LPC1, PCI_Config, 0x40, 0xC0)
1988 Field (PCI0.LPCB.LPC1, AnyAcc, NoLock, Preserve)
1989 {
1990 Offset (0x20),
1991 PARC, 8,
1992 PBRC, 8,
1993 PCRC, 8,
1994 PDRC, 8,
1995 Offset (0x28),
1996 PERC, 8,
1997 PFRC, 8,
1998 PGRC, 8,
1999 PHRC, 8,
2000 Offset (0x6C),
2001 Offset (0x6D),
2002 Offset (0x6E),
2003 XUSB, 1
2004 }
2005
2006 Device (LNKA)
2007 {
2008 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2009 Name (_UID, One) // _UID: Unique ID
2010 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2011 {
2012 PARC |= 0x80
2013 }
2014
2015 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2016 {
2017 Return (PRSA) /* \_SB_.PRSA */
2018 }
2019
2020 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2021 {
2022 Name (RTLA, ResourceTemplate ()
2023 {
2024 IRQ (Level, ActiveLow, Shared, )
2025 {}
2026 })
2027 CreateWordField (RTLA, One, IRQ0)
2028 IRQ0 = Zero
2029 IRQ0 = (One << (PARC & 0x0F))
2030 Return (RTLA) /* \_SB_.LNKA._CRS.RTLA */
2031 }
2032
2033 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2034 {
2035 CreateWordField (Arg0, One, IRQ0)
2036 FindSetRightBit (IRQ0, Local0)
2037 Local0--
2038 PARC = Local0
2039 }
2040
2041 Method (_STA, 0, Serialized) // _STA: Status
2042 {
2043 If ((PARC & 0x80))
2044 {
2045 Return (0x09)
2046 }
2047 Else
2048 {
2049 Return (0x0B)
2050 }
2051 }
2052 }
2053
2054 Device (LNKB)
2055 {
2056 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2057 Name (_UID, 0x02) // _UID: Unique ID
2058 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2059 {
2060 PBRC |= 0x80
2061 }
2062
2063 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2064 {
2065 Return (PRSB) /* \_SB_.PRSB */
2066 }
2067
2068 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2069 {
2070 Name (RTLB, ResourceTemplate ()
2071 {
2072 IRQ (Level, ActiveLow, Shared, )
2073 {}
2074 })
2075 CreateWordField (RTLB, One, IRQ0)
2076 IRQ0 = Zero
2077 IRQ0 = (One << (PBRC & 0x0F))
2078 Return (RTLB) /* \_SB_.LNKB._CRS.RTLB */
2079 }
2080
2081 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2082 {
2083 CreateWordField (Arg0, One, IRQ0)
2084 FindSetRightBit (IRQ0, Local0)
2085 Local0--
2086 PBRC = Local0
2087 }
2088
2089 Method (_STA, 0, Serialized) // _STA: Status
2090 {
2091 If ((PBRC & 0x80))
2092 {
2093 Return (0x09)
2094 }
2095 Else
2096 {
2097 Return (0x0B)
2098 }
2099 }
2100 }
2101
2102 Device (LNKC)
2103 {
2104 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2105 Name (_UID, 0x03) // _UID: Unique ID
2106 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2107 {
2108 PCRC |= 0x80
2109 }
2110
2111 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2112 {
2113 Return (PRSC) /* \_SB_.PRSC */
2114 }
2115
2116 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2117 {
2118 Name (RTLC, ResourceTemplate ()
2119 {
2120 IRQ (Level, ActiveLow, Shared, )
2121 {}
2122 })
2123 CreateWordField (RTLC, One, IRQ0)
2124 IRQ0 = Zero
2125 IRQ0 = (One << (PCRC & 0x0F))
2126 Return (RTLC) /* \_SB_.LNKC._CRS.RTLC */
2127 }
2128
2129 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2130 {
2131 CreateWordField (Arg0, One, IRQ0)
2132 FindSetRightBit (IRQ0, Local0)
2133 Local0--
2134 PCRC = Local0
2135 }
2136
2137 Method (_STA, 0, Serialized) // _STA: Status
2138 {
2139 If ((PCRC & 0x80))
2140 {
2141 Return (0x09)
2142 }
2143 Else
2144 {
2145 Return (0x0B)
2146 }
2147 }
2148 }
2149
2150 Device (LNKD)
2151 {
2152 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2153 Name (_UID, 0x04) // _UID: Unique ID
2154 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2155 {
2156 PDRC |= 0x80
2157 }
2158
2159 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2160 {
2161 Return (PRSD) /* \_SB_.PRSD */
2162 }
2163
2164 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2165 {
2166 Name (RTLD, ResourceTemplate ()
2167 {
2168 IRQ (Level, ActiveLow, Shared, )
2169 {}
2170 })
2171 CreateWordField (RTLD, One, IRQ0)
2172 IRQ0 = Zero
2173 IRQ0 = (One << (PDRC & 0x0F))
2174 Return (RTLD) /* \_SB_.LNKD._CRS.RTLD */
2175 }
2176
2177 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2178 {
2179 CreateWordField (Arg0, One, IRQ0)
2180 FindSetRightBit (IRQ0, Local0)
2181 Local0--
2182 PDRC = Local0
2183 }
2184
2185 Method (_STA, 0, Serialized) // _STA: Status
2186 {
2187 If ((PDRC & 0x80))
2188 {
2189 Return (0x09)
2190 }
2191 Else
2192 {
2193 Return (0x0B)
2194 }
2195 }
2196 }
2197
2198 Device (LNKE)
2199 {
2200 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2201 Name (_UID, 0x05) // _UID: Unique ID
2202 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2203 {
2204 PERC |= 0x80
2205 }
2206
2207 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2208 {
2209 Return (PRSE) /* \_SB_.PRSE */
2210 }
2211
2212 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2213 {
2214 Name (RTLE, ResourceTemplate ()
2215 {
2216 IRQ (Level, ActiveLow, Shared, )
2217 {}
2218 })
2219 CreateWordField (RTLE, One, IRQ0)
2220 IRQ0 = Zero
2221 IRQ0 = (One << (PERC & 0x0F))
2222 Return (RTLE) /* \_SB_.LNKE._CRS.RTLE */
2223 }
2224
2225 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2226 {
2227 CreateWordField (Arg0, One, IRQ0)
2228 FindSetRightBit (IRQ0, Local0)
2229 Local0--
2230 PERC = Local0
2231 }
2232
2233 Method (_STA, 0, Serialized) // _STA: Status
2234 {
2235 If ((PERC & 0x80))
2236 {
2237 Return (0x09)
2238 }
2239 Else
2240 {
2241 Return (0x0B)
2242 }
2243 }
2244 }
2245
2246 Device (LNKF)
2247 {
2248 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2249 Name (_UID, 0x06) // _UID: Unique ID
2250 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2251 {
2252 PFRC |= 0x80
2253 }
2254
2255 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2256 {
2257 Return (PRSF) /* \_SB_.PRSF */
2258 }
2259
2260 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2261 {
2262 Name (RTLF, ResourceTemplate ()
2263 {
2264 IRQ (Level, ActiveLow, Shared, )
2265 {}
2266 })
2267 CreateWordField (RTLF, One, IRQ0)
2268 IRQ0 = Zero
2269 IRQ0 = (One << (PFRC & 0x0F))
2270 Return (RTLF) /* \_SB_.LNKF._CRS.RTLF */
2271 }
2272
2273 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2274 {
2275 CreateWordField (Arg0, One, IRQ0)
2276 FindSetRightBit (IRQ0, Local0)
2277 Local0--
2278 PFRC = Local0
2279 }
2280
2281 Method (_STA, 0, Serialized) // _STA: Status
2282 {
2283 If ((PFRC & 0x80))
2284 {
2285 Return (0x09)
2286 }
2287 Else
2288 {
2289 Return (0x0B)
2290 }
2291 }
2292 }
2293
2294 Device (LNKG)
2295 {
2296 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2297 Name (_UID, 0x07) // _UID: Unique ID
2298 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2299 {
2300 PGRC |= 0x80
2301 }
2302
2303 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2304 {
2305 Return (PRSG) /* \_SB_.PRSG */
2306 }
2307
2308 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2309 {
2310 Name (RTLG, ResourceTemplate ()
2311 {
2312 IRQ (Level, ActiveLow, Shared, )
2313 {}
2314 })
2315 CreateWordField (RTLG, One, IRQ0)
2316 IRQ0 = Zero
2317 IRQ0 = (One << (PGRC & 0x0F))
2318 Return (RTLG) /* \_SB_.LNKG._CRS.RTLG */
2319 }
2320
2321 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2322 {
2323 CreateWordField (Arg0, One, IRQ0)
2324 FindSetRightBit (IRQ0, Local0)
2325 Local0--
2326 PGRC = Local0
2327 }
2328
2329 Method (_STA, 0, Serialized) // _STA: Status
2330 {
2331 If ((PGRC & 0x80))
2332 {
2333 Return (0x09)
2334 }
2335 Else
2336 {
2337 Return (0x0B)
2338 }
2339 }
2340 }
2341
2342 Device (LNKH)
2343 {
2344 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2345 Name (_UID, 0x08) // _UID: Unique ID
2346 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2347 {
2348 PHRC |= 0x80
2349 }
2350
2351 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2352 {
2353 Return (PRSH) /* \_SB_.PRSH */
2354 }
2355
2356 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2357 {
2358 Name (RTLH, ResourceTemplate ()
2359 {
2360 IRQ (Level, ActiveLow, Shared, )
2361 {}
2362 })
2363 CreateWordField (RTLH, One, IRQ0)
2364 IRQ0 = Zero
2365 IRQ0 = (One << (PHRC & 0x0F))
2366 Return (RTLH) /* \_SB_.LNKH._CRS.RTLH */
2367 }
2368
2369 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2370 {
2371 CreateWordField (Arg0, One, IRQ0)
2372 FindSetRightBit (IRQ0, Local0)
2373 Local0--
2374 PHRC = Local0
2375 }
2376
2377 Method (_STA, 0, Serialized) // _STA: Status
2378 {
2379 If ((PHRC & 0x80))
2380 {
2381 Return (0x09)
2382 }
2383 Else
2384 {
2385 Return (0x0B)
2386 }
2387 }
2388 }
2389 }
2390
2391 OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
2392 Field (LPC0, AnyAcc, NoLock, Preserve)
2393 {
2394 Offset (0x40),
2395 IOD0, 8,
2396 IOD1, 8,
2397 Offset (0xB0),
2398 RAEN, 1,
2399 , 13,
2400 RCBA, 18
2401 }
2402
2403 Device (DMAC)
2404 {
2405 Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */) // _HID: Hardware ID
2406 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2407 {
2408 IO (Decode16,
2409 0x0000, // Range Minimum
2410 0x0000, // Range Maximum
2411 0x01, // Alignment
2412 0x20, // Length
2413 )
2414 IO (Decode16,
2415 0x0081, // Range Minimum
2416 0x0081, // Range Maximum
2417 0x01, // Alignment
2418 0x11, // Length
2419 )
2420 IO (Decode16,
2421 0x0093, // Range Minimum
2422 0x0093, // Range Maximum
2423 0x01, // Alignment
2424 0x0D, // Length
2425 )
2426 IO (Decode16,
2427 0x00C0, // Range Minimum
2428 0x00C0, // Range Maximum
2429 0x01, // Alignment
2430 0x20, // Length
2431 )
2432 DMA (Compatibility, NotBusMaster, Transfer8_16, )
2433 {4}
2434 })
2435 }
2436
2437 Device (FWHD)
2438 {
2439 Name (_HID, EisaId ("INT0800") /* Intel 82802 Firmware Hub Device */) // _HID: Hardware ID
2440 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2441 {
2442 Memory32Fixed (ReadOnly,
2443 0xFF010000, // Address Base
2444 0x00FF0000, // Address Length
2445 )
2446 })
2447 }
2448
2449 Device (HPET)
2450 {
2451 Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID
2452 Name (_UID, Zero) // _UID: Unique ID
2453 Name (BUF0, ResourceTemplate ()
2454 {
2455 Memory32Fixed (ReadWrite,
2456 0xFED00000, // Address Base
2457 0x00000400, // Address Length
2458 _Y10)
2459 })
2460 Method (_STA, 0, NotSerialized) // _STA: Status
2461 {
2462 If ((OSYS >= 0x07D1))
2463 {
2464 If (HPAE)
2465 {
2466 Return (0x0F)
2467 }
2468 }
2469 Else
2470 {
2471 If (HPAE)
2472 {
2473 Return (0x0B)
2474 }
2475 }
2476
2477 Return (Zero)
2478 }
2479
2480 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2481 {
2482 If (HPAE)
2483 {
2484 CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y10._BAS, HPT0) // _BAS: Base Address
2485 If ((HPAS == One))
2486 {
2487 HPT0 = 0xFED01000
2488 }
2489
2490 If ((HPAS == 0x02))
2491 {
2492 HPT0 = 0xFED02000
2493 }
2494
2495 If ((HPAS == 0x03))
2496 {
2497 HPT0 = 0xFED03000
2498 }
2499 }
2500
2501 Return (BUF0) /* \_SB_.PCI0.LPCB.HPET.BUF0 */
2502 }
2503 }
2504
2505 Device (IPIC)
2506 {
2507 Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID
2508 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2509 {
2510 IO (Decode16,
2511 0x0020, // Range Minimum
2512 0x0020, // Range Maximum
2513 0x01, // Alignment
2514 0x02, // Length
2515 )
2516 IO (Decode16,
2517 0x0024, // Range Minimum
2518 0x0024, // Range Maximum
2519 0x01, // Alignment
2520 0x02, // Length
2521 )
2522 IO (Decode16,
2523 0x0028, // Range Minimum
2524 0x0028, // Range Maximum
2525 0x01, // Alignment
2526 0x02, // Length
2527 )
2528 IO (Decode16,
2529 0x002C, // Range Minimum
2530 0x002C, // Range Maximum
2531 0x01, // Alignment
2532 0x02, // Length
2533 )
2534 IO (Decode16,
2535 0x0030, // Range Minimum
2536 0x0030, // Range Maximum
2537 0x01, // Alignment
2538 0x02, // Length
2539 )
2540 IO (Decode16,
2541 0x0034, // Range Minimum
2542 0x0034, // Range Maximum
2543 0x01, // Alignment
2544 0x02, // Length
2545 )
2546 IO (Decode16,
2547 0x0038, // Range Minimum
2548 0x0038, // Range Maximum
2549 0x01, // Alignment
2550 0x02, // Length
2551 )
2552 IO (Decode16,
2553 0x003C, // Range Minimum
2554 0x003C, // Range Maximum
2555 0x01, // Alignment
2556 0x02, // Length
2557 )
2558 IO (Decode16,
2559 0x00A0, // Range Minimum
2560 0x00A0, // Range Maximum
2561 0x01, // Alignment
2562 0x02, // Length
2563 )
2564 IO (Decode16,
2565 0x00A4, // Range Minimum
2566 0x00A4, // Range Maximum
2567 0x01, // Alignment
2568 0x02, // Length
2569 )
2570 IO (Decode16,
2571 0x00A8, // Range Minimum
2572 0x00A8, // Range Maximum
2573 0x01, // Alignment
2574 0x02, // Length
2575 )
2576 IO (Decode16,
2577 0x00AC, // Range Minimum
2578 0x00AC, // Range Maximum
2579 0x01, // Alignment
2580 0x02, // Length
2581 )
2582 IO (Decode16,
2583 0x00B0, // Range Minimum
2584 0x00B0, // Range Maximum
2585 0x01, // Alignment
2586 0x02, // Length
2587 )
2588 IO (Decode16,
2589 0x00B4, // Range Minimum
2590 0x00B4, // Range Maximum
2591 0x01, // Alignment
2592 0x02, // Length
2593 )
2594 IO (Decode16,
2595 0x00B8, // Range Minimum
2596 0x00B8, // Range Maximum
2597 0x01, // Alignment
2598 0x02, // Length
2599 )
2600 IO (Decode16,
2601 0x00BC, // Range Minimum
2602 0x00BC, // Range Maximum
2603 0x01, // Alignment
2604 0x02, // Length
2605 )
2606 IO (Decode16,
2607 0x04D0, // Range Minimum
2608 0x04D0, // Range Maximum
2609 0x01, // Alignment
2610 0x02, // Length
2611 )
2612 IRQNoFlags ()
2613 {2}
2614 })
2615 }
2616
2617 Device (MATH)
2618 {
2619 Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */) // _HID: Hardware ID
2620 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2621 {
2622 IO (Decode16,
2623 0x00F0, // Range Minimum
2624 0x00F0, // Range Maximum
2625 0x01, // Alignment
2626 0x01, // Length
2627 )
2628 IRQNoFlags ()
2629 {13}
2630 })
2631 }
2632
2633 Device (LDRC)
2634 {
2635 Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
2636 Name (_UID, 0x02) // _UID: Unique ID
2637 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2638 {
2639 IO (Decode16,
2640 0x002E, // Range Minimum
2641 0x002E, // Range Maximum
2642 0x01, // Alignment
2643 0x02, // Length
2644 )
2645 IO (Decode16,
2646 0x004E, // Range Minimum
2647 0x004E, // Range Maximum
2648 0x01, // Alignment
2649 0x02, // Length
2650 )
2651 IO (Decode16,
2652 0x0061, // Range Minimum
2653 0x0061, // Range Maximum
2654 0x01, // Alignment
2655 0x01, // Length
2656 )
2657 IO (Decode16,
2658 0x0063, // Range Minimum
2659 0x0063, // Range Maximum
2660 0x01, // Alignment
2661 0x01, // Length
2662 )
2663 IO (Decode16,
2664 0x0065, // Range Minimum
2665 0x0065, // Range Maximum
2666 0x01, // Alignment
2667 0x01, // Length
2668 )
2669 IO (Decode16,
2670 0x0067, // Range Minimum
2671 0x0067, // Range Maximum
2672 0x01, // Alignment
2673 0x01, // Length
2674 )
2675 IO (Decode16,
2676 0x0070, // Range Minimum
2677 0x0070, // Range Maximum
2678 0x01, // Alignment
2679 0x01, // Length
2680 )
2681 IO (Decode16,
2682 0x0080, // Range Minimum
2683 0x0080, // Range Maximum
2684 0x01, // Alignment
2685 0x01, // Length
2686 )
2687 IO (Decode16,
2688 0x0092, // Range Minimum
2689 0x0092, // Range Maximum
2690 0x01, // Alignment
2691 0x01, // Length
2692 )
2693 IO (Decode16,
2694 0x00B2, // Range Minimum
2695 0x00B2, // Range Maximum
2696 0x01, // Alignment
2697 0x02, // Length
2698 )
2699 IO (Decode16,
2700 0x0680, // Range Minimum
2701 0x0680, // Range Maximum
2702 0x01, // Alignment
2703 0x20, // Length
2704 )
2705 IO (Decode16,
2706 0x1000, // Range Minimum
2707 0x1000, // Range Maximum
2708 0x01, // Alignment
2709 0x10, // Length
2710 )
2711 IO (Decode16,
2712 0xFFFF, // Range Minimum
2713 0xFFFF, // Range Maximum
2714 0x01, // Alignment
2715 0x01, // Length
2716 )
2717 IO (Decode16,
2718 0xFFFF, // Range Minimum
2719 0xFFFF, // Range Maximum
2720 0x01, // Alignment
2721 0x01, // Length
2722 )
2723 IO (Decode16,
2724 0x0400, // Range Minimum
2725 0x0400, // Range Maximum
2726 0x01, // Alignment
2727 0x54, // Length
2728 )
2729 IO (Decode16,
2730 0x0458, // Range Minimum
2731 0x0458, // Range Maximum
2732 0x01, // Alignment
2733 0x28, // Length
2734 )
2735 IO (Decode16,
2736 0x0500, // Range Minimum
2737 0x0500, // Range Maximum
2738 0x01, // Alignment
2739 0x80, // Length
2740 )
2741 IO (Decode16,
2742 0x164E, // Range Minimum
2743 0x164E, // Range Maximum
2744 0x01, // Alignment
2745 0x02, // Length
2746 )
2747 IO (Decode16,
2748 0xFD60, // Range Minimum
2749 0xFD60, // Range Maximum
2750 0x01, // Alignment
2751 0x04, // Length
2752 )
2753 })
2754 }
2755
2756 Device (RTC)
2757 {
2758 Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID
2759 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2760 {
2761 IO (Decode16,
2762 0x0070, // Range Minimum
2763 0x0070, // Range Maximum
2764 0x01, // Alignment
2765 0x08, // Length
2766 )
2767 IRQNoFlags ()
2768 {8}
2769 })
2770 }
2771
2772 Device (TIMR)
2773 {
2774 Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */) // _HID: Hardware ID
2775 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2776 {
2777 IO (Decode16,
2778 0x0040, // Range Minimum
2779 0x0040, // Range Maximum
2780 0x01, // Alignment
2781 0x04, // Length
2782 )
2783 IO (Decode16,
2784 0x0050, // Range Minimum
2785 0x0050, // Range Maximum
2786 0x10, // Alignment
2787 0x04, // Length
2788 )
2789 IRQNoFlags ()
2790 {0}
2791 })
2792 }
2793
2794 Device (CWDT)
2795 {
2796 Name (_HID, EisaId ("INT3F0D") /* ACPI Motherboard Resources */) // _HID: Hardware ID
2797 Name (_CID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _CID: Compatible ID
2798 Name (BUF0, ResourceTemplate ()
2799 {
2800 IO (Decode16,
2801 0x0454, // Range Minimum
2802 0x0454, // Range Maximum
2803 0x04, // Alignment
2804 0x04, // Length
2805 )
2806 })
2807 Method (_STA, 0, Serialized) // _STA: Status
2808 {
2809 If ((WDTE == One))
2810 {
2811 Return (0x0F)
2812 }
2813 Else
2814 {
2815 Return (Zero)
2816 }
2817 }
2818
2819 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2820 {
2821 Return (BUF0) /* \_SB_.PCI0.LPCB.CWDT.BUF0 */
2822 }
2823 }
2824
2825 Device (PWRB)
2826 {
2827 Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID
2828 }
2829
2830 Device (SLPB)
2831 {
2832 Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */) // _HID: Hardware ID
2833 }
2834
2835 OperationRegion (PKBS, SystemIO, 0x60, 0x05)
2836 Field (PKBS, ByteAcc, Lock, Preserve)
2837 {
2838 PKBD, 8,
2839 Offset (0x02),
2840 Offset (0x03),
2841 Offset (0x04),
2842 PKBC, 8
2843 }
2844
2845 Device (PS2K)
2846 {
2847 Method (_HID, 0, Serialized) // _HID: Hardware ID
2848 {
2849 Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
2850 If ((OSYS == 0x07DC))
2851 {
2852 While (One)
2853 {
2854 _T_0 = KBID /* \KBID */
2855 If ((_T_0 == Zero))
2856 {
2857 Return ("IDEA0100")
2858 }
2859 Else
2860 {
2861 If ((_T_0 == One))
2862 {
2863 Return ("IDEA0102")
2864 }
2865 Else
2866 {
2867 If ((_T_0 == 0x02))
2868 {
2869 Return ("IDEA0101")
2870 }
2871 Else
2872 {
2873 If ((_T_0 == 0x03))
2874 {
2875 Return ("IDEA0103")
2876 }
2877 Else
2878 {
2879 Return (0x01006636)
2880 }
2881 }
2882 }
2883 }
2884
2885 Break
2886 }
2887 }
2888 Else
2889 {
2890 Return (0x0303D041)
2891 }
2892 }
2893
2894 Name (_CID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _CID: Compatible ID
2895 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2896 {
2897 IO (Decode16,
2898 0x0060, // Range Minimum
2899 0x0060, // Range Maximum
2900 0x01, // Alignment
2901 0x01, // Length
2902 )
2903 IO (Decode16,
2904 0x0064, // Range Minimum
2905 0x0064, // Range Maximum
2906 0x01, // Alignment
2907 0x01, // Length
2908 )
2909 IRQ (Edge, ActiveHigh, Exclusive, )
2910 {1}
2911 })
2912 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
2913 {
2914 StartDependentFn (0x00, 0x00)
2915 {
2916 FixedIO (
2917 0x0060, // Address
2918 0x01, // Length
2919 )
2920 FixedIO (
2921 0x0064, // Address
2922 0x01, // Length
2923 )
2924 IRQNoFlags ()
2925 {1}
2926 }
2927 EndDependentFn ()
2928 })
2929 }
2930
2931 Device (MSS0)
2932 {
2933 Name (_HID, EisaId ("SYN073B")) // _HID: Hardware ID
2934 Name (_CID, Package (0x03) // _CID: Compatible ID
2935 {
2936 EisaId ("SYN0700"),
2937 EisaId ("SYN0002"),
2938 EisaId ("PNP0F13") /* PS/2 Mouse */
2939 })
2940 Method (_STA, 0, NotSerialized) // _STA: Status
2941 {
2942 If ((TPDF == 0x04))
2943 {
2944 Return (0x0F)
2945 }
2946
2947 Return (Zero)
2948 }
2949
2950 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2951 {
2952 IRQ (Edge, ActiveHigh, Exclusive, )
2953 {12}
2954 })
2955 }
2956
2957 Device (MSS1)
2958 {
2959 Name (_HID, EisaId ("SYN0741")) // _HID: Hardware ID
2960 Name (_CID, Package (0x03) // _CID: Compatible ID
2961 {
2962 EisaId ("SYN0700"),
2963 EisaId ("SYN0002"),
2964 EisaId ("PNP0F13") /* PS/2 Mouse */
2965 })
2966 Method (_STA, 0, NotSerialized) // _STA: Status
2967 {
2968 If ((TPDF == 0x05))
2969 {
2970 Return (0x0F)
2971 }
2972
2973 Return (Zero)
2974 }
2975
2976 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2977 {
2978 IRQ (Edge, ActiveHigh, Exclusive, )
2979 {12}
2980 })
2981 }
2982
2983 Device (MSS3)
2984 {
2985 Name (_HID, EisaId ("SYN0742")) // _HID: Hardware ID
2986 Name (_CID, Package (0x03) // _CID: Compatible ID
2987 {
2988 EisaId ("SYN0700"),
2989 EisaId ("SYN0002"),
2990 EisaId ("PNP0F13") /* PS/2 Mouse */
2991 })
2992 Method (_STA, 0, NotSerialized) // _STA: Status
2993 {
2994 If ((TPDF == 0x06))
2995 {
2996 Return (0x0F)
2997 }
2998
2999 Return (Zero)
3000 }
3001
3002 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3003 {
3004 IRQ (Edge, ActiveHigh, Exclusive, )
3005 {12}
3006 })
3007 }
3008
3009 Device (MSS4)
3010 {
3011 Name (_HID, EisaId ("ETD0613")) // _HID: Hardware ID
3012 Name (_CID, Package (0x02) // _CID: Compatible ID
3013 {
3014 EisaId ("ETD0001"),
3015 EisaId ("PNP0F13") /* PS/2 Mouse */
3016 })
3017 Method (_STA, 0, NotSerialized) // _STA: Status
3018 {
3019 If ((TPDF == 0x08))
3020 {
3021 Return (0x0F)
3022 }
3023
3024 Return (Zero)
3025 }
3026
3027 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3028 {
3029 IRQ (Edge, ActiveHigh, Exclusive, )
3030 {12}
3031 })
3032 }
3033
3034 Device (MSS5)
3035 {
3036 Name (_HID, EisaId ("ETD0612")) // _HID: Hardware ID
3037 Name (_CID, Package (0x02) // _CID: Compatible ID
3038 {
3039 EisaId ("ETD0001"),
3040 EisaId ("PNP0F13") /* PS/2 Mouse */
3041 })
3042 Method (_STA, 0, NotSerialized) // _STA: Status
3043 {
3044 If ((TPDF == 0x09))
3045 {
3046 Return (0x0F)
3047 }
3048
3049 Return (Zero)
3050 }
3051
3052 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3053 {
3054 IRQ (Edge, ActiveHigh, Exclusive, )
3055 {12}
3056 })
3057 }
3058
3059 Device (MSS6)
3060 {
3061 Name (_HID, EisaId ("CYS8787")) // _HID: Hardware ID
3062 Name (_CID, Package (0x05) // _CID: Compatible ID
3063 {
3064 EisaId ("PNP0F13") /* PS/2 Mouse */,
3065 EisaId ("PNP0F03") /* Microsoft PS/2-style Mouse */,
3066 EisaId ("PNP0F0E"),
3067 EisaId ("PNP0F0B"),
3068 EisaId ("PNP0F12")
3069 })
3070 Method (_STA, 0, NotSerialized) // _STA: Status
3071 {
3072 If ((TPDF == 0x0C))
3073 {
3074 Return (0x0F)
3075 }
3076
3077 Return (Zero)
3078 }
3079
3080 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3081 {
3082 IRQ (Edge, ActiveHigh, Exclusive, )
3083 {12}
3084 })
3085 }
3086
3087 Device (MSS2)
3088 {
3089 Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID
3090 Name (_CID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _CID: Compatible ID
3091 Method (_STA, 0, NotSerialized) // _STA: Status
3092 {
3093 If ((TPDF == 0xFF))
3094 {
3095 Return (0x0F)
3096 }
3097
3098 Return (Zero)
3099 }
3100
3101 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3102 {
3103 IRQ (Edge, ActiveHigh, Exclusive, )
3104 {12}
3105 })
3106 }
3107 }
3108 }
3109 }
3110
3111 Mutex (MUTX, 0x00)
3112 OperationRegion (PRT0, SystemIO, 0x80, 0x04)
3113 Field (PRT0, DWordAcc, Lock, Preserve)
3114 {
3115 P80H, 32
3116 }
3117
3118 Method (P8XH, 3, Serialized)
3119 {
3120 If ((Arg0 == Zero))
3121 {
3122 P80D = ((P80D & 0xFFFFFF00) | Arg1)
3123 }
3124
3125 If ((Arg0 == One))
3126 {
3127 P80D = ((P80D & 0xFFFF00FF) | (Arg1 << 0x08))
3128 }
3129
3130 If ((Arg0 == 0x02))
3131 {
3132 P80D = ((P80D & 0xFF00FFFF) | (Arg1 << 0x10))
3133 }
3134
3135 If ((Arg0 == 0x03))
3136 {
3137 P80D = ((P80D & 0x00FFFFFF) | (Arg1 << 0x18))
3138 }
3139
3140 If ((Arg0 == 0x04))
3141 {
3142 P80D = ((P80D & Zero) | Arg1)
3143 }
3144
3145 If ((Arg2 == Zero)) {}
3146 If ((Arg2 == One))
3147 {
3148 P80H = P80D /* \P80D */
3149 }
3150 }
3151
3152 OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
3153 Field (SPRT, ByteAcc, Lock, Preserve)
3154 {
3155 SSMP, 8
3156 }
3157
3158 Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
3159 {
3160 GPIC = Arg0
3161 PICM = Arg0
3162 }
3163
3164 Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep
3165 {
3166 P80D = Zero
3167 P8XH (Zero, Arg0, Zero)
3168 SLPS = Arg0
3169 If ((Arg0 == 0x03))
3170 {
3171 P8XH (0x04, 0x53, Zero)
3172 P8XH (0x04, 0x53, One)
3173 If ((DTSE && (TCNT > One)))
3174 {
3175 TRAP (TRTD, 0x1E)
3176 }
3177
3178 Local0 = \_SB.PCI0.LPCB.EC0.ADPT
3179 If (Local0)
3180 {
3181 \_SB.PCI0.LPCB.EC0.UWAK = One
3182 }
3183 Else
3184 {
3185 \_SB.PCI0.LPCB.EC0.UWAK = Zero
3186 }
3187
3188 \_SB.PCI0.LPCB.EC0.S3ST = One
3189 }
3190
3191 If ((Arg0 == 0x04))
3192 {
3193 P8XH (0x04, 0x54, Zero)
3194 P8XH (0x04, 0x54, One)
3195 \_PR.CPU0._PPC = Zero
3196 \_SB.PCI0.LPCB.EC0.S4ST = One
3197 }
3198
3199 If ((Arg0 == 0x05))
3200 {
3201 P8XH (0x04, 0x55, Zero)
3202 P8XH (0x04, 0x55, One)
3203 \_SB.PCI0.LPCB.EC0.S5ST = One
3204 }
3205
3206 If ((DBGS == Zero)) {}
3207 }
3208
3209 Method (B_ON, 0, NotSerialized)
3210 {
3211 GP34 = Zero
3212 If ((WLFG == Zero))
3213 {
3214 GP22 = Zero
3215 }
3216 Else
3217 {
3218 If ((WLFG == One))
3219 {
3220 GP22 = One
3221 }
3222 Else
3223 {
3224 If ((WLFG == 0x02))
3225 {
3226 GP22 = One
3227 }
3228 Else
3229 {
3230 GP22 = One
3231 }
3232 }
3233 }
3234 }
3235
3236 Method (B_OF, 0, NotSerialized)
3237 {
3238 GP34 = One
3239 If ((WLFG == Zero))
3240 {
3241 GP22 = Zero
3242 }
3243 Else
3244 {
3245 If ((WLFG == One))
3246 {
3247 GP22 = Zero
3248 }
3249 Else
3250 {
3251 If ((WLFG == 0x02))
3252 {
3253 GP22 = One
3254 }
3255 Else
3256 {
3257 GP22 = Zero
3258 }
3259 }
3260 }
3261 }
3262
3263 Method (_WAK, 1, Serialized) // _WAK: Wake
3264 {
3265 P80D = Zero
3266 \_SB.PCI0.LPCB.EC0.SODD = One
3267 If (NEXP)
3268 {
3269 If ((OSCC & 0x02))
3270 {
3271 \_SB.PCI0.NHPG ()
3272 }
3273
3274 If ((OSCC & 0x04))
3275 {
3276 \_SB.PCI0.NPME ()
3277 }
3278 }
3279
3280 If (((\_SB.PCI0.LPCB.EC0.WLEX == One) & (\_SB.PCI0.LPCB.EC0.WLAT == One)))
3281 {
3282 GP55 = One
3283 }
3284 Else
3285 {
3286 GP55 = Zero
3287 }
3288
3289 Sleep (0x01F4)
3290 If (((\_SB.PCI0.LPCB.EC0.BTEX == One) & (\_SB.PCI0.LPCB.EC0.BTAT == One)))
3291 {
3292 B_ON ()
3293 }
3294 Else
3295 {
3296 B_OF ()
3297 }
3298
3299 If ((Arg0 == 0x03))
3300 {
3301 P8XH (0x04, 0xE3, Zero)
3302 P8XH (0x04, 0xE3, One)
3303 SSMP = 0x70
3304 If ((Zero == ACTT)) {}
3305 \_SB.PCI0.LPCB.EC0.S3RM = One
3306 }
3307
3308 If (((Arg0 == 0x03) || (Arg0 == 0x04)))
3309 {
3310 Index (PLVL, Zero) = BL12 /* \BL12 */
3311 Index (PLVL, One) = BL12 /* \BL12 */
3312 If ((DTSE && (TCNT > One)))
3313 {
3314 TRAP (TRTD, 0x14)
3315 }
3316
3317 If ((OSYS == 0x07D2))
3318 {
3319 If ((CFGD & One))
3320 {
3321 If ((\_PR.CPU0._PPC > Zero))
3322 {
3323 \_PR.CPU0._PPC -= One
3324 PNOT ()
3325 \_PR.CPU0._PPC += One
3326 PNOT ()
3327 }
3328 Else
3329 {
3330 \_PR.CPU0._PPC += One
3331 PNOT ()
3332 \_PR.CPU0._PPC -= One
3333 PNOT ()
3334 }
3335 }
3336 }
3337
3338 If ((RP1D == Zero))
3339 {
3340 Notify (\_SB.PCI0.RP01, Zero) // Bus Check
3341 }
3342
3343 If ((RP2D == Zero))
3344 {
3345 Notify (\_SB.PCI0.RP02, Zero) // Bus Check
3346 }
3347
3348 If ((RP3D == Zero))
3349 {
3350 Notify (\_SB.PCI0.RP03, Zero) // Bus Check
3351 }
3352
3353 If ((RP4D == Zero))
3354 {
3355 Notify (\_SB.PCI0.RP04, Zero) // Bus Check
3356 }
3357
3358 If ((RP5D == Zero))
3359 {
3360 Notify (\_SB.PCI0.RP05, Zero) // Bus Check
3361 }
3362
3363 If ((RP6D == Zero))
3364 {
3365 Notify (\_SB.PCI0.RP06, Zero) // Bus Check
3366 }
3367
3368 If ((RP7D == Zero))
3369 {
3370 If ((DSTS == Zero))
3371 {
3372 Notify (\_SB.PCI0.RP07, Zero) // Bus Check
3373 }
3374 }
3375
3376 If ((RP8D == Zero))
3377 {
3378 If ((DSTS == Zero))
3379 {
3380 Notify (\_SB.PCI0.RP08, Zero) // Bus Check
3381 }
3382 }
3383 }
3384
3385 If (((Arg0 == 0x03) || (Arg0 == 0x04)))
3386 {
3387 \_SB.PCI0.XHC.XWAK ()
3388 }
3389
3390 If ((Arg0 == 0x04))
3391 {
3392 P8XH (0x04, 0xE4, Zero)
3393 P8XH (0x04, 0xE4, One)
3394 \_SB.PCI0.LPCB.EC0.S4RM = One
3395 }
3396
3397 If ((Arg0 == 0x05))
3398 {
3399 P8XH (0x04, 0xE5, Zero)
3400 P8XH (0x04, 0xE5, One)
3401 \_SB.PCI0.LPCB.EC0.S5RM = One
3402 }
3403
3404 Return (Package (0x02)
3405 {
3406 Zero,
3407 Zero
3408 })
3409 }
3410
3411 Method (GETB, 3, Serialized)
3412 {
3413 Local0 = (Arg0 * 0x08)
3414 Local1 = (Arg1 * 0x08)
3415 CreateField (Arg2, Local0, Local1, TBF3)
3416 Return (TBF3) /* \GETB.TBF3 */
3417 }
3418
3419 Method (PNOT, 0, Serialized)
3420 {
3421 If ((TCNT > One))
3422 {
3423 If ((PDC0 & 0x08))
3424 {
3425 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3426 If ((PDC0 & 0x10))
3427 {
3428 Sleep (0x64)
3429 Notify (\_PR.CPU0, 0x81) // C-State Change
3430 }
3431 }
3432
3433 If ((PDC1 & 0x08))
3434 {
3435 Notify (\_PR.CPU1, 0x80) // Performance Capability Change
3436 If ((PDC1 & 0x10))
3437 {
3438 Sleep (0x64)
3439 Notify (\_PR.CPU1, 0x81) // C-State Change
3440 }
3441 }
3442
3443 If ((PDC2 & 0x08))
3444 {
3445 Notify (\_PR.CPU2, 0x80) // Performance Capability Change
3446 If ((PDC2 & 0x10))
3447 {
3448 Sleep (0x64)
3449 Notify (\_PR.CPU2, 0x81) // C-State Change
3450 }
3451 }
3452
3453 If ((PDC3 & 0x08))
3454 {
3455 Notify (\_PR.CPU3, 0x80) // Performance Capability Change
3456 If ((PDC3 & 0x10))
3457 {
3458 Sleep (0x64)
3459 Notify (\_PR.CPU3, 0x81) // C-State Change
3460 }
3461 }
3462
3463 If ((PDC4 & 0x08))
3464 {
3465 Notify (\_PR.CPU4, 0x80) // Performance Capability Change
3466 If ((PDC4 & 0x10))
3467 {
3468 Sleep (0x64)
3469 Notify (\_PR.CPU4, 0x81) // C-State Change
3470 }
3471 }
3472
3473 If ((PDC5 & 0x08))
3474 {
3475 Notify (\_PR.CPU5, 0x80) // Performance Capability Change
3476 If ((PDC5 & 0x10))
3477 {
3478 Sleep (0x64)
3479 Notify (\_PR.CPU5, 0x81) // C-State Change
3480 }
3481 }
3482
3483 If ((PDC6 & 0x08))
3484 {
3485 Notify (\_PR.CPU6, 0x80) // Performance Capability Change
3486 If ((PDC6 & 0x10))
3487 {
3488 Sleep (0x64)
3489 Notify (\_PR.CPU6, 0x81) // C-State Change
3490 }
3491 }
3492
3493 If ((PDC7 & 0x08))
3494 {
3495 Notify (\_PR.CPU7, 0x80) // Performance Capability Change
3496 If ((PDC7 & 0x10))
3497 {
3498 Sleep (0x64)
3499 Notify (\_PR.CPU7, 0x81) // C-State Change
3500 }
3501 }
3502 }
3503 Else
3504 {
3505 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3506 Sleep (0x64)
3507 Notify (\_PR.CPU0, 0x81) // C-State Change
3508 }
3509 }
3510
3511 Method (TRAP, 2, Serialized)
3512 {
3513 SMIF = Arg1
3514 If ((Arg0 == TRTP))
3515 {
3516 TRP0 = Zero
3517 }
3518
3519 If ((Arg0 == TRTD))
3520 {
3521 DTSF = Arg1
3522 TRPD = Zero
3523 Return (DTSF) /* \DTSF */
3524 }
3525
3526 If ((Arg0 == TRTI))
3527 {
3528 TRPH = Zero
3529 }
3530
3531 Return (SMIF) /* \SMIF */
3532 }
3533
3534 Name (DGPU, Ones)
3535 Scope (_SB.PCI0)
3536 {
3537 Method (_INI, 0, NotSerialized) // _INI: Initialize
3538 {
3539 OSYS = 0x07D0
3540 If (CondRefOf (\_OSI, Local0))
3541 {
3542 If (_OSI ("Windows 2001"))
3543 {
3544 OSYS = 0x07D1
3545 ^LPCB.EC0.OSTY = Zero
3546 }
3547
3548 If (_OSI ("Windows 2001 SP1"))
3549 {
3550 OSYS = 0x07D1
3551 ^LPCB.EC0.OSTY = Zero
3552 }
3553
3554 If (_OSI ("Windows 2001 SP2"))
3555 {
3556 OSYS = 0x07D2
3557 ^LPCB.EC0.OSTY = Zero
3558 }
3559
3560 If (_OSI ("Windows 2001.1"))
3561 {
3562 OSYS = 0x07D3
3563 }
3564
3565 If (_OSI ("Windows 2006"))
3566 {
3567 OSYS = 0x07D6
3568 ^LPCB.EC0.OSTY = One
3569 }
3570
3571 If (_OSI ("Windows 2009"))
3572 {
3573 OSYS = 0x07D9
3574 ^LPCB.EC0.OSTY = 0x03
3575 }
3576
3577 If (_OSI ("Windows 2012"))
3578 {
3579 OSYS = 0x07DC
3580 ^LPCB.EC0.OSTY = 0x04
3581 }
3582
3583 If (_OSI ("Linux"))
3584 {
3585 OSYS = 0x03E8
3586 ^LPCB.EC0.OSTY = 0x02
3587 }
3588 }
3589
3590 If ((OSYS != 0x07DC))
3591 {
3592 Index (PLVL, Zero) = BL12 /* \BL12 */
3593 Index (PLVL, One) = BL12 /* \BL12 */
3594 Index (PLVL, 0x02) = BL00 /* \BL00 */
3595 Index (PLVL, 0x03) = BL01 /* \BL01 */
3596 Index (PLVL, 0x04) = BL02 /* \BL02 */
3597 Index (PLVL, 0x05) = BL03 /* \BL03 */
3598 Index (PLVL, 0x06) = BL04 /* \BL04 */
3599 Index (PLVL, 0x07) = BL05 /* \BL05 */
3600 Index (PLVL, 0x08) = BL06 /* \BL06 */
3601 Index (PLVL, 0x09) = BL07 /* \BL07 */
3602 Index (PLVL, 0x0A) = BL08 /* \BL08 */
3603 Index (PLVL, 0x0B) = BL09 /* \BL09 */
3604 Index (PLVL, 0x0C) = BL10 /* \BL10 */
3605 Index (PLVL, 0x0D) = BL11 /* \BL11 */
3606 Index (PLVL, 0x0E) = BL12 /* \BL12 */
3607 Index (PLVL, 0x0F) = BL13 /* \BL13 */
3608 Index (PLVL, 0x10) = BL14 /* \BL14 */
3609 Index (PLVL, 0x11) = BL15 /* \BL15 */
3610 Index (^LPCB.EC0.VPC0.TBSL, Zero) = BL00 /* \BL00 */
3611 Index (^LPCB.EC0.VPC0.TBSL, One) = BL01 /* \BL01 */
3612 Index (^LPCB.EC0.VPC0.TBSL, 0x02) = BL02 /* \BL02 */
3613 Index (^LPCB.EC0.VPC0.TBSL, 0x03) = BL03 /* \BL03 */
3614 Index (^LPCB.EC0.VPC0.TBSL, 0x04) = BL04 /* \BL04 */
3615 Index (^LPCB.EC0.VPC0.TBSL, 0x05) = BL05 /* \BL05 */
3616 Index (^LPCB.EC0.VPC0.TBSL, 0x06) = BL06 /* \BL06 */
3617 Index (^LPCB.EC0.VPC0.TBSL, 0x07) = BL07 /* \BL07 */
3618 Index (^LPCB.EC0.VPC0.TBSL, 0x08) = BL08 /* \BL08 */
3619 Index (^LPCB.EC0.VPC0.TBSL, 0x09) = BL09 /* \BL09 */
3620 Index (^LPCB.EC0.VPC0.TBSL, 0x0A) = BL10 /* \BL10 */
3621 Index (^LPCB.EC0.VPC0.TBSL, 0x0B) = BL11 /* \BL11 */
3622 Index (^LPCB.EC0.VPC0.TBSL, 0x0C) = BL12 /* \BL12 */
3623 Index (^LPCB.EC0.VPC0.TBSL, 0x0D) = BL13 /* \BL13 */
3624 Index (^LPCB.EC0.VPC0.TBSL, 0x0E) = BL14 /* \BL14 */
3625 Index (^LPCB.EC0.VPC0.TBSL, 0x0F) = BL15 /* \BL15 */
3626 }
3627 Else
3628 {
3629 Index (PLV2, Zero) = BL37 /* \BL37 */
3630 Index (PLV2, One) = BL23 /* \BL23 */
3631 }
3632
3633 If (((^PEG0.PEGP.GID2 == 0x0FD1) || (^PEG0.PEGP.GID2 == 0x0FD4)))
3634 {
3635 ^LPCB.EC0.VPC0.GPS1 = One
3636 }
3637
3638 If (((^PEG0.PEGP.GID2 == 0x1140) && (^PEG0.PEGP.GID3 == 0x3902)))
3639 {
3640 ^LPCB.EC0.VPC0.GPS1 = One
3641 }
3642
3643 DGPU = ^PEG0.PEGP.GID2 /* \_SB_.PCI0.PEG0.PEGP.GID2 */
3644 }
3645
3646 Method (NHPG, 0, Serialized)
3647 {
3648 ^RP01.HPEX = Zero
3649 ^RP02.HPEX = Zero
3650 ^RP03.HPEX = Zero
3651 ^RP04.HPEX = Zero
3652 ^RP05.HPEX = Zero
3653 ^RP07.HPEX = Zero
3654 ^RP08.HPEX = Zero
3655 ^RP01.HPSX = One
3656 ^RP02.HPSX = One
3657 ^RP03.HPSX = One
3658 ^RP04.HPSX = One
3659 ^RP05.HPSX = One
3660 ^RP07.HPSX = One
3661 ^RP08.HPSX = One
3662 }
3663
3664 Method (NPME, 0, Serialized)
3665 {
3666 ^RP01.PMEX = Zero
3667 ^RP02.PMEX = Zero
3668 ^RP03.PMEX = Zero
3669 ^RP04.PMEX = Zero
3670 ^RP05.PMEX = Zero
3671 ^RP06.PMEX = Zero
3672 ^RP07.PMEX = Zero
3673 ^RP08.PMEX = Zero
3674 ^RP01.PMSX = One
3675 ^RP02.PMSX = One
3676 ^RP03.PMSX = One
3677 ^RP04.PMSX = One
3678 ^RP05.PMSX = One
3679 ^RP06.PMSX = One
3680 ^RP07.PMSX = One
3681 ^RP08.PMSX = One
3682 }
3683 }
3684
3685 Scope (\)
3686 {
3687 Name (PICM, Zero)
3688 }
3689
3690 Scope (_PR)
3691 {
3692 Processor (CPU0, 0x01, 0x00000410, 0x06) {}
3693 Processor (CPU1, 0x02, 0x00000410, 0x06) {}
3694 Processor (CPU2, 0x03, 0x00000410, 0x06) {}
3695 Processor (CPU3, 0x04, 0x00000410, 0x06) {}
3696 Processor (CPU4, 0x05, 0x00000410, 0x06) {}
3697 Processor (CPU5, 0x06, 0x00000410, 0x06) {}
3698 Processor (CPU6, 0x07, 0x00000410, 0x06) {}
3699 Processor (CPU7, 0x08, 0x00000410, 0x06) {}
3700 }
3701
3702 Scope (_TZ)
3703 {
3704 Name (ETMD, One)
3705 Name (THLD, 0x78)
3706 ThermalZone (TZ00)
3707 {
3708 Name (PTMP, 0x0BB8)
3709 Method (_SCP, 1, Serialized) // _SCP: Set Cooling Policy
3710 {
3711 CTYP = Arg0
3712 }
3713
3714 Method (_CRT, 0, Serialized) // _CRT: Critical Temperature
3715 {
3716 Return (0x0FA2)
3717 }
3718
3719 Method (_TMP, 0, Serialized) // _TMP: Temperature
3720 {
3721 If (\_SB.PCI0.LPCB.ECOK ())
3722 {
3723 \_SB.PCI0.LPCB.EC0.ENIB = 0x8400
3724 Local0 = \_SB.PCI0.LPCB.EC0.ENDD
3725 }
3726 Else
3727 {
3728 Local0 = PTMP /* \_TZ_.TZ00.PTMP */
3729 }
3730
3731 If ((Local0 >= THLD))
3732 {
3733 Return (PTMP) /* \_TZ_.TZ00.PTMP */
3734 }
3735 Else
3736 {
3737 Local0 = (0x0AAC + (Local0 * 0x0A))
3738 PTMP = Local0
3739 Return (Local0)
3740 }
3741 }
3742
3743 Method (_HOT, 0, NotSerialized) // _HOT: Hot Temperature
3744 {
3745 Return (0x0FA2)
3746 }
3747
3748 Method (_PSL, 0, Serialized) // _PSL: Passive List
3749 {
3750 If ((TCNT == 0x08))
3751 {
3752 Return (Package (0x08)
3753 {
3754 \_PR.CPU0,
3755 \_PR.CPU1,
3756 \_PR.CPU2,
3757 \_PR.CPU3,
3758 \_PR.CPU4,
3759 \_PR.CPU5,
3760 \_PR.CPU6,
3761 \_PR.CPU7
3762 })
3763 }
3764
3765 If ((TCNT == 0x04))
3766 {
3767 Return (Package (0x04)
3768 {
3769 \_PR.CPU0,
3770 \_PR.CPU1,
3771 \_PR.CPU2,
3772 \_PR.CPU3
3773 })
3774 }
3775
3776 If ((TCNT == 0x02))
3777 {
3778 Return (Package (0x02)
3779 {
3780 \_PR.CPU0,
3781 \_PR.CPU1
3782 })
3783 }
3784
3785 Return (Package (0x01)
3786 {
3787 \_PR.CPU0
3788 })
3789 }
3790
3791 Method (_PSV, 0, Serialized) // _PSV: Passive Temperature
3792 {
3793 Return (0x0AAC)
3794 }
3795
3796 Name (_TC1, Zero) // _TC1: Thermal Constant 1
3797 Name (_TC2, Zero) // _TC2: Thermal Constant 2
3798 Name (_TSP, Zero) // _TSP: Thermal Sampling Period
3799 }
3800 }
3801
3802 Scope (_SB.PCI0)
3803 {
3804 Device (PDRC)
3805 {
3806 Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
3807 Name (_UID, One) // _UID: Unique ID
3808 Name (BUF0, ResourceTemplate ()
3809 {
3810 Memory32Fixed (ReadWrite,
3811 0x00000000, // Address Base
3812 0x00004000, // Address Length
3813 _Y11)
3814 Memory32Fixed (ReadWrite,
3815 0x00000000, // Address Base
3816 0x00008000, // Address Length
3817 _Y13)
3818 Memory32Fixed (ReadWrite,
3819 0x00000000, // Address Base
3820 0x00001000, // Address Length
3821 _Y14)
3822 Memory32Fixed (ReadWrite,
3823 0x00000000, // Address Base
3824 0x00001000, // Address Length
3825 _Y15)
3826 Memory32Fixed (ReadWrite,
3827 0x00000000, // Address Base
3828 0x00000000, // Address Length
3829 _Y16)
3830 Memory32Fixed (ReadWrite,
3831 0xFED20000, // Address Base
3832 0x00020000, // Address Length
3833 )
3834 Memory32Fixed (ReadOnly,
3835 0xFED90000, // Address Base
3836 0x00004000, // Address Length
3837 )
3838 Memory32Fixed (ReadWrite,
3839 0xFF000000, // Address Base
3840 0x00001000, // Address Length
3841 )
3842 Memory32Fixed (ReadOnly,
3843 0xFF010000, // Address Base
3844 0x00FF0000, // Address Length
3845 )
3846 Memory32Fixed (ReadOnly,
3847 0xFEE00000, // Address Base
3848 0x00100000, // Address Length
3849 )
3850 Memory32Fixed (ReadWrite,
3851 0x00000000, // Address Base
3852 0x00001000, // Address Length
3853 _Y12)
3854 })
3855 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
3856 {
3857 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y11._BAS, RBR0) // _BAS: Base Address
3858 RBR0 = (^^LPCB.RCBA << 0x0E)
3859 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y12._BAS, TBR0) // _BAS: Base Address
3860 TBR0 = TBAB /* \TBAB */
3861 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y12._LEN, TBLN) // _LEN: Length
3862 If ((TBAB == Zero))
3863 {
3864 TBLN = Zero
3865 }
3866
3867 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y13._BAS, MBR0) // _BAS: Base Address
3868 MBR0 = (MHBR << 0x0F)
3869 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y14._BAS, DBR0) // _BAS: Base Address
3870 DBR0 = (DIBR << 0x0C)
3871 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y15._BAS, EBR0) // _BAS: Base Address
3872 EBR0 = (EPBR << 0x0C)
3873 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y16._BAS, XBR0) // _BAS: Base Address
3874 XBR0 = (PXBR << 0x1A)
3875 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y16._LEN, XSZ0) // _LEN: Length
3876 XSZ0 = (0x10000000 >> PXSZ) /* \_SB_.PCI0.PXSZ */
3877 Return (BUF0) /* \_SB_.PCI0.PDRC.BUF0 */
3878 }
3879 }
3880 }
3881
3882 Method (BRTN, 1, Serialized)
3883 {
3884 If (((DID1 & 0x0F00) == 0x0400))
3885 {
3886 Notify (\_SB.PCI0.GFX0.DD01, Arg0)
3887 }
3888
3889 If (((DID2 & 0x0F00) == 0x0400))
3890 {
3891 Notify (\_SB.PCI0.GFX0.DD02, Arg0)
3892 }
3893
3894 If (((DID3 & 0x0F00) == 0x0400))
3895 {
3896 Notify (\_SB.PCI0.GFX0.DD03, Arg0)
3897 }
3898
3899 If (((DID4 & 0x0F00) == 0x0400))
3900 {
3901 Notify (\_SB.PCI0.GFX0.DD04, Arg0)
3902 }
3903
3904 If (((DID5 & 0x0F00) == 0x0400))
3905 {
3906 Notify (\_SB.PCI0.GFX0.DD05, Arg0)
3907 }
3908
3909 If (((DID6 & 0x0F00) == 0x0400))
3910 {
3911 Notify (\_SB.PCI0.GFX0.DD06, Arg0)
3912 }
3913
3914 If (((DID7 & 0x0F00) == 0x0400))
3915 {
3916 Notify (\_SB.PCI0.GFX0.DD07, Arg0)
3917 }
3918
3919 If (((DID8 & 0x0F00) == 0x0400))
3920 {
3921 Notify (\_SB.PCI0.GFX0.DD08, Arg0)
3922 }
3923 }
3924
3925 Scope (_GPE)
3926 {
3927 Method (_L0B, 0, NotSerialized) // _Lxx: Level-Triggered GPE
3928 {
3929 P8XH (0x04, 0x0B, Zero)
3930 P8XH (0x04, 0x0B, One)
3931 Notify (\_SB.PCI0.P0P1, 0x02) // Device Wake
3932 }
3933
3934 Method (_L09, 0, NotSerialized) // _Lxx: Level-Triggered GPE
3935 {
3936 P8XH (0x04, 0x09, Zero)
3937 P8XH (0x04, 0x09, One)
3938 If ((RP1D == Zero))
3939 {
3940 \_SB.PCI0.RP01.HPME ()
3941 Notify (\_SB.PCI0.RP01, 0x02) // Device Wake
3942 }
3943
3944 If ((RP2D == Zero))
3945 {
3946 \_SB.PCI0.RP02.HPME ()
3947 Notify (\_SB.PCI0.RP02, 0x02) // Device Wake
3948 }
3949
3950 If ((RP4D == Zero))
3951 {
3952 \_SB.PCI0.RP04.HPME ()
3953 Notify (\_SB.PCI0.RP04, 0x02) // Device Wake
3954 }
3955
3956 Notify (\_SB.PCI0.PEG0, 0x02) // Device Wake
3957 Notify (\_SB.PCI0.PEG0.PEGP, 0x02) // Device Wake
3958 Notify (\_SB.PCI0.PEG1, 0x02) // Device Wake
3959 }
3960
3961 Method (_L0D, 0, NotSerialized) // _Lxx: Level-Triggered GPE
3962 {
3963 P8XH (0x04, 0x0D, Zero)
3964 P8XH (0x04, 0x0D, One)
3965 Notify (\_SB.PCI0.EHC1, 0x02) // Device Wake
3966 Notify (\_SB.PCI0.EHC2, 0x02) // Device Wake
3967 Notify (\_SB.PCI0.XHC, 0x02) // Device Wake
3968 If ((\_SB.PCI0.XHC.PMES && \_SB.PCI0.XHC.PMES))
3969 {
3970 \_SB.PCI0.XHC.PMES = One
3971 }
3972 }
3973
3974 Method (_L01, 0, NotSerialized) // _Lxx: Level-Triggered GPE
3975 {
3976 P8XH (0x04, One, Zero)
3977 P8XH (0x04, One, One)
3978 L01C += One
3979 If (((RP1D == Zero) && \_SB.PCI0.RP01.HPSX))
3980 {
3981 P8XH (One, One, One)
3982 P8XH (Zero, L01C, One)
3983 Sleep (0x64)
3984 If (\_SB.PCI0.RP01.PDCX)
3985 {
3986 \_SB.PCI0.RP01.PDCX = One
3987 \_SB.PCI0.RP01.HPSX = One
3988 If (!\_SB.PCI0.RP01.PDSX)
3989 {
3990 \_SB.PCI0.RP01.L0SE = Zero
3991 }
3992
3993 Notify (\_SB.PCI0.RP01, Zero) // Bus Check
3994 }
3995 Else
3996 {
3997 \_SB.PCI0.RP01.HPSX = One
3998 }
3999 }
4000
4001 If (((RP2D == Zero) && \_SB.PCI0.RP02.HPSX))
4002 {
4003 P8XH (One, 0x02, One)
4004 P8XH (Zero, L01C, One)
4005 Sleep (0x64)
4006 If (\_SB.PCI0.RP02.PDCX)
4007 {
4008 \_SB.PCI0.RP02.PDCX = One
4009 \_SB.PCI0.RP02.HPSX = One
4010 If (!\_SB.PCI0.RP02.PDSX)
4011 {
4012 \_SB.PCI0.RP02.L0SE = Zero
4013 }
4014
4015 Notify (\_SB.PCI0.RP02, Zero) // Bus Check
4016 }
4017 Else
4018 {
4019 \_SB.PCI0.RP02.HPSX = One
4020 }
4021 }
4022
4023 If (((RP3D == Zero) && \_SB.PCI0.RP03.HPSX))
4024 {
4025 P8XH (One, 0x03, One)
4026 P8XH (Zero, L01C, One)
4027 Sleep (0x64)
4028 If (\_SB.PCI0.RP03.PDCX)
4029 {
4030 \_SB.PCI0.RP03.PDCX = One
4031 \_SB.PCI0.RP03.HPSX = One
4032 If (!\_SB.PCI0.RP03.PDSX)
4033 {
4034 \_SB.PCI0.RP03.L0SE = Zero
4035 }
4036
4037 Notify (\_SB.PCI0.RP03, Zero) // Bus Check
4038 }
4039 Else
4040 {
4041 \_SB.PCI0.RP03.HPSX = One
4042 }
4043 }
4044
4045 If (((RP4D == Zero) && \_SB.PCI0.RP04.HPSX))
4046 {
4047 P8XH (One, 0x04, One)
4048 P8XH (Zero, L01C, One)
4049 Sleep (0x64)
4050 If (\_SB.PCI0.RP04.PDCX)
4051 {
4052 \_SB.PCI0.RP04.PDCX = One
4053 \_SB.PCI0.RP04.HPSX = One
4054 If (!\_SB.PCI0.RP04.PDSX)
4055 {
4056 \_SB.PCI0.RP04.L0SE = Zero
4057 }
4058
4059 Notify (\_SB.PCI0.RP04, Zero) // Bus Check
4060 }
4061 Else
4062 {
4063 \_SB.PCI0.RP04.HPSX = One
4064 }
4065 }
4066 }
4067
4068 Method (_L02, 0, NotSerialized) // _Lxx: Level-Triggered GPE
4069 {
4070 P8XH (0x04, 0x02, Zero)
4071 P8XH (0x04, 0x02, One)
4072 GPEC = Zero
4073 Notify (\_TZ.TZ00, 0x80) // Thermal Status Change
4074 }
4075
4076 Method (_L06, 0, NotSerialized) // _Lxx: Level-Triggered GPE
4077 {
4078 P8XH (0x04, 0xDD, Zero)
4079 P8XH (0x04, 0xDD, One)
4080 If ((\_SB.PCI0.GFX0.GSSE && !GSMI))
4081 {
4082 P8XH (0x04, 0xDE, One)
4083 \_SB.PCI0.GFX0.GSCI ()
4084 P8XH (0x04, 0xDF, One)
4085 }
4086
4087 P8XH (0x04, 0xDC, Zero)
4088 P8XH (0x04, 0xDC, One)
4089 }
4090
4091 Method (_L07, 0, NotSerialized) // _Lxx: Level-Triggered GPE
4092 {
4093 P8XH (0x04, 0x07, Zero)
4094 P8XH (0x04, 0x07, One)
4095 \_SB.PCI0.SBUS.HSTS = 0x20
4096 }
4097
4098 Method (_L1F, 0, NotSerialized) // _Lxx: Level-Triggered GPE
4099 {
4100 P8XH (0x04, 0x1F, Zero)
4101 P8XH (0x04, 0x1F, One)
4102 If (GP15)
4103 {
4104 GIV1 |= 0x80
4105 }
4106 Else
4107 {
4108 GIV1 &= 0x7F
4109 }
4110
4111 If (IGDS)
4112 {
4113 If (\_SB.PCI0.GFX0.SCIP ())
4114 {
4115 \_SB.PCI0.GFX0.GLID ((GIV1 && 0x80))
4116 }
4117 Else
4118 {
4119 }
4120 }
4121
4122 Notify (\_SB.LID0, 0x80) // Status Change
4123 }
4124 }
4125
4126 Scope (\)
4127 {
4128 OperationRegion (IO_T, SystemIO, 0x1000, 0x10)
4129 Field (IO_T, ByteAcc, NoLock, Preserve)
4130 {
4131 TRPI, 16,
4132 Offset (0x04),
4133 Offset (0x06),
4134 Offset (0x08),
4135 TRP0, 8,
4136 Offset (0x0A),
4137 Offset (0x0B),
4138 Offset (0x0C),
4139 Offset (0x0D),
4140 Offset (0x0E),
4141 Offset (0x0F),
4142 Offset (0x10)
4143 }
4144
4145 OperationRegion (IO_D, SystemIO, 0x0810, 0x04)
4146 Field (IO_D, ByteAcc, NoLock, Preserve)
4147 {
4148 TRPD, 8
4149 }
4150
4151 OperationRegion (IO_H, SystemIO, 0x1000, 0x04)
4152 Field (IO_H, ByteAcc, NoLock, Preserve)
4153 {
4154 TRPH, 8
4155 }
4156
4157 OperationRegion (PMIO, SystemIO, PMBS, 0x80)
4158 Field (PMIO, ByteAcc, NoLock, Preserve)
4159 {
4160 , 14,
4161 PEWS, 1,
4162 Offset (0x28),
4163 Offset (0x2A),
4164 , 3,
4165 GPE3, 1,
4166 Offset (0x3C),
4167 PMEN, 1,
4168 UPRW, 1,
4169 Offset (0x42),
4170 , 1,
4171 GPEC, 1
4172 }
4173
4174 Field (PMIO, ByteAcc, NoLock, WriteAsZeros)
4175 {
4176 Offset (0x20),
4177 Offset (0x22),
4178 , 3,
4179 GPS3, 1,
4180 Offset (0x64),
4181 , 9,
4182 SCIS, 1,
4183 Offset (0x66)
4184 }
4185
4186 OperationRegion (GPIO, SystemIO, GPBS, 0x64)
4187 Field (GPIO, ByteAcc, NoLock, Preserve)
4188 {
4189 GU00, 8,
4190 GU01, 8,
4191 GU02, 8,
4192 GU03, 8,
4193 , 3,
4194 GSO3, 1,
4195 Offset (0x05),
4196 GIO1, 8,
4197 GIO2, 8,
4198 GIO3, 8,
4199 Offset (0x0C),
4200 GL00, 8,
4201 , 7,
4202 GP15, 1,
4203 GL02, 6,
4204 GP22, 1,
4205 Offset (0x0F),
4206 GP24, 1,
4207 , 2,
4208 GP27, 1,
4209 GP28, 1,
4210 Offset (0x10),
4211 Offset (0x18),
4212 GB00, 8,
4213 GB01, 8,
4214 GB02, 8,
4215 GB03, 8,
4216 Offset (0x2C),
4217 , 3,
4218 GV03, 1,
4219 Offset (0x2D),
4220 GIV1, 8,
4221 GIV2, 8,
4222 GIV3, 8,
4223 GU04, 8,
4224 GU05, 8,
4225 GU06, 8,
4226 GU07, 8,
4227 GIO4, 8,
4228 GIO5, 8,
4229 GIO6, 8,
4230 GIO7, 8,
4231 , 2,
4232 GP34, 1,
4233 , 1,
4234 GP36, 1,
4235 , 1,
4236 GP38, 1,
4237 Offset (0x39),
4238 GL05, 8,
4239 , 2,
4240 GP50, 1,
4241 , 1,
4242 GP52, 1,
4243 , 1,
4244 GP54, 1,
4245 GP55, 1,
4246 GL07, 8,
4247 Offset (0x40),
4248 GU08, 8,
4249 GU09, 8,
4250 GU0A, 8,
4251 GU0B, 8,
4252 GIO8, 8,
4253 GIO9, 8,
4254 GIOA, 8,
4255 GIOB, 8,
4256 , 3,
4257 GP67, 1,
4258 GP68, 1,
4259 , 1,
4260 GP70, 1,
4261 Offset (0x49),
4262 GL09, 8,
4263 GL0A, 8,
4264 GL0B, 8
4265 }
4266
4267 OperationRegion (RCRB, SystemMemory, SRCB, 0x4000)
4268 Field (RCRB, DWordAcc, Lock, Preserve)
4269 {
4270 Offset (0x1000),
4271 Offset (0x3000),
4272 Offset (0x3404),
4273 HPAS, 2,
4274 , 5,
4275 HPAE, 1,
4276 Offset (0x3418),
4277 , 1,
4278 , 1,
4279 SATD, 1,
4280 SMBD, 1,
4281 HDAD, 1,
4282 Offset (0x341A),
4283 RP1D, 1,
4284 RP2D, 1,
4285 RP3D, 1,
4286 RP4D, 1,
4287 RP5D, 1,
4288 RP6D, 1,
4289 RP7D, 1,
4290 RP8D, 1,
4291 Offset (0x359C),
4292 UP0D, 1,
4293 UP1D, 1,
4294 UP2D, 1,
4295 UP3D, 1,
4296 UP4D, 1,
4297 UP5D, 1,
4298 UP6D, 1,
4299 UP7D, 1,
4300 UP8D, 1,
4301 UP9D, 1,
4302 UPAD, 1,
4303 UPBD, 1,
4304 UPCD, 1,
4305 UPDD, 1,
4306 , 1,
4307 Offset (0x359E),
4308 Offset (0x35B0),
4309 RMW1, 4,
4310 RMW2, 4,
4311 REW1, 1,
4312 REW2, 1,
4313 Offset (0x35B4)
4314 }
4315
4316 Method (GPI0, 4, NotSerialized)
4317 {
4318 If (((Arg0 | Arg1) == Zero))
4319 {
4320 Return (Ones)
4321 }
4322 Else
4323 {
4324 If (((Arg0 == Zero) & (Arg1 == One)))
4325 {
4326 Return (0x0384)
4327 }
4328 }
4329
4330 Return ((0x1E * (0x09 - (Arg2 + Arg3))))
4331 }
4332
4333 Method (GDMA, 2, NotSerialized)
4334 {
4335 If ((Arg0 == One))
4336 {
4337 If ((Arg1 == One))
4338 {
4339 Return (0x0F)
4340 }
4341 }
4342
4343 Return (Ones)
4344 }
4345
4346 Method (SFLG, 5, NotSerialized)
4347 {
4348 Local0 = Zero
4349 Local0 |= Arg1
4350 Local0 |= (Arg0 << One)
4351 Local0 |= (Arg2 << 0x03)
4352 Local0 |= (Arg3 << 0x02)
4353 Local0 |= (Arg4 << 0x04)
4354 Return (Local0)
4355 }
4356
4357 Method (SPIO, 3, NotSerialized)
4358 {
4359 Name (PBUF, Buffer (0x05)
4360 {
4361 0x00, 0x00, 0x00, 0x00, 0x00 /* ..... */
4362 })
4363 CreateByteField (PBUF, Zero, RCT)
4364 CreateByteField (PBUF, One, ISP)
4365 CreateByteField (PBUF, 0x02, FAST)
4366 CreateByteField (PBUF, 0x03, DMAE)
4367 CreateByteField (PBUF, 0x04, PIOT)
4368 If (((Arg0 == Zero) || (Arg0 == Ones)))
4369 {
4370 Return (PBUF) /* \SPIO.PBUF */
4371 }
4372
4373 If ((Arg0 > 0xF0))
4374 {
4375 DMAE = One
4376 PIOT = Zero
4377 }
4378 Else
4379 {
4380 FAST = One
4381 If ((Arg1 & 0x02))
4382 {
4383 If (((Arg0 == 0x78) & (Arg2 & 0x02)))
4384 {
4385 RCT = 0x03
4386 ISP = 0x02
4387 PIOT = 0x04
4388 Return (PBUF) /* \SPIO.PBUF */
4389 }
4390
4391 If (((Arg0 <= 0xB4) & (Arg2 & One)))
4392 {
4393 RCT = One
4394 ISP = 0x02
4395 PIOT = 0x03
4396 Return (PBUF) /* \SPIO.PBUF */
4397 }
4398 Else
4399 {
4400 RCT = Zero
4401 ISP = One
4402 PIOT = 0x02
4403 }
4404 }
4405 }
4406
4407 Return (PBUF) /* \SPIO.PBUF */
4408 }
4409
4410 Method (SDMA, 3, NotSerialized)
4411 {
4412 Name (PBUF, Buffer (0x05)
4413 {
4414 0x00, 0x00, 0x00, 0x00 /* .... */
4415 })
4416 CreateByteField (PBUF, Zero, PCT)
4417 CreateByteField (PBUF, One, PCB)
4418 CreateByteField (PBUF, 0x02, UDMT)
4419 CreateByteField (PBUF, 0x03, UDME)
4420 CreateByteField (PBUF, 0x04, DMAT)
4421 If (((Arg0 == Zero) || (Arg0 == Ones)))
4422 {
4423 Return (PBUF) /* \SDMA.PBUF */
4424 }
4425
4426 If ((Arg0 <= 0x78))
4427 {
4428 If ((Arg1 & 0x04))
4429 {
4430 UDME = One
4431 If (((Arg0 <= 0x0F) & (Arg2 & 0x40)))
4432 {
4433 UDMT = One
4434 PCB = One
4435 PCT = One
4436 DMAT = 0x06
4437 Return (PBUF) /* \SDMA.PBUF */
4438 }
4439
4440 If (((Arg0 <= 0x14) & (Arg2 & 0x20)))
4441 {
4442 UDMT = One
4443 PCB = One
4444 PCT = One
4445 DMAT = 0x05
4446 Return (PBUF) /* \SDMA.PBUF */
4447 }
4448
4449 If (((Arg0 <= 0x1E) & (Arg2 & 0x10)))
4450 {
4451 PCB = One
4452 PCT = 0x02
4453 DMAT = 0x04
4454 Return (PBUF) /* \SDMA.PBUF */
4455 }
4456
4457 If (((Arg0 <= 0x2D) & (Arg2 & 0x08)))
4458 {
4459 PCB = One
4460 PCT = One
4461 DMAT = 0x03
4462 Return (PBUF) /* \SDMA.PBUF */
4463 }
4464
4465 If (((Arg0 <= 0x3C) & (Arg2 & 0x04)))
4466 {
4467 PCT = 0x02
4468 DMAT = 0x02
4469 Return (PBUF) /* \SDMA.PBUF */
4470 }
4471
4472 If (((Arg0 <= 0x5A) & (Arg2 & 0x02)))
4473 {
4474 PCT = One
4475 DMAT = One
4476 Return (PBUF) /* \SDMA.PBUF */
4477 }
4478
4479 If (((Arg0 <= 0x78) & (Arg2 & One)))
4480 {
4481 DMAT = Zero
4482 }
4483 }
4484 }
4485
4486 Return (PBUF) /* \SDMA.PBUF */
4487 }
4488
4489 Method (SETT, 3, Serialized)
4490 {
4491 If ((Arg1 & 0x02))
4492 {
4493 If (((Arg0 <= 0x78) && (Arg2 & 0x02)))
4494 {
4495 Return (0x0B)
4496 }
4497
4498 If (((Arg0 <= 0xB4) && (Arg2 & One)))
4499 {
4500 Return (0x09)
4501 }
4502 }
4503
4504 Return (0x04)
4505 }
4506 }
4507
4508 Scope (_SB.PCI0)
4509 {
4510 Device (EHC1)
4511 {
4512 Name (_ADR, 0x001D0000) // _ADR: Address
4513 OperationRegion (PWKE, PCI_Config, 0x62, 0x04)
4514 Field (PWKE, DWordAcc, NoLock, Preserve)
4515 {
4516 , 1,
4517 PWUC, 8
4518 }
4519
4520 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
4521 {
4522 If (Arg0)
4523 {
4524 If (((^^LPCB.EC0.ADPT == One) && ^^LPCB.ECOK ()))
4525 {
4526 RMW2 = Zero
4527 PWUC = Ones
4528 }
4529 Else
4530 {
4531 RMW2 = 0x0F
4532 PWUC = Zero
4533 }
4534 }
4535 Else
4536 {
4537 RMW2 = 0x0F
4538 PWUC = Zero
4539 }
4540 }
4541
4542 Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
4543 {
4544 Return (0x02)
4545 }
4546
4547 Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State
4548 {
4549 Return (0x02)
4550 }
4551
4552 Device (HUBN)
4553 {
4554 Name (_ADR, Zero) // _ADR: Address
4555 Device (PR01)
4556 {
4557 Name (_ADR, One) // _ADR: Address
4558 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
4559 {
4560 0xFF,
4561 Zero,
4562 Zero,
4563 Zero
4564 })
4565 Name (_PLD, Package (0x01) // _PLD: Physical Location of Device
4566 {
4567 ToPLD (
4568 PLD_Revision = 0x1,
4569 PLD_IgnoreColor = 0x1,
4570 PLD_Red = 0x0,
4571 PLD_Green = 0x0,
4572 PLD_Blue = 0x0,
4573 PLD_Width = 0x0,
4574 PLD_Height = 0x0,
4575 PLD_UserVisible = 0x0,
4576 PLD_Dock = 0x0,
4577 PLD_Lid = 0x0,
4578 PLD_Panel = "UNKNOWN",
4579 PLD_VerticalPosition = "UPPER",
4580 PLD_HorizontalPosition = "LEFT",
4581 PLD_Shape = "UNKNOWN",
4582 PLD_GroupOrientation = 0x0,
4583 PLD_GroupToken = 0x0,
4584 PLD_GroupPosition = 0x0,
4585 PLD_Bay = 0x0,
4586 PLD_Ejectable = 0x0,
4587 PLD_EjectRequired = 0x0,
4588 PLD_CabinetNumber = 0x0,
4589 PLD_CardCageNumber = 0x0,
4590 PLD_Reference = 0x0,
4591 PLD_Rotation = 0x0,
4592 PLD_Order = 0x0,
4593 PLD_VerticalOffset = 0x0,
4594 PLD_HorizontalOffset = 0x0)
4595
4596 })
4597 Device (PR11)
4598 {
4599 Name (_ADR, One) // _ADR: Address
4600 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
4601 {
4602 Zero,
4603 0xFF,
4604 Zero,
4605 Zero
4606 })
4607 }
4608
4609 Device (PR12)
4610 {
4611 Name (_ADR, 0x02) // _ADR: Address
4612 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
4613 {
4614 0xFF,
4615 0xFF,
4616 Zero,
4617 Zero
4618 })
4619 Name (_PLD, Package (0x01) // _PLD: Physical Location of Device
4620 {
4621 ToPLD (
4622 PLD_Revision = 0x1,
4623 PLD_IgnoreColor = 0x1,
4624 PLD_Red = 0x0,
4625 PLD_Green = 0x0,
4626 PLD_Blue = 0x0,
4627 PLD_Width = 0x0,
4628 PLD_Height = 0x0,
4629 PLD_UserVisible = 0x1,
4630 PLD_Dock = 0x0,
4631 PLD_Lid = 0x0,
4632 PLD_Panel = "UNKNOWN",
4633 PLD_VerticalPosition = "LOWER",
4634 PLD_HorizontalPosition = "CENTER",
4635 PLD_Shape = "HORIZONTALTRAPEZOID",
4636 PLD_GroupOrientation = 0x0,
4637 PLD_GroupToken = 0x0,
4638 PLD_GroupPosition = 0x0,
4639 PLD_Bay = 0x0,
4640 PLD_Ejectable = 0x0,
4641 PLD_EjectRequired = 0x0,
4642 PLD_CabinetNumber = 0x0,
4643 PLD_CardCageNumber = 0x0,
4644 PLD_Reference = 0x0,
4645 PLD_Rotation = 0x0,
4646 PLD_Order = 0x0,
4647 PLD_VerticalOffset = 0x0,
4648 PLD_HorizontalOffset = 0x0)
4649
4650 })
4651 }
4652
4653 Device (PR13)
4654 {
4655 Name (_ADR, 0x03) // _ADR: Address
4656 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
4657 {
4658 0xFF,
4659 0xFF,
4660 Zero,
4661 Zero
4662 })
4663 Name (_PLD, Package (0x01) // _PLD: Physical Location of Device
4664 {
4665 ToPLD (
4666 PLD_Revision = 0x1,
4667 PLD_IgnoreColor = 0x1,
4668 PLD_Red = 0x0,
4669 PLD_Green = 0x0,
4670 PLD_Blue = 0x0,
4671 PLD_Width = 0x0,
4672 PLD_Height = 0x0,
4673 PLD_UserVisible = 0x1,
4674 PLD_Dock = 0x0,
4675 PLD_Lid = 0x0,
4676 PLD_Panel = "UNKNOWN",
4677 PLD_VerticalPosition = "LOWER",
4678 PLD_HorizontalPosition = "CENTER",
4679 PLD_Shape = "HORIZONTALTRAPEZOID",
4680 PLD_GroupOrientation = 0x0,
4681 PLD_GroupToken = 0x0,
4682 PLD_GroupPosition = 0x0,
4683 PLD_Bay = 0x0,
4684 PLD_Ejectable = 0x0,
4685 PLD_EjectRequired = 0x0,
4686 PLD_CabinetNumber = 0x0,
4687 PLD_CardCageNumber = 0x0,
4688 PLD_Reference = 0x0,
4689 PLD_Rotation = 0x0,
4690 PLD_Order = 0x0,
4691 PLD_VerticalOffset = 0x0,
4692 PLD_HorizontalOffset = 0x0)
4693
4694 })
4695 }
4696
4697 Device (PR14)
4698 {
4699 Name (_ADR, 0x04) // _ADR: Address
4700 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
4701 {
4702 0xFF,
4703 0xFF,
4704 Zero,
4705 Zero
4706 })
4707 Name (_PLD, Package (0x01) // _PLD: Physical Location of Device
4708 {
4709 ToPLD (
4710 PLD_Revision = 0x1,
4711 PLD_IgnoreColor = 0x1,
4712 PLD_Red = 0x0,
4713 PLD_Green = 0x0,
4714 PLD_Blue = 0x0,
4715 PLD_Width = 0x0,
4716 PLD_Height = 0x0,
4717 PLD_UserVisible = 0x1,
4718 PLD_Dock = 0x0,
4719 PLD_Lid = 0x0,
4720 PLD_Panel = "UNKNOWN",
4721 PLD_VerticalPosition = "LOWER",
4722 PLD_HorizontalPosition = "CENTER",
4723 PLD_Shape = "HORIZONTALTRAPEZOID",
4724 PLD_GroupOrientation = 0x0,
4725 PLD_GroupToken = 0x0,
4726 PLD_GroupPosition = 0x0,
4727 PLD_Bay = 0x0,
4728 PLD_Ejectable = 0x0,
4729 PLD_EjectRequired = 0x0,
4730 PLD_CabinetNumber = 0x0,
4731 PLD_CardCageNumber = 0x0,
4732 PLD_Reference = 0x0,
4733 PLD_Rotation = 0x0,
4734 PLD_Order = 0x0,
4735 PLD_VerticalOffset = 0x0,
4736 PLD_HorizontalOffset = 0x0)
4737
4738 })
4739 Alias (SBV1, SDGV)
4740 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
4741 {
4742 Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
4743 If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
4744 {
4745 While (One)
4746 {
4747 _T_0 = ToInteger (Arg2)
4748 If ((_T_0 == Zero))
4749 {
4750 If ((Arg1 == One))
4751 {
4752 Return (Buffer (One)
4753 {
4754 0x07 /* . */
4755 })
4756 }
4757 Else
4758 {
4759 Return (Buffer (One)
4760 {
4761 0x00 /* . */
4762 })
4763 }
4764 }
4765 Else
4766 {
4767 If ((_T_0 == One))
4768 {
4769 If ((SDGV == 0xFF))
4770 {
4771 Return (Zero)
4772 }
4773 Else
4774 {
4775 Return (One)
4776 }
4777 }
4778 Else
4779 {
4780 If ((_T_0 == 0x02))
4781 {
4782 Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR14.SDGV */
4783 }
4784 }
4785 }
4786
4787 Break
4788 }
4789 }
4790
4791 Return (Zero)
4792 }
4793 }
4794
4795 Device (PR15)
4796 {
4797 Name (_ADR, 0x05) // _ADR: Address
4798 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
4799 {
4800 Zero,
4801 0xFF,
4802 Zero,
4803 Zero
4804 })
4805 Alias (SBV2, SDGV)
4806 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
4807 {
4808 Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
4809 If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
4810 {
4811 While (One)
4812 {
4813 _T_0 = ToInteger (Arg2)
4814 If ((_T_0 == Zero))
4815 {
4816 If ((Arg1 == One))
4817 {
4818 Return (Buffer (One)
4819 {
4820 0x07 /* . */
4821 })
4822 }
4823 Else
4824 {
4825 Return (Buffer (One)
4826 {
4827 0x00 /* . */
4828 })
4829 }
4830 }
4831 Else
4832 {
4833 If ((_T_0 == One))
4834 {
4835 If ((SDGV == 0xFF))
4836 {
4837 Return (Zero)
4838 }
4839 Else
4840 {
4841 Return (One)
4842 }
4843 }
4844 Else
4845 {
4846 If ((_T_0 == 0x02))
4847 {
4848 Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR15.SDGV */
4849 }
4850 }
4851 }
4852
4853 Break
4854 }
4855 }
4856
4857 Return (Zero)
4858 }
4859 }
4860
4861 Device (PR16)
4862 {
4863 Name (_ADR, 0x06) // _ADR: Address
4864 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
4865 {
4866 0xFF,
4867 0xFF,
4868 Zero,
4869 Zero
4870 })
4871 Device (PR26)
4872 {
4873 Name (_ADR, 0x06) // _ADR: Address
4874 Name (_PLD, Package (0x01) // _PLD: Physical Location of Device
4875 {
4876 ToPLD (
4877 PLD_Revision = 0x2,
4878 PLD_IgnoreColor = 0x1,
4879 PLD_Red = 0x0,
4880 PLD_Green = 0x0,
4881 PLD_Blue = 0x0,
4882 PLD_Width = 0x0,
4883 PLD_Height = 0x0,
4884 PLD_UserVisible = 0x0,
4885 PLD_Dock = 0x0,
4886 PLD_Lid = 0x1,
4887 PLD_Panel = "FRONT",
4888 PLD_VerticalPosition = "UPPER",
4889 PLD_HorizontalPosition = "CENTER",
4890 PLD_Shape = "HORIZONTALTRAPEZOID",
4891 PLD_GroupOrientation = 0x0,
4892 PLD_GroupToken = 0x0,
4893 PLD_GroupPosition = 0x0,
4894 PLD_Bay = 0x0,
4895 PLD_Ejectable = 0x0,
4896 PLD_EjectRequired = 0x0,
4897 PLD_CabinetNumber = 0x0,
4898 PLD_CardCageNumber = 0x0,
4899 PLD_Reference = 0x0,
4900 PLD_Rotation = 0x0,
4901 PLD_Order = 0x0,
4902 PLD_VerticalOffset = 0x0,
4903 PLD_HorizontalOffset = 0x0)
4904
4905 })
4906 Method (_STA, 0, NotSerialized) // _STA: Status
4907 {
4908 If ((OSYS == 0x07DC))
4909 {
4910 Return (0x0F)
4911 }
4912 Else
4913 {
4914 Return (Zero)
4915 }
4916 }
4917 }
4918
4919 Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
4920 {
4921 If ((OSYS == 0x07DC))
4922 {
4923 Return (Package (0x01)
4924 {
4925 Buffer (0x14)
4926 {
4927 /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
4928 /* 0008 */ 0xA0, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
4929 /* 0010 */ 0x00, 0x00, 0x00, 0x00 /* .... */
4930 }
4931 })
4932 }
4933 Else
4934 {
4935 Return (Package (0x01)
4936 {
4937 Buffer (0x10)
4938 {
4939 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
4940 /* 0008 */ 0xB0, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
4941 }
4942 })
4943 }
4944 }
4945
4946 Alias (SBV1, SDGV)
4947 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
4948 {
4949 Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
4950 If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
4951 {
4952 While (One)
4953 {
4954 _T_0 = ToInteger (Arg2)
4955 If ((_T_0 == Zero))
4956 {
4957 If ((Arg1 == One))
4958 {
4959 Return (Buffer (One)
4960 {
4961 0x07 /* . */
4962 })
4963 }
4964 Else
4965 {
4966 Return (Buffer (One)
4967 {
4968 0x00 /* . */
4969 })
4970 }
4971 }
4972 Else
4973 {
4974 If ((_T_0 == One))
4975 {
4976 If ((SDGV == 0xFF))
4977 {
4978 Return (Zero)
4979 }
4980 Else
4981 {
4982 Return (One)
4983 }
4984 }
4985 Else
4986 {
4987 If ((_T_0 == 0x02))
4988 {
4989 Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16.SDGV */
4990 }
4991 }
4992 }
4993
4994 Break
4995 }
4996 }
4997
4998 Return (Zero)
4999 }
5000 }
5001
5002 Device (PR17)
5003 {
5004 Name (_ADR, 0x07) // _ADR: Address
5005 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
5006 {
5007 Zero,
5008 0xFF,
5009 Zero,
5010 Zero
5011 })
5012 Alias (SBV2, SDGV)
5013 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
5014 {
5015 Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
5016 If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
5017 {
5018 While (One)
5019 {
5020 _T_0 = ToInteger (Arg2)
5021 If ((_T_0 == Zero))
5022 {
5023 If ((Arg1 == One))
5024 {
5025 Return (Buffer (One)
5026 {
5027 0x07 /* . */
5028 })
5029 }
5030 Else
5031 {
5032 Return (Buffer (One)
5033 {
5034 0x00 /* . */
5035 })
5036 }
5037 }
5038 Else
5039 {
5040 If ((_T_0 == One))
5041 {
5042 If ((SDGV == 0xFF))
5043 {
5044 Return (Zero)
5045 }
5046 Else
5047 {
5048 Return (One)
5049 }
5050 }
5051 Else
5052 {
5053 If ((_T_0 == 0x02))
5054 {
5055 Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR17.SDGV */
5056 }
5057 }
5058 }
5059
5060 Break
5061 }
5062 }
5063
5064 Return (Zero)
5065 }
5066 }
5067
5068 Device (PR18)
5069 {
5070 Name (_ADR, 0x08) // _ADR: Address
5071 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
5072 {
5073 Zero,
5074 0xFF,
5075 Zero,
5076 Zero
5077 })
5078 }
5079 }
5080 }
5081
5082 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
5083 {
5084 0x0D,
5085 0x03
5086 })
5087 }
5088
5089 Device (EHC2)
5090 {
5091 Name (_ADR, 0x001A0000) // _ADR: Address
5092 OperationRegion (PWKE, PCI_Config, 0x62, 0x04)
5093 Field (PWKE, DWordAcc, NoLock, Preserve)
5094 {
5095 , 1,
5096 PWUC, 6
5097 }
5098
5099 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
5100 {
5101 If (Arg0)
5102 {
5103 If (((^^LPCB.EC0.ADPT == One) && ^^LPCB.ECOK ()))
5104 {
5105 RMW1 = Zero
5106 PWUC = Ones
5107 }
5108 Else
5109 {
5110 RMW1 = 0x0F
5111 PWUC = Zero
5112 }
5113 }
5114 Else
5115 {
5116 RMW1 = 0x0F
5117 PWUC = Zero
5118 }
5119 }
5120
5121 Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
5122 {
5123 Return (0x02)
5124 }
5125
5126 Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State
5127 {
5128 Return (0x02)
5129 }
5130
5131 Device (HUBN)
5132 {
5133 Name (_ADR, Zero) // _ADR: Address
5134 Device (PR01)
5135 {
5136 Name (_ADR, One) // _ADR: Address
5137 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
5138 {
5139 0xFF,
5140 Zero,
5141 Zero,
5142 Zero
5143 })
5144 Name (_PLD, Package (0x01) // _PLD: Physical Location of Device
5145 {
5146 ToPLD (
5147 PLD_Revision = 0x1,
5148 PLD_IgnoreColor = 0x1,
5149 PLD_Red = 0x0,
5150 PLD_Green = 0x0,
5151 PLD_Blue = 0x0,
5152 PLD_Width = 0x0,
5153 PLD_Height = 0x0,
5154 PLD_UserVisible = 0x0,
5155 PLD_Dock = 0x0,
5156 PLD_Lid = 0x0,
5157 PLD_Panel = "UNKNOWN",
5158 PLD_VerticalPosition = "UPPER",
5159 PLD_HorizontalPosition = "LEFT",
5160 PLD_Shape = "UNKNOWN",
5161 PLD_GroupOrientation = 0x0,
5162 PLD_GroupToken = 0x0,
5163 PLD_GroupPosition = 0x0,
5164 PLD_Bay = 0x0,
5165 PLD_Ejectable = 0x0,
5166 PLD_EjectRequired = 0x0,
5167 PLD_CabinetNumber = 0x0,
5168 PLD_CardCageNumber = 0x0,
5169 PLD_Reference = 0x0,
5170 PLD_Rotation = 0x0,
5171 PLD_Order = 0x0,
5172 PLD_VerticalOffset = 0x0,
5173 PLD_HorizontalOffset = 0x0)
5174
5175 })
5176 Device (PR11)
5177 {
5178 Name (_ADR, One) // _ADR: Address
5179 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
5180 {
5181 Zero,
5182 0xFF,
5183 Zero,
5184 Zero
5185 })
5186 }
5187
5188 Device (PR12)
5189 {
5190 Name (_ADR, 0x02) // _ADR: Address
5191 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
5192 {
5193 0xFF,
5194 0xFF,
5195 Zero,
5196 Zero
5197 })
5198 Name (_PLD, Package (0x01) // _PLD: Physical Location of Device
5199 {
5200 ToPLD (
5201 PLD_Revision = 0x1,
5202 PLD_IgnoreColor = 0x1,
5203 PLD_Red = 0x0,
5204 PLD_Green = 0x0,
5205 PLD_Blue = 0x0,
5206 PLD_Width = 0x0,
5207 PLD_Height = 0x0,
5208 PLD_UserVisible = 0x1,
5209 PLD_Dock = 0x0,
5210 PLD_Lid = 0x0,
5211 PLD_Panel = "UNKNOWN",
5212 PLD_VerticalPosition = "LOWER",
5213 PLD_HorizontalPosition = "CENTER",
5214 PLD_Shape = "HORIZONTALTRAPEZOID",
5215 PLD_GroupOrientation = 0x0,
5216 PLD_GroupToken = 0x0,
5217 PLD_GroupPosition = 0x0,
5218 PLD_Bay = 0x0,
5219 PLD_Ejectable = 0x0,
5220 PLD_EjectRequired = 0x0,
5221 PLD_CabinetNumber = 0x0,
5222 PLD_CardCageNumber = 0x0,
5223 PLD_Reference = 0x0,
5224 PLD_Rotation = 0x0,
5225 PLD_Order = 0x0,
5226 PLD_VerticalOffset = 0x0,
5227 PLD_HorizontalOffset = 0x0)
5228
5229 })
5230 Alias (SBV1, SDGV)
5231 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
5232 {
5233 Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
5234 If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
5235 {
5236 While (One)
5237 {
5238 _T_0 = ToInteger (Arg2)
5239 If ((_T_0 == Zero))
5240 {
5241 If ((Arg1 == One))
5242 {
5243 Return (Buffer (One)
5244 {
5245 0x07 /* . */
5246 })
5247 }
5248 Else
5249 {
5250 Return (Buffer (One)
5251 {
5252 0x00 /* . */
5253 })
5254 }
5255 }
5256 Else
5257 {
5258 If ((_T_0 == One))
5259 {
5260 If ((SDGV == 0xFF))
5261 {
5262 Return (Zero)
5263 }
5264 Else
5265 {
5266 Return (One)
5267 }
5268 }
5269 Else
5270 {
5271 If ((_T_0 == 0x02))
5272 {
5273 Return (SDGV) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR12.SDGV */
5274 }
5275 }
5276 }
5277
5278 Break
5279 }
5280 }
5281
5282 Return (Zero)
5283 }
5284 }
5285
5286 Device (PR13)
5287 {
5288 Name (_ADR, 0x03) // _ADR: Address
5289 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
5290 {
5291 0xFF,
5292 0xFF,
5293 Zero,
5294 Zero
5295 })
5296 Name (_PLD, Package (0x01) // _PLD: Physical Location of Device
5297 {
5298 ToPLD (
5299 PLD_Revision = 0x1,
5300 PLD_IgnoreColor = 0x1,
5301 PLD_Red = 0x0,
5302 PLD_Green = 0x0,
5303 PLD_Blue = 0x0,
5304 PLD_Width = 0x0,
5305 PLD_Height = 0x0,
5306 PLD_UserVisible = 0x0,
5307 PLD_Dock = 0x0,
5308 PLD_Lid = 0x0,
5309 PLD_Panel = "UNKNOWN",
5310 PLD_VerticalPosition = "LOWER",
5311 PLD_HorizontalPosition = "CENTER",
5312 PLD_Shape = "HORIZONTALTRAPEZOID",
5313 PLD_GroupOrientation = 0x0,
5314 PLD_GroupToken = 0x0,
5315 PLD_GroupPosition = 0x0,
5316 PLD_Bay = 0x0,
5317 PLD_Ejectable = 0x0,
5318 PLD_EjectRequired = 0x0,
5319 PLD_CabinetNumber = 0x0,
5320 PLD_CardCageNumber = 0x0,
5321 PLD_Reference = 0x0,
5322 PLD_Rotation = 0x0,
5323 PLD_Order = 0x0,
5324 PLD_VerticalOffset = 0x0,
5325 PLD_HorizontalOffset = 0x0)
5326
5327 })
5328 Alias (SBV2, SDGV)
5329 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
5330 {
5331 Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
5332 If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
5333 {
5334 While (One)
5335 {
5336 _T_0 = ToInteger (Arg2)
5337 If ((_T_0 == Zero))
5338 {
5339 If ((Arg1 == One))
5340 {
5341 Return (Buffer (One)
5342 {
5343 0x07 /* . */
5344 })
5345 }
5346 Else
5347 {
5348 Return (Buffer (One)
5349 {
5350 0x00 /* . */
5351 })
5352 }
5353 }
5354 Else
5355 {
5356 If ((_T_0 == One))
5357 {
5358 If ((SDGV == 0xFF))
5359 {
5360 Return (Zero)
5361 }
5362 Else
5363 {
5364 Return (One)
5365 }
5366 }
5367 Else
5368 {
5369 If ((_T_0 == 0x02))
5370 {
5371 Return (SDGV) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR13.SDGV */
5372 }
5373 }
5374 }
5375
5376 Break
5377 }
5378 }
5379
5380 Return (Zero)
5381 }
5382 }
5383
5384 Device (PR14)
5385 {
5386 Name (_ADR, 0x04) // _ADR: Address
5387 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
5388 {
5389 0xFF,
5390 0xFF,
5391 Zero,
5392 Zero
5393 })
5394 Name (_PLD, Package (0x01) // _PLD: Physical Location of Device
5395 {
5396 ToPLD (
5397 PLD_Revision = 0x1,
5398 PLD_IgnoreColor = 0x1,
5399 PLD_Red = 0x0,
5400 PLD_Green = 0x0,
5401 PLD_Blue = 0x0,
5402 PLD_Width = 0x0,
5403 PLD_Height = 0x0,
5404 PLD_UserVisible = 0x0,
5405 PLD_Dock = 0x0,
5406 PLD_Lid = 0x0,
5407 PLD_Panel = "UNKNOWN",
5408 PLD_VerticalPosition = "LOWER",
5409 PLD_HorizontalPosition = "CENTER",
5410 PLD_Shape = "HORIZONTALTRAPEZOID",
5411 PLD_GroupOrientation = 0x0,
5412 PLD_GroupToken = 0x0,
5413 PLD_GroupPosition = 0x0,
5414 PLD_Bay = 0x0,
5415 PLD_Ejectable = 0x0,
5416 PLD_EjectRequired = 0x0,
5417 PLD_CabinetNumber = 0x0,
5418 PLD_CardCageNumber = 0x0,
5419 PLD_Reference = 0x0,
5420 PLD_Rotation = 0x0,
5421 PLD_Order = 0x0,
5422 PLD_VerticalOffset = 0x0,
5423 PLD_HorizontalOffset = 0x0)
5424
5425 })
5426 }
5427
5428 Device (PR15)
5429 {
5430 Name (_ADR, 0x05) // _ADR: Address
5431 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
5432 {
5433 Zero,
5434 0xFF,
5435 Zero,
5436 Zero
5437 })
5438 }
5439
5440 Device (PR16)
5441 {
5442 Name (_ADR, 0x06) // _ADR: Address
5443 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
5444 {
5445 0xFF,
5446 0xFF,
5447 Zero,
5448 Zero
5449 })
5450 Name (_PLD, Package (0x01) // _PLD: Physical Location of Device
5451 {
5452 ToPLD (
5453 PLD_Revision = 0x1,
5454 PLD_IgnoreColor = 0x1,
5455 PLD_Red = 0x0,
5456 PLD_Green = 0x0,
5457 PLD_Blue = 0x0,
5458 PLD_Width = 0x0,
5459 PLD_Height = 0x0,
5460 PLD_UserVisible = 0x0,
5461 PLD_Dock = 0x0,
5462 PLD_Lid = 0x0,
5463 PLD_Panel = "UNKNOWN",
5464 PLD_VerticalPosition = "LOWER",
5465 PLD_HorizontalPosition = "CENTER",
5466 PLD_Shape = "HORIZONTALTRAPEZOID",
5467 PLD_GroupOrientation = 0x0,
5468 PLD_GroupToken = 0x0,
5469 PLD_GroupPosition = 0x0,
5470 PLD_Bay = 0x0,
5471 PLD_Ejectable = 0x0,
5472 PLD_EjectRequired = 0x0,
5473 PLD_CabinetNumber = 0x0,
5474 PLD_CardCageNumber = 0x0,
5475 PLD_Reference = 0x0,
5476 PLD_Rotation = 0x0,
5477 PLD_Order = 0x0,
5478 PLD_VerticalOffset = 0x0,
5479 PLD_HorizontalOffset = 0x0)
5480
5481 })
5482 }
5483 }
5484 }
5485
5486 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
5487 {
5488 0x0D,
5489 0x03
5490 })
5491 }
5492
5493 Device (XHC)
5494 {
5495 Name (_ADR, 0x00140000) // _ADR: Address
5496 OperationRegion (XPRT, PCI_Config, 0x74, 0x6C)
5497 Field (XPRT, DWordAcc, NoLock, Preserve)
5498 {
5499 Offset (0x01),
5500 PMEE, 1,
5501 , 6,
5502 PMES, 1,
5503 Offset (0x5C),
5504 PR2, 32,
5505 PR2M, 32,
5506 PR3, 32,
5507 PR3M, 32
5508 }
5509
5510 Name (XRST, Zero)
5511 Method (CUID, 1, Serialized)
5512 {
5513 If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71")))
5514 {
5515 Return (One)
5516 }
5517
5518 Return (Zero)
5519 }
5520
5521 Method (POSC, 3, Serialized)
5522 {
5523 CreateDWordField (Arg2, Zero, CDW1)
5524 CreateDWordField (Arg2, 0x08, CDW3)
5525 If ((Arg1 != One))
5526 {
5527 CDW1 |= 0x08
5528 }
5529
5530 If ((XHCI == Zero))
5531 {
5532 CDW1 |= 0x02
5533 }
5534
5535 If (!(CDW1 & One))
5536 {
5537 If ((CDW3 & One))
5538 {
5539 ESEL ()
5540 }
5541 Else
5542 {
5543 XSEL ()
5544 }
5545 }
5546
5547 Return (Arg2)
5548 }
5549
5550 Method (XSEL, 0, Serialized)
5551 {
5552 If (((XHCI == 0x02) || (XHCI == 0x03)))
5553 {
5554 XUSB = One
5555 XRST = One
5556 Local0 = Zero
5557 Local0 = (PR3 & 0xFFFFFFF0)
5558 Local0 |= XHPM /* \XHPM */
5559 PR3 = (Local0 & PR3M) /* \_SB_.PCI0.XHC_.PR3M */
5560 Local0 = Zero
5561 Local0 = (PR2 & 0xFFFFFFF0)
5562 Local0 |= XHPM /* \XHPM */
5563 PR2 = (Local0 & PR2M) /* \_SB_.PCI0.XHC_.PR2M */
5564 }
5565 }
5566
5567 Method (ESEL, 0, Serialized)
5568 {
5569 If (((XHCI == 0x02) || (XHCI == 0x03)))
5570 {
5571 PR3 &= 0xFFFFFFF0
5572 PR2 &= 0xFFFFFFF0
5573 XUSB = Zero
5574 XRST = Zero
5575 }
5576 }
5577
5578 Method (XWAK, 0, Serialized)
5579 {
5580 If (((XUSB == One) || (XRST == One)))
5581 {
5582 XSEL ()
5583 }
5584 }
5585
5586 Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
5587 {
5588 Return (0x02)
5589 }
5590
5591 Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State
5592 {
5593 Return (0x02)
5594 }
5595
5596 Device (RHUB)
5597 {
5598 Name (_ADR, Zero) // _ADR: Address
5599 Device (HSP1)
5600 {
5601 Name (_ADR, One) // _ADR: Address
5602 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
5603 {
5604 Name (UPCP, Package (0x04)
5605 {
5606 0xFF,
5607 0x03,
5608 Zero,
5609 Zero
5610 })
5611 If (!(PR2 & One))
5612 {
5613 Index (UPCP, Zero) = Zero
5614 }
5615
5616 Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HSP1._UPC.UPCP */
5617 }
5618
5619 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
5620 {
5621 Name (PLDP, Package (0x01)
5622 {
5623 Buffer (0x10)
5624 {
5625 /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */
5626 /* 0008 */ 0x69, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00 /* i....... */
5627 }
5628 })
5629 CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
5630 If (!(PR2 & One))
5631 {
5632 VIS &= Zero
5633 }
5634
5635 Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HSP1._PLD.PLDP */
5636 }
5637 }
5638
5639 Device (HSP2)
5640 {
5641 Name (_ADR, 0x02) // _ADR: Address
5642 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
5643 {
5644 Name (UPCP, Package (0x04)
5645 {
5646 0xFF,
5647 0x03,
5648 Zero,
5649 Zero
5650 })
5651 If (!(PR2 & 0x02))
5652 {
5653 Index (UPCP, Zero) = Zero
5654 }
5655
5656 Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HSP2._UPC.UPCP */
5657 }
5658
5659 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
5660 {
5661 Name (PLDP, Package (0x01)
5662 {
5663 Buffer (0x10)
5664 {
5665 /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */
5666 /* 0008 */ 0x69, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 /* i....... */
5667 }
5668 })
5669 CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
5670 If (!(PR2 & 0x02))
5671 {
5672 VIS &= Zero
5673 }
5674
5675 Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HSP2._PLD.PLDP */
5676 }
5677 }
5678
5679 Device (HSP3)
5680 {
5681 Name (_ADR, 0x03) // _ADR: Address
5682 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
5683 {
5684 Name (UPCP, Package (0x04)
5685 {
5686 0xFF,
5687 0x03,
5688 Zero,
5689 Zero
5690 })
5691 If (!(PR2 & 0x04))
5692 {
5693 Index (UPCP, Zero) = Zero
5694 }
5695
5696 Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HSP3._UPC.UPCP */
5697 }
5698
5699 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
5700 {
5701 Name (PLDP, Package (0x01)
5702 {
5703 Buffer (0x10)
5704 {
5705 /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */
5706 /* 0008 */ 0x69, 0x0C, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00 /* i....... */
5707 }
5708 })
5709 CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
5710 If (!(PR2 & 0x04))
5711 {
5712 VIS &= Zero
5713 }
5714
5715 Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HSP3._PLD.PLDP */
5716 }
5717 }
5718
5719 Device (HSP4)
5720 {
5721 Name (_ADR, 0x04) // _ADR: Address
5722 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
5723 {
5724 Name (UPCP, Package (0x04)
5725 {
5726 0xFF,
5727 0x03,
5728 Zero,
5729 Zero
5730 })
5731 If (!(PR2 & 0x08))
5732 {
5733 Index (UPCP, Zero) = Zero
5734 }
5735
5736 Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HSP4._UPC.UPCP */
5737 }
5738
5739 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
5740 {
5741 Name (PLDP, Package (0x01)
5742 {
5743 Buffer (0x10)
5744 {
5745 /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */
5746 /* 0008 */ 0x69, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 /* i....... */
5747 }
5748 })
5749 CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
5750 If (!(PR2 & 0x08))
5751 {
5752 VIS &= Zero
5753 }
5754
5755 Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HSP4._PLD.PLDP */
5756 }
5757 }
5758
5759 Device (SSP1)
5760 {
5761 Name (_ADR, 0x05) // _ADR: Address
5762 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
5763 {
5764 Name (UPCP, Package (0x04)
5765 {
5766 0xFF,
5767 0x03,
5768 Zero,
5769 Zero
5770 })
5771 If (!(PR3 & One))
5772 {
5773 Index (UPCP, Zero) = Zero
5774 }
5775
5776 Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP1._UPC.UPCP */
5777 }
5778
5779 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
5780 {
5781 Name (PLDP, Package (0x01)
5782 {
5783 Buffer (0x10)
5784 {
5785 /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */
5786 /* 0008 */ 0x69, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00 /* i....... */
5787 }
5788 })
5789 CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
5790 If (!(PR3 & One))
5791 {
5792 VIS &= Zero
5793 }
5794
5795 Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP1._PLD.PLDP */
5796 }
5797 }
5798
5799 Device (SSP2)
5800 {
5801 Name (_ADR, 0x06) // _ADR: Address
5802 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
5803 {
5804 Name (UPCP, Package (0x04)
5805 {
5806 0xFF,
5807 0x03,
5808 Zero,
5809 Zero
5810 })
5811 If (!(PR3 & 0x02))
5812 {
5813 Index (UPCP, Zero) = Zero
5814 }
5815
5816 Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP2._UPC.UPCP */
5817 }
5818
5819 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
5820 {
5821 Name (PLDP, Package (0x01)
5822 {
5823 Buffer (0x10)
5824 {
5825 /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */
5826 /* 0008 */ 0x69, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 /* i....... */
5827 }
5828 })
5829 CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
5830 If (!(PR3 & 0x02))
5831 {
5832 VIS &= Zero
5833 }
5834
5835 Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP2._PLD.PLDP */
5836 }
5837 }
5838
5839 Device (SSP3)
5840 {
5841 Name (_ADR, 0x07) // _ADR: Address
5842 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
5843 {
5844 Name (UPCP, Package (0x04)
5845 {
5846 0xFF,
5847 0x03,
5848 Zero,
5849 Zero
5850 })
5851 If (!(PR3 & 0x04))
5852 {
5853 Index (UPCP, Zero) = Zero
5854 }
5855
5856 Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP3._UPC.UPCP */
5857 }
5858
5859 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
5860 {
5861 Name (PLDP, Package (0x01)
5862 {
5863 Buffer (0x10)
5864 {
5865 /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */
5866 /* 0008 */ 0x69, 0x0C, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00 /* i....... */
5867 }
5868 })
5869 CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
5870 If (!(PR3 & 0x04))
5871 {
5872 VIS &= Zero
5873 }
5874
5875 Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP3._PLD.PLDP */
5876 }
5877 }
5878
5879 Device (SSP4)
5880 {
5881 Name (_ADR, 0x08) // _ADR: Address
5882 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
5883 {
5884 Name (UPCP, Package (0x04)
5885 {
5886 0xFF,
5887 0x03,
5888 Zero,
5889 Zero
5890 })
5891 If (!(PR3 & 0x08))
5892 {
5893 Index (UPCP, Zero) = Zero
5894 }
5895
5896 Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP4._UPC.UPCP */
5897 }
5898
5899 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
5900 {
5901 Name (PLDP, Package (0x01)
5902 {
5903 Buffer (0x10)
5904 {
5905 /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */
5906 /* 0008 */ 0x69, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 /* i....... */
5907 }
5908 })
5909 CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
5910 If (!(PR3 & 0x08))
5911 {
5912 VIS &= Zero
5913 }
5914
5915 Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP4._PLD.PLDP */
5916 }
5917 }
5918 }
5919
5920 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
5921 {
5922 0x0D,
5923 0x03
5924 })
5925 }
5926
5927 Device (HDEF)
5928 {
5929 Name (_ADR, 0x001B0000) // _ADR: Address
5930 OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
5931 Field (HDAR, WordAcc, NoLock, Preserve)
5932 {
5933 DCKA, 1,
5934 Offset (0x01),
5935 DCKM, 1,
5936 , 6,
5937 DCKS, 1,
5938 Offset (0x08),
5939 , 15,
5940 PMES, 1
5941 }
5942
5943 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
5944 {
5945 0x0D,
5946 Zero
5947 })
5948 }
5949
5950 Device (RP01)
5951 {
5952 Name (_ADR, 0x001C0000) // _ADR: Address
5953 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
5954 Field (PXCS, AnyAcc, NoLock, Preserve)
5955 {
5956 Offset (0x10),
5957 L0SE, 1,
5958 Offset (0x11),
5959 Offset (0x12),
5960 , 13,
5961 LASX, 1,
5962 Offset (0x1A),
5963 ABPX, 1,
5964 , 2,
5965 PDCX, 1,
5966 , 2,
5967 PDSX, 1,
5968 Offset (0x1B),
5969 Offset (0x20),
5970 Offset (0x22),
5971 PSPX, 1,
5972 Offset (0x98),
5973 , 30,
5974 HPEX, 1,
5975 PMEX, 1
5976 }
5977
5978 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
5979 {
5980 Offset (0x9C),
5981 , 30,
5982 HPSX, 1,
5983 PMSX, 1
5984 }
5985
5986 Device (PXSX)
5987 {
5988 Name (_ADR, Zero) // _ADR: Address
5989 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
5990 {
5991 0x09,
5992 0x03
5993 })
5994 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
5995 {
5996 If (^^^LPCB.ECOK ())
5997 {
5998 If (Arg0)
5999 {
6000 ^^^LPCB.EC0.PWAK = One
6001 }
6002 Else
6003 {
6004 ^^^LPCB.EC0.PWAK = Zero
6005 }
6006 }
6007 }
6008 }
6009
6010 Method (HPME, 0, Serialized)
6011 {
6012 If (PMSX)
6013 {
6014 Local0 = 0xC8
6015 While (Local0)
6016 {
6017 PMSX = One
6018 If (PMSX)
6019 {
6020 Local0--
6021 }
6022 Else
6023 {
6024 Local0 = Zero
6025 }
6026 }
6027
6028 Notify (PXSX, 0x02) // Device Wake
6029 }
6030 }
6031
6032 Name (PR05, Package (0x04)
6033 {
6034 Package (0x04)
6035 {
6036 0xFFFF,
6037 Zero,
6038 LNKA,
6039 Zero
6040 },
6041
6042 Package (0x04)
6043 {
6044 0xFFFF,
6045 One,
6046 LNKB,
6047 Zero
6048 },
6049
6050 Package (0x04)
6051 {
6052 0xFFFF,
6053 0x02,
6054 LNKC,
6055 Zero
6056 },
6057
6058 Package (0x04)
6059 {
6060 0xFFFF,
6061 0x03,
6062 LNKD,
6063 Zero
6064 }
6065 })
6066 Name (AR05, Package (0x04)
6067 {
6068 Package (0x04)
6069 {
6070 0xFFFF,
6071 Zero,
6072 Zero,
6073 0x10
6074 },
6075
6076 Package (0x04)
6077 {
6078 0xFFFF,
6079 One,
6080 Zero,
6081 0x11
6082 },
6083
6084 Package (0x04)
6085 {
6086 0xFFFF,
6087 0x02,
6088 Zero,
6089 0x12
6090 },
6091
6092 Package (0x04)
6093 {
6094 0xFFFF,
6095 0x03,
6096 Zero,
6097 0x13
6098 }
6099 })
6100 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
6101 {
6102 If (PICM)
6103 {
6104 Return (AR05) /* \_SB_.PCI0.RP01.AR05 */
6105 }
6106
6107 Return (PR05) /* \_SB_.PCI0.RP01.PR05 */
6108 }
6109 }
6110
6111 Device (RP02)
6112 {
6113 Name (_ADR, 0x001C0001) // _ADR: Address
6114 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
6115 Field (PXCS, AnyAcc, NoLock, Preserve)
6116 {
6117 Offset (0x10),
6118 L0SE, 1,
6119 Offset (0x11),
6120 Offset (0x12),
6121 , 13,
6122 LASX, 1,
6123 Offset (0x1A),
6124 ABPX, 1,
6125 , 2,
6126 PDCX, 1,
6127 , 2,
6128 PDSX, 1,
6129 Offset (0x1B),
6130 Offset (0x20),
6131 Offset (0x22),
6132 PSPX, 1,
6133 Offset (0x98),
6134 , 30,
6135 HPEX, 1,
6136 PMEX, 1
6137 }
6138
6139 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
6140 {
6141 Offset (0x9C),
6142 , 30,
6143 HPSX, 1,
6144 PMSX, 1
6145 }
6146
6147 Device (PXSX)
6148 {
6149 Name (_ADR, Zero) // _ADR: Address
6150 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
6151 {
6152 0x09,
6153 0x03
6154 })
6155 }
6156
6157 Method (HPME, 0, Serialized)
6158 {
6159 If (PMSX)
6160 {
6161 Local0 = 0xC8
6162 While (Local0)
6163 {
6164 PMSX = One
6165 If (PMSX)
6166 {
6167 Local0--
6168 }
6169 Else
6170 {
6171 Local0 = Zero
6172 }
6173 }
6174
6175 Notify (PXSX, 0x02) // Device Wake
6176 }
6177 }
6178
6179 Name (PR06, Package (0x04)
6180 {
6181 Package (0x04)
6182 {
6183 0xFFFF,
6184 Zero,
6185 LNKB,
6186 Zero
6187 },
6188
6189 Package (0x04)
6190 {
6191 0xFFFF,
6192 One,
6193 LNKC,
6194 Zero
6195 },
6196
6197 Package (0x04)
6198 {
6199 0xFFFF,
6200 0x02,
6201 LNKD,
6202 Zero
6203 },
6204
6205 Package (0x04)
6206 {
6207 0xFFFF,
6208 0x03,
6209 LNKA,
6210 Zero
6211 }
6212 })
6213 Name (AR06, Package (0x04)
6214 {
6215 Package (0x04)
6216 {
6217 0xFFFF,
6218 Zero,
6219 Zero,
6220 0x11
6221 },
6222
6223 Package (0x04)
6224 {
6225 0xFFFF,
6226 One,
6227 Zero,
6228 0x12
6229 },
6230
6231 Package (0x04)
6232 {
6233 0xFFFF,
6234 0x02,
6235 Zero,
6236 0x13
6237 },
6238
6239 Package (0x04)
6240 {
6241 0xFFFF,
6242 0x03,
6243 Zero,
6244 0x10
6245 }
6246 })
6247 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
6248 {
6249 If (PICM)
6250 {
6251 Return (AR06) /* \_SB_.PCI0.RP02.AR06 */
6252 }
6253
6254 Return (PR06) /* \_SB_.PCI0.RP02.PR06 */
6255 }
6256 }
6257
6258 Device (RP03)
6259 {
6260 Name (_ADR, 0x001C0002) // _ADR: Address
6261 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
6262 Field (PXCS, AnyAcc, NoLock, Preserve)
6263 {
6264 Offset (0x10),
6265 L0SE, 1,
6266 Offset (0x11),
6267 Offset (0x12),
6268 , 13,
6269 LASX, 1,
6270 Offset (0x1A),
6271 ABPX, 1,
6272 , 2,
6273 PDCX, 1,
6274 , 2,
6275 PDSX, 1,
6276 Offset (0x1B),
6277 Offset (0x20),
6278 Offset (0x22),
6279 PSPX, 1,
6280 Offset (0x98),
6281 , 30,
6282 HPEX, 1,
6283 PMEX, 1
6284 }
6285
6286 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
6287 {
6288 Offset (0x9C),
6289 , 30,
6290 HPSX, 1,
6291 PMSX, 1
6292 }
6293
6294 Device (PXSX)
6295 {
6296 Name (_ADR, Zero) // _ADR: Address
6297 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
6298 {
6299 0x09,
6300 0x03
6301 })
6302 }
6303
6304 Method (HPME, 0, Serialized)
6305 {
6306 If (PMSX)
6307 {
6308 Local0 = 0xC8
6309 While (Local0)
6310 {
6311 PMSX = One
6312 If (PMSX)
6313 {
6314 Local0--
6315 }
6316 Else
6317 {
6318 Local0 = Zero
6319 }
6320 }
6321
6322 Notify (PXSX, 0x02) // Device Wake
6323 }
6324 }
6325
6326 Name (PR07, Package (0x04)
6327 {
6328 Package (0x04)
6329 {
6330 0xFFFF,
6331 Zero,
6332 LNKC,
6333 Zero
6334 },
6335
6336 Package (0x04)
6337 {
6338 0xFFFF,
6339 One,
6340 LNKD,
6341 Zero
6342 },
6343
6344 Package (0x04)
6345 {
6346 0xFFFF,
6347 0x02,
6348 LNKA,
6349 Zero
6350 },
6351
6352 Package (0x04)
6353 {
6354 0xFFFF,
6355 0x03,
6356 LNKB,
6357 Zero
6358 }
6359 })
6360 Name (AR07, Package (0x04)
6361 {
6362 Package (0x04)
6363 {
6364 0xFFFF,
6365 Zero,
6366 Zero,
6367 0x12
6368 },
6369
6370 Package (0x04)
6371 {
6372 0xFFFF,
6373 One,
6374 Zero,
6375 0x13
6376 },
6377
6378 Package (0x04)
6379 {
6380 0xFFFF,
6381 0x02,
6382 Zero,
6383 0x10
6384 },
6385
6386 Package (0x04)
6387 {
6388 0xFFFF,
6389 0x03,
6390 Zero,
6391 0x11
6392 }
6393 })
6394 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
6395 {
6396 If (PICM)
6397 {
6398 Return (AR07) /* \_SB_.PCI0.RP03.AR07 */
6399 }
6400
6401 Return (PR07) /* \_SB_.PCI0.RP03.PR07 */
6402 }
6403 }
6404
6405 Device (RP04)
6406 {
6407 Name (_ADR, 0x001C0003) // _ADR: Address
6408 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
6409 Field (PXCS, AnyAcc, NoLock, Preserve)
6410 {
6411 Offset (0x10),
6412 L0SE, 1,
6413 Offset (0x11),
6414 Offset (0x12),
6415 , 13,
6416 LASX, 1,
6417 Offset (0x1A),
6418 ABPX, 1,
6419 , 2,
6420 PDCX, 1,
6421 , 2,
6422 PDSX, 1,
6423 Offset (0x1B),
6424 Offset (0x20),
6425 Offset (0x22),
6426 PSPX, 1,
6427 Offset (0x98),
6428 , 30,
6429 HPEX, 1,
6430 PMEX, 1
6431 }
6432
6433 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
6434 {
6435 Offset (0x9C),
6436 , 30,
6437 HPSX, 1,
6438 PMSX, 1
6439 }
6440
6441 Device (PXSX)
6442 {
6443 Name (_ADR, Zero) // _ADR: Address
6444 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
6445 {
6446 0x09,
6447 0x03
6448 })
6449 }
6450
6451 Method (HPME, 0, Serialized)
6452 {
6453 If (PMSX)
6454 {
6455 Local0 = 0xC8
6456 While (Local0)
6457 {
6458 PMSX = One
6459 If (PMSX)
6460 {
6461 Local0--
6462 }
6463 Else
6464 {
6465 Local0 = Zero
6466 }
6467 }
6468
6469 Notify (PXSX, 0x02) // Device Wake
6470 }
6471 }
6472
6473 Name (PR08, Package (0x04)
6474 {
6475 Package (0x04)
6476 {
6477 0xFFFF,
6478 Zero,
6479 LNKD,
6480 Zero
6481 },
6482
6483 Package (0x04)
6484 {
6485 0xFFFF,
6486 One,
6487 LNKA,
6488 Zero
6489 },
6490
6491 Package (0x04)
6492 {
6493 0xFFFF,
6494 0x02,
6495 LNKB,
6496 Zero
6497 },
6498
6499 Package (0x04)
6500 {
6501 0xFFFF,
6502 0x03,
6503 LNKC,
6504 Zero
6505 }
6506 })
6507 Name (AR08, Package (0x04)
6508 {
6509 Package (0x04)
6510 {
6511 0xFFFF,
6512 Zero,
6513 Zero,
6514 0x13
6515 },
6516
6517 Package (0x04)
6518 {
6519 0xFFFF,
6520 One,
6521 Zero,
6522 0x10
6523 },
6524
6525 Package (0x04)
6526 {
6527 0xFFFF,
6528 0x02,
6529 Zero,
6530 0x11
6531 },
6532
6533 Package (0x04)
6534 {
6535 0xFFFF,
6536 0x03,
6537 Zero,
6538 0x12
6539 }
6540 })
6541 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
6542 {
6543 If (PICM)
6544 {
6545 Return (AR08) /* \_SB_.PCI0.RP04.AR08 */
6546 }
6547
6548 Return (PR08) /* \_SB_.PCI0.RP04.PR08 */
6549 }
6550 }
6551
6552 Device (RP05)
6553 {
6554 Name (_ADR, 0x001C0004) // _ADR: Address
6555 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
6556 Field (PXCS, AnyAcc, NoLock, Preserve)
6557 {
6558 Offset (0x10),
6559 L0SE, 1,
6560 Offset (0x11),
6561 Offset (0x12),
6562 , 13,
6563 LASX, 1,
6564 Offset (0x1A),
6565 ABPX, 1,
6566 , 2,
6567 PDCX, 1,
6568 , 2,
6569 PDSX, 1,
6570 Offset (0x1B),
6571 Offset (0x20),
6572 Offset (0x22),
6573 PSPX, 1,
6574 Offset (0x98),
6575 , 30,
6576 HPEX, 1,
6577 PMEX, 1
6578 }
6579
6580 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
6581 {
6582 Offset (0x9C),
6583 , 30,
6584 HPSX, 1,
6585 PMSX, 1
6586 }
6587
6588 Device (PXSX)
6589 {
6590 Name (_ADR, Zero) // _ADR: Address
6591 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
6592 {
6593 0x09,
6594 0x03
6595 })
6596 }
6597
6598 Method (HPME, 0, Serialized)
6599 {
6600 If (PMSX)
6601 {
6602 Local0 = 0xC8
6603 While (Local0)
6604 {
6605 PMSX = One
6606 If (PMSX)
6607 {
6608 Local0--
6609 }
6610 Else
6611 {
6612 Local0 = Zero
6613 }
6614 }
6615
6616 Notify (PXSX, 0x02) // Device Wake
6617 }
6618 }
6619
6620 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
6621 {
6622 If (PMEE)
6623 {
6624 Return (Package (0x02)
6625 {
6626 0x09,
6627 0x04
6628 })
6629 }
6630 Else
6631 {
6632 Return (Package (0x02)
6633 {
6634 0x09,
6635 Zero
6636 })
6637 }
6638 }
6639
6640 Name (PR09, Package (0x04)
6641 {
6642 Package (0x04)
6643 {
6644 0xFFFF,
6645 Zero,
6646 LNKA,
6647 Zero
6648 },
6649
6650 Package (0x04)
6651 {
6652 0xFFFF,
6653 One,
6654 LNKB,
6655 Zero
6656 },
6657
6658 Package (0x04)
6659 {
6660 0xFFFF,
6661 0x02,
6662 LNKC,
6663 Zero
6664 },
6665
6666 Package (0x04)
6667 {
6668 0xFFFF,
6669 0x03,
6670 LNKD,
6671 Zero
6672 }
6673 })
6674 Name (AR09, Package (0x04)
6675 {
6676 Package (0x04)
6677 {
6678 0xFFFF,
6679 Zero,
6680 Zero,
6681 0x10
6682 },
6683
6684 Package (0x04)
6685 {
6686 0xFFFF,
6687 One,
6688 Zero,
6689 0x11
6690 },
6691
6692 Package (0x04)
6693 {
6694 0xFFFF,
6695 0x02,
6696 Zero,
6697 0x12
6698 },
6699
6700 Package (0x04)
6701 {
6702 0xFFFF,
6703 0x03,
6704 Zero,
6705 0x13
6706 }
6707 })
6708 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
6709 {
6710 If (PICM)
6711 {
6712 Return (AR09) /* \_SB_.PCI0.RP05.AR09 */
6713 }
6714
6715 Return (PR09) /* \_SB_.PCI0.RP05.PR09 */
6716 }
6717 }
6718
6719 Device (RP06)
6720 {
6721 Name (_ADR, 0x001C0005) // _ADR: Address
6722 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
6723 Field (PXCS, AnyAcc, NoLock, Preserve)
6724 {
6725 Offset (0x10),
6726 L0SE, 1,
6727 Offset (0x11),
6728 Offset (0x12),
6729 , 13,
6730 LASX, 1,
6731 Offset (0x1A),
6732 ABPX, 1,
6733 , 2,
6734 PDCX, 1,
6735 , 2,
6736 PDSX, 1,
6737 Offset (0x1B),
6738 Offset (0x20),
6739 Offset (0x22),
6740 PSPX, 1,
6741 Offset (0x98),
6742 , 30,
6743 HPEX, 1,
6744 PMEX, 1
6745 }
6746
6747 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
6748 {
6749 Offset (0x9C),
6750 , 30,
6751 HPSX, 1,
6752 PMSX, 1
6753 }
6754
6755 Device (PXSX)
6756 {
6757 Name (_ADR, Zero) // _ADR: Address
6758 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
6759 {
6760 0x09,
6761 0x03
6762 })
6763 }
6764
6765 Method (HPME, 0, Serialized)
6766 {
6767 If (PMSX)
6768 {
6769 Local0 = 0xC8
6770 While (Local0)
6771 {
6772 PMSX = One
6773 If (PMSX)
6774 {
6775 Local0--
6776 }
6777 Else
6778 {
6779 Local0 = Zero
6780 }
6781 }
6782
6783 Notify (PXSX, 0x02) // Device Wake
6784 }
6785 }
6786
6787 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
6788 {
6789 If (PMEE)
6790 {
6791 Return (Package (0x02)
6792 {
6793 0x09,
6794 0x04
6795 })
6796 }
6797 Else
6798 {
6799 Return (Package (0x02)
6800 {
6801 0x09,
6802 Zero
6803 })
6804 }
6805 }
6806
6807 Name (PR0C, Package (0x04)
6808 {
6809 Package (0x04)
6810 {
6811 0xFFFF,
6812 Zero,
6813 LNKB,
6814 Zero
6815 },
6816
6817 Package (0x04)
6818 {
6819 0xFFFF,
6820 One,
6821 LNKC,
6822 Zero
6823 },
6824
6825 Package (0x04)
6826 {
6827 0xFFFF,
6828 0x02,
6829 LNKD,
6830 Zero
6831 },
6832
6833 Package (0x04)
6834 {
6835 0xFFFF,
6836 0x03,
6837 LNKA,
6838 Zero
6839 }
6840 })
6841 Name (AR0C, Package (0x04)
6842 {
6843 Package (0x04)
6844 {
6845 0xFFFF,
6846 Zero,
6847 Zero,
6848 0x11
6849 },
6850
6851 Package (0x04)
6852 {
6853 0xFFFF,
6854 One,
6855 Zero,
6856 0x12
6857 },
6858
6859 Package (0x04)
6860 {
6861 0xFFFF,
6862 0x02,
6863 Zero,
6864 0x13
6865 },
6866
6867 Package (0x04)
6868 {
6869 0xFFFF,
6870 0x03,
6871 Zero,
6872 0x10
6873 }
6874 })
6875 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
6876 {
6877 If (PICM)
6878 {
6879 Return (AR0C) /* \_SB_.PCI0.RP06.AR0C */
6880 }
6881
6882 Return (PR0C) /* \_SB_.PCI0.RP06.PR0C */
6883 }
6884 }
6885
6886 Device (RP07)
6887 {
6888 Name (_ADR, 0x001C0006) // _ADR: Address
6889 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
6890 Field (PXCS, AnyAcc, NoLock, Preserve)
6891 {
6892 Offset (0x10),
6893 L0SE, 1,
6894 Offset (0x11),
6895 Offset (0x12),
6896 , 13,
6897 LASX, 1,
6898 Offset (0x1A),
6899 ABPX, 1,
6900 , 2,
6901 PDCX, 1,
6902 , 2,
6903 PDSX, 1,
6904 Offset (0x1B),
6905 Offset (0x20),
6906 Offset (0x22),
6907 PSPX, 1,
6908 Offset (0x98),
6909 , 30,
6910 HPEX, 1,
6911 PMEX, 1
6912 }
6913
6914 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
6915 {
6916 Offset (0x9C),
6917 , 30,
6918 HPSX, 1,
6919 PMSX, 1
6920 }
6921
6922 Device (PXSX)
6923 {
6924 Name (_ADR, Zero) // _ADR: Address
6925 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
6926 {
6927 0x09,
6928 0x03
6929 })
6930 }
6931
6932 Method (HPME, 0, Serialized)
6933 {
6934 If (PMSX)
6935 {
6936 Local0 = 0xC8
6937 While (Local0)
6938 {
6939 PMSX = One
6940 If (PMSX)
6941 {
6942 Local0--
6943 }
6944 Else
6945 {
6946 Local0 = Zero
6947 }
6948 }
6949
6950 Notify (PXSX, 0x02) // Device Wake
6951 }
6952 }
6953
6954 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
6955 {
6956 If (PMEE)
6957 {
6958 Return (Package (0x02)
6959 {
6960 0x09,
6961 0x04
6962 })
6963 }
6964 Else
6965 {
6966 Return (Package (0x02)
6967 {
6968 0x09,
6969 Zero
6970 })
6971 }
6972 }
6973
6974 Name (PR0D, Package (0x04)
6975 {
6976 Package (0x04)
6977 {
6978 0xFFFF,
6979 Zero,
6980 LNKC,
6981 Zero
6982 },
6983
6984 Package (0x04)
6985 {
6986 0xFFFF,
6987 One,
6988 LNKD,
6989 Zero
6990 },
6991
6992 Package (0x04)
6993 {
6994 0xFFFF,
6995 0x02,
6996 LNKE,
6997 Zero
6998 },
6999
7000 Package (0x04)
7001 {
7002 0xFFFF,
7003 0x03,
7004 LNKF,
7005 Zero
7006 }
7007 })
7008 Name (AR0D, Package (0x04)
7009 {
7010 Package (0x04)
7011 {
7012 0xFFFF,
7013 Zero,
7014 Zero,
7015 0x12
7016 },
7017
7018 Package (0x04)
7019 {
7020 0xFFFF,
7021 One,
7022 Zero,
7023 0x13
7024 },
7025
7026 Package (0x04)
7027 {
7028 0xFFFF,
7029 0x02,
7030 Zero,
7031 0x14
7032 },
7033
7034 Package (0x04)
7035 {
7036 0xFFFF,
7037 0x03,
7038 Zero,
7039 0x15
7040 }
7041 })
7042 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
7043 {
7044 If (PICM)
7045 {
7046 Return (AR0D) /* \_SB_.PCI0.RP07.AR0D */
7047 }
7048
7049 Return (PR0D) /* \_SB_.PCI0.RP07.PR0D */
7050 }
7051 }
7052
7053 Device (RP08)
7054 {
7055 Name (_ADR, 0x001C0007) // _ADR: Address
7056 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
7057 Field (PXCS, AnyAcc, NoLock, Preserve)
7058 {
7059 Offset (0x10),
7060 L0SE, 1,
7061 Offset (0x11),
7062 Offset (0x12),
7063 , 13,
7064 LASX, 1,
7065 Offset (0x1A),
7066 ABPX, 1,
7067 , 2,
7068 PDCX, 1,
7069 , 2,
7070 PDSX, 1,
7071 Offset (0x1B),
7072 Offset (0x20),
7073 Offset (0x22),
7074 PSPX, 1,
7075 Offset (0x98),
7076 , 30,
7077 HPEX, 1,
7078 PMEX, 1
7079 }
7080
7081 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
7082 {
7083 Offset (0x9C),
7084 , 30,
7085 HPSX, 1,
7086 PMSX, 1
7087 }
7088
7089 Device (PXSX)
7090 {
7091 Name (_ADR, Zero) // _ADR: Address
7092 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
7093 {
7094 0x09,
7095 0x03
7096 })
7097 }
7098
7099 Method (HPME, 0, Serialized)
7100 {
7101 If (PMSX)
7102 {
7103 Local0 = 0xC8
7104 While (Local0)
7105 {
7106 PMSX = One
7107 If (PMSX)
7108 {
7109 Local0--
7110 }
7111 Else
7112 {
7113 Local0 = Zero
7114 }
7115 }
7116
7117 Notify (PXSX, 0x02) // Device Wake
7118 }
7119 }
7120
7121 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
7122 {
7123 If (PMEE)
7124 {
7125 Return (Package (0x02)
7126 {
7127 0x09,
7128 0x04
7129 })
7130 }
7131 Else
7132 {
7133 Return (Package (0x02)
7134 {
7135 0x09,
7136 Zero
7137 })
7138 }
7139 }
7140
7141 Name (PR0E, Package (0x04)
7142 {
7143 Package (0x04)
7144 {
7145 0xFFFF,
7146 Zero,
7147 LNKD,
7148 Zero
7149 },
7150
7151 Package (0x04)
7152 {
7153 0xFFFF,
7154 One,
7155 LNKA,
7156 Zero
7157 },
7158
7159 Package (0x04)
7160 {
7161 0xFFFF,
7162 0x02,
7163 LNKB,
7164 Zero
7165 },
7166
7167 Package (0x04)
7168 {
7169 0xFFFF,
7170 0x03,
7171 LNKC,
7172 Zero
7173 }
7174 })
7175 Name (AR0E, Package (0x04)
7176 {
7177 Package (0x04)
7178 {
7179 0xFFFF,
7180 Zero,
7181 Zero,
7182 0x13
7183 },
7184
7185 Package (0x04)
7186 {
7187 0xFFFF,
7188 One,
7189 Zero,
7190 0x10
7191 },
7192
7193 Package (0x04)
7194 {
7195 0xFFFF,
7196 0x02,
7197 Zero,
7198 0x11
7199 },
7200
7201 Package (0x04)
7202 {
7203 0xFFFF,
7204 0x03,
7205 Zero,
7206 0x12
7207 }
7208 })
7209 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
7210 {
7211 If (PICM)
7212 {
7213 Return (AR0E) /* \_SB_.PCI0.RP08.AR0E */
7214 }
7215
7216 Return (PR0E) /* \_SB_.PCI0.RP08.PR0E */
7217 }
7218 }
7219
7220 Device (SAT0)
7221 {
7222 Name (_ADR, 0x001F0002) // _ADR: Address
7223 }
7224
7225 Device (SAT1)
7226 {
7227 Name (_ADR, 0x001F0005) // _ADR: Address
7228 }
7229
7230 Device (SBUS)
7231 {
7232 Name (_ADR, 0x001F0003) // _ADR: Address
7233 OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
7234 Field (SMBP, DWordAcc, NoLock, Preserve)
7235 {
7236 , 2,
7237 I2CE, 1
7238 }
7239
7240 OperationRegion (SMPB, PCI_Config, 0x20, 0x04)
7241 Field (SMPB, DWordAcc, NoLock, Preserve)
7242 {
7243 , 5,
7244 SBAR, 11
7245 }
7246
7247 OperationRegion (SMBI, SystemIO, (SBAR << 0x05), 0x10)
7248 Field (SMBI, ByteAcc, NoLock, Preserve)
7249 {
7250 HSTS, 8,
7251 Offset (0x02),
7252 HCON, 8,
7253 HCOM, 8,
7254 TXSA, 8,
7255 DAT0, 8,
7256 DAT1, 8,
7257 HBDR, 8,
7258 PECR, 8,
7259 RXSA, 8,
7260 SDAT, 16
7261 }
7262
7263 Method (SSXB, 2, Serialized)
7264 {
7265 If (STRT ())
7266 {
7267 Return (Zero)
7268 }
7269
7270 I2CE = Zero
7271 HSTS = 0xBF
7272 TXSA = Arg0
7273 HCOM = Arg1
7274 HCON = 0x48
7275 If (COMP ())
7276 {
7277 HSTS |= 0xFF
7278 Return (One)
7279 }
7280
7281 Return (Zero)
7282 }
7283
7284 Method (SRXB, 1, Serialized)
7285 {
7286 If (STRT ())
7287 {
7288 Return (0xFFFF)
7289 }
7290
7291 I2CE = Zero
7292 HSTS = 0xBF
7293 TXSA = (Arg0 | One)
7294 HCON = 0x44
7295 If (COMP ())
7296 {
7297 HSTS |= 0xFF
7298 Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */
7299 }
7300
7301 Return (0xFFFF)
7302 }
7303
7304 Method (SWRB, 3, Serialized)
7305 {
7306 If (STRT ())
7307 {
7308 Return (Zero)
7309 }
7310
7311 I2CE = Zero
7312 HSTS = 0xBF
7313 TXSA = Arg0
7314 HCOM = Arg1
7315 DAT0 = Arg2
7316 HCON = 0x48
7317 If (COMP ())
7318 {
7319 HSTS |= 0xFF
7320 Return (One)
7321 }
7322
7323 Return (Zero)
7324 }
7325
7326 Method (SRDB, 2, Serialized)
7327 {
7328 If (STRT ())
7329 {
7330 Return (0xFFFF)
7331 }
7332
7333 I2CE = Zero
7334 HSTS = 0xBF
7335 TXSA = (Arg0 | One)
7336 HCOM = Arg1
7337 HCON = 0x48
7338 If (COMP ())
7339 {
7340 HSTS |= 0xFF
7341 Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */
7342 }
7343
7344 Return (0xFFFF)
7345 }
7346
7347 Method (SWRW, 3, Serialized)
7348 {
7349 If (STRT ())
7350 {
7351 Return (Zero)
7352 }
7353
7354 I2CE = Zero
7355 HSTS = 0xBF
7356 TXSA = Arg0
7357 HCOM = Arg1
7358 DAT1 = (Arg2 & 0xFF)
7359 DAT0 = ((Arg2 >> 0x08) & 0xFF)
7360 HCON = 0x4C
7361 If (COMP ())
7362 {
7363 HSTS |= 0xFF
7364 Return (One)
7365 }
7366
7367 Return (Zero)
7368 }
7369
7370 Method (SRDW, 2, Serialized)
7371 {
7372 If (STRT ())
7373 {
7374 Return (0xFFFF)
7375 }
7376
7377 I2CE = Zero
7378 HSTS = 0xBF
7379 TXSA = (Arg0 | One)
7380 HCOM = Arg1
7381 HCON = 0x4C
7382 If (COMP ())
7383 {
7384 HSTS |= 0xFF
7385 Return (((DAT0 << 0x08) | DAT1))
7386 }
7387
7388 Return (Ones)
7389 }
7390
7391 Method (SBLW, 4, Serialized)
7392 {
7393 If (STRT ())
7394 {
7395 Return (Zero)
7396 }
7397
7398 I2CE = Arg3
7399 HSTS = 0xBF
7400 TXSA = Arg0
7401 HCOM = Arg1
7402 DAT0 = SizeOf (Arg2)
7403 Local1 = Zero
7404 HBDR = DerefOf (Index (Arg2, Zero))
7405 HCON = 0x54
7406 While ((SizeOf (Arg2) > Local1))
7407 {
7408 Local0 = 0x0FA0
7409 While ((!(HSTS & 0x80) && Local0))
7410 {
7411 Local0--
7412 Stall (0x32)
7413 }
7414
7415 If (!Local0)
7416 {
7417 KILL ()
7418 Return (Zero)
7419 }
7420
7421 HSTS = 0x80
7422 Local1++
7423 If ((SizeOf (Arg2) > Local1))
7424 {
7425 HBDR = DerefOf (Index (Arg2, Local1))
7426 }
7427 }
7428
7429 If (COMP ())
7430 {
7431 HSTS |= 0xFF
7432 Return (One)
7433 }
7434
7435 Return (Zero)
7436 }
7437
7438 Method (SBLR, 3, Serialized)
7439 {
7440 Name (TBUF, Buffer (0x0100) {})
7441 If (STRT ())
7442 {
7443 Return (Zero)
7444 }
7445
7446 I2CE = Arg2
7447 HSTS = 0xBF
7448 TXSA = (Arg0 | One)
7449 HCOM = Arg1
7450 HCON = 0x54
7451 Local0 = 0x0FA0
7452 While ((!(HSTS & 0x80) && Local0))
7453 {
7454 Local0--
7455 Stall (0x32)
7456 }
7457
7458 If (!Local0)
7459 {
7460 KILL ()
7461 Return (Zero)
7462 }
7463
7464 Index (TBUF, Zero) = DAT0 /* \_SB_.PCI0.SBUS.DAT0 */
7465 HSTS = 0x80
7466 Local1 = One
7467 While ((Local1 < DerefOf (Index (TBUF, Zero))))
7468 {
7469 Local0 = 0x0FA0
7470 While ((!(HSTS & 0x80) && Local0))
7471 {
7472 Local0--
7473 Stall (0x32)
7474 }
7475
7476 If (!Local0)
7477 {
7478 KILL ()
7479 Return (Zero)
7480 }
7481
7482 Index (TBUF, Local1) = HBDR /* \_SB_.PCI0.SBUS.HBDR */
7483 HSTS = 0x80
7484 Local1++
7485 }
7486
7487 If (COMP ())
7488 {
7489 HSTS |= 0xFF
7490 Return (TBUF) /* \_SB_.PCI0.SBUS.SBLR.TBUF */
7491 }
7492
7493 Return (Zero)
7494 }
7495
7496 Method (STRT, 0, Serialized)
7497 {
7498 Local0 = 0xC8
7499 While (Local0)
7500 {
7501 If ((HSTS & 0x40))
7502 {
7503 Local0--
7504 Sleep (One)
7505 If ((Local0 == Zero))
7506 {
7507 Return (One)
7508 }
7509 }
7510 Else
7511 {
7512 Local0 = Zero
7513 }
7514 }
7515
7516 Local0 = 0x0FA0
7517 While (Local0)
7518 {
7519 If ((HSTS & One))
7520 {
7521 Local0--
7522 Stall (0x32)
7523 If ((Local0 == Zero))
7524 {
7525 KILL ()
7526 }
7527 }
7528 Else
7529 {
7530 Return (Zero)
7531 }
7532 }
7533
7534 Return (One)
7535 }
7536
7537 Method (COMP, 0, Serialized)
7538 {
7539 Local0 = 0x0FA0
7540 While (Local0)
7541 {
7542 If ((HSTS & 0x02))
7543 {
7544 Return (One)
7545 }
7546 Else
7547 {
7548 Local0--
7549 Stall (0x32)
7550 If ((Local0 == Zero))
7551 {
7552 KILL ()
7553 }
7554 }
7555 }
7556
7557 Return (Zero)
7558 }
7559
7560 Method (KILL, 0, Serialized)
7561 {
7562 HCON |= 0x02
7563 HSTS |= 0xFF
7564 }
7565 }
7566 }
7567
7568 Name (BUFN, Zero)
7569 Name (MBUF, Buffer (0x1000) {})
7570 OperationRegion (MDBG, SystemMemory, 0xCAFB9018, 0x00001004)
7571 Field (MDBG, AnyAcc, Lock, Preserve)
7572 {
7573 MDG0, 32768
7574 }
7575
7576 Method (DB2H, 1, Serialized)
7577 {
7578 SHOW (Arg0)
7579 MDGC (0x20)
7580 }
7581
7582 Method (DW2H, 1, Serialized)
7583 {
7584 Local0 = Arg0
7585 Local1 = (Arg0 >> 0x08)
7586 Local0 &= 0xFF
7587 Local1 &= 0xFF
7588 DB2H (Local1)
7589 BUFN--
7590 DB2H (Local0)
7591 }
7592
7593 Method (DD2H, 1, Serialized)
7594 {
7595 Local0 = Arg0
7596 Local1 = (Arg0 >> 0x10)
7597 Local0 &= 0xFFFF
7598 Local1 &= 0xFFFF
7599 DW2H (Local1)
7600 BUFN--
7601 DW2H (Local0)
7602 }
7603
7604 Method (MBGS, 1, Serialized)
7605 {
7606 Local0 = SizeOf (Arg0)
7607 Name (BUFS, Buffer (Local0) {})
7608 BUFS = Arg0
7609 MDGC (0x20)
7610 While (Local0)
7611 {
7612 MDGC (DerefOf (Index (BUFS, (SizeOf (Arg0) - Local0))))
7613 Local0--
7614 }
7615 }
7616
7617 Method (SHOW, 1, Serialized)
7618 {
7619 MDGC (NTOC ((Arg0 >> 0x04)))
7620 MDGC (NTOC (Arg0))
7621 }
7622
7623 Method (LINE, 0, Serialized)
7624 {
7625 Local0 = BUFN /* \BUFN */
7626 Local0 &= 0x0F
7627 While (Local0)
7628 {
7629 MDGC (Zero)
7630 Local0++
7631 Local0 &= 0x0F
7632 }
7633 }
7634
7635 Method (MDGC, 1, Serialized)
7636 {
7637 Index (MBUF, BUFN) = Arg0
7638 BUFN += One
7639 If ((BUFN > 0x0FFF))
7640 {
7641 BUFN &= 0x0FFF
7642 UP_L (One)
7643 }
7644 }
7645
7646 Method (UP_L, 1, Serialized)
7647 {
7648 Local2 = Arg0
7649 Local2 <<= 0x04
7650 MOVE (Local2)
7651 Local3 = (0x1000 - Local2)
7652 While (Local2)
7653 {
7654 Index (MBUF, Local3) = Zero
7655 Local3++
7656 Local2--
7657 }
7658 }
7659
7660 Method (MOVE, 1, Serialized)
7661 {
7662 Local4 = Arg0
7663 BUFN = Zero
7664 Local5 = (0x1000 - Local4)
7665 While (Local5)
7666 {
7667 Local5--
7668 Index (MBUF, BUFN) = DerefOf (Index (MBUF, Local4))
7669 BUFN++
7670 Local4++
7671 }
7672 }
7673
7674 Method (NTOC, 1, Serialized)
7675 {
7676 Local0 = (Arg0 & 0x0F)
7677 If ((Local0 < 0x0A))
7678 {
7679 Local0 += 0x30
7680 }
7681 Else
7682 {
7683 Local0 += 0x37
7684 }
7685
7686 Return (Local0)
7687 }
7688
7689 Scope (_SB.PCI0)
7690 {
7691 Device (PEG0)
7692 {
7693 Name (_ADR, 0x00010000) // _ADR: Address
7694 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
7695 {
7696 0x09,
7697 0x04
7698 })
7699 Name (PR0A, Package (0x04)
7700 {
7701 Package (0x04)
7702 {
7703 0xFFFF,
7704 Zero,
7705 LNKA,
7706 Zero
7707 },
7708
7709 Package (0x04)
7710 {
7711 0xFFFF,
7712 One,
7713 LNKB,
7714 Zero
7715 },
7716
7717 Package (0x04)
7718 {
7719 0xFFFF,
7720 0x02,
7721 LNKC,
7722 Zero
7723 },
7724
7725 Package (0x04)
7726 {
7727 0xFFFF,
7728 0x03,
7729 LNKD,
7730 Zero
7731 }
7732 })
7733 Name (AR0A, Package (0x04)
7734 {
7735 Package (0x04)
7736 {
7737 0xFFFF,
7738 Zero,
7739 Zero,
7740 0x10
7741 },
7742
7743 Package (0x04)
7744 {
7745 0xFFFF,
7746 One,
7747 Zero,
7748 0x11
7749 },
7750
7751 Package (0x04)
7752 {
7753 0xFFFF,
7754 0x02,
7755 Zero,
7756 0x12
7757 },
7758
7759 Package (0x04)
7760 {
7761 0xFFFF,
7762 0x03,
7763 Zero,
7764 0x13
7765 }
7766 })
7767 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
7768 {
7769 If (PICM)
7770 {
7771 Return (AR0A) /* \_SB_.PCI0.PEG0.AR0A */
7772 }
7773
7774 Return (PR0A) /* \_SB_.PCI0.PEG0.PR0A */
7775 }
7776
7777 Device (PEGP)
7778 {
7779 Name (_ADR, Zero) // _ADR: Address
7780 OperationRegion (DGFX, PCI_Config, Zero, 0xF0)
7781 Field (DGFX, DWordAcc, Lock, Preserve)
7782 {
7783 Offset (0x0B),
7784 LNKV, 8
7785 }
7786
7787 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
7788 {
7789 0x09,
7790 0x04
7791 })
7792 OperationRegion (GPID, PCI_Config, Zero, 0x3F)
7793 Field (GPID, AnyAcc, NoLock, Preserve)
7794 {
7795 GID1, 16,
7796 GID2, 16,
7797 Offset (0x2E),
7798 GID3, 16
7799 }
7800 }
7801
7802 Device (VGA1)
7803 {
7804 Name (_ADR, One) // _ADR: Address
7805 OperationRegion (PSID, PCI_Config, 0x40, 0xC0)
7806 Field (PSID, AnyAcc, NoLock, Preserve)
7807 {
7808 NVID, 32,
7809 Offset (0x0C),
7810 SVID, 16,
7811 SSID, 16,
7812 Offset (0x28),
7813 D1LX, 8
7814 }
7815
7816 Method (_STA, 0, NotSerialized) // _STA: Status
7817 {
7818 Local0 = GP38 /* \GP38 */
7819 Local1 = GP67 /* \GP67 */
7820 If (((Local0 == One) && (Local1 == Zero)))
7821 {
7822 Return (0x0F)
7823 }
7824 Else
7825 {
7826 Return (Zero)
7827 }
7828 }
7829 }
7830
7831 Device (VGA)
7832 {
7833 Name (_ADR, Zero) // _ADR: Address
7834 OperationRegion (PVID, PCI_Config, Zero, 0x04)
7835 Field (PVID, AnyAcc, NoLock, Preserve)
7836 {
7837 DVI0, 16,
7838 DVI1, 16
7839 }
7840
7841 OperationRegion (PSID, PCI_Config, 0x40, 0xC0)
7842 Field (PSID, AnyAcc, NoLock, Preserve)
7843 {
7844 SVD2, 16,
7845 SSD2, 16,
7846 Offset (0x0C),
7847 SVID, 16,
7848 SSID, 16,
7849 Offset (0x28),
7850 D0LX, 8,
7851 Offset (0x48),
7852 LNKS, 2
7853 }
7854
7855 Method (_STA, 0, NotSerialized) // _STA: Status
7856 {
7857 Local0 = GP38 /* \GP38 */
7858 Local1 = GP67 /* \GP67 */
7859 If (((Local0 == One) && (Local1 == Zero)))
7860 {
7861 Return (0x0F)
7862 }
7863 Else
7864 {
7865 Return (Zero)
7866 }
7867 }
7868
7869 Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching
7870 {
7871 DSEN = (Arg0 & 0x07)
7872 }
7873
7874 Name (DOD0, Package (0x03)
7875 {
7876 0x0110,
7877 0x0100,
7878 0x80007330
7879 })
7880 Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices
7881 {
7882 Return (DOD0) /* \_SB_.PCI0.PEG0.VGA_.DOD0 */
7883 }
7884
7885 Device (LCD)
7886 {
7887 Method (_ADR, 0, NotSerialized) // _ADR: Address
7888 {
7889 Return (0x0110)
7890 }
7891
7892 Method (LVLS, 1, NotSerialized)
7893 {
7894 Local0 = One
7895 Local1 = Zero
7896 If ((OSYS == 0x07DC))
7897 {
7898 Local5 = 0x14
7899 Local6 = PLV2 /* \PLV2 */
7900 }
7901 Else
7902 {
7903 Local5 = 0x0F
7904 Local6 = PLVL /* \PLVL */
7905 }
7906
7907 While (Local0)
7908 {
7909 Local2 = (Local1 + 0x02)
7910 Local3 = DerefOf (Index (Local6, Local2))
7911 Local4 = (Arg0 & 0xFF)
7912 If ((Local4 == Local3))
7913 {
7914 Local0 = Zero
7915 }
7916
7917 Local3 -= One
7918 If ((Local4 == Local3))
7919 {
7920 Local0 = Zero
7921 }
7922
7923 If ((Local1 >= Local5))
7924 {
7925 Local0 = Zero
7926 }
7927
7928 If (Local0)
7929 {
7930 Local1 += One
7931 }
7932 }
7933
7934 Return (Local1)
7935 }
7936
7937 Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
7938 {
7939 If ((OSYS != 0x07DC))
7940 {
7941 Return (PLVL) /* \PLVL */
7942 }
7943 Else
7944 {
7945 Return (PLV2) /* \PLV2 */
7946 }
7947 }
7948
7949 Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
7950 {
7951 If (IGDS)
7952 {
7953 Local1 = ^^^^GFX0.DD02.LVLS (Arg0)
7954 ^^^^LPCB.EC0.BRTS = Local1
7955 ^^^^GFX0.AINT (One, Arg0)
7956 }
7957 Else
7958 {
7959 Local1 = LVLS (Arg0)
7960 ^^^^LPCB.EC0.BRTS = Local1
7961 }
7962
7963 BRTL = Arg0
7964 }
7965
7966 Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
7967 {
7968 Return (BRTL) /* \BRTL */
7969 }
7970 }
7971 }
7972 }
7973
7974 Device (PEG1)
7975 {
7976 Name (_ADR, 0x00010001) // _ADR: Address
7977 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
7978 {
7979 0x09,
7980 0x04
7981 })
7982 Name (PR02, Package (0x04)
7983 {
7984 Package (0x04)
7985 {
7986 0xFFFF,
7987 Zero,
7988 LNKB,
7989 Zero
7990 },
7991
7992 Package (0x04)
7993 {
7994 0xFFFF,
7995 One,
7996 LNKC,
7997 Zero
7998 },
7999
8000 Package (0x04)
8001 {
8002 0xFFFF,
8003 0x02,
8004 LNKD,
8005 Zero
8006 },
8007
8008 Package (0x04)
8009 {
8010 0xFFFF,
8011 0x03,
8012 LNKA,
8013 Zero
8014 }
8015 })
8016 Name (AR02, Package (0x04)
8017 {
8018 Package (0x04)
8019 {
8020 0xFFFF,
8021 Zero,
8022 Zero,
8023 0x11
8024 },
8025
8026 Package (0x04)
8027 {
8028 0xFFFF,
8029 One,
8030 Zero,
8031 0x12
8032 },
8033
8034 Package (0x04)
8035 {
8036 0xFFFF,
8037 0x02,
8038 Zero,
8039 0x13
8040 },
8041
8042 Package (0x04)
8043 {
8044 0xFFFF,
8045 0x03,
8046 Zero,
8047 0x10
8048 }
8049 })
8050 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
8051 {
8052 If (PICM)
8053 {
8054 Return (AR02) /* \_SB_.PCI0.PEG1.AR02 */
8055 }
8056
8057 Return (PR02) /* \_SB_.PCI0.PEG1.PR02 */
8058 }
8059
8060 Device (VGA1)
8061 {
8062 Name (_ADR, One) // _ADR: Address
8063 OperationRegion (PSID, PCI_Config, 0x40, 0xC0)
8064 Field (PSID, AnyAcc, NoLock, Preserve)
8065 {
8066 NVID, 32,
8067 Offset (0x0C),
8068 SVID, 16,
8069 SSID, 16,
8070 Offset (0x28),
8071 D1LX, 8
8072 }
8073
8074 Method (_STA, 0, NotSerialized) // _STA: Status
8075 {
8076 Local0 = GP38 /* \GP38 */
8077 Local1 = GP67 /* \GP67 */
8078 If (((Local0 == One) && (Local1 == Zero)))
8079 {
8080 Return (0x0F)
8081 }
8082 Else
8083 {
8084 Return (Zero)
8085 }
8086 }
8087 }
8088
8089 Device (VGA)
8090 {
8091 Name (_ADR, Zero) // _ADR: Address
8092 OperationRegion (PVID, PCI_Config, Zero, 0x04)
8093 Field (PVID, AnyAcc, NoLock, Preserve)
8094 {
8095 DVI0, 16,
8096 DVI1, 16
8097 }
8098
8099 OperationRegion (PSID, PCI_Config, 0x40, 0xC0)
8100 Field (PSID, AnyAcc, NoLock, Preserve)
8101 {
8102 SVD2, 16,
8103 SSD2, 16,
8104 Offset (0x0C),
8105 SVID, 16,
8106 SSID, 16,
8107 Offset (0x28),
8108 D0LX, 8,
8109 Offset (0x48),
8110 LNKS, 2
8111 }
8112
8113 Method (_STA, 0, NotSerialized) // _STA: Status
8114 {
8115 Local0 = GP38 /* \GP38 */
8116 Local1 = GP67 /* \GP67 */
8117 If (((Local0 == One) && (Local1 == Zero)))
8118 {
8119 Return (0x0F)
8120 }
8121 Else
8122 {
8123 Return (Zero)
8124 }
8125 }
8126
8127 Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching
8128 {
8129 DSEN = (Arg0 & 0x07)
8130 }
8131
8132 Name (DOD0, Package (0x03)
8133 {
8134 0x0110,
8135 0x0100,
8136 0x80007330
8137 })
8138 Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices
8139 {
8140 Return (DOD0) /* \_SB_.PCI0.PEG1.VGA_.DOD0 */
8141 }
8142
8143 Device (LCD)
8144 {
8145 Method (_ADR, 0, NotSerialized) // _ADR: Address
8146 {
8147 Return (0x0110)
8148 }
8149
8150 Method (LVLS, 1, NotSerialized)
8151 {
8152 Local0 = One
8153 Local1 = Zero
8154 If ((OSYS == 0x07DC))
8155 {
8156 Local5 = 0x14
8157 Local6 = PLV2 /* \PLV2 */
8158 }
8159 Else
8160 {
8161 Local5 = 0x0F
8162 Local6 = PLVL /* \PLVL */
8163 }
8164
8165 While (Local0)
8166 {
8167 Local2 = (Local1 + 0x02)
8168 Local3 = DerefOf (Index (Local6, Local2))
8169 Local4 = (Arg0 & 0xFF)
8170 If ((Local4 == Local3))
8171 {
8172 Local0 = Zero
8173 }
8174
8175 Local3 -= One
8176 If ((Local4 == Local3))
8177 {
8178 Local0 = Zero
8179 }
8180
8181 If ((Local1 >= Local5))
8182 {
8183 Local0 = Zero
8184 }
8185
8186 If (Local0)
8187 {
8188 Local1 += One
8189 }
8190 }
8191
8192 Return (Local1)
8193 }
8194
8195 Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
8196 {
8197 If ((OSYS != 0x07DC))
8198 {
8199 Return (PLVL) /* \PLVL */
8200 }
8201 Else
8202 {
8203 Return (PLV2) /* \PLV2 */
8204 }
8205 }
8206
8207 Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
8208 {
8209 If (IGDS)
8210 {
8211 Local1 = ^^^^GFX0.DD02.LVLS (Arg0)
8212 ^^^^LPCB.EC0.BRTS = Local1
8213 ^^^^GFX0.AINT (One, Arg0)
8214 }
8215 Else
8216 {
8217 Local1 = ^^^^PEG0.VGA.LCD.LVLS (Arg0)
8218 ^^^^LPCB.EC0.BRTS = Local1
8219 }
8220
8221 BRTL = Arg0
8222 }
8223
8224 Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
8225 {
8226 Return (BRTL) /* \BRTL */
8227 }
8228 }
8229 }
8230 }
8231
8232 Device (PEG2)
8233 {
8234 Name (_ADR, 0x00010002) // _ADR: Address
8235 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
8236 {
8237 0x09,
8238 0x04
8239 })
8240 Name (PR03, Package (0x04)
8241 {
8242 Package (0x04)
8243 {
8244 0xFFFF,
8245 Zero,
8246 LNKC,
8247 Zero
8248 },
8249
8250 Package (0x04)
8251 {
8252 0xFFFF,
8253 One,
8254 LNKD,
8255 Zero
8256 },
8257
8258 Package (0x04)
8259 {
8260 0xFFFF,
8261 0x02,
8262 LNKA,
8263 Zero
8264 },
8265
8266 Package (0x04)
8267 {
8268 0xFFFF,
8269 0x03,
8270 LNKB,
8271 Zero
8272 }
8273 })
8274 Name (AR03, Package (0x04)
8275 {
8276 Package (0x04)
8277 {
8278 0xFFFF,
8279 Zero,
8280 Zero,
8281 0x12
8282 },
8283
8284 Package (0x04)
8285 {
8286 0xFFFF,
8287 One,
8288 Zero,
8289 0x13
8290 },
8291
8292 Package (0x04)
8293 {
8294 0xFFFF,
8295 0x02,
8296 Zero,
8297 0x10
8298 },
8299
8300 Package (0x04)
8301 {
8302 0xFFFF,
8303 0x03,
8304 Zero,
8305 0x11
8306 }
8307 })
8308 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
8309 {
8310 If (PICM)
8311 {
8312 Return (AR03) /* \_SB_.PCI0.PEG2.AR03 */
8313 }
8314
8315 Return (PR03) /* \_SB_.PCI0.PEG2.PR03 */
8316 }
8317 }
8318
8319 Device (PEG3)
8320 {
8321 Name (_ADR, 0x00060000) // _ADR: Address
8322 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
8323 {
8324 0x09,
8325 0x04
8326 })
8327 Name (PR0B, Package (0x04)
8328 {
8329 Package (0x04)
8330 {
8331 0xFFFF,
8332 Zero,
8333 LNKD,
8334 Zero
8335 },
8336
8337 Package (0x04)
8338 {
8339 0xFFFF,
8340 One,
8341 LNKA,
8342 Zero
8343 },
8344
8345 Package (0x04)
8346 {
8347 0xFFFF,
8348 0x02,
8349 LNKB,
8350 Zero
8351 },
8352
8353 Package (0x04)
8354 {
8355 0xFFFF,
8356 0x03,
8357 LNKC,
8358 Zero
8359 }
8360 })
8361 Name (AR0B, Package (0x04)
8362 {
8363 Package (0x04)
8364 {
8365 0xFFFF,
8366 Zero,
8367 Zero,
8368 0x13
8369 },
8370
8371 Package (0x04)
8372 {
8373 0xFFFF,
8374 One,
8375 Zero,
8376 0x10
8377 },
8378
8379 Package (0x04)
8380 {
8381 0xFFFF,
8382 0x02,
8383 Zero,
8384 0x11
8385 },
8386
8387 Package (0x04)
8388 {
8389 0xFFFF,
8390 0x03,
8391 Zero,
8392 0x12
8393 }
8394 })
8395 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
8396 {
8397 If (PICM)
8398 {
8399 Return (AR0B) /* \_SB_.PCI0.PEG3.AR0B */
8400 }
8401
8402 Return (PR0B) /* \_SB_.PCI0.PEG3.PR0B */
8403 }
8404 }
8405
8406 Device (B0D4)
8407 {
8408 Name (_ADR, 0x00040000) // _ADR: Address
8409 }
8410
8411 Device (GFX0)
8412 {
8413 Name (_ADR, 0x00020000) // _ADR: Address
8414 Method (PCPC, 0, NotSerialized)
8415 {
8416 ECST (0x6F)
8417 }
8418
8419 Method (PAPR, 0, NotSerialized)
8420 {
8421 }
8422
8423 Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching
8424 {
8425 DSEN = (Arg0 & 0x07)
8426 If (((Arg0 & 0x03) == Zero))
8427 {
8428 If (CondRefOf (HDOS))
8429 {
8430 HDOS ()
8431 }
8432 }
8433 }
8434
8435 Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices
8436 {
8437 If (CondRefOf (IDAB))
8438 {
8439 IDAB ()
8440 }
8441 Else
8442 {
8443 NDID = Zero
8444 If ((DIDL != Zero))
8445 {
8446 DID1 = SDDL (DIDL)
8447 }
8448
8449 If ((DDL2 != Zero))
8450 {
8451 DID2 = SDDL (DDL2)
8452 }
8453
8454 If ((DDL3 != Zero))
8455 {
8456 DID3 = SDDL (DDL3)
8457 }
8458
8459 If ((DDL4 != Zero))
8460 {
8461 DID4 = SDDL (DDL4)
8462 }
8463
8464 If ((DDL5 != Zero))
8465 {
8466 DID5 = SDDL (DDL5)
8467 }
8468
8469 If ((DDL6 != Zero))
8470 {
8471 DID6 = SDDL (DDL6)
8472 }
8473
8474 If ((DDL7 != Zero))
8475 {
8476 DID7 = SDDL (DDL7)
8477 }
8478
8479 If ((DDL8 != Zero))
8480 {
8481 DID8 = SDDL (DDL8)
8482 }
8483 }
8484
8485 If ((NDID == One))
8486 {
8487 Name (TMP1, Package (0x01)
8488 {
8489 Ones
8490 })
8491 Index (TMP1, Zero) = (0x00010000 | DID1)
8492 Return (TMP1) /* \_SB_.PCI0.GFX0._DOD.TMP1 */
8493 }
8494
8495 If ((NDID == 0x02))
8496 {
8497 Name (TMP2, Package (0x02)
8498 {
8499 Ones,
8500 Ones
8501 })
8502 Index (TMP2, Zero) = (0x00010000 | DID1)
8503 Index (TMP2, One) = (0x00010000 | DID2)
8504 Return (TMP2) /* \_SB_.PCI0.GFX0._DOD.TMP2 */
8505 }
8506
8507 If ((NDID == 0x03))
8508 {
8509 Name (TMP3, Package (0x03)
8510 {
8511 Ones,
8512 Ones,
8513 Ones
8514 })
8515 Index (TMP3, Zero) = (0x00010000 | DID1)
8516 Index (TMP3, One) = (0x00010000 | DID2)
8517 Index (TMP3, 0x02) = (0x00010000 | DID3)
8518 Return (TMP3) /* \_SB_.PCI0.GFX0._DOD.TMP3 */
8519 }
8520
8521 If ((NDID == 0x04))
8522 {
8523 Name (TMP4, Package (0x04)
8524 {
8525 Ones,
8526 Ones,
8527 Ones,
8528 Ones
8529 })
8530 Index (TMP4, Zero) = (0x00010000 | DID1)
8531 Index (TMP4, One) = (0x00010000 | DID2)
8532 Index (TMP4, 0x02) = (0x00010000 | DID3)
8533 Index (TMP4, 0x03) = (0x00010000 | DID4)
8534 Return (TMP4) /* \_SB_.PCI0.GFX0._DOD.TMP4 */
8535 }
8536
8537 If ((NDID == 0x05))
8538 {
8539 Name (TMP5, Package (0x05)
8540 {
8541 Ones,
8542 Ones,
8543 Ones,
8544 Ones,
8545 Ones
8546 })
8547 Index (TMP5, Zero) = (0x00010000 | DID1)
8548 Index (TMP5, One) = (0x00010000 | DID2)
8549 Index (TMP5, 0x02) = (0x00010000 | DID3)
8550 Index (TMP5, 0x03) = (0x00010000 | DID4)
8551 Index (TMP5, 0x04) = (0x00010000 | DID5)
8552 Return (TMP5) /* \_SB_.PCI0.GFX0._DOD.TMP5 */
8553 }
8554
8555 If ((NDID == 0x06))
8556 {
8557 Name (TMP6, Package (0x06)
8558 {
8559 Ones,
8560 Ones,
8561 Ones,
8562 Ones,
8563 Ones,
8564 Ones
8565 })
8566 Index (TMP6, Zero) = (0x00010000 | DID1)
8567 Index (TMP6, One) = (0x00010000 | DID2)
8568 Index (TMP6, 0x02) = (0x00010000 | DID3)
8569 Index (TMP6, 0x03) = (0x00010000 | DID4)
8570 Index (TMP6, 0x04) = (0x00010000 | DID5)
8571 Index (TMP6, 0x05) = (0x00010000 | DID6)
8572 Return (TMP6) /* \_SB_.PCI0.GFX0._DOD.TMP6 */
8573 }
8574
8575 If ((NDID == 0x07))
8576 {
8577 Name (TMP7, Package (0x07)
8578 {
8579 Ones,
8580 Ones,
8581 Ones,
8582 Ones,
8583 Ones,
8584 Ones,
8585 Ones
8586 })
8587 Index (TMP7, Zero) = (0x00010000 | DID1)
8588 Index (TMP7, One) = (0x00010000 | DID2)
8589 Index (TMP7, 0x02) = (0x00010000 | DID3)
8590 Index (TMP7, 0x03) = (0x00010000 | DID4)
8591 Index (TMP7, 0x04) = (0x00010000 | DID5)
8592 Index (TMP7, 0x05) = (0x00010000 | DID6)
8593 Index (TMP7, 0x06) = (0x00010000 | DID7)
8594 Return (TMP7) /* \_SB_.PCI0.GFX0._DOD.TMP7 */
8595 }
8596
8597 If ((NDID == 0x08))
8598 {
8599 Name (TMP8, Package (0x08)
8600 {
8601 Ones,
8602 Ones,
8603 Ones,
8604 Ones,
8605 Ones,
8606 Ones,
8607 Ones,
8608 Ones
8609 })
8610 Index (TMP8, Zero) = (0x00010000 | DID1)
8611 Index (TMP8, One) = (0x00010000 | DID2)
8612 Index (TMP8, 0x02) = (0x00010000 | DID3)
8613 Index (TMP8, 0x03) = (0x00010000 | DID4)
8614 Index (TMP8, 0x04) = (0x00010000 | DID5)
8615 Index (TMP8, 0x05) = (0x00010000 | DID6)
8616 Index (TMP8, 0x06) = (0x00010000 | DID7)
8617 Index (TMP8, 0x07) = (0x00010000 | DID8)
8618 Return (TMP8) /* \_SB_.PCI0.GFX0._DOD.TMP8 */
8619 }
8620
8621 If ((NDID == 0x09))
8622 {
8623 If (CondRefOf (HWID))
8624 {
8625 Return (HWID) /* External reference */
8626 }
8627 }
8628
8629 Return (Package (0x01)
8630 {
8631 0x0400
8632 })
8633 }
8634
8635 Device (DD01)
8636 {
8637 Method (_ADR, 0, Serialized) // _ADR: Address
8638 {
8639 If ((DID1 == Zero))
8640 {
8641 Return (One)
8642 }
8643 Else
8644 {
8645 Return ((0xFFFF & DID1))
8646 }
8647 }
8648
8649 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
8650 {
8651 Return (CDDS (DID1))
8652 }
8653
8654 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
8655 {
8656 If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
8657 {
8658 Return (NXD1) /* \NXD1 */
8659 }
8660
8661 Return (NDDS (DID1))
8662 }
8663
8664 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
8665 {
8666 If (((Arg0 & 0xC0000000) == 0xC0000000))
8667 {
8668 CSTE = NSTE /* \NSTE */
8669 }
8670 }
8671 }
8672
8673 Device (DD02)
8674 {
8675 Method (_ADR, 0, Serialized) // _ADR: Address
8676 {
8677 If ((DID2 == Zero))
8678 {
8679 Return (0x02)
8680 }
8681 Else
8682 {
8683 Return ((0xFFFF & DID2))
8684 }
8685 }
8686
8687 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
8688 {
8689 If ((LIDS == Zero))
8690 {
8691 Return (Zero)
8692 }
8693
8694 Return (CDDS (DID2))
8695 }
8696
8697 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
8698 {
8699 If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
8700 {
8701 Return (NXD2) /* \NXD2 */
8702 }
8703
8704 Return (NDDS (DID2))
8705 }
8706
8707 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
8708 {
8709 If (((Arg0 & 0xC0000000) == 0xC0000000))
8710 {
8711 CSTE = NSTE /* \NSTE */
8712 }
8713 }
8714
8715 Method (LVLS, 1, NotSerialized)
8716 {
8717 Local0 = One
8718 Local1 = Zero
8719 If ((OSYS == 0x07DC))
8720 {
8721 Local5 = 0x14
8722 Local6 = PLV2 /* \PLV2 */
8723 }
8724 Else
8725 {
8726 Local5 = 0x0F
8727 Local6 = PLVL /* \PLVL */
8728 }
8729
8730 While (Local0)
8731 {
8732 Local2 = (Local1 + 0x02)
8733 Local3 = DerefOf (Index (Local6, Local2))
8734 Local4 = (Arg0 & 0xFF)
8735 If ((Local4 == Local3))
8736 {
8737 Local0 = Zero
8738 }
8739
8740 Local3 -= One
8741 If ((Local4 == Local3))
8742 {
8743 Local0 = Zero
8744 }
8745
8746 If ((Local1 >= Local5))
8747 {
8748 Local0 = Zero
8749 }
8750
8751 If (Local0)
8752 {
8753 Local1 += One
8754 }
8755 }
8756
8757 Return (Local1)
8758 }
8759
8760 Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
8761 {
8762 If ((OSYS != 0x07DC))
8763 {
8764 Return (PLVL) /* \PLVL */
8765 }
8766 Else
8767 {
8768 Return (PLV2) /* \PLV2 */
8769 }
8770 }
8771
8772 Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
8773 {
8774 If (IGDS)
8775 {
8776 Local1 = LVLS (Arg0)
8777 ^^^LPCB.EC0.BRTS = Local1
8778 AINT (One, Arg0)
8779 }
8780 Else
8781 {
8782 Local1 = ^^^PEG0.VGA.LCD.LVLS (Arg0)
8783 ^^^LPCB.EC0.BRTS = Local1
8784 }
8785
8786 BRTL = Arg0
8787 }
8788
8789 Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
8790 {
8791 Return (BRTL) /* \BRTL */
8792 }
8793 }
8794
8795 Device (DD03)
8796 {
8797 Method (_ADR, 0, Serialized) // _ADR: Address
8798 {
8799 If ((DID3 == Zero))
8800 {
8801 Return (0x03)
8802 }
8803 Else
8804 {
8805 Return ((0xFFFF & DID3))
8806 }
8807 }
8808
8809 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
8810 {
8811 If ((DID3 == Zero))
8812 {
8813 Return (0x0B)
8814 }
8815 Else
8816 {
8817 Return (CDDS (DID3))
8818 }
8819 }
8820
8821 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
8822 {
8823 If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
8824 {
8825 Return (NXD3) /* \NXD3 */
8826 }
8827
8828 Return (NDDS (DID3))
8829 }
8830
8831 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
8832 {
8833 If (((Arg0 & 0xC0000000) == 0xC0000000))
8834 {
8835 CSTE = NSTE /* \NSTE */
8836 }
8837 }
8838 }
8839
8840 Device (DD04)
8841 {
8842 Method (_ADR, 0, Serialized) // _ADR: Address
8843 {
8844 If ((DID4 == Zero))
8845 {
8846 Return (0x04)
8847 }
8848 Else
8849 {
8850 Return ((0xFFFF & DID4))
8851 }
8852 }
8853
8854 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
8855 {
8856 If ((DID4 == Zero))
8857 {
8858 Return (0x0B)
8859 }
8860 Else
8861 {
8862 Return (CDDS (DID4))
8863 }
8864 }
8865
8866 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
8867 {
8868 If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
8869 {
8870 Return (NXD4) /* \NXD4 */
8871 }
8872
8873 Return (NDDS (DID4))
8874 }
8875
8876 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
8877 {
8878 If (((Arg0 & 0xC0000000) == 0xC0000000))
8879 {
8880 CSTE = NSTE /* \NSTE */
8881 }
8882 }
8883 }
8884
8885 Device (DD05)
8886 {
8887 Method (_ADR, 0, Serialized) // _ADR: Address
8888 {
8889 If ((DID5 == Zero))
8890 {
8891 Return (0x05)
8892 }
8893 Else
8894 {
8895 Return ((0xFFFF & DID5))
8896 }
8897 }
8898
8899 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
8900 {
8901 If ((DID5 == Zero))
8902 {
8903 Return (0x0B)
8904 }
8905 Else
8906 {
8907 Return (CDDS (DID5))
8908 }
8909 }
8910
8911 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
8912 {
8913 If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
8914 {
8915 Return (NXD5) /* \NXD5 */
8916 }
8917
8918 Return (NDDS (DID5))
8919 }
8920
8921 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
8922 {
8923 If (((Arg0 & 0xC0000000) == 0xC0000000))
8924 {
8925 CSTE = NSTE /* \NSTE */
8926 }
8927 }
8928 }
8929
8930 Device (DD06)
8931 {
8932 Method (_ADR, 0, Serialized) // _ADR: Address
8933 {
8934 If ((DID6 == Zero))
8935 {
8936 Return (0x06)
8937 }
8938 Else
8939 {
8940 Return ((0xFFFF & DID6))
8941 }
8942 }
8943
8944 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
8945 {
8946 If ((DID6 == Zero))
8947 {
8948 Return (0x0B)
8949 }
8950 Else
8951 {
8952 Return (CDDS (DID6))
8953 }
8954 }
8955
8956 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
8957 {
8958 If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
8959 {
8960 Return (NXD6) /* \NXD6 */
8961 }
8962
8963 Return (NDDS (DID6))
8964 }
8965
8966 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
8967 {
8968 If (((Arg0 & 0xC0000000) == 0xC0000000))
8969 {
8970 CSTE = NSTE /* \NSTE */
8971 }
8972 }
8973 }
8974
8975 Device (DD07)
8976 {
8977 Method (_ADR, 0, Serialized) // _ADR: Address
8978 {
8979 If ((DID7 == Zero))
8980 {
8981 Return (0x07)
8982 }
8983 Else
8984 {
8985 Return ((0xFFFF & DID7))
8986 }
8987 }
8988
8989 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
8990 {
8991 If ((DID7 == Zero))
8992 {
8993 Return (0x0B)
8994 }
8995 Else
8996 {
8997 Return (CDDS (DID7))
8998 }
8999 }
9000
9001 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
9002 {
9003 If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
9004 {
9005 Return (NXD7) /* \NXD7 */
9006 }
9007
9008 Return (NDDS (DID7))
9009 }
9010
9011 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
9012 {
9013 If (((Arg0 & 0xC0000000) == 0xC0000000))
9014 {
9015 CSTE = NSTE /* \NSTE */
9016 }
9017 }
9018 }
9019
9020 Device (DD08)
9021 {
9022 Method (_ADR, 0, Serialized) // _ADR: Address
9023 {
9024 If ((DID8 == Zero))
9025 {
9026 Return (0x08)
9027 }
9028 Else
9029 {
9030 Return ((0xFFFF & DID8))
9031 }
9032 }
9033
9034 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
9035 {
9036 If ((DID8 == Zero))
9037 {
9038 Return (0x0B)
9039 }
9040 Else
9041 {
9042 Return (CDDS (DID8))
9043 }
9044 }
9045
9046 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
9047 {
9048 If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
9049 {
9050 Return (NXD8) /* \NXD8 */
9051 }
9052
9053 Return (NDDS (DID8))
9054 }
9055
9056 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
9057 {
9058 If (((Arg0 & 0xC0000000) == 0xC0000000))
9059 {
9060 CSTE = NSTE /* \NSTE */
9061 }
9062 }
9063 }
9064
9065 Method (SDDL, 1, NotSerialized)
9066 {
9067 NDID++
9068 Local0 = (Arg0 & 0x0F0F)
9069 Local1 = (0x80000000 | Local0)
9070 If ((DIDL == Local0))
9071 {
9072 Return (Local1)
9073 }
9074
9075 If ((DDL2 == Local0))
9076 {
9077 Return (Local1)
9078 }
9079
9080 If ((DDL3 == Local0))
9081 {
9082 Return (Local1)
9083 }
9084
9085 If ((DDL4 == Local0))
9086 {
9087 Return (Local1)
9088 }
9089
9090 If ((DDL5 == Local0))
9091 {
9092 Return (Local1)
9093 }
9094
9095 If ((DDL6 == Local0))
9096 {
9097 Return (Local1)
9098 }
9099
9100 If ((DDL7 == Local0))
9101 {
9102 Return (Local1)
9103 }
9104
9105 If ((DDL8 == Local0))
9106 {
9107 Return (Local1)
9108 }
9109
9110 Return (Zero)
9111 }
9112
9113 Method (CDDS, 1, NotSerialized)
9114 {
9115 Local0 = (Arg0 & 0x0F0F)
9116 If ((Zero == Local0))
9117 {
9118 Return (0x1D)
9119 }
9120
9121 If ((CADL == Local0))
9122 {
9123 Return (0x1F)
9124 }
9125
9126 If ((CAL2 == Local0))
9127 {
9128 Return (0x1F)
9129 }
9130
9131 If ((CAL3 == Local0))
9132 {
9133 Return (0x1F)
9134 }
9135
9136 If ((CAL4 == Local0))
9137 {
9138 Return (0x1F)
9139 }
9140
9141 If ((CAL5 == Local0))
9142 {
9143 Return (0x1F)
9144 }
9145
9146 If ((CAL6 == Local0))
9147 {
9148 Return (0x1F)
9149 }
9150
9151 If ((CAL7 == Local0))
9152 {
9153 Return (0x1F)
9154 }
9155
9156 If ((CAL8 == Local0))
9157 {
9158 Return (0x1F)
9159 }
9160
9161 Return (0x1D)
9162 }
9163
9164 Method (NDDS, 1, NotSerialized)
9165 {
9166 Local0 = (Arg0 & 0x0F0F)
9167 If ((Zero == Local0))
9168 {
9169 Return (Zero)
9170 }
9171
9172 If ((NADL == Local0))
9173 {
9174 Return (One)
9175 }
9176
9177 If ((NDL2 == Local0))
9178 {
9179 Return (One)
9180 }
9181
9182 If ((NDL3 == Local0))
9183 {
9184 Return (One)
9185 }
9186
9187 If ((NDL4 == Local0))
9188 {
9189 Return (One)
9190 }
9191
9192 If ((NDL5 == Local0))
9193 {
9194 Return (One)
9195 }
9196
9197 If ((NDL6 == Local0))
9198 {
9199 Return (One)
9200 }
9201
9202 If ((NDL7 == Local0))
9203 {
9204 Return (One)
9205 }
9206
9207 If ((NDL8 == Local0))
9208 {
9209 Return (One)
9210 }
9211
9212 Return (Zero)
9213 }
9214
9215 Scope (^^PCI0)
9216 {
9217 OperationRegion (MCHP, PCI_Config, 0x40, 0xC0)
9218 Field (MCHP, AnyAcc, NoLock, Preserve)
9219 {
9220 Offset (0x60),
9221 TASM, 10,
9222 Offset (0x62)
9223 }
9224 }
9225
9226 OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
9227 Field (IGDP, AnyAcc, NoLock, Preserve)
9228 {
9229 Offset (0x12),
9230 , 1,
9231 GIVD, 1,
9232 , 2,
9233 GUMA, 3,
9234 Offset (0x14),
9235 , 4,
9236 GMFN, 1,
9237 Offset (0x18),
9238 Offset (0xA4),
9239 ASLE, 8,
9240 Offset (0xA8),
9241 GSSE, 1,
9242 GSSB, 14,
9243 GSES, 1,
9244 Offset (0xB0),
9245 , 12,
9246 CDVL, 1,
9247 Offset (0xB2),
9248 Offset (0xB5),
9249 LBPC, 8,
9250 Offset (0xBC),
9251 ASLS, 32
9252 }
9253
9254 OperationRegion (IGDM, SystemMemory, ASLB, 0x2000)
9255 Field (IGDM, AnyAcc, NoLock, Preserve)
9256 {
9257 SIGN, 128,
9258 SIZE, 32,
9259 OVER, 32,
9260 SVER, 256,
9261 VVER, 128,
9262 GVER, 128,
9263 MBOX, 32,
9264 DMOD, 32,
9265 Offset (0x100),
9266 DRDY, 32,
9267 CSTS, 32,
9268 CEVT, 32,
9269 Offset (0x120),
9270 DIDL, 32,
9271 DDL2, 32,
9272 DDL3, 32,
9273 DDL4, 32,
9274 DDL5, 32,
9275 DDL6, 32,
9276 DDL7, 32,
9277 DDL8, 32,
9278 CPDL, 32,
9279 CPL2, 32,
9280 CPL3, 32,
9281 CPL4, 32,
9282 CPL5, 32,
9283 CPL6, 32,
9284 CPL7, 32,
9285 CPL8, 32,
9286 CADL, 32,
9287 CAL2, 32,
9288 CAL3, 32,
9289 CAL4, 32,
9290 CAL5, 32,
9291 CAL6, 32,
9292 CAL7, 32,
9293 CAL8, 32,
9294 NADL, 32,
9295 NDL2, 32,
9296 NDL3, 32,
9297 NDL4, 32,
9298 NDL5, 32,
9299 NDL6, 32,
9300 NDL7, 32,
9301 NDL8, 32,
9302 ASLP, 32,
9303 TIDX, 32,
9304 CHPD, 32,
9305 CLID, 32,
9306 CDCK, 32,
9307 SXSW, 32,
9308 EVTS, 32,
9309 CNOT, 32,
9310 NRDY, 32,
9311 Offset (0x200),
9312 SCIE, 1,
9313 GEFC, 4,
9314 GXFC, 3,
9315 GESF, 8,
9316 Offset (0x204),
9317 PARM, 32,
9318 DSLP, 32,
9319 Offset (0x300),
9320 ARDY, 32,
9321 ASLC, 32,
9322 TCHE, 32,
9323 ALSI, 32,
9324 BCLP, 32,
9325 PFIT, 32,
9326 CBLV, 32,
9327 BCLM, 320,
9328 CPFM, 32,
9329 EPFM, 32,
9330 PLUT, 592,
9331 PFMB, 32,
9332 CCDV, 32,
9333 PCFT, 32,
9334 Offset (0x400),
9335 GVD1, 49152,
9336 PHED, 32,
9337 BDDC, 2048
9338 }
9339
9340 Name (DBTB, Package (0x15)
9341 {
9342 Zero,
9343 0x07,
9344 0x38,
9345 0x01C0,
9346 0x0E00,
9347 0x3F,
9348 0x01C7,
9349 0x0E07,
9350 0x01F8,
9351 0x0E38,
9352 0x0FC0,
9353 Zero,
9354 Zero,
9355 Zero,
9356 Zero,
9357 Zero,
9358 0x7000,
9359 0x7007,
9360 0x7038,
9361 0x71C0,
9362 0x7E00
9363 })
9364 Name (CDCT, Package (0x05)
9365 {
9366 Package (0x02)
9367 {
9368 0xE4,
9369 0x0140
9370 },
9371
9372 Package (0x02)
9373 {
9374 0xDE,
9375 0x014D
9376 },
9377
9378 Package (0x02)
9379 {
9380 0xDE,
9381 0x014D
9382 },
9383
9384 Package (0x02)
9385 {
9386 Zero,
9387 Zero
9388 },
9389
9390 Package (0x02)
9391 {
9392 0xDE,
9393 0x014D
9394 }
9395 })
9396 Name (SUCC, One)
9397 Name (NVLD, 0x02)
9398 Name (CRIT, 0x04)
9399 Name (NCRT, 0x06)
9400 Method (GSCI, 0, Serialized)
9401 {
9402 Method (GBDA, 0, Serialized)
9403 {
9404 If ((GESF == Zero))
9405 {
9406 PARM = 0x0679
9407 GESF = Zero
9408 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9409 }
9410
9411 If ((GESF == One))
9412 {
9413 PARM = 0x0240
9414 GESF = Zero
9415 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9416 }
9417
9418 If ((GESF == 0x04))
9419 {
9420 PARM &= 0xEFFF0000
9421 PARM &= (DerefOf (Index (DBTB, IBTT)) << 0x10)
9422 PARM |= IBTT /* \_SB_.PCI0.GFX0.PARM */
9423 GESF = Zero
9424 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9425 }
9426
9427 If ((GESF == 0x05))
9428 {
9429 PARM = IPSC /* \IPSC */
9430 PARM |= (IPAT << 0x08)
9431 PARM += 0x0100
9432 PARM |= (LIDS << 0x10)
9433 PARM += 0x00010000
9434 PARM |= (IBIA << 0x14)
9435 GESF = Zero
9436 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9437 }
9438
9439 If ((GESF == 0x06))
9440 {
9441 PARM = ITVF /* \ITVF */
9442 PARM |= (ITVM << 0x04)
9443 GESF = Zero
9444 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9445 }
9446
9447 If ((GESF == 0x07))
9448 {
9449 PARM = GIVD /* \_SB_.PCI0.GFX0.GIVD */
9450 PARM ^= One
9451 PARM |= (GMFN << One)
9452 PARM |= 0x1800
9453 PARM |= (IDMS << 0x11)
9454 PARM |= (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), CDVL)) <<
9455 0x15) /* \_SB_.PCI0.GFX0.PARM */
9456 GESF = One
9457 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9458 }
9459
9460 If ((GESF == 0x0A))
9461 {
9462 PARM = Zero
9463 If (ISSC)
9464 {
9465 PARM |= 0x03
9466 }
9467
9468 GESF = Zero
9469 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9470 }
9471
9472 If ((GESF == 0x0B))
9473 {
9474 PARM = KSV0 /* \KSV0 */
9475 GESF = KSV1 /* \KSV1 */
9476 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9477 }
9478
9479 GESF = Zero
9480 Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */
9481 }
9482
9483 Method (SBCB, 0, Serialized)
9484 {
9485 If ((GESF == Zero))
9486 {
9487 PARM = Zero
9488 PARM = 0x000F87FD
9489 GESF = Zero
9490 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9491 }
9492
9493 If ((GESF == One))
9494 {
9495 GESF = Zero
9496 PARM = Zero
9497 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9498 }
9499
9500 If ((GESF == 0x03))
9501 {
9502 GESF = Zero
9503 PARM = Zero
9504 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9505 }
9506
9507 If ((GESF == 0x04))
9508 {
9509 GESF = Zero
9510 PARM = Zero
9511 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9512 }
9513
9514 If ((GESF == 0x05))
9515 {
9516 GESF = Zero
9517 PARM = Zero
9518 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9519 }
9520
9521 If ((GESF == 0x06))
9522 {
9523 ITVF = (PARM & 0x0F)
9524 ITVM = ((PARM & 0xF0) >> 0x04)
9525 GESF = Zero
9526 PARM = Zero
9527 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9528 }
9529
9530 If ((GESF == 0x07))
9531 {
9532 If ((PARM == Zero))
9533 {
9534 Local0 = CLID /* \_SB_.PCI0.GFX0.CLID */
9535 If ((0x80000000 & Local0))
9536 {
9537 CLID &= 0x0F
9538 GLID (CLID)
9539 }
9540 }
9541
9542 GESF = Zero
9543 PARM = Zero
9544 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9545 }
9546
9547 If ((GESF == 0x08))
9548 {
9549 GESF = Zero
9550 PARM = Zero
9551 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9552 }
9553
9554 If ((GESF == 0x09))
9555 {
9556 IBTT = (PARM & 0xFF)
9557 GESF = Zero
9558 PARM = Zero
9559 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9560 }
9561
9562 If ((GESF == 0x0A))
9563 {
9564 IPSC = (PARM & 0xFF)
9565 If (((PARM >> 0x08) & 0xFF))
9566 {
9567 IPAT = ((PARM >> 0x08) & 0xFF)
9568 IPAT--
9569 }
9570
9571 IBIA = ((PARM >> 0x14) & 0x07)
9572 GESF = Zero
9573 PARM = Zero
9574 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9575 }
9576
9577 If ((GESF == 0x0B))
9578 {
9579 IF1E = ((PARM >> One) & One)
9580 If ((PARM & 0x0001E000))
9581 {
9582 IDMS = ((PARM >> 0x0D) & 0x0F)
9583 }
9584 Else
9585 {
9586 IDMS = ((PARM >> 0x11) & 0x0F)
9587 }
9588
9589 GESF = Zero
9590 PARM = Zero
9591 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9592 }
9593
9594 If ((GESF == 0x10))
9595 {
9596 GESF = Zero
9597 PARM = Zero
9598 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9599 }
9600
9601 If ((GESF == 0x11))
9602 {
9603 PARM = (LIDS << 0x08)
9604 PARM += 0x0100
9605 GESF = Zero
9606 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9607 }
9608
9609 If ((GESF == 0x12))
9610 {
9611 If ((PARM & One))
9612 {
9613 If (((PARM >> One) == One))
9614 {
9615 ISSC = One
9616 }
9617 Else
9618 {
9619 GESF = Zero
9620 Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */
9621 }
9622 }
9623 Else
9624 {
9625 ISSC = Zero
9626 }
9627
9628 GESF = Zero
9629 PARM = Zero
9630 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9631 }
9632
9633 If ((GESF == 0x13))
9634 {
9635 GESF = Zero
9636 PARM = Zero
9637 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9638 }
9639
9640 If ((GESF == 0x14))
9641 {
9642 PAVP = (PARM & 0x0F)
9643 GESF = Zero
9644 PARM = Zero
9645 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9646 }
9647
9648 GESF = Zero
9649 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9650 }
9651
9652 If ((GEFC == 0x04))
9653 {
9654 GXFC = GBDA ()
9655 }
9656
9657 If ((GEFC == 0x06))
9658 {
9659 GXFC = SBCB ()
9660 }
9661
9662 GEFC = Zero
9663 SCIS = One
9664 GSSE = Zero
9665 SCIE = Zero
9666 Return (Zero)
9667 }
9668
9669 Method (PDRD, 0, NotSerialized)
9670 {
9671 If (!DRDY)
9672 {
9673 Sleep (ASLP)
9674 }
9675
9676 Return (!DRDY)
9677 }
9678
9679 Method (PSTS, 0, NotSerialized)
9680 {
9681 If ((CSTS > 0x02))
9682 {
9683 Sleep (ASLP)
9684 }
9685
9686 Return ((CSTS == 0x03))
9687 }
9688
9689 Method (GNOT, 2, NotSerialized)
9690 {
9691 If (PDRD ())
9692 {
9693 Return (One)
9694 }
9695
9696 CEVT = Arg0
9697 CSTS = 0x03
9698 If (((CHPD == Zero) && (Arg1 == Zero)))
9699 {
9700 If (((OSYS > 0x07D0) || (OSYS < 0x07D6)))
9701 {
9702 Notify (PCI0, Arg1)
9703 }
9704 Else
9705 {
9706 Notify (GFX0, Arg1)
9707 }
9708 }
9709
9710 If (CondRefOf (HNOT))
9711 {
9712 HNOT (Arg0)
9713 }
9714 Else
9715 {
9716 Notify (GFX0, 0x80) // Status Change
9717 }
9718
9719 Return (Zero)
9720 }
9721
9722 Method (GHDS, 1, NotSerialized)
9723 {
9724 TIDX = Arg0
9725 Return (GNOT (One, Zero))
9726 }
9727
9728 Method (GLID, 1, NotSerialized)
9729 {
9730 If ((Arg0 == One))
9731 {
9732 CLID = 0x03
9733 }
9734 Else
9735 {
9736 CLID = Arg0
9737 }
9738
9739 Return (GNOT (0x02, Zero))
9740 }
9741
9742 Method (GDCK, 1, NotSerialized)
9743 {
9744 CDCK = Arg0
9745 Return (GNOT (0x04, Zero))
9746 }
9747
9748 Method (PARD, 0, NotSerialized)
9749 {
9750 If (!ARDY)
9751 {
9752 Sleep (ASLP)
9753 }
9754
9755 Return (!ARDY)
9756 }
9757
9758 Method (AINT, 2, NotSerialized)
9759 {
9760 If (!(TCHE & (One << Arg0)))
9761 {
9762 Return (One)
9763 }
9764
9765 If (PARD ())
9766 {
9767 Return (One)
9768 }
9769
9770 If ((Arg0 == 0x02))
9771 {
9772 If (CPFM)
9773 {
9774 Local0 = (CPFM & 0x0F)
9775 Local1 = (EPFM & 0x0F)
9776 If ((Local0 == One))
9777 {
9778 If ((Local1 & 0x06))
9779 {
9780 PFIT = 0x06
9781 }
9782 Else
9783 {
9784 If ((Local1 & 0x08))
9785 {
9786 PFIT = 0x08
9787 }
9788 Else
9789 {
9790 PFIT = One
9791 }
9792 }
9793 }
9794
9795 If ((Local0 == 0x06))
9796 {
9797 If ((Local1 & 0x08))
9798 {
9799 PFIT = 0x08
9800 }
9801 Else
9802 {
9803 If ((Local1 & One))
9804 {
9805 PFIT = One
9806 }
9807 Else
9808 {
9809 PFIT = 0x06
9810 }
9811 }
9812 }
9813
9814 If ((Local0 == 0x08))
9815 {
9816 If ((Local1 & One))
9817 {
9818 PFIT = One
9819 }
9820 Else
9821 {
9822 If ((Local1 & 0x06))
9823 {
9824 PFIT = 0x06
9825 }
9826 Else
9827 {
9828 PFIT = 0x08
9829 }
9830 }
9831 }
9832 }
9833 Else
9834 {
9835 PFIT ^= 0x07
9836 }
9837
9838 PFIT |= 0x80000000
9839 ASLC = 0x04
9840 }
9841 Else
9842 {
9843 If ((Arg0 == One))
9844 {
9845 BCLP = ((Arg1 * 0xFF) / 0x64)
9846 BCLP |= 0x80000000
9847 ASLC = 0x02
9848 }
9849 Else
9850 {
9851 If ((Arg0 == Zero))
9852 {
9853 ALSI = Arg1
9854 ASLC = One
9855 }
9856 Else
9857 {
9858 Return (One)
9859 }
9860 }
9861 }
9862
9863 ASLE = One
9864 Return (Zero)
9865 }
9866
9867 Method (SCIP, 0, NotSerialized)
9868 {
9869 If ((OVER != Zero))
9870 {
9871 Return (!GSMI)
9872 }
9873
9874 Return (Zero)
9875 }
9876
9877 Device (^^MEM2)
9878 {
9879 Name (_HID, EisaId ("PNP0C01") /* System Board */) // _HID: Hardware ID
9880 Name (_UID, 0x02) // _UID: Unique ID
9881 Name (CRS1, ResourceTemplate ()
9882 {
9883 Memory32Fixed (ReadWrite,
9884 0x20000000, // Address Base
9885 0x00200000, // Address Length
9886 )
9887 Memory32Fixed (ReadWrite,
9888 0x40000000, // Address Base
9889 0x00200000, // Address Length
9890 )
9891 })
9892 Name (CRS2, ResourceTemplate ()
9893 {
9894 Memory32Fixed (ReadWrite,
9895 0x20000000, // Address Base
9896 0x00200000, // Address Length
9897 )
9898 Memory32Fixed (ReadWrite,
9899 0x40004000, // Address Base
9900 0x00001000, // Address Length
9901 )
9902 })
9903 Method (_STA, 0, NotSerialized) // _STA: Status
9904 {
9905 If (IGDS)
9906 {
9907 Return (0x0F)
9908 }
9909
9910 Return (Zero)
9911 }
9912
9913 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
9914 {
9915 If ((((PNHM & 0x0FFF0FF0) == 0x000206A0) || ((PNHM & 0x0FFF0FFF
9916 ) == 0x000306A0)))
9917 {
9918 Return (CRS1) /* \_SB_.MEM2.CRS1 */
9919 }
9920
9921 Return (CRS2) /* \_SB_.MEM2.CRS2 */
9922 }
9923 }
9924
9925 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
9926 {
9927 Name (DRET, Buffer (0x04)
9928 {
9929 0x00 /* . */
9930 })
9931 If ((Arg0 == ToUUID ("6f3975e1-7a82-4f67-8b97-15bee060bedf")))
9932 {
9933 If ((Arg2 == Zero))
9934 {
9935 CreateWordField (DRET, Zero, F0SS)
9936 F0SS = 0x02
9937 Return (DRET) /* \_SB_.PCI0.GFX0._DSM.DRET */
9938 }
9939
9940 If ((Arg2 == One))
9941 {
9942 If ((^^PEG0.PEGP.LNKV == 0x03))
9943 {
9944 Return (Zero)
9945 }
9946
9947 Return (One)
9948 }
9949 }
9950
9951 Return (DRET) /* \_SB_.PCI0.GFX0._DSM.DRET */
9952 }
9953 }
9954 }
9955
9956 Scope (\)
9957 {
9958 OperationRegion (COMP, SystemMemory, 0xCAFBEC98, 0x00000200)
9959 Field (COMP, AnyAcc, Lock, Preserve)
9960 {
9961 RSV0, 32,
9962 BDID, 8,
9963 CPFB, 8,
9964 PBTI, 8,
9965 BRLV, 8,
9966 CAVR, 8,
9967 TJMA, 16,
9968 CORE, 8,
9969 CG12, 8,
9970 CG13, 8,
9971 CG14, 8,
9972 CG15, 8,
9973 CG16, 8,
9974 CG17, 8,
9975 CG18, 8,
9976 CG19, 8,
9977 CG20, 8,
9978 CG21, 8,
9979 CG22, 8,
9980 CG23, 8,
9981 CG24, 8,
9982 CG25, 8,
9983 CG26, 8,
9984 CG27, 8,
9985 CG28, 8,
9986 CG29, 8,
9987 CG30, 8,
9988 CG31, 8,
9989 SFNO, 16,
9990 STDT, 16,
9991 BFDT, 1024,
9992 RSV1, 736,
9993 IDFD, 1024,
9994 RSV2, 1024
9995 }
9996 }
9997
9998 Scope (_SB.PCI0.LPCB)
9999 {
10000 Method (ECOK, 0, NotSerialized)
10001 {
10002 If ((^EC0.OKEC == One))
10003 {
10004 Return (One)
10005 }
10006 Else
10007 {
10008 Return (Zero)
10009 }
10010 }
10011
10012 Device (EC0)
10013 {
10014 Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID
10015 Name (_GPE, 0x17) // _GPE: General Purpose Events
10016 Name (OKEC, One)
10017 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
10018 {
10019 IO (Decode16,
10020 0x0062, // Range Minimum
10021 0x0062, // Range Maximum
10022 0x01, // Alignment
10023 0x01, // Length
10024 )
10025 IO (Decode16,
10026 0x0066, // Range Minimum
10027 0x0066, // Range Maximum
10028 0x01, // Alignment
10029 0x01, // Length
10030 )
10031 })
10032 Method (_REG, 2, NotSerialized) // _REG: Region Availability
10033 {
10034 If ((Arg0 == 0x03))
10035 {
10036 OKEC = Arg1
10037 }
10038 }
10039
10040 OperationRegion (ECMM, SystemMemory, 0xFF000000, 0x1000)
10041 Field (ECMM, AnyAcc, Lock, Preserve)
10042 {
10043 Offset (0x800),
10044 Offset (0x85A),
10045 AASD, 8,
10046 Offset (0x890),
10047 BMFN, 72,
10048 BATD, 56,
10049 AATL, 1,
10050 AACL, 1,
10051 AAST, 1,
10052 AARW, 1,
10053 AAEN, 1,
10054 AAEW, 1,
10055 AAND, 1,
10056 Offset (0x8A1),
10057 , 1,
10058 VIDO, 1,
10059 TOUP, 1,
10060 Offset (0x8A2),
10061 ODTS, 8,
10062 OSTY, 3,
10063 , 4,
10064 ADPT, 1,
10065 PWAK, 1,
10066 MWAK, 1,
10067 LWAK, 1,
10068 RWAK, 1,
10069 WWAK, 1,
10070 UWAK, 1,
10071 KWAK, 1,
10072 TWAK, 1,
10073 CCAC, 1,
10074 AOAC, 1,
10075 BLAC, 1,
10076 PSRC, 1,
10077 BOAC, 1,
10078 LCAC, 1,
10079 AAAC, 1,
10080 ACAC, 1,
10081 S3ST, 1,
10082 S3RM, 1,
10083 S4ST, 1,
10084 S4RM, 1,
10085 S5ST, 1,
10086 S5RM, 1,
10087 Offset (0x8A7),
10088 OSTT, 8,
10089 OSST, 8,
10090 THLT, 8,
10091 TCNL, 8,
10092 MODE, 1,
10093 , 2,
10094 INIT, 1,
10095 FAN1, 1,
10096 FAN2, 1,
10097 FANT, 1,
10098 SKNM, 1,
10099 SDTM, 8,
10100 FSSN, 4,
10101 FANU, 4,
10102 PCVL, 4,
10103 , 2,
10104 SWTO, 1,
10105 TTHR, 1,
10106 TTHM, 1,
10107 THTL, 1,
10108 , 1,
10109 CTDP, 1,
10110 NPST, 4,
10111 CTMP, 8,
10112 CTML, 8,
10113 SKTA, 8,
10114 SKTB, 8,
10115 SKTC, 8,
10116 Offset (0x8B6),
10117 NTMP, 8,
10118 , 1,
10119 SKEY, 1,
10120 DIGM, 1,
10121 CDLE, 1,
10122 Offset (0x8B8),
10123 , 1,
10124 LIDF, 1,
10125 PMEE, 1,
10126 PWBE, 1,
10127 RNGE, 1,
10128 BTWE, 1,
10129 Offset (0x8B9),
10130 BRTS, 8,
10131 S35M, 1,
10132 S35S, 1,
10133 , 2,
10134 FFEN, 1,
10135 FFST, 1,
10136 Offset (0x8BB),
10137 WLAT, 1,
10138 BTAT, 1,
10139 WLEX, 1,
10140 BTEX, 1,
10141 KLSW, 1,
10142 WLOK, 1,
10143 AT3G, 1,
10144 EX3G, 1,
10145 PJID, 8,
10146 CPUJ, 3,
10147 CPNM, 3,
10148 GATY, 2,
10149 BOL0, 1,
10150 BOL1, 1,
10151 , 2,
10152 BCC0, 1,
10153 BCC1, 1,
10154 Offset (0x8BF),
10155 BPU0, 1,
10156 BPU1, 1,
10157 , 2,
10158 BOS0, 1,
10159 BOS1, 1,
10160 Offset (0x8C0),
10161 BTY0, 1,
10162 BAM0, 1,
10163 BAL0, 1,
10164 , 1,
10165 BMF0, 3,
10166 Offset (0x8C1),
10167 BST0, 8,
10168 BRC0, 16,
10169 BSN0, 16,
10170 BPV0, 16,
10171 BDV0, 16,
10172 BDC0, 16,
10173 BFC0, 16,
10174 GAU0, 8,
10175 CYC0, 8,
10176 BPC0, 16,
10177 BAC0, 16,
10178 BTW0, 8,
10179 BVL0, 8,
10180 BTM0, 8,
10181 BAT0, 8,
10182 BCG0, 16,
10183 BCT0, 8,
10184 BCI0, 8,
10185 BCM0, 8,
10186 BOT0, 8,
10187 BSSB, 16,
10188 BOV0, 8,
10189 BCF0, 8,
10190 BAD0, 8,
10191 BCV1, 16,
10192 BCV2, 16,
10193 BCV3, 16,
10194 BCV4, 16,
10195 Offset (0x8ED),
10196 BFCB, 16,
10197 Offset (0x8F1),
10198 , 6,
10199 ORRF, 1,
10200 Offset (0x8F4),
10201 BMD0, 16,
10202 BACV, 16,
10203 BDN0, 8,
10204 BTPB, 16,
10205 Offset (0x8FC)
10206 }
10207
10208 OperationRegion (ECMP, SystemMemory, 0xFF000000, 0x1000)
10209 Field (ECMP, AnyAcc, Lock, Preserve)
10210 {
10211 }
10212
10213 OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF)
10214 Field (ERAM, ByteAcc, Lock, Preserve)
10215 {
10216 Offset (0x5A),
10217 Offset (0x5B),
10218 FCMP, 1,
10219 Offset (0x5C),
10220 Offset (0x5D),
10221 ENIB, 16,
10222 ENDD, 8,
10223 SMPR, 8,
10224 SMST, 8,
10225 SMAD, 8,
10226 SMCM, 8,
10227 SMD0, 256,
10228 BCNT, 8,
10229 SMAA, 24,
10230 Offset (0x89)
10231 }
10232
10233 OperationRegion (ECPR, EmbeddedControl, Zero, 0xFF)
10234 Field (ECPR, ByteAcc, Lock, Preserve)
10235 {
10236 }
10237
10238 OperationRegion (CCLK, SystemIO, 0x0410, 0x04)
10239 Field (CCLK, DWordAcc, NoLock, Preserve)
10240 {
10241 , 1,
10242 DUTY, 3,
10243 THEN, 1,
10244 Offset (0x01),
10245 FTT, 1,
10246 , 8,
10247 TSTS, 1
10248 }
10249
10250 OperationRegion (ECRM, EmbeddedControl, Zero, 0xFF)
10251 Field (ECRM, ByteAcc, Lock, Preserve)
10252 {
10253 Offset (0x5D),
10254 ERIB, 16,
10255 ERBD, 8,
10256 Offset (0xAA),
10257 Offset (0xAB),
10258 Offset (0xAD),
10259 , 4,
10260 Offset (0xAE),
10261 PTVL, 4,
10262 Offset (0xB0),
10263 Offset (0xB1),
10264 Offset (0xB2),
10265 Offset (0xB3),
10266 Offset (0xB4),
10267 Offset (0xB5),
10268 Offset (0xBC),
10269 Offset (0xBD)
10270 }
10271
10272 Mutex (FAMX, 0x00)
10273 Method (FANG, 1, NotSerialized)
10274 {
10275 Acquire (FAMX, 0xFFFF)
10276 ERIB = Arg0
10277 Local0 = ERBD /* \_SB_.PCI0.LPCB.EC0_.ERBD */
10278 Release (FAMX)
10279 Return (Local0)
10280 }
10281
10282 Method (FANW, 2, NotSerialized)
10283 {
10284 Acquire (FAMX, 0xFFFF)
10285 ERIB = Arg0
10286 ERBD = Arg1
10287 Release (FAMX)
10288 Return (Arg1)
10289 }
10290
10291 Method (TUVR, 1, NotSerialized)
10292 {
10293 Return (0x03)
10294 }
10295
10296 Method (THRO, 1, NotSerialized)
10297 {
10298 Return (ITHR (Arg0))
10299 }
10300
10301 Method (CLCK, 1, NotSerialized)
10302 {
10303 If ((Arg0 == Zero))
10304 {
10305 THEN = Zero
10306 FTT = Zero
10307 }
10308 Else
10309 {
10310 DUTY = Arg0
10311 THEN = One
10312 }
10313
10314 Return (THEN) /* \_SB_.PCI0.LPCB.EC0_.THEN */
10315 }
10316
10317 Method (PCLK, 0, NotSerialized)
10318 {
10319 IPCL ()
10320 }
10321
10322 Method (ITHR, 1, NotSerialized)
10323 {
10324 If ((Arg0 == Zero))
10325 {
10326 Return (THEN) /* \_SB_.PCI0.LPCB.EC0_.THEN */
10327 }
10328 Else
10329 {
10330 If ((Arg0 == One))
10331 {
10332 Return (DUTY) /* \_SB_.PCI0.LPCB.EC0_.DUTY */
10333 }
10334 Else
10335 {
10336 If ((Arg0 == 0x02))
10337 {
10338 Return (TTHR) /* \_SB_.PCI0.LPCB.EC0_.TTHR */
10339 }
10340 Else
10341 {
10342 Return (0xFF)
10343 }
10344 }
10345 }
10346 }
10347
10348 Method (IPCL, 0, NotSerialized)
10349 {
10350 Local0 = PCVL /* \_SB_.PCI0.LPCB.EC0_.PCVL */
10351 \_PR.CPU0._PPC = Local0
10352 PNOT ()
10353 }
10354
10355 Name (CMFP, Package (0x0E)
10356 {
10357 0x11,
10358 0x12,
10359 0x13,
10360 0x14,
10361 0x15,
10362 0x16,
10363 0x60,
10364 0x61,
10365 0x62,
10366 0x63,
10367 0x64,
10368 0x20,
10369 0x21,
10370 0x22
10371 })
10372 Mutex (CFMX, 0x00)
10373 Method (CFUN, 4, Serialized)
10374 {
10375 Name (ESRC, 0x05)
10376 If ((Match (CMFP, MEQ, DerefOf (Index (Arg0, Zero)), MTR,
10377 Zero, Zero) != Ones))
10378 {
10379 Acquire (CFMX, 0xFFFF)
10380 SMID = Arg0
10381 SFNO = Arg1
10382 BFDT = Arg2
10383 SMIC = 0xCE
10384 Release (CFMX)
10385 }
10386 Else
10387 {
10388 If ((DerefOf (Index (Arg0, Zero)) == 0x10))
10389 {
10390 If ((DerefOf (Index (Arg1, Zero)) == One))
10391 {
10392 CreateByteField (Arg2, Zero, CAPV)
10393 CAVR = CAPV /* \_SB_.PCI0.LPCB.EC0_.CFUN.CAPV */
10394 STDT = One
10395 }
10396 Else
10397 {
10398 If ((DerefOf (Index (Arg1, Zero)) == 0x02))
10399 {
10400 Local0 = Buffer (0x80) {}
10401 CreateByteField (Local0, Zero, BFD0)
10402 BFD0 = 0x08
10403 STDT = One
10404 BFDT = Local0
10405 }
10406 Else
10407 {
10408 STDT = Zero
10409 }
10410 }
10411 }
10412 Else
10413 {
10414 If ((DerefOf (Index (Arg0, Zero)) == 0x18))
10415 {
10416 Acquire (CFMX, 0xFFFF)
10417 If ((DerefOf (Index (Arg1, Zero)) == 0x02))
10418 {
10419 SMD0 = Zero
10420 SMAD = DerefOf (Index (Arg2, One))
10421 SMCM = DerefOf (Index (Arg2, 0x02))
10422 SMPR = DerefOf (Index (Arg2, Zero))
10423 While ((~(ESRC == Zero) && ~((SMST & 0x80
10424 ) == 0x80)))
10425 {
10426 Sleep (0x14)
10427 ESRC -= One
10428 }
10429
10430 Local2 = SMST /* \_SB_.PCI0.LPCB.EC0_.SMST */
10431 If (((Local2 & 0x80) == 0x80))
10432 {
10433 Local1 = Buffer (0x80) {}
10434 Index (Local1, Zero) = Local2
10435 If ((Local2 == 0x80))
10436 {
10437 P80H = 0xC4
10438 Index (Local1, One) = BCNT /* \_SB_.PCI0.LPCB.EC0_.BCNT */
10439 Local3 = SMD0 /* \_SB_.PCI0.LPCB.EC0_.SMD0 */
10440 Index (Local1, 0x02) = DerefOf (Index (Local3, Zero))
10441 Index (Local1, 0x03) = DerefOf (Index (Local3, One))
10442 Index (Local1, 0x04) = DerefOf (Index (Local3, 0x02))
10443 Index (Local1, 0x05) = DerefOf (Index (Local3, 0x03))
10444 Index (Local1, 0x06) = DerefOf (Index (Local3, 0x04))
10445 Index (Local1, 0x07) = DerefOf (Index (Local3, 0x05))
10446 Index (Local1, 0x08) = DerefOf (Index (Local3, 0x06))
10447 Index (Local1, 0x09) = DerefOf (Index (Local3, 0x07))
10448 Index (Local1, 0x0A) = DerefOf (Index (Local3, 0x08))
10449 Index (Local1, 0x0B) = DerefOf (Index (Local3, 0x09))
10450 Index (Local1, 0x0C) = DerefOf (Index (Local3, 0x0A))
10451 Index (Local1, 0x0D) = DerefOf (Index (Local3, 0x0B))
10452 Index (Local1, 0x0E) = DerefOf (Index (Local3, 0x0C))
10453 Index (Local1, 0x0F) = DerefOf (Index (Local3, 0x0D))
10454 Index (Local1, 0x10) = DerefOf (Index (Local3, 0x0E))
10455 Index (Local1, 0x11) = DerefOf (Index (Local3, 0x0F))
10456 Index (Local1, 0x12) = DerefOf (Index (Local3, 0x10))
10457 Index (Local1, 0x13) = DerefOf (Index (Local3, 0x11))
10458 Index (Local1, 0x14) = DerefOf (Index (Local3, 0x12))
10459 Index (Local1, 0x15) = DerefOf (Index (Local3, 0x13))
10460 Index (Local1, 0x16) = DerefOf (Index (Local3, 0x14))
10461 Index (Local1, 0x17) = DerefOf (Index (Local3, 0x15))
10462 Index (Local1, 0x18) = DerefOf (Index (Local3, 0x16))
10463 Index (Local1, 0x19) = DerefOf (Index (Local3, 0x17))
10464 Index (Local1, 0x1A) = DerefOf (Index (Local3, 0x18))
10465 Index (Local1, 0x1B) = DerefOf (Index (Local3, 0x19))
10466 Index (Local1, 0x1C) = DerefOf (Index (Local3, 0x1A))
10467 Index (Local1, 0x1D) = DerefOf (Index (Local3, 0x1B))
10468 Index (Local1, 0x1E) = DerefOf (Index (Local3, 0x1C))
10469 Index (Local1, 0x1F) = DerefOf (Index (Local3, 0x1D))
10470 Index (Local1, 0x20) = DerefOf (Index (Local3, 0x1E))
10471 Index (Local1, 0x21) = DerefOf (Index (Local3, 0x1F))
10472 }
10473
10474 BFDT = Local1
10475 STDT = One
10476 }
10477 Else
10478 {
10479 P80H = 0xC5
10480 STDT = Zero
10481 }
10482 }
10483 Else
10484 {
10485 P80H = 0xC6
10486 STDT = Zero
10487 }
10488
10489 Release (CFMX)
10490 }
10491 Else
10492 {
10493 STDT = Zero
10494 }
10495 }
10496 }
10497 }
10498
10499 Mutex (PFMX, 0x00)
10500 Method (PFUN, 4, Serialized)
10501 {
10502 Acquire (PFMX, 0xFFFF)
10503 SMID = Arg0
10504 SFNO = Arg1
10505 BFDT = Arg2
10506 SMIC = 0xCF
10507 Release (PFMX)
10508 STDT = Zero
10509 }
10510
10511 Method (CMFC, 4, Serialized)
10512 {
10513 Name (RTVL, Package (0x04)
10514 {
10515 Zero,
10516 Zero,
10517 Zero,
10518 Zero
10519 })
10520 If ((ObjectType (Arg0) == One))
10521 {
10522 Index (RTVL, Zero) = 0x8000
10523 }
10524 Else
10525 {
10526 If ((DerefOf (Index (Arg0, Zero)) < 0xFE))
10527 {
10528 Local1 = Buffer (0x82) {}
10529 CreateWordField (Local1, Zero, RTST)
10530 CreateField (Local1, 0x10, 0x0400, RTDT)
10531 If ((ToInteger (Arg0) <= 0x7F))
10532 {
10533 CFUN (Arg0, Arg1, Arg2, Arg3)
10534 }
10535 Else
10536 {
10537 PFUN (Arg0, Arg1, Arg2, Arg3)
10538 }
10539
10540 RTST = STDT /* \STDT */
10541 RTDT = BFDT /* \BFDT */
10542 Return (Local1)
10543 }
10544 Else
10545 {
10546 Index (RTVL, Zero) = 0x8000
10547 }
10548 }
10549
10550 Return (RTVL) /* \_SB_.PCI0.LPCB.EC0_.CMFC.RTVL */
10551 }
10552 }
10553
10554 Scope (EC0)
10555 {
10556 Method (BSHK, 0, NotSerialized)
10557 {
10558 If (ECOK ())
10559 {
10560 Local1 = One
10561 If ((OSYS == 0x07D1))
10562 {
10563 Local1 = Zero
10564 }
10565
10566 If ((OSYS == 0x07D2))
10567 {
10568 Local1 = Zero
10569 }
10570
10571 If ((OSYS == 0x07D6))
10572 {
10573 Local1 = One
10574 }
10575
10576 If ((OSYS == 0x03E8))
10577 {
10578 Local1 = 0x02
10579 }
10580
10581 If ((OSYS == 0x07D9))
10582 {
10583 Local1 = 0x03
10584 }
10585
10586 If ((OSYS == 0x07DC))
10587 {
10588 Local1 = 0x04
10589 }
10590
10591 Sleep (0x14)
10592 OSTY = Local1
10593 Sleep (0x14)
10594 }
10595 }
10596 }
10597
10598 Scope (\_SB.PCI0.LPCB)
10599 {
10600 }
10601
10602 Device (BAT1)
10603 {
10604 Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID
10605 Name (_UID, One) // _UID: Unique ID
10606 Name (_PCL, Package (0x01) // _PCL: Power Consumer List
10607 {
10608 _SB
10609 })
10610 Name (BMDL, Zero)
10611 Name (BASC, One)
10612 Name (BFFW, Zero)
10613 Method (_STA, 0, NotSerialized) // _STA: Status
10614 {
10615 ^^EC0.BSHK ()
10616 If (ECOK ())
10617 {
10618 If (^^EC0.BOL0)
10619 {
10620 Sleep (Zero)
10621 Return (0x1F)
10622 }
10623 Else
10624 {
10625 Sleep (Zero)
10626 Return (0x0F)
10627 }
10628 }
10629 Else
10630 {
10631 Sleep (Zero)
10632 Return (0x1F)
10633 }
10634 }
10635
10636 Method (_BIF, 0, NotSerialized) // _BIF: Battery Information
10637 {
10638 Return (BIFX (Zero))
10639 }
10640
10641 Method (_BIX, 0, NotSerialized) // _BIX: Battery Information Extended
10642 {
10643 Return (BIFX (One))
10644 }
10645
10646 Method (BIFX, 1, NotSerialized)
10647 {
10648 Name (STAX, Package (0x14)
10649 {
10650 Zero,
10651 One,
10652 0x1770,
10653 0x1770,
10654 One,
10655 0x2A30,
10656 0x0258,
10657 0xB4,
10658 Zero,
10659 Zero,
10660 Zero,
10661 Zero,
10662 Zero,
10663 Zero,
10664 0x0108,
10665 0x0EC4,
10666 "PABAS0241231",
10667 "41167",
10668 "Li-Ion",
10669 "LENOVO "
10670 })
10671 Name (STAF, Package (0x0D)
10672 {
10673 One,
10674 0x1770,
10675 0x1770,
10676 One,
10677 0x2A30,
10678 0x0258,
10679 0xB4,
10680 0x0108,
10681 0x0EC4,
10682 "PABAS0241231",
10683 "41167",
10684 "Li-Ion",
10685 "LENOVO "
10686 })
10687 If (ECOK ())
10688 {
10689 If ((^^EC0.BAM0 == Zero))
10690 {
10691 BASC = 0x0A
10692 }
10693
10694 Index (STAX, One) = ^^EC0.BAM0 /* \_SB_.PCI0.LPCB.EC0_.BAM0 */
10695 Local0 = ^^EC0.BDN0 /* \_SB_.PCI0.LPCB.EC0_.BDN0 */
10696 BMDL = Local0
10697 Index (STAX, 0x02) = (^^EC0.BDC0 * BASC)
10698 Sleep (Zero)
10699 Index (STAX, 0x05) = ^^EC0.BDV0 /* \_SB_.PCI0.LPCB.EC0_.BDV0 */
10700 Sleep (Zero)
10701 If ((BFFW == One))
10702 {
10703 Local2 = ^^EC0.BFCB /* \_SB_.PCI0.LPCB.EC0_.BFCB */
10704 }
10705 Else
10706 {
10707 Local2 = ^^EC0.BFC0 /* \_SB_.PCI0.LPCB.EC0_.BFC0 */
10708 }
10709
10710 Local2 = (Local2 * BASC)
10711 Sleep (Zero)
10712 Index (STAX, 0x03) = Local2
10713 Divide (Local2, 0x64, Local0, Local1)
10714 Local1 *= 0x0A
10715 Index (STAX, 0x06) = Local1
10716 Divide (Local2, 0x64, Local0, Local1)
10717 Local1 *= 0x03
10718 Index (STAX, 0x07) = Local1
10719 Index (STAF, Zero) = DerefOf (Index (STAX, One))
10720 Index (STAF, One) = DerefOf (Index (STAX, 0x02))
10721 Index (STAF, 0x02) = DerefOf (Index (STAX, 0x03))
10722 Index (STAF, 0x03) = DerefOf (Index (STAX, 0x04))
10723 Index (STAF, 0x04) = DerefOf (Index (STAX, 0x05))
10724 Index (STAF, 0x05) = DerefOf (Index (STAX, 0x06))
10725 Index (STAF, 0x06) = DerefOf (Index (STAX, 0x07))
10726 Index (STAF, 0x07) = DerefOf (Index (STAX, 0x0E))
10727 Index (STAF, 0x08) = DerefOf (Index (STAX, 0x0F))
10728 Index (STAF, 0x09) = DerefOf (Index (STAX, 0x10))
10729 Index (STAF, 0x0A) = DerefOf (Index (STAX, 0x11))
10730 Index (STAF, 0x0B) = DerefOf (Index (STAX, 0x12))
10731 Index (STAF, 0x0C) = DerefOf (Index (STAX, 0x13))
10732 If ((Arg0 == One))
10733 {
10734 Return (STAX) /* \_SB_.PCI0.LPCB.BAT1.BIFX.STAX */
10735 }
10736 Else
10737 {
10738 Return (STAF) /* \_SB_.PCI0.LPCB.BAT1.BIFX.STAF */
10739 }
10740 }
10741 }
10742
10743 Method (_BST, 0, NotSerialized) // _BST: Battery Status
10744 {
10745 Name (PBST, Package (0x04)
10746 {
10747 Zero,
10748 Ones,
10749 Ones,
10750 0x1770
10751 })
10752 If (ECOK ())
10753 {
10754 Index (PBST, Zero) = ^^EC0.BST0 /* \_SB_.PCI0.LPCB.EC0_.BST0 */
10755 Sleep (Zero)
10756 Local4 = ^^EC0.BAC0 /* \_SB_.PCI0.LPCB.EC0_.BAC0 */
10757 Local4 -= 0xFFFF
10758 Local5 = (Local4 * 0x0A)
10759 If ((^^EC0.BAM0 == Zero))
10760 {
10761 Local4 = ((Local4 * ^^EC0.BPV0) / 0x03E8)
10762 }
10763
10764 Local4 = Local5
10765 Index (PBST, One) = Local4
10766 Sleep (Zero)
10767 If ((BFFW == One))
10768 {
10769 Local4 = (^^EC0.BFCB * BASC) /* \_SB_.PCI0.LPCB.BAT1.BASC */
10770 Local2 = (^^EC0.GAU0 * Local4)
10771 Divide (Local2, 0x64, Local4, Local2)
10772 Index (PBST, 0x02) = Local2
10773 Sleep (Zero)
10774 }
10775 Else
10776 {
10777 Index (PBST, 0x02) = (^^EC0.BRC0 * BASC)
10778 Sleep (Zero)
10779 }
10780
10781 Index (PBST, 0x03) = ^^EC0.BPV0 /* \_SB_.PCI0.LPCB.EC0_.BPV0 */
10782 Sleep (Zero)
10783 If ((^^EC0.BDN0 != BMDL))
10784 {
10785 Notify (BAT1, 0x81) // Information Change
10786 }
10787 }
10788
10789 Return (PBST) /* \_SB_.PCI0.LPCB.BAT1._BST.PBST */
10790 }
10791
10792 Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point
10793 {
10794 Local0 = (Arg0 / BASC)
10795 ^^EC0.BTPB = Local0
10796 }
10797 }
10798
10799 Device (ACAD)
10800 {
10801 Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID
10802 Name (_PCL, Package (0x01) // _PCL: Power Consumer List
10803 {
10804 _SB
10805 })
10806 Method (_PSR, 0, NotSerialized) // _PSR: Power Source
10807 {
10808 Local0 = ^^EC0.ADPT /* \_SB_.PCI0.LPCB.EC0_.ADPT */
10809 Return (Local0)
10810 }
10811 }
10812
10813 Scope (RTC)
10814 {
10815 OperationRegion (RCM0, SystemCMOS, Zero, 0x10)
10816 Field (RCM0, ByteAcc, NoLock, Preserve)
10817 {
10818 AccessAs (ByteAcc, 0x00),
10819 RTCS, 8,
10820 Offset (0x02),
10821 RTCM, 8,
10822 Offset (0x04),
10823 RTCH, 8,
10824 Offset (0x06),
10825 RTCW, 8,
10826 RTCD, 8
10827 }
10828 }
10829 }
10830
10831 Scope (\)
10832 {
10833 Name (GPSP, Zero)
10834 Name (DCPS, Zero)
10835 }
10836
10837 Scope (_SB.PCI0.LPCB.EC0)
10838 {
10839 Method (_Q11, 0, NotSerialized) // _Qxx: EC Query
10840 {
10841 P80H = 0x11
10842 Local0 = GP38 /* \GP38 */
10843 Local1 = GP67 /* \GP67 */
10844 If (((OSYS >= 0x07D6) || (OSYS == 0x03E8)))
10845 {
10846 If (((Local0 == One) && (Local1 == Zero)))
10847 {
10848 Notify (^^^PEG0.VGA.LCD, 0x87) // Device-Specific
10849 }
10850 Else
10851 {
10852 Notify (^^^GFX0.DD02, 0x87) // Device-Specific
10853 }
10854
10855 Local1 = BRTS /* \_SB_.PCI0.LPCB.EC0_.BRTS */
10856 If ((Local1 > Zero))
10857 {
10858 BRTS = (Local1 - One)
10859 }
10860 }
10861 Else
10862 {
10863 If (((Local0 == One) && (Local1 == Zero))) {}
10864 Else
10865 {
10866 Local0 = BRTS /* \_SB_.PCI0.LPCB.EC0_.BRTS */
10867 Local0 += 0x02
10868 ^^^GFX0.AINT (One, DerefOf (Index (PLVL, Local0)))
10869 }
10870 }
10871
10872 Notify (VPC0, 0x80) // Status Change
10873 }
10874
10875 Method (_Q12, 0, NotSerialized) // _Qxx: EC Query
10876 {
10877 P80H = 0x12
10878 Local0 = GP38 /* \GP38 */
10879 Local1 = GP67 /* \GP67 */
10880 If (((OSYS >= 0x07D6) || (OSYS == 0x03E8)))
10881 {
10882 If (((Local0 == One) && (Local1 == Zero)))
10883 {
10884 Notify (^^^PEG0.VGA.LCD, 0x86) // Device-Specific
10885 }
10886 Else
10887 {
10888 Notify (^^^GFX0.DD02, 0x86) // Device-Specific
10889 }
10890
10891 Local1 = BRTS /* \_SB_.PCI0.LPCB.EC0_.BRTS */
10892 If ((Local1 < 0x0F))
10893 {
10894 BRTS = (Local1 + One)
10895 }
10896 }
10897 Else
10898 {
10899 If (((Local0 == One) && (Local1 == Zero))) {}
10900 Else
10901 {
10902 Local0 = BRTS /* \_SB_.PCI0.LPCB.EC0_.BRTS */
10903 Local0 += 0x02
10904 ^^^GFX0.AINT (One, DerefOf (Index (PLVL, Local0)))
10905 }
10906 }
10907
10908 Notify (VPC0, 0x80) // Status Change
10909 }
10910
10911 Method (_Q1C, 0, NotSerialized) // _Qxx: EC Query
10912 {
10913 If ((ECOK () && Ones))
10914 {
10915 If ((Zero == APTG))
10916 {
10917 If ((OSYS != 0x03E8))
10918 {
10919 If (IGDS)
10920 {
10921 ^^^GFX0.GHDS (Zero)
10922 }
10923 }
10924 }
10925
10926 Sleep (0x01F4)
10927 Notify (VPC0, 0x80) // Status Change
10928 }
10929 }
10930
10931 Name (DGST, 0xD1)
10932 Method (_Q1D, 0, NotSerialized) // _Qxx: EC Query
10933 {
10934 P80H = 0x1D
10935 If (PCVL)
10936 {
10937 DCPS = One
10938 }
10939 Else
10940 {
10941 DCPS = Zero
10942 }
10943
10944 PCLK ()
10945 }
10946
10947 Method (_Q24, 0, NotSerialized) // _Qxx: EC Query
10948 {
10949 P80H = 0x24
10950 Debug = "=====QUERY_24====="
10951 Sleep (0x03E8)
10952 Notify (BAT1, 0x80) // Status Change
10953 }
10954
10955 Method (_Q25, 0, NotSerialized) // _Qxx: EC Query
10956 {
10957 P80H = 0xBB
10958 Debug = "=====QUERY_25====="
10959 Sleep (0x03E8)
10960 Notify (BAT1, 0x81) // Information Change
10961 Sleep (0x03E8)
10962 Notify (BAT1, 0x80) // Status Change
10963 }
10964
10965 Method (_Q37, 0, NotSerialized) // _Qxx: EC Query
10966 {
10967 P80H = 0x37
10968 Debug = "=====QUERY_37====="
10969 Notify (ACAD, 0x80) // Status Change
10970 Sleep (0x03E8)
10971 Notify (BAT1, 0x80) // Status Change
10972 PWRS = One
10973 PNOT ()
10974 }
10975
10976 Method (_Q38, 0, NotSerialized) // _Qxx: EC Query
10977 {
10978 P80H = 0x38
10979 Debug = "=====QUERY_38====="
10980 Notify (ACAD, 0x80) // Status Change
10981 Sleep (0x03E8)
10982 Notify (BAT1, 0x80) // Status Change
10983 PWRS = Zero
10984 PNOT ()
10985 }
10986
10987 Method (_Q55, 0, NotSerialized) // _Qxx: EC Query
10988 {
10989 Notify (BAT1, 0x81) // Information Change
10990 }
10991
10992 Method (_Q60, 0, NotSerialized) // _Qxx: EC Query
10993 {
10994 P80H = 0x60
10995 Debug = "=====QUERY_60====="
10996 Local0 = GP34 /* \GP34 */
10997 Local1 = GP55 /* \GP55 */
10998 If (((Local0 == One) || (Local1 == Zero)))
10999 {
11000 GP34 = Zero
11001 GP55 = One
11002 }
11003 Else
11004 {
11005 GP34 = One
11006 GP55 = Zero
11007 }
11008 }
11009
11010 Method (_Q65, 0, NotSerialized) // _Qxx: EC Query
11011 {
11012 P80H = 0x65
11013 Debug = "=====QUERY_65====="
11014 If (((WLEX == One) & (WLAT == One)))
11015 {
11016 GP55 = One
11017 }
11018 Else
11019 {
11020 GP55 = Zero
11021 }
11022
11023 If (((BTEX == One) & (BTAT == One)))
11024 {
11025 B_ON ()
11026 }
11027 Else
11028 {
11029 B_OF ()
11030 }
11031 }
11032 }
11033
11034 Scope (_SB.PCI0.LPCB.EC0)
11035 {
11036 OperationRegion (ECF2, EmbeddedControl, Zero, 0xFF)
11037 Field (ECF2, ByteAcc, Lock, Preserve)
11038 {
11039 VCMD, 8,
11040 VDAT, 8,
11041 VSTA, 8
11042 }
11043
11044 Device (VPC0)
11045 {
11046 Name (_HID, "VPC2004") // _HID: Hardware ID
11047 Name (_UID, Zero) // _UID: Unique ID
11048 Name (_VPC, 0x0140)
11049 Name (VPCD, Zero)
11050 Name (GPS1, Zero)
11051 Method (_STA, 0, NotSerialized) // _STA: Status
11052 {
11053 Return (0x0F)
11054 }
11055
11056 Method (_CFG, 0, NotSerialized)
11057 {
11058 If ((CATO == Zero))
11059 {
11060 Local0 = SizeOf (\_PR.CPU0._PSS)
11061 Local1 = DerefOf (Index (\_PR.CPU0._PSS, One))
11062 Local1 = DerefOf (Index (Local1, Zero))
11063 Divide (Local1, 0x0A, Local2, Local1)
11064 Local1 *= 0x07
11065 Local2 = Zero
11066 While ((Local0 > Local2))
11067 {
11068 Local3 = DerefOf (Index (\_PR.CPU0._PSS, Local2))
11069 Local3 = DerefOf (Index (Local3, Zero))
11070 If ((Local1 >= Local3))
11071 {
11072 Break
11073 }
11074
11075 Local2++
11076 }
11077
11078 CATO = Local2
11079 }
11080
11081 Local0 = _VPC /* \_SB_.PCI0.LPCB.EC0_.VPC0._VPC */
11082 Local0 &= 0xFFFF
11083 Local2 = Zero
11084 Local2 += 0x07
11085 Local2 &= 0x07
11086 Local2 <<= 0x0D
11087 Local0 |= Local2
11088 Local0 &= 0xFFFFE8FF
11089 If ((^^^^PEG0.PEGP.VID != 0xFFFF))
11090 {
11091 If ((^^^^GFX0.VID == 0x8086))
11092 {
11093 If ((^^^^PEG0.PEGP.VID == 0x10DE))
11094 {
11095 Local0 |= 0x1500
11096 }
11097
11098 If ((^^^^PEG0.PEGP.VID == 0x1002))
11099 {
11100 Local0 |= 0x1400
11101 }
11102 }
11103 Else
11104 {
11105 If ((^^^^PEG0.PEGP.VID == 0x10DE))
11106 {
11107 Local0 |= 0x0300
11108 }
11109
11110 If ((^^^^PEG0.PEGP.VID == 0x1002))
11111 {
11112 Local0 |= 0x0200
11113 }
11114 }
11115 }
11116 Else
11117 {
11118 Local0 |= 0x0100
11119 }
11120
11121 If (HYMS)
11122 {
11123 Local0 |= 0x1000
11124 }
11125 Else
11126 {
11127 Local0 &= 0xEFFF
11128 }
11129
11130 If ((OSYS == 0x07DC))
11131 {
11132 Local0 |= 0x40
11133 }
11134 Else
11135 {
11136 Local0 &= 0xFFBF
11137 }
11138
11139 If (GPS1)
11140 {
11141 Local0 |= 0x20
11142 }
11143
11144 Local0 |= 0x08
11145 Local0 |= 0x04
11146 Local0 |= 0x02
11147 If (ECOK ())
11148 {
11149 Local1 = BTEX /* \_SB_.PCI0.LPCB.EC0_.BTEX */
11150 }
11151
11152 If (EX3G)
11153 {
11154 Local1 |= 0x02
11155 }
11156 Else
11157 {
11158 Local1 &= 0xFD
11159 }
11160
11161 If (WLEX)
11162 {
11163 Local1 |= 0x04
11164 }
11165 Else
11166 {
11167 Local1 &= 0xFB
11168 }
11169
11170 If (CMEX)
11171 {
11172 Local1 |= 0x08
11173 }
11174 Else
11175 {
11176 Local1 &= 0xF7
11177 }
11178
11179 Local2 = Zero
11180 Local2 |= 0x07
11181 Local2 &= 0x07
11182 Local2 <<= 0x04
11183 Local1 |= Local2
11184 Local1 *= 0x00010000
11185 Local0 += Local1
11186 _VPC = Local0
11187 Return (_VPC) /* \_SB_.PCI0.LPCB.EC0_.VPC0._VPC */
11188 }
11189
11190 Method (APPC, 1, Serialized)
11191 {
11192 APTG = Arg0
11193 APEJ = Arg0
11194 Return (Zero)
11195 }
11196
11197 Name (TBSL, Package (0x10)
11198 {
11199 0x02,
11200 0x05,
11201 0x0A,
11202 0x0F,
11203 0x11,
11204 0x14,
11205 0x19,
11206 0x1E,
11207 0x23,
11208 0x28,
11209 0x32,
11210 0x3C,
11211 0x46,
11212 0x50,
11213 0x5A,
11214 0x64
11215 })
11216 Name (TBS2, Package (0x65)
11217 {
11218 Zero,
11219 One,
11220 0x02,
11221 0x03,
11222 0x04,
11223 0x05,
11224 0x06,
11225 0x07,
11226 0x08,
11227 0x09,
11228 0x0A,
11229 0x0B,
11230 0x0C,
11231 0x0D,
11232 0x0E,
11233 0x0F,
11234 0x10,
11235 0x11,
11236 0x12,
11237 0x13,
11238 0x14,
11239 0x15,
11240 0x16,
11241 0x17,
11242 0x18,
11243 0x19,
11244 0x1A,
11245 0x1B,
11246 0x1C,
11247 0x1D,
11248 0x1E,
11249 0x1F,
11250 0x20,
11251 0x21,
11252 0x22,
11253 0x23,
11254 0x24,
11255 0x25,
11256 0x26,
11257 0x27,
11258 0x28,
11259 0x29,
11260 0x2A,
11261 0x2B,
11262 0x2C,
11263 0x2D,
11264 0x2E,
11265 0x2F,
11266 0x30,
11267 0x31,
11268 0x32,
11269 0x33,
11270 0x34,
11271 0x35,
11272 0x36,
11273 0x37,
11274 0x38,
11275 0x39,
11276 0x3A,
11277 0x3B,
11278 0x3C,
11279 0x3D,
11280 0x3E,
11281 0x3F,
11282 0x40,
11283 0x41,
11284 0x42,
11285 0x43,
11286 0x44,
11287 0x45,
11288 0x46,
11289 0x47,
11290 0x48,
11291 0x49,
11292 0x4A,
11293 0x4B,
11294 0x4C,
11295 0x4D,
11296 0x4E,
11297 0x4F,
11298 0x50,
11299 0x51,
11300 0x52,
11301 0x53,
11302 0x54,
11303 0x55,
11304 0x56,
11305 0x57,
11306 0x58,
11307 0x59,
11308 0x5A,
11309 0x5B,
11310 0x5C,
11311 0x5D,
11312 0x5E,
11313 0x5F,
11314 0x60,
11315 0x61,
11316 0x62,
11317 0x63,
11318 0x64
11319 })
11320 Method (DBSL, 0, NotSerialized)
11321 {
11322 If ((OSYS != 0x07DC))
11323 {
11324 Return (TBSL) /* \_SB_.PCI0.LPCB.EC0_.VPC0.TBSL */
11325 }
11326 Else
11327 {
11328 Return (TBS2) /* \_SB_.PCI0.LPCB.EC0_.VPC0.TBS2 */
11329 }
11330 }
11331
11332 Method (HALS, 0, NotSerialized)
11333 {
11334 Local0 = Zero
11335 Local0 |= 0x10
11336 If (KLEN)
11337 {
11338 Local0 |= 0x20
11339 }
11340
11341 Local0 |= 0x40
11342 If (UCEN)
11343 {
11344 Local0 |= 0x80
11345 }
11346
11347 Return (Local0)
11348 }
11349
11350 Method (SALS, 1, Serialized)
11351 {
11352 If ((Arg0 == Zero)) {}
11353 If ((Arg0 == One)) {}
11354 If ((Arg0 == 0x04)) {}
11355 If ((Arg0 == 0x05)) {}
11356 If ((Arg0 == 0x06)) {}
11357 If ((Arg0 == 0x07)) {}
11358 If ((Arg0 == 0x08))
11359 {
11360 KLEN = One
11361 }
11362
11363 If ((Arg0 == 0x09))
11364 {
11365 KLEN = Zero
11366 }
11367
11368 If ((Arg0 == 0x0A))
11369 {
11370 UCEN = One
11371 }
11372
11373 If ((Arg0 == 0x0B))
11374 {
11375 UCEN = Zero
11376 }
11377
11378 Return (Zero)
11379 }
11380
11381 Method (HODD, 0, NotSerialized)
11382 {
11383 Return (0xFF)
11384 }
11385
11386 Method (SODD, 1, Serialized)
11387 {
11388 }
11389
11390 Method (GBMD, 0, NotSerialized)
11391 {
11392 Local0 = 0x10000000
11393 If ((One == CDMB))
11394 {
11395 Local0 |= One
11396 }
11397
11398 If ((One == BTSM))
11399 {
11400 Local0 |= 0x02
11401 }
11402
11403 If ((One == FCGM))
11404 {
11405 Local0 |= 0x04
11406 }
11407
11408 If ((One == MBBD))
11409 {
11410 Local0 |= 0x08
11411 }
11412
11413 If ((One == SBBD))
11414 {
11415 Local0 |= 0x10
11416 }
11417
11418 If ((One == LBTM))
11419 {
11420 Local0 &= 0xFFFFFFDF
11421 }
11422
11423 If ((One == BTIL))
11424 {
11425 Local0 |= 0x80
11426 }
11427
11428 If ((One == BTPF))
11429 {
11430 Local0 |= 0x0100
11431 }
11432
11433 If ((Zero == BTCM))
11434 {
11435 Local0 |= 0x0200
11436 }
11437 Else
11438 {
11439 Local0 |= 0x20
11440 Local0 &= 0xFFFFFDFF
11441 }
11442
11443 If ((One == SBIL))
11444 {
11445 Local0 |= 0x0400
11446 }
11447
11448 If ((One == BTOV))
11449 {
11450 Local0 |= 0x0800
11451 }
11452
11453 If ((One == SBOV))
11454 {
11455 Local0 |= 0x1000
11456 }
11457
11458 If ((One == SBPF))
11459 {
11460 Local0 |= 0x2000
11461 }
11462
11463 Return (Local0)
11464 }
11465
11466 Method (SBMC, 1, NotSerialized)
11467 {
11468 If ((Arg0 == Zero))
11469 {
11470 CDMB = Zero
11471 EDCC = One
11472 Return (Zero)
11473 }
11474
11475 If ((Arg0 == One))
11476 {
11477 EDCC = Zero
11478 CDMB = One
11479 Return (Zero)
11480 }
11481
11482 If ((Arg0 == 0x02))
11483 {
11484 CCSB = One
11485 Return (Zero)
11486 }
11487
11488 If ((Arg0 == 0x03))
11489 {
11490 BTSM = Zero
11491 BTCM = One
11492 LBTM = Zero
11493 Return (Zero)
11494 }
11495
11496 If ((Arg0 == 0x04))
11497 {
11498 BTSM = Zero
11499 BTCM = One
11500 LBTM = Zero
11501 Return (Zero)
11502 }
11503
11504 If ((Arg0 == 0x05))
11505 {
11506 BTSM = Zero
11507 BTCM = Zero
11508 LBTM = One
11509 Return (Zero)
11510 }
11511
11512 If ((Arg0 == 0x06))
11513 {
11514 CSBM = One
11515 Return (Zero)
11516 }
11517
11518 Return (Zero)
11519 }
11520
11521 Method (SHDC, 1, Serialized)
11522 {
11523 IPEN = Arg0
11524 Return (Zero)
11525 }
11526
11527 Method (SVCR, 1, Serialized)
11528 {
11529 Local0 = Zero
11530 If ((Arg0 == Zero))
11531 {
11532 QTMD = Zero
11533 }
11534
11535 If ((Arg0 == One))
11536 {
11537 QTMD = One
11538 }
11539
11540 If ((Arg0 == 0x02))
11541 {
11542 LVAT = Zero
11543 }
11544
11545 If ((Arg0 == 0x03))
11546 {
11547 LVAT = One
11548 }
11549 }
11550
11551 Method (VPCR, 1, Serialized)
11552 {
11553 If ((Arg0 == One))
11554 {
11555 VPCD = VCMD /* \_SB_.PCI0.LPCB.EC0_.VCMD */
11556 }
11557 Else
11558 {
11559 VPCD = VDAT /* \_SB_.PCI0.LPCB.EC0_.VDAT */
11560 }
11561
11562 Return (VPCD) /* \_SB_.PCI0.LPCB.EC0_.VPC0.VPCD */
11563 }
11564
11565 Method (VPCW, 2, Serialized)
11566 {
11567 If ((Arg0 == One))
11568 {
11569 VCMD = Arg1
11570 If ((Arg1 == 0x11))
11571 {
11572 VDAT = 0x10
11573 VCMD = Zero
11574 Return (Zero)
11575 }
11576
11577 If ((Arg1 == 0x13))
11578 {
11579 If ((OSYS < 0x07D6))
11580 {
11581 Local0 = VDAT /* \_SB_.PCI0.LPCB.EC0_.VDAT */
11582 Local0 += 0x02
11583 ^^^^GFX0.AINT (One, DerefOf (Index (PLVL, Local0)))
11584 Return (Zero)
11585 }
11586 }
11587 }
11588 Else
11589 {
11590 VDAT = Arg1
11591 }
11592
11593 Return (Zero)
11594 }
11595
11596 Method (MHCF, 1, NotSerialized)
11597 {
11598 Local0 = Arg0
11599 (Local0 & 0x60)
11600 Local0 >>= 0x05
11601 BFUC = Local0
11602 If ((BFUC == One))
11603 {
11604 BFFW = Zero
11605 }
11606
11607 Sleep (0x14)
11608 Return (Local0)
11609 }
11610
11611 Method (MHPF, 1, NotSerialized)
11612 {
11613 Name (BFWB, Buffer (0x25) {})
11614 CreateByteField (BFWB, Zero, FB0)
11615 CreateByteField (BFWB, One, FB1)
11616 CreateByteField (BFWB, 0x02, FB2)
11617 CreateByteField (BFWB, 0x03, FB3)
11618 CreateField (BFWB, 0x20, 0x0100, FB4)
11619 CreateByteField (BFWB, 0x24, FB5)
11620 If ((SizeOf (Arg0) <= 0x25))
11621 {
11622 If ((SMPR != Zero))
11623 {
11624 FB1 = SMST /* \_SB_.PCI0.LPCB.EC0_.SMST */
11625 }
11626 Else
11627 {
11628 BFWB = Arg0
11629 SMAD = FB2 /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB2_ */
11630 SMCM = FB3 /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB3_ */
11631 BCNT = FB5 /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB5_ */
11632 Local0 = FB0 /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB0_ */
11633 If (((Local0 & One) == Zero))
11634 {
11635 SMD0 = FB4 /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB4_ */
11636 }
11637
11638 SMST = Zero
11639 SMPR = FB0 /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB0_ */
11640 Local1 = 0x64
11641 While (Local1)
11642 {
11643 Sleep (0x0A)
11644 Local1--
11645 If ((SMST && 0x80))
11646 {
11647 Break
11648 }
11649 }
11650
11651 Local0 = FB0 /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB0_ */
11652 If (((Local0 & One) != Zero))
11653 {
11654 FB4 = SMD0 /* \_SB_.PCI0.LPCB.EC0_.SMD0 */
11655 }
11656
11657 FB1 = SMST /* \_SB_.PCI0.LPCB.EC0_.SMST */
11658 If ((Local1 == Zero))
11659 {
11660 SMPR = Zero
11661 FB1 = 0x92
11662 }
11663 }
11664
11665 Sleep (0x14)
11666 Return (BFWB) /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.BFWB */
11667 }
11668 }
11669
11670 Method (MHIF, 1, NotSerialized)
11671 {
11672 Name (RETB, Buffer (0x0A) {})
11673 While ((BFFW == Zero))
11674 {
11675 Sleep (0xC8)
11676 }
11677
11678 If ((Arg0 == Zero))
11679 {
11680 Index (RETB, Zero) = FUSL /* \_SB_.PCI0.LPCB.EC0_.FUSL */
11681 Index (RETB, One) = FUSH /* \_SB_.PCI0.LPCB.EC0_.FUSH */
11682 Index (RETB, 0x02) = BMIL /* \_SB_.PCI0.LPCB.EC0_.BMIL */
11683 Index (RETB, 0x03) = BMIH /* \_SB_.PCI0.LPCB.EC0_.BMIH */
11684 Index (RETB, 0x04) = HIDL /* \_SB_.PCI0.LPCB.EC0_.HIDL */
11685 Index (RETB, 0x05) = HIDH /* \_SB_.PCI0.LPCB.EC0_.HIDH */
11686 Index (RETB, 0x06) = FMVL /* \_SB_.PCI0.LPCB.EC0_.FMVL */
11687 Index (RETB, 0x07) = FMVH /* \_SB_.PCI0.LPCB.EC0_.FMVH */
11688 Index (RETB, 0x08) = DAVL /* \_SB_.PCI0.LPCB.EC0_.DAVL */
11689 Index (RETB, 0x09) = DAVH /* \_SB_.PCI0.LPCB.EC0_.DAVH */
11690 }
11691
11692 Return (RETB) /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHIF.RETB */
11693 }
11694 }
11695
11696 Method (_Q44, 0, NotSerialized) // _Qxx: EC Query
11697 {
11698 If ((ECOK () == One))
11699 {
11700 P8XH (0x04, 0x44, Zero)
11701 P8XH (0x04, 0x44, One)
11702 Notify (VPC0, 0x80) // Status Change
11703 }
11704 }
11705
11706 Name (AMOD, Zero)
11707 Name (CATO, Zero)
11708 Method (_Q67, 0, NotSerialized) // _Qxx: EC Query
11709 {
11710 AMOD = \_PR.CPU0._PPC
11711 \_PR.CPU0._PPC = CATO /* \_SB_.PCI0.LPCB.EC0_.CATO */
11712 PNOT ()
11713 }
11714
11715 Method (_Q68, 0, NotSerialized) // _Qxx: EC Query
11716 {
11717 \_PR.CPU0._PPC = AMOD /* \_SB_.PCI0.LPCB.EC0_.AMOD */
11718 PNOT ()
11719 }
11720
11721 Method (_Q62, 0, NotSerialized) // _Qxx: EC Query
11722 {
11723 ECDX = 0xD1
11724 Notify (^^^PEG0.PEGP, 0xD1) // Hardware-Specific
11725 If ((GPSP == One))
11726 {
11727 ECPS = Zero
11728 GPSP = Zero
11729 Notify (^^^PEG0.PEGP, 0xC0) // Hardware-Specific
11730 }
11731 }
11732
11733 Method (_Q63, 0, NotSerialized) // _Qxx: EC Query
11734 {
11735 ECDX = 0xD2
11736 Notify (^^^PEG0.PEGP, 0xD2) // Hardware-Specific
11737 If ((GPSP == One))
11738 {
11739 ECPS = Zero
11740 GPSP = Zero
11741 Notify (^^^PEG0.PEGP, 0xC0) // Hardware-Specific
11742 }
11743 }
11744
11745 Method (_Q64, 0, NotSerialized) // _Qxx: EC Query
11746 {
11747 If ((GPSP == Zero))
11748 {
11749 ECPS = One
11750 GPSP = One
11751 Notify (^^^PEG0.PEGP, 0xC0) // Hardware-Specific
11752 }
11753 }
11754
11755 Scope (\)
11756 {
11757 Name (PLVL, Package (0x12)
11758 {
11759 0x46,
11760 0x1E,
11761 0x0A,
11762 0x0F,
11763 0x14,
11764 0x19,
11765 0x1E,
11766 0x23,
11767 0x28,
11768 0x2D,
11769 0x32,
11770 0x37,
11771 0x3C,
11772 0x41,
11773 0x46,
11774 0x50,
11775 0x5A,
11776 0x64
11777 })
11778 Name (PLV2, Package (0x67)
11779 {
11780 0x46,
11781 0x1E,
11782 Zero,
11783 One,
11784 0x02,
11785 0x03,
11786 0x04,
11787 0x05,
11788 0x06,
11789 0x07,
11790 0x08,
11791 0x09,
11792 0x0A,
11793 0x0B,
11794 0x0C,
11795 0x0D,
11796 0x0E,
11797 0x0F,
11798 0x10,
11799 0x11,
11800 0x12,
11801 0x13,
11802 0x14,
11803 0x15,
11804 0x16,
11805 0x17,
11806 0x18,
11807 0x19,
11808 0x1A,
11809 0x1B,
11810 0x1C,
11811 0x1D,
11812 0x1E,
11813 0x1F,
11814 0x20,
11815 0x21,
11816 0x22,
11817 0x23,
11818 0x24,
11819 0x25,
11820 0x26,
11821 0x27,
11822 0x28,
11823 0x29,
11824 0x2A,
11825 0x2B,
11826 0x2C,
11827 0x2D,
11828 0x2E,
11829 0x2F,
11830 0x30,
11831 0x31,
11832 0x32,
11833 0x33,
11834 0x34,
11835 0x35,
11836 0x36,
11837 0x37,
11838 0x38,
11839 0x39,
11840 0x3A,
11841 0x3B,
11842 0x3C,
11843 0x3D,
11844 0x3E,
11845 0x3F,
11846 0x40,
11847 0x41,
11848 0x42,
11849 0x43,
11850 0x44,
11851 0x45,
11852 0x46,
11853 0x47,
11854 0x48,
11855 0x49,
11856 0x4A,
11857 0x4B,
11858 0x4C,
11859 0x4D,
11860 0x4E,
11861 0x4F,
11862 0x50,
11863 0x51,
11864 0x52,
11865 0x53,
11866 0x54,
11867 0x55,
11868 0x56,
11869 0x57,
11870 0x58,
11871 0x59,
11872 0x5A,
11873 0x5B,
11874 0x5C,
11875 0x5D,
11876 0x5E,
11877 0x5F,
11878 0x60,
11879 0x61,
11880 0x62,
11881 0x63,
11882 0x64
11883 })
11884 Name (APTG, Zero)
11885 Name (APEJ, Zero)
11886 Name (APSD, Zero)
11887 Name (ECDX, 0xD1)
11888 Name (ECPS, Zero)
11889 }
11890
11891 Scope (^^PEG0.PEGP)
11892 {
11893 OperationRegion (PCRG, PCI_Config, Zero, 0x3F)
11894 Field (PCRG, AnyAcc, NoLock, Preserve)
11895 {
11896 VID, 16,
11897 DID, 16
11898 }
11899 }
11900
11901 Scope (^^GFX0)
11902 {
11903 OperationRegion (PCRG, PCI_Config, Zero, 0x3F)
11904 Field (PCRG, AnyAcc, NoLock, Preserve)
11905 {
11906 VID, 16,
11907 DID, 16
11908 }
11909 }
11910
11911 OperationRegion (ECAM, EmbeddedControl, Zero, 0xFF)
11912 Field (ECAM, ByteAcc, Lock, Preserve)
11913 {
11914 Offset (0x03),
11915 KLEN, 1,
11916 KLEX, 1,
11917 UCEN, 1,
11918 UCEX, 1,
11919 SEVP, 1,
11920 Offset (0x04),
11921 SBOV, 1,
11922 SBIL, 1,
11923 SBPF, 1,
11924 , 2,
11925 SBBD, 1,
11926 Offset (0x05),
11927 Offset (0x06),
11928 ERPM, 8,
11929 BTOV, 1,
11930 BTIL, 1,
11931 BTPF, 1,
11932 BTSG, 1,
11933 LEDF, 1,
11934 MBBD, 1,
11935 LVAT, 1,
11936 FCGM, 1,
11937 ACBL, 8,
11938 DCBL, 8,
11939 EDCC, 1,
11940 ALSC, 1,
11941 CDMB, 1,
11942 CCSB, 1,
11943 BTSM, 1,
11944 BTCM, 1,
11945 LBTM, 1,
11946 CSBM, 1,
11947 HYMS, 1,
11948 HDME, 1,
11949 HGMF, 1,
11950 SWCS, 1,
11951 IPEN, 1,
11952 DCRC, 1,
11953 CREC, 1,
11954 SGCR, 1,
11955 ODPO, 1,
11956 EODD, 1,
11957 ODPK, 1,
11958 CMEX, 1,
11959 CMON, 1,
11960 SODD, 1,
11961 ODFB, 1,
11962 EODS, 1,
11963 RTMP, 8,
11964 VTMP, 8,
11965 FNCM, 8,
11966 PINF, 3,
11967 SPST, 1,
11968 ATIT, 1,
11969 QTMD, 1,
11970 SS35, 1,
11971 Offset (0x11),
11972 BFUC, 2,
11973 Offset (0x12),
11974 FUSL, 8,
11975 FUSH, 8,
11976 BMIL, 8,
11977 BMIH, 8,
11978 HIDL, 8,
11979 HIDH, 8,
11980 FMVL, 8,
11981 FMVH, 8,
11982 DAVL, 8,
11983 DAVH, 8,
11984 KEYP, 1,
11985 BRAZ, 1,
11986 Offset (0x1D),
11987 BFFW, 1
11988 }
11989 }
11990
11991 Scope (_SB)
11992 {
11993 Device (LID0)
11994 {
11995 Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID
11996 Method (_LID, 0, NotSerialized) // _LID: Lid Status
11997 {
11998 Return (GP15) /* \GP15 */
11999 }
12000
12001 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
12002 {
12003 0x1F,
12004 0x03
12005 })
12006 }
12007 }
12008
12009 Mutex (PSMX, 0x00)
12010 Method (OSMI, 1, NotSerialized)
12011 {
12012 Acquire (PSMX, 0xFFFF)
12013 SMID = Arg0
12014 SMIC = 0xB2
12015 Release (PSMX)
12016 }
12017
12018 Mutex (SSMX, 0x00)
12019 Method (SSMI, 2, NotSerialized)
12020 {
12021 Acquire (SSMX, 0xFFFF)
12022 SMID = Arg1
12023 SMIC = Arg0
12024 Local0 = SMID /* \SMID */
12025 Release (SSMX)
12026 Return (Local0)
12027 }
12028
12029 Scope (_SB.PCI0.LPCB.EC0)
12030 {
12031 Method (REGH, 0, NotSerialized)
12032 {
12033 If (((WLEX == One) & (WLAT == One)))
12034 {
12035 GP55 = One
12036 }
12037 Else
12038 {
12039 GP55 = Zero
12040 }
12041
12042 If (((BTEX == One) & (BTAT == One)))
12043 {
12044 B_ON ()
12045 }
12046 Else
12047 {
12048 B_OF ()
12049 }
12050 }
12051 }
12052
12053 Scope (_SB.PCI0.LPCB.EC0)
12054 {
12055 Method (LVCK, 0, NotSerialized)
12056 {
12057 Return (0x38)
12058 }
12059
12060 Method (AITL, 2, NotSerialized)
12061 {
12062 Local0 = Arg1
12063 If ((Zero == APSD))
12064 {
12065 APSD = One
12066 If ((Arg0 == 0x10))
12067 {
12068 OSMI (0x8A)
12069 Return (0xF0)
12070 }
12071
12072 If ((Arg0 == 0x11))
12073 {
12074 OSMI (0x8B)
12075 Return (0xF0)
12076 }
12077
12078 If ((Arg0 == 0x12))
12079 {
12080 OSMI (0x8C)
12081 Return (0xF0)
12082 }
12083
12084 If ((Arg0 == 0x13))
12085 {
12086 OSMI (0x8D)
12087 Return (0xF0)
12088 }
12089 }
12090 Else
12091 {
12092 Return (0xFE)
12093 }
12094
12095 Return (0xFF)
12096 }
12097 }
12098
12099 Name (_S0, Package (0x04) // _S0_: S0 System State
12100 {
12101 Zero,
12102 Zero,
12103 Zero,
12104 Zero
12105 })
12106 If (SS1)
12107 {
12108 Name (_S1, Package (0x04) // _S1_: S1 System State
12109 {
12110 One,
12111 Zero,
12112 Zero,
12113 Zero
12114 })
12115 }
12116
12117 If (SS3)
12118 {
12119 Name (_S3, Package (0x04) // _S3_: S3 System State
12120 {
12121 0x05,
12122 Zero,
12123 Zero,
12124 Zero
12125 })
12126 }
12127
12128 If (SS4)
12129 {
12130 Name (_S4, Package (0x04) // _S4_: S4 System State
12131 {
12132 0x06,
12133 Zero,
12134 Zero,
12135 Zero
12136 })
12137 }
12138
12139 Name (_S5, Package (0x04) // _S5_: S5 System State
12140 {
12141 0x07,
12142 Zero,
12143 Zero,
12144 Zero
12145 })
12146 Scope (\_SB)
12147 {
12148 OperationRegion (MAIO, SystemIO, 0xFD61, 0x03)
12149 Field (MAIO, ByteAcc, NoLock, Preserve)
12150 {
12151 MAIN, 16,
12152 MADT, 8
12153 }
12154
12155 Method (AMBX, 3, Serialized)
12156 {
12157 If ((Arg0 == Zero))
12158 {
12159 MAIN = Arg1
12160 Local2 = MADT /* \_SB_.MADT */
12161 Return (Local2)
12162 }
12163 Else
12164 {
12165 MAIN = Arg1
12166 MADT = Arg2
12167 Local2 = Zero
12168 Return (Local2)
12169 }
12170 }
12171
12172 Device (PTID)
12173 {
12174 Name (_HID, EisaId ("INT340E") /* Motherboard Resources */) // _HID: Hardware ID
12175 Name (_CID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _CID: Compatible ID
12176 Name (IVER, 0x00030000)
12177 Method (_STA, 0, NotSerialized) // _STA: Status
12178 {
12179 Return (0x0F)
12180 }
12181
12182 Name (TSDL, Package (0x0A)
12183 {
12184 Zero,
12185 "CPU Core 0 DTS",
12186 Zero,
12187 "CPU Core 1 DTS",
12188 Zero,
12189 "CPU Core 2 DTS",
12190 Zero,
12191 "CPU Core 3 DTS",
12192 Zero,
12193 "CPU Core Package DTS"
12194 })
12195 Name (TMPV, Package (0x02)
12196 {
12197 Zero,
12198 Zero
12199 })
12200 Name (PSDL, Package (0x04)
12201 {
12202 Zero,
12203 "Power 0",
12204 Zero,
12205 "Power 1"
12206 })
12207 Name (PWRV, Package (0x02)
12208 {
12209 Zero,
12210 Zero
12211 })
12212 Name (OSDL, Package (0x06)
12213 {
12214 0x04,
12215 "Fan RPM",
12216 "RPM",
12217 0x0C,
12218 "Battery Capacity",
12219 "mAh"
12220 })
12221 Name (OSDV, Package (0x02)
12222 {
12223 Zero,
12224 Zero
12225 })
12226 Method (TSDD, 0, NotSerialized)
12227 {
12228 Index (TMPV, Zero) = ((DTS1 * 0x0A) + 0x0AAC)
12229 Index (TMPV, One) = ((DTS2 * 0x0A) + 0x0AAC)
12230 Index (TMPV, 0x02) = ((DTS3 * 0x0A) + 0x0AAC)
12231 Index (TMPV, 0x03) = ((DTS4 * 0x0A) + 0x0AAC)
12232 Index (TMPV, 0x04) = ((PDTS * 0x0A) + 0x0AAC)
12233 Return (TMPV) /* \_SB_.PTID.TMPV */
12234 }
12235
12236 Method (PSDD, 0, NotSerialized)
12237 {
12238 Return (PWRV) /* \_SB_.PTID.PWRV */
12239 }
12240
12241 Method (OSDD, 0, NotSerialized)
12242 {
12243 Return (OSDV) /* \_SB_.PTID.OSDV */
12244 }
12245
12246 Method (SDSP, 0, NotSerialized)
12247 {
12248 Return (0x0A)
12249 }
12250
12251 Name (PADA, Package (0x0A)
12252 {
12253 One,
12254 Ones,
12255 Ones,
12256 0x1A,
12257 Ones,
12258 Ones,
12259 Ones,
12260 Ones,
12261 Ones,
12262 Ones
12263 })
12264 Name (PADD, Package (0x0A)
12265 {
12266 0x02,
12267 0x6C,
12268 0x68,
12269 0x1A,
12270 0x62,
12271 0x63,
12272 0x60,
12273 0x61,
12274 0x65,
12275 0x64
12276 })
12277 Method (PADT, 0, NotSerialized)
12278 {
12279 If (PAMT)
12280 {
12281 Return (PADA) /* \_SB_.PTID.PADA */
12282 }
12283
12284 Return (PADD) /* \_SB_.PTID.PADD */
12285 }
12286
12287 Method (RPMD, 0, NotSerialized)
12288 {
12289 Name (MTMP, Buffer (0x1A) {})
12290 Debug = "RPMD"
12291 Local0 = AMBX (Zero, 0x8AFB, Zero)
12292 Debug = Local0
12293 Index (MTMP, 0x05) = AMBX (Zero, 0x8BFB, Zero)
12294 Index (MTMP, 0x06) = AMBX (Zero, 0x8CFB, Zero)
12295 Index (MTMP, 0x07) = AMBX (Zero, 0x8DFB, Zero)
12296 Index (MTMP, 0x08) = AMBX (Zero, 0x8EFB, Zero)
12297 Index (MTMP, 0x09) = AMBX (Zero, 0x8FFB, Zero)
12298 Index (MTMP, 0x0A) = AMBX (Zero, 0x90FB, Zero)
12299 Index (MTMP, 0x0B) = AMBX (Zero, 0x91FB, Zero)
12300 Index (MTMP, 0x0C) = AMBX (Zero, 0x92FB, Zero)
12301 Index (MTMP, 0x0D) = AMBX (Zero, 0x93FB, Zero)
12302 Index (MTMP, 0x0E) = AMBX (Zero, 0x94FB, Zero)
12303 Index (MTMP, 0x0F) = AMBX (Zero, 0x95FB, Zero)
12304 Index (MTMP, 0x10) = AMBX (Zero, 0x96FB, Zero)
12305 Index (MTMP, 0x11) = AMBX (Zero, 0x97FB, Zero)
12306 Index (MTMP, 0x12) = AMBX (Zero, 0x98FB, Zero)
12307 Index (MTMP, 0x13) = AMBX (Zero, 0x99FB, Zero)
12308 Index (MTMP, 0x14) = AMBX (Zero, 0x9AFB, Zero)
12309 Index (MTMP, 0x15) = AMBX (Zero, 0x9BFB, Zero)
12310 Index (MTMP, 0x16) = AMBX (Zero, 0x9CFB, Zero)
12311 Index (MTMP, 0x17) = AMBX (Zero, 0x9DFB, Zero)
12312 Index (MTMP, 0x18) = AMBX (Zero, 0x9EFB, Zero)
12313 Index (MTMP, 0x19) = AMBX (Zero, 0x9FFB, Zero)
12314 Index (MTMP, Zero) = AMBX (Zero, 0x86FB, Zero)
12315 Index (MTMP, One) = AMBX (Zero, 0x87FB, Zero)
12316 Index (MTMP, 0x02) = AMBX (Zero, 0x88FB, Zero)
12317 Index (MTMP, 0x03) = AMBX (Zero, 0x89FB, Zero)
12318 Debug = MTMP /* \_SB_.PTID.RPMD.MTMP */
12319 Return (MTMP) /* \_SB_.PTID.RPMD.MTMP */
12320 }
12321
12322 Method (WPMD, 1, NotSerialized)
12323 {
12324 If ((SizeOf (Arg0) != 0x1A))
12325 {
12326 Debug = SizeOf (Arg0)
12327 Debug = Arg0
12328 Return (Ones)
12329 }
12330
12331 Debug = "WPMD"
12332 Debug = Arg0
12333 AMBX (One, 0x8AFB, DerefOf (Index (Arg0, 0x04)))
12334 AMBX (One, 0x8BFB, DerefOf (Index (Arg0, 0x05)))
12335 AMBX (One, 0x8CFB, DerefOf (Index (Arg0, 0x06)))
12336 AMBX (One, 0x8DFB, DerefOf (Index (Arg0, 0x07)))
12337 AMBX (One, 0x8EFB, DerefOf (Index (Arg0, 0x08)))
12338 AMBX (One, 0x8FFB, DerefOf (Index (Arg0, 0x09)))
12339 AMBX (One, 0x90FB, DerefOf (Index (Arg0, 0x0A)))
12340 AMBX (One, 0x91FB, DerefOf (Index (Arg0, 0x0B)))
12341 AMBX (One, 0x92FB, DerefOf (Index (Arg0, 0x0C)))
12342 AMBX (One, 0x93FB, DerefOf (Index (Arg0, 0x0D)))
12343 AMBX (One, 0x94FB, DerefOf (Index (Arg0, 0x0E)))
12344 AMBX (One, 0x95FB, DerefOf (Index (Arg0, 0x0F)))
12345 AMBX (One, 0x96FB, DerefOf (Index (Arg0, 0x10)))
12346 AMBX (One, 0x97FB, DerefOf (Index (Arg0, 0x11)))
12347 AMBX (One, 0x98FB, DerefOf (Index (Arg0, 0x12)))
12348 AMBX (One, 0x99FB, DerefOf (Index (Arg0, 0x13)))
12349 AMBX (One, 0x9AFB, DerefOf (Index (Arg0, 0x14)))
12350 AMBX (One, 0x9BFB, DerefOf (Index (Arg0, 0x15)))
12351 AMBX (One, 0x9CFB, DerefOf (Index (Arg0, 0x16)))
12352 AMBX (One, 0x9DFB, DerefOf (Index (Arg0, 0x17)))
12353 AMBX (One, 0x9EFB, DerefOf (Index (Arg0, 0x18)))
12354 AMBX (One, 0x9FFB, DerefOf (Index (Arg0, 0x19)))
12355 AMBX (One, 0x86FB, DerefOf (Index (Arg0, Zero)))
12356 AMBX (One, 0x87FB, DerefOf (Index (Arg0, One)))
12357 AMBX (One, 0x88FB, DerefOf (Index (Arg0, 0x02)))
12358 AMBX (One, 0x89FB, DerefOf (Index (Arg0, 0x03)))
12359 Return (Zero)
12360 }
12361
12362 Method (ISPC, 0, NotSerialized)
12363 {
12364 Debug = "ISPC"
12365 AMBX (One, 0x10FF, 0x60)
12366 Local0 = AMBX (Zero, 0x10FF, Zero)
12367 While (Local0)
12368 {
12369 Local0 = AMBX (Zero, 0x10FF, Zero)
12370 }
12371
12372 Return (Zero)
12373 }
12374
12375 Method (ENPC, 0, NotSerialized)
12376 {
12377 AMBX (One, 0x10FF, 0x61)
12378 Local0 = AMBX (Zero, 0x10FF, Zero)
12379 While (Local0)
12380 {
12381 Local0 = AMBX (Zero, 0x10FF, Zero)
12382 }
12383
12384 Return (Zero)
12385 }
12386
12387 Method (RPCS, 0, NotSerialized)
12388 {
12389 Debug = "RPCS"
12390 AMBX (One, 0x10FF, 0x65)
12391 Local0 = AMBX (Zero, 0x10FF, Zero)
12392 While (Local0)
12393 {
12394 Local0 = AMBX (Zero, 0x10FF, Zero)
12395 }
12396
12397 Local0 = AMBX (Zero, 0x80FB, Zero)
12398 Debug = Local0
12399 Return (Local0)
12400 }
12401
12402 Method (RPEC, 0, NotSerialized)
12403 {
12404 Local0 = Zero
12405 AMBX (One, 0x10FF, 0x64)
12406 Local0 = AMBX (Zero, 0x10FF, Zero)
12407 While (Local0)
12408 {
12409 Local0 = AMBX (Zero, 0x10FF, Zero)
12410 }
12411
12412 Local1 = AMBX (Zero, 0x82FB, Zero)
12413 Local0 |= Local1
12414 Local1 = AMBX (Zero, 0x83FB, Zero)
12415 Local0 |= (Local1 << 0x08)
12416 Local1 = AMBX (Zero, 0x84FB, Zero)
12417 Local0 |= (Local1 << 0x10)
12418 Local1 = AMBX (Zero, 0x85FB, Zero)
12419 Local0 |= (Local1 << 0x18)
12420 Return (Local0)
12421 }
12422 }
12423 }
12424
12425 Scope (\_PR.CPU0)
12426 {
12427 Name (_PPC, Zero) // _PPC: Performance Present Capabilities
12428 Method (_PCT, 0, NotSerialized) // _PCT: Performance Control
12429 {
12430 \_PR.CPU0._PPC = \_PR.CPPC
12431 If (((CFGD & One) && (PDC0 & One)))
12432 {
12433 Return (Package (0x02)
12434 {
12435 ResourceTemplate ()
12436 {
12437 Register (FFixedHW,
12438 0x00, // Bit Width
12439 0x00, // Bit Offset
12440 0x0000000000000000, // Address
12441 ,)
12442 },
12443
12444 ResourceTemplate ()
12445 {
12446 Register (FFixedHW,
12447 0x00, // Bit Width
12448 0x00, // Bit Offset
12449 0x0000000000000000, // Address
12450 ,)
12451 }
12452 })
12453 }
12454
12455 Return (Package (0x02)
12456 {
12457 ResourceTemplate ()
12458 {
12459 Register (SystemIO,
12460 0x10, // Bit Width
12461 0x00, // Bit Offset
12462 0x0000000000001000, // Address
12463 ,)
12464 },
12465
12466 ResourceTemplate ()
12467 {
12468 Register (SystemIO,
12469 0x08, // Bit Width
12470 0x00, // Bit Offset
12471 0x00000000000000B3, // Address
12472 ,)
12473 }
12474 })
12475 }
12476
12477 Method (XPSS, 0, NotSerialized)
12478 {
12479 If ((PDC0 & One))
12480 {
12481 Return (NPSS) /* External reference */
12482 }
12483
12484 Return (SPSS) /* \_PR_.CPU0.SPSS */
12485 }
12486
12487 Name (SPSS, Package (0x10)
12488 {
12489 Package (0x06)
12490 {
12491 0x000008FC,
12492 0x000088B8,
12493 0x0000006E,
12494 0x0000000A,
12495 0x00000083,
12496 0x00000000
12497 },
12498
12499 Package (0x06)
12500 {
12501 0x00000898,
12502 0x00008068,
12503 0x0000006E,
12504 0x0000000A,
12505 0x00000183,
12506 0x00000001
12507 },
12508
12509 Package (0x06)
12510 {
12511 0x00000834,
12512 0x00007997,
12513 0x0000006E,
12514 0x0000000A,
12515 0x00000283,
12516 0x00000002
12517 },
12518
12519 Package (0x06)
12520 {
12521 0x000007D0,
12522 0x00007197,
12523 0x0000006E,
12524 0x0000000A,
12525 0x00000383,
12526 0x00000003
12527 },
12528
12529 Package (0x06)
12530 {
12531 0x0000076C,
12532 0x00006B0E,
12533 0x0000006E,
12534 0x0000000A,
12535 0x00000483,
12536 0x00000004
12537 },
12538
12539 Package (0x06)
12540 {
12541 0x00000708,
12542 0x000064A6,
12543 0x0000006E,
12544 0x0000000A,
12545 0x00000583,
12546 0x00000005
12547 },
12548
12549 Package (0x06)
12550 {
12551 0x000006A4,
12552 0x00005D1D,
12553 0x0000006E,
12554 0x0000000A,
12555 0x00000683,
12556 0x00000006
12557 },
12558
12559 Package (0x06)
12560 {
12561 0x00000640,
12562 0x000056F9,
12563 0x0000006E,
12564 0x0000000A,
12565 0x00000783,
12566 0x00000007
12567 },
12568
12569 Package (0x06)
12570 {
12571 0x000005DC,
12572 0x000050F6,
12573 0x0000006E,
12574 0x0000000A,
12575 0x00000883,
12576 0x00000008
12577 },
12578
12579 Package (0x06)
12580 {
12581 0x00000578,
12582 0x000049D8,
12583 0x0000006E,
12584 0x0000000A,
12585 0x00000983,
12586 0x00000009
12587 },
12588
12589 Package (0x06)
12590 {
12591 0x00000514,
12592 0x00004418,
12593 0x0000006E,
12594 0x0000000A,
12595 0x00000A83,
12596 0x0000000A
12597 },
12598
12599 Package (0x06)
12600 {
12601 0x000004B0,
12602 0x00003E7C,
12603 0x0000006E,
12604 0x0000000A,
12605 0x00000B83,
12606 0x0000000B
12607 },
12608
12609 Package (0x06)
12610 {
12611 0x0000044C,
12612 0x000037CA,
12613 0x0000006E,
12614 0x0000000A,
12615 0x00000C83,
12616 0x0000000C
12617 },
12618
12619 Package (0x06)
12620 {
12621 0x000003E8,
12622 0x0000326B,
12623 0x0000006E,
12624 0x0000000A,
12625 0x00000D83,
12626 0x0000000D
12627 },
12628
12629 Package (0x06)
12630 {
12631 0x00000384,
12632 0x00002D2B,
12633 0x0000006E,
12634 0x0000000A,
12635 0x00000E83,
12636 0x0000000E
12637 },
12638
12639 Package (0x06)
12640 {
12641 0x00000320,
12642 0x000026E4,
12643 0x0000006E,
12644 0x0000000A,
12645 0x00000F83,
12646 0x0000000F
12647 }
12648 })
12649 Package (0x06)
12650 {
12651 0x80000000,
12652 0x80000000,
12653 0x80000000,
12654 0x80000000,
12655 0x80000000,
12656 0x80000000
12657 }
12658
12659 Package (0x06)
12660 {
12661 0x80000000,
12662 0x80000000,
12663 0x80000000,
12664 0x80000000,
12665 0x80000000,
12666 0x80000000
12667 }
12668
12669 Package (0x06)
12670 {
12671 0x80000000,
12672 0x80000000,
12673 0x80000000,
12674 0x80000000,
12675 0x80000000,
12676 0x80000000
12677 }
12678
12679 Package (0x06)
12680 {
12681 0x80000000,
12682 0x80000000,
12683 0x80000000,
12684 0x80000000,
12685 0x80000000,
12686 0x80000000
12687 }
12688
12689 Package (0x06)
12690 {
12691 0x80000000,
12692 0x80000000,
12693 0x80000000,
12694 0x80000000,
12695 0x80000000,
12696 0x80000000
12697 }
12698
12699 Package (0x06)
12700 {
12701 0x80000000,
12702 0x80000000,
12703 0x80000000,
12704 0x80000000,
12705 0x80000000,
12706 0x80000000
12707 }
12708
12709 Package (0x06)
12710 {
12711 0x80000000,
12712 0x80000000,
12713 0x80000000,
12714 0x80000000,
12715 0x80000000,
12716 0x80000000
12717 }
12718
12719 Package (0x06)
12720 {
12721 0x80000000,
12722 0x80000000,
12723 0x80000000,
12724 0x80000000,
12725 0x80000000,
12726 0x80000000
12727 }
12728
12729 Package (0x06)
12730 {
12731 0x80000000,
12732 0x80000000,
12733 0x80000000,
12734 0x80000000,
12735 0x80000000,
12736 0x80000000
12737 }
12738
12739 Package (0x06)
12740 {
12741 0x80000000,
12742 0x80000000,
12743 0x80000000,
12744 0x80000000,
12745 0x80000000,
12746 0x80000000
12747 }
12748
12749 Package (0x06)
12750 {
12751 0x80000000,
12752 0x80000000,
12753 0x80000000,
12754 0x80000000,
12755 0x80000000,
12756 0x80000000
12757 }
12758
12759 Package (0x06)
12760 {
12761 0x80000000,
12762 0x80000000,
12763 0x80000000,
12764 0x80000000,
12765 0x80000000,
12766 0x80000000
12767 }
12768
12769 Package (0x06)
12770 {
12771 0x80000000,
12772 0x80000000,
12773 0x80000000,
12774 0x80000000,
12775 0x80000000,
12776 0x80000000
12777 }
12778
12779 Package (0x06)
12780 {
12781 0x80000000,
12782 0x80000000,
12783 0x80000000,
12784 0x80000000,
12785 0x80000000,
12786 0x80000000
12787 }
12788
12789 Package (0x06)
12790 {
12791 0x80000000,
12792 0x80000000,
12793 0x80000000,
12794 0x80000000,
12795 0x80000000,
12796 0x80000000
12797 }
12798
12799 Package (0x06)
12800 {
12801 0x80000000,
12802 0x80000000,
12803 0x80000000,
12804 0x80000000,
12805 0x80000000,
12806 0x80000000
12807 }
12808
12809 Name (_PSS, Package (0x10) // _PSS: Performance Supported States
12810 {
12811 Package (0x06)
12812 {
12813 0x000008FC,
12814 0x000088B8,
12815 0x0000000A,
12816 0x0000000A,
12817 0x00001700,
12818 0x00001700
12819 },
12820
12821 Package (0x06)
12822 {
12823 0x00000898,
12824 0x00008068,
12825 0x0000000A,
12826 0x0000000A,
12827 0x00001600,
12828 0x00001600
12829 },
12830
12831 Package (0x06)
12832 {
12833 0x00000834,
12834 0x00007997,
12835 0x0000000A,
12836 0x0000000A,
12837 0x00001500,
12838 0x00001500
12839 },
12840
12841 Package (0x06)
12842 {
12843 0x000007D0,
12844 0x00007197,
12845 0x0000000A,
12846 0x0000000A,
12847 0x00001400,
12848 0x00001400
12849 },
12850
12851 Package (0x06)
12852 {
12853 0x0000076C,
12854 0x00006B0E,
12855 0x0000000A,
12856 0x0000000A,
12857 0x00001300,
12858 0x00001300
12859 },
12860
12861 Package (0x06)
12862 {
12863 0x00000708,
12864 0x000064A6,
12865 0x0000000A,
12866 0x0000000A,
12867 0x00001200,
12868 0x00001200
12869 },
12870
12871 Package (0x06)
12872 {
12873 0x000006A4,
12874 0x00005D1D,
12875 0x0000000A,
12876 0x0000000A,
12877 0x00001100,
12878 0x00001100
12879 },
12880
12881 Package (0x06)
12882 {
12883 0x00000640,
12884 0x000056F9,
12885 0x0000000A,
12886 0x0000000A,
12887 0x00001000,
12888 0x00001000
12889 },
12890
12891 Package (0x06)
12892 {
12893 0x000005DC,
12894 0x000050F6,
12895 0x0000000A,
12896 0x0000000A,
12897 0x00000F00,
12898 0x00000F00
12899 },
12900
12901 Package (0x06)
12902 {
12903 0x00000578,
12904 0x000049D8,
12905 0x0000000A,
12906 0x0000000A,
12907 0x00000E00,
12908 0x00000E00
12909 },
12910
12911 Package (0x06)
12912 {
12913 0x00000514,
12914 0x00004418,
12915 0x0000000A,
12916 0x0000000A,
12917 0x00000D00,
12918 0x00000D00
12919 },
12920
12921 Package (0x06)
12922 {
12923 0x000004B0,
12924 0x00003E7C,
12925 0x0000000A,
12926 0x0000000A,
12927 0x00000C00,
12928 0x00000C00
12929 },
12930
12931 Package (0x06)
12932 {
12933 0x0000044C,
12934 0x000037CA,
12935 0x0000000A,
12936 0x0000000A,
12937 0x00000B00,
12938 0x00000B00
12939 },
12940
12941 Package (0x06)
12942 {
12943 0x000003E8,
12944 0x0000326B,
12945 0x0000000A,
12946 0x0000000A,
12947 0x00000A00,
12948 0x00000A00
12949 },
12950
12951 Package (0x06)
12952 {
12953 0x00000384,
12954 0x00002D2B,
12955 0x0000000A,
12956 0x0000000A,
12957 0x00000900,
12958 0x00000900
12959 },
12960
12961 Package (0x06)
12962 {
12963 0x00000320,
12964 0x000026E4,
12965 0x0000000A,
12966 0x0000000A,
12967 0x00000800,
12968 0x00000800
12969 }
12970 })
12971 Package (0x06)
12972 {
12973 0x80000000,
12974 0x80000000,
12975 0x80000000,
12976 0x80000000,
12977 0x80000000,
12978 0x80000000
12979 }
12980
12981 Package (0x06)
12982 {
12983 0x80000000,
12984 0x80000000,
12985 0x80000000,
12986 0x80000000,
12987 0x80000000,
12988 0x80000000
12989 }
12990
12991 Package (0x06)
12992 {
12993 0x80000000,
12994 0x80000000,
12995 0x80000000,
12996 0x80000000,
12997 0x80000000,
12998 0x80000000
12999 }
13000
13001 Package (0x06)
13002 {
13003 0x80000000,
13004 0x80000000,
13005 0x80000000,
13006 0x80000000,
13007 0x80000000,
13008 0x80000000
13009 }
13010
13011 Package (0x06)
13012 {
13013 0x80000000,
13014 0x80000000,
13015 0x80000000,
13016 0x80000000,
13017 0x80000000,
13018 0x80000000
13019 }
13020
13021 Package (0x06)
13022 {
13023 0x80000000,
13024 0x80000000,
13025 0x80000000,
13026 0x80000000,
13027 0x80000000,
13028 0x80000000
13029 }
13030
13031 Package (0x06)
13032 {
13033 0x80000000,
13034 0x80000000,
13035 0x80000000,
13036 0x80000000,
13037 0x80000000,
13038 0x80000000
13039 }
13040
13041 Package (0x06)
13042 {
13043 0x80000000,
13044 0x80000000,
13045 0x80000000,
13046 0x80000000,
13047 0x80000000,
13048 0x80000000
13049 }
13050
13051 Package (0x06)
13052 {
13053 0x80000000,
13054 0x80000000,
13055 0x80000000,
13056 0x80000000,
13057 0x80000000,
13058 0x80000000
13059 }
13060
13061 Package (0x06)
13062 {
13063 0x80000000,
13064 0x80000000,
13065 0x80000000,
13066 0x80000000,
13067 0x80000000,
13068 0x80000000
13069 }
13070
13071 Package (0x06)
13072 {
13073 0x80000000,
13074 0x80000000,
13075 0x80000000,
13076 0x80000000,
13077 0x80000000,
13078 0x80000000
13079 }
13080
13081 Package (0x06)
13082 {
13083 0x80000000,
13084 0x80000000,
13085 0x80000000,
13086 0x80000000,
13087 0x80000000,
13088 0x80000000
13089 }
13090
13091 Package (0x06)
13092 {
13093 0x80000000,
13094 0x80000000,
13095 0x80000000,
13096 0x80000000,
13097 0x80000000,
13098 0x80000000
13099 }
13100
13101 Package (0x06)
13102 {
13103 0x80000000,
13104 0x80000000,
13105 0x80000000,
13106 0x80000000,
13107 0x80000000,
13108 0x80000000
13109 }
13110
13111 Package (0x06)
13112 {
13113 0x80000000,
13114 0x80000000,
13115 0x80000000,
13116 0x80000000,
13117 0x80000000,
13118 0x80000000
13119 }
13120
13121 Package (0x06)
13122 {
13123 0x80000000,
13124 0x80000000,
13125 0x80000000,
13126 0x80000000,
13127 0x80000000,
13128 0x80000000
13129 }
13130
13131 Name (PSDF, Zero)
13132 Method (_PSD, 0, NotSerialized) // _PSD: Power State Dependencies
13133 {
13134 If (!PSDF)
13135 {
13136 Index (DerefOf (Index (HPSD, Zero)), 0x04) = TCNT /* \TCNT */
13137 Index (DerefOf (Index (SPSD, Zero)), 0x04) = TCNT /* \TCNT */
13138 PSDF = Ones
13139 }
13140
13141 If ((PDC0 & 0x0800))
13142 {
13143 Return (HPSD) /* \_PR_.CPU0.HPSD */
13144 }
13145
13146 Return (SPSD) /* \_PR_.CPU0.SPSD */
13147 }
13148
13149 Name (HPSD, Package (0x01)
13150 {
13151 Package (0x05)
13152 {
13153 0x05,
13154 Zero,
13155 Zero,
13156 0xFE,
13157 0x80
13158 }
13159 })
13160 Name (SPSD, Package (0x01)
13161 {
13162 Package (0x05)
13163 {
13164 0x05,
13165 Zero,
13166 Zero,
13167 0xFC,
13168 0x80
13169 }
13170 })
13171 }
13172
13173 Scope (\)
13174 {
13175 Name (SSDT, Package (0x0C)
13176 {
13177 "CPU0IST ",
13178 0xC83BE018,
13179 0x000009AA,
13180 "APIST ",
13181 0xCAE18A98,
13182 0x00000303,
13183 "CPU0CST ",
13184 0xCAE17018,
13185 0x0000083B,
13186 "APCST ",
13187 0xCAE16D98,
13188 0x00000119
13189 })
13190 Name (CFGD, 0x0066F67F)
13191 Name (\PDC0, 0x80000000)
13192 Name (\PDC1, 0x80000000)
13193 Name (\PDC2, 0x80000000)
13194 Name (\PDC3, 0x80000000)
13195 Name (\PDC4, 0x80000000)
13196 Name (\PDC5, 0x80000000)
13197 Name (\PDC6, 0x80000000)
13198 Name (\PDC7, 0x80000000)
13199 Name (\SDTL, Zero)
13200 }
13201
13202 Scope (\_PR)
13203 {
13204 OperationRegion (PPMT, SystemMemory, 0xCAFBCF18, 0x0029)
13205 Field (PPMT, AnyAcc, Lock, Preserve)
13206 {
13207 PGRV, 8,
13208 Offset (0x06),
13209 ACRT, 8,
13210 APSV, 8,
13211 AAC0, 8,
13212 CPID, 32,
13213 CPPC, 8,
13214 CCTP, 8,
13215 CLVL, 8,
13216 CBMI, 8,
13217 PL10, 16,
13218 PL20, 16,
13219 PLW0, 8,
13220 CTC0, 8,
13221 TAR0, 8,
13222 PPC0, 8,
13223 PL11, 16,
13224 PL21, 16,
13225 PLW1, 8,
13226 CTC1, 8,
13227 TAR1, 8,
13228 PPC1, 8,
13229 PL12, 16,
13230 PL22, 16,
13231 PLW2, 8,
13232 CTC2, 8,
13233 TAR2, 8,
13234 PPC2, 8
13235 }
13236 }
13237
13238 Scope (\_PR.CPU0)
13239 {
13240 Name (HI0, Zero)
13241 Name (HC0, Zero)
13242 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
13243 {
13244 \_PR.CPU0._PPC = CPPC /* \_PR_.CPPC */
13245 Local0 = CPDC (Arg0)
13246 GCAP (Local0)
13247 Return (Local0)
13248 }
13249
13250 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
13251 {
13252 Local0 = COSC (Arg0, Arg1, Arg2, Arg3)
13253 GCAP (Local0)
13254 Return (Local0)
13255 }
13256
13257 Method (CPDC, 1, NotSerialized)
13258 {
13259 CreateDWordField (Arg0, Zero, REVS)
13260 CreateDWordField (Arg0, 0x04, SIZE)
13261 Local0 = SizeOf (Arg0)
13262 Local1 = (Local0 - 0x08)
13263 CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
13264 Name (STS0, Buffer (0x04)
13265 {
13266 0x00, 0x00, 0x00, 0x00 /* .... */
13267 })
13268 Concatenate (STS0, TEMP, Local2)
13269 Return (COSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2))
13270 }
13271
13272 Method (COSC, 4, NotSerialized)
13273 {
13274 CreateDWordField (Arg3, Zero, STS0)
13275 CreateDWordField (Arg3, 0x04, CAP0)
13276 CreateDWordField (Arg0, Zero, IID0)
13277 CreateDWordField (Arg0, 0x04, IID1)
13278 CreateDWordField (Arg0, 0x08, IID2)
13279 CreateDWordField (Arg0, 0x0C, IID3)
13280 Name (UID0, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
13281 CreateDWordField (UID0, Zero, EID0)
13282 CreateDWordField (UID0, 0x04, EID1)
13283 CreateDWordField (UID0, 0x08, EID2)
13284 CreateDWordField (UID0, 0x0C, EID3)
13285 If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
13286 IID2 == EID2) && (IID3 == EID3))))
13287 {
13288 STS0 = 0x06
13289 Return (Arg3)
13290 }
13291
13292 If ((Arg1 != One))
13293 {
13294 STS0 = 0x0A
13295 Return (Arg3)
13296 }
13297
13298 Return (Arg3)
13299 }
13300
13301 Method (GCAP, 1, NotSerialized)
13302 {
13303 CreateDWordField (Arg0, Zero, STS0)
13304 CreateDWordField (Arg0, 0x04, CAP0)
13305 If (((STS0 == 0x06) || (STS0 == 0x0A)))
13306 {
13307 Return (Zero)
13308 }
13309
13310 If ((STS0 & One))
13311 {
13312 CAP0 &= 0x0BFF
13313 Return (Zero)
13314 }
13315
13316 PDC0 = ((PDC0 & 0x7FFFFFFF) | CAP0) /* \_PR_.CPU0.GCAP.CAP0 */
13317 If ((CFGD & 0x3E))
13318 {
13319 If ((((CFGD & 0x0400) && (PDC0 & 0x18)) && !
13320 (SDTL & 0x02)))
13321 {
13322 SDTL |= 0x02
13323 OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08)))
13324 Load (CST0, HC0) /* \_PR_.CPU0.HC0_ */
13325 }
13326 }
13327
13328 Return (Zero)
13329 }
13330 }
13331
13332 Scope (\_PR.CPU1)
13333 {
13334 Name (HI1, Zero)
13335 Name (HC1, Zero)
13336 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
13337 {
13338 Local0 = \_PR.CPU0.CPDC (Arg0)
13339 GCAP (Local0)
13340 Return (Local0)
13341 }
13342
13343 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
13344 {
13345 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
13346 GCAP (Local0)
13347 Return (Local0)
13348 }
13349
13350 Method (GCAP, 1, NotSerialized)
13351 {
13352 CreateDWordField (Arg0, Zero, STS1)
13353 CreateDWordField (Arg0, 0x04, CAP1)
13354 If (((STS1 == 0x06) || (STS1 == 0x0A)))
13355 {
13356 Return (Zero)
13357 }
13358
13359 If ((STS1 & One))
13360 {
13361 CAP1 &= 0x0BFF
13362 Return (Zero)
13363 }
13364
13365 PDC1 = ((PDC1 & 0x7FFFFFFF) | CAP1) /* \_PR_.CPU1.GCAP.CAP1 */
13366 If (((PDC1 & 0x09) == 0x09))
13367 {
13368 APPT ()
13369 }
13370
13371 If ((PDC1 & 0x18))
13372 {
13373 APCT ()
13374 }
13375
13376 PDC0 = PDC1 /* \PDC1 */
13377 Return (Zero)
13378 }
13379
13380 Method (APCT, 0, NotSerialized)
13381 {
13382 If (((CFGD & 0x2E) && !(SDTL & 0x20)))
13383 {
13384 SDTL |= 0x20
13385 OperationRegion (CST1, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B)))
13386 Load (CST1, HC1) /* \_PR_.CPU1.HC1_ */
13387 }
13388 }
13389
13390 Method (APPT, 0, NotSerialized)
13391 {
13392 If (((CFGD & One) && !(SDTL & 0x10)))
13393 {
13394 SDTL |= 0x10
13395 OperationRegion (IST1, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05)))
13396 Load (IST1, HI1) /* \_PR_.CPU1.HI1_ */
13397 }
13398 }
13399 }
13400
13401 Scope (\_PR.CPU2)
13402 {
13403 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
13404 {
13405 Local0 = \_PR.CPU0.CPDC (Arg0)
13406 GCAP (Local0)
13407 Return (Local0)
13408 }
13409
13410 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
13411 {
13412 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
13413 GCAP (Local0)
13414 Return (Local0)
13415 }
13416
13417 Method (GCAP, 1, NotSerialized)
13418 {
13419 CreateDWordField (Arg0, Zero, STS2)
13420 CreateDWordField (Arg0, 0x04, CAP2)
13421 If (((STS2 == 0x06) || (STS2 == 0x0A)))
13422 {
13423 Return (Zero)
13424 }
13425
13426 If ((STS2 & One))
13427 {
13428 CAP2 &= 0x0BFF
13429 Return (Zero)
13430 }
13431
13432 PDC2 = ((PDC2 & 0x7FFFFFFF) | CAP2) /* \_PR_.CPU2.GCAP.CAP2 */
13433 If (((PDC2 & 0x09) == 0x09))
13434 {
13435 \_PR.CPU1.APPT ()
13436 }
13437
13438 If ((PDC2 & 0x18))
13439 {
13440 \_PR.CPU1.APCT ()
13441 }
13442
13443 PDC0 = PDC2 /* \PDC2 */
13444 Return (Zero)
13445 }
13446 }
13447
13448 Scope (\_PR.CPU3)
13449 {
13450 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
13451 {
13452 Local0 = \_PR.CPU0.CPDC (Arg0)
13453 GCAP (Local0)
13454 Return (Local0)
13455 }
13456
13457 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
13458 {
13459 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
13460 GCAP (Local0)
13461 Return (Local0)
13462 }
13463
13464 Method (GCAP, 1, NotSerialized)
13465 {
13466 CreateDWordField (Arg0, Zero, STS3)
13467 CreateDWordField (Arg0, 0x04, CAP3)
13468 If (((STS3 == 0x06) || (STS3 == 0x0A)))
13469 {
13470 Return (Zero)
13471 }
13472
13473 If ((STS3 & One))
13474 {
13475 CAP3 &= 0x0BFF
13476 Return (Zero)
13477 }
13478
13479 PDC3 = ((PDC3 & 0x7FFFFFFF) | CAP3) /* \_PR_.CPU3.GCAP.CAP3 */
13480 If (((PDC3 & 0x09) == 0x09))
13481 {
13482 \_PR.CPU1.APPT ()
13483 }
13484
13485 If ((PDC3 & 0x18))
13486 {
13487 \_PR.CPU1.APCT ()
13488 }
13489
13490 PDC0 = PDC3 /* \PDC3 */
13491 Return (Zero)
13492 }
13493 }
13494
13495 Scope (\_PR.CPU4)
13496 {
13497 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
13498 {
13499 Local0 = \_PR.CPU0.CPDC (Arg0)
13500 GCAP (Local0)
13501 Return (Local0)
13502 }
13503
13504 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
13505 {
13506 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
13507 GCAP (Local0)
13508 Return (Local0)
13509 }
13510
13511 Method (GCAP, 1, NotSerialized)
13512 {
13513 CreateDWordField (Arg0, Zero, STS4)
13514 CreateDWordField (Arg0, 0x04, CAP4)
13515 If (((STS4 == 0x06) || (STS4 == 0x0A)))
13516 {
13517 Return (Zero)
13518 }
13519
13520 If ((STS4 & One))
13521 {
13522 CAP4 &= 0x0BFF
13523 Return (Zero)
13524 }
13525
13526 PDC4 = ((PDC4 & 0x7FFFFFFF) | CAP4) /* \_PR_.CPU4.GCAP.CAP4 */
13527 If (((PDC4 & 0x09) == 0x09))
13528 {
13529 \_PR.CPU1.APPT ()
13530 }
13531
13532 If ((PDC4 & 0x18))
13533 {
13534 \_PR.CPU1.APCT ()
13535 }
13536
13537 PDC0 = PDC4 /* \PDC4 */
13538 Return (Zero)
13539 }
13540 }
13541
13542 Scope (\_PR.CPU5)
13543 {
13544 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
13545 {
13546 Local0 = \_PR.CPU0.CPDC (Arg0)
13547 GCAP (Local0)
13548 Return (Local0)
13549 }
13550
13551 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
13552 {
13553 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
13554 GCAP (Local0)
13555 Return (Local0)
13556 }
13557
13558 Method (GCAP, 1, NotSerialized)
13559 {
13560 CreateDWordField (Arg0, Zero, STS5)
13561 CreateDWordField (Arg0, 0x04, CAP5)
13562 If (((STS5 == 0x06) || (STS5 == 0x0A)))
13563 {
13564 Return (Zero)
13565 }
13566
13567 If ((STS5 & One))
13568 {
13569 CAP5 &= 0x0BFF
13570 Return (Zero)
13571 }
13572
13573 PDC5 = ((PDC5 & 0x7FFFFFFF) | CAP5) /* \_PR_.CPU5.GCAP.CAP5 */
13574 If (((PDC5 & 0x09) == 0x09))
13575 {
13576 \_PR.CPU1.APPT ()
13577 }
13578
13579 If ((PDC5 & 0x18))
13580 {
13581 \_PR.CPU1.APCT ()
13582 }
13583
13584 PDC0 = PDC5 /* \PDC5 */
13585 Return (Zero)
13586 }
13587 }
13588
13589 Scope (\_PR.CPU6)
13590 {
13591 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
13592 {
13593 Local0 = \_PR.CPU0.CPDC (Arg0)
13594 GCAP (Local0)
13595 Return (Local0)
13596 }
13597
13598 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
13599 {
13600 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
13601 GCAP (Local0)
13602 Return (Local0)
13603 }
13604
13605 Method (GCAP, 1, NotSerialized)
13606 {
13607 CreateDWordField (Arg0, Zero, STS6)
13608 CreateDWordField (Arg0, 0x04, CAP6)
13609 If (((STS6 == 0x06) || (STS6 == 0x0A)))
13610 {
13611 Return (Zero)
13612 }
13613
13614 If ((STS6 & One))
13615 {
13616 CAP6 &= 0x0BFF
13617 Return (Zero)
13618 }
13619
13620 PDC6 = ((PDC6 & 0x7FFFFFFF) | CAP6) /* \_PR_.CPU6.GCAP.CAP6 */
13621 If (((PDC6 & 0x09) == 0x09))
13622 {
13623 \_PR.CPU1.APPT ()
13624 }
13625
13626 If ((PDC6 & 0x18))
13627 {
13628 \_PR.CPU1.APCT ()
13629 }
13630
13631 PDC0 = PDC6 /* \PDC6 */
13632 Return (Zero)
13633 }
13634 }
13635
13636 Scope (\_PR.CPU7)
13637 {
13638 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
13639 {
13640 Local0 = \_PR.CPU0.CPDC (Arg0)
13641 GCAP (Local0)
13642 Return (Local0)
13643 }
13644
13645 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
13646 {
13647 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
13648 GCAP (Local0)
13649 Return (Local0)
13650 }
13651
13652 Method (GCAP, 1, NotSerialized)
13653 {
13654 CreateDWordField (Arg0, Zero, STS7)
13655 CreateDWordField (Arg0, 0x04, CAP7)
13656 If (((STS7 == 0x06) || (STS7 == 0x0A)))
13657 {
13658 Return (Zero)
13659 }
13660
13661 If ((STS7 & One))
13662 {
13663 CAP7 &= 0x0BFF
13664 Return (Zero)
13665 }
13666
13667 PDC7 = ((PDC7 & 0x7FFFFFFF) | CAP7) /* \_PR_.CPU7.GCAP.CAP7 */
13668 If (((PDC7 & 0x09) == 0x09))
13669 {
13670 \_PR.CPU1.APPT ()
13671 }
13672
13673 If ((PDC7 & 0x18))
13674 {
13675 \_PR.CPU1.APCT ()
13676 }
13677
13678 PDC0 = PDC7 /* \PDC7 */
13679 Return (Zero)
13680 }
13681 }
13682 }
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.