]> git.proxmox.com Git - mirror_edk2.git/blame - Vlv2DeviceRefCodePkg/AcpiTablesPCAT/INTELGFX.ASL
Vlv2DeviceRefCodePkg/ValleyView2Soc: Remove the unused code
[mirror_edk2.git] / Vlv2DeviceRefCodePkg / AcpiTablesPCAT / INTELGFX.ASL
CommitLineData
3cbfba02
DW
1/*++\r
2\r
3Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved\r
4\r
5 This program and the accompanying materials are licensed and made available under\r
6 the terms and conditions of the BSD License that accompanies this distribution.\r
7 The full text of the license may be found at\r
8 http://opensource.org/licenses/bsd-license.php.\r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13\r
14\r
15Module Name:\r
16\r
17 INTELGFX.ASL\r
18\r
19Abstract:\r
20\r
21 IGD OpRegion/Software ACPI Reference Code for the Baytrail Family.\r
22\r
23--*/\r
24\r
25// Enable/Disable Output Switching. In WIN2K/WINXP, _DOS = 0 will\r
26// get called during initialization to prepare for an ACPI Display\r
27// Switch Event. During an ACPI Display Switch, the OS will call\r
28// _DOS = 2 immediately after a Notify=0x80 to temporarily disable\r
29// all Display Switching. After ACPI Display Switching is complete,\r
30// the OS will call _DOS = 0 to re-enable ACPI Display Switching.\r
31\r
32Method(_DOS,1)\r
33{\r
34 // Store Display Switching and LCD brightness BIOS control bit\r
35 Store(And(Arg0,7),DSEN)\r
36}\r
37\r
38// Enumerate the Display Environment. This method will return\r
39// valid addresses for all display device encoders present in the\r
40// system. The Miniport Driver will reject the addresses for every\r
41// encoder that does not have an attached display device. After\r
42// enumeration is complete, the OS will call the _DGS methods\r
43// during a display switch only for the addresses accepted by the\r
44// Miniport Driver. For hot-insertion and removal of display\r
45// devices, a re-enumeration notification will be required so the\r
46// address of the newly present display device will be accepted by\r
47// the Miniport Driver.\r
48\r
49Method(_DOD, 0, Serialized)\r
50{\r
51 Store(0, NDID)\r
52 If(LNotEqual(DIDL, Zero))\r
53 {\r
54 Store(SDDL(DIDL),DID1)\r
55 }\r
56 If(LNotEqual(DDL2, Zero))\r
57 {\r
58 Store(SDDL(DDL2),DID2)\r
59 }\r
60 If(LNotEqual(DDL3, Zero))\r
61 {\r
62 Store(SDDL(DDL3),DID3)\r
63 }\r
64 If(LNotEqual(DDL4, Zero))\r
65 {\r
66 Store(SDDL(DDL4),DID4)\r
67 }\r
68 If(LNotEqual(DDL5, Zero))\r
69 {\r
70 Store(SDDL(DDL5),DID5)\r
71 }\r
72\r
73 // TODO - This level of flexibility is not needed for a true\r
74 // OEM design. Simply determine the greatest number of\r
75 // encoders the platform will suppport then remove all\r
76 // return packages beyond that value. Note that for\r
77 // current silicon, the maximum number of encoders\r
78 // possible is 5.\r
79\r
80 If(LEqual(NDID,1))\r
81 {\r
82 If (LNOTEqual (ISPD, 0))\r
83 {\r
84 Name(TMP0,Package() {0xFFFFFFFF,0xFFFFFFFF})\r
85 Store(Or(0x10000,DID1),Index(TMP0,0))\r
86 //Add ISP device to GFX0\r
87 Store(0x00020F38, Index(TMP0,1))\r
88 Return(TMP0)\r
89 } Else\r
90 {\r
91 Name(TMP1,Package() {0xFFFFFFFF})\r
92 Store(Or(0x10000,DID1),Index(TMP1,0))\r
93 Return(TMP1)\r
94 }\r
95 }\r
96\r
97 If(LEqual(NDID,2))\r
98 {\r
99 If (LNOTEqual (ISPD, 0))\r
100 {\r
101 Name(TMP2,Package() {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF})\r
102 Store(Or(0x10000,DID1),Index(TMP2,0))\r
103 Store(Or(0x10000,DID2),Index(TMP2,1))\r
104 //Add ISP device to GFX0\r
105 Store(0x00020F38, Index(TMP2,2))\r
106 Return(TMP2)\r
107 } Else\r
108 {\r
109 Name(TMP3,Package() {0xFFFFFFFF, 0xFFFFFFFF})\r
110 Store(Or(0x10000,DID1),Index(TMP3,0))\r
111 Store(Or(0x10000,DID2),Index(TMP3,1))\r
112 Return(TMP3)\r
113 }\r
114 }\r
115\r
116 If(LEqual(NDID,3))\r
117 {\r
118 If (LNOTEqual (ISPD, 0))\r
119 {\r
120 Name(TMP4,Package() {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,0xFFFFFFFF})\r
121 Store(Or(0x10000,DID1),Index(TMP4,0))\r
122 Store(Or(0x10000,DID2),Index(TMP4,1))\r
123 Store(Or(0x10000,DID3),Index(TMP4,2))\r
124 //Add ISP device to GFX0\r
125 Store(0x00020F38, Index(TMP4,3))\r
126 Return(TMP4)\r
127 } Else\r
128 {\r
129 Name(TMP5,Package() {0xFFFFFFFF, 0xFFFFFFFF,0xFFFFFFFF})\r
130 Store(Or(0x10000,DID1),Index(TMP5,0))\r
131 Store(Or(0x10000,DID2),Index(TMP5,1))\r
132 Store(Or(0x10000,DID3),Index(TMP5,2))\r
133 Return(TMP5)\r
134 }\r
135 }\r
136\r
137 If(LEqual(NDID,4))\r
138 {\r
139 If (LNOTEqual (ISPD, 0))\r
140 {\r
141 Name(TMP6,Package() {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF})\r
142 Store(Or(0x10000,DID1),Index(TMP6,0))\r
143 Store(Or(0x10000,DID2),Index(TMP6,1))\r
144 Store(Or(0x10000,DID3),Index(TMP6,2))\r
145 Store(Or(0x10000,DID4),Index(TMP6,3))\r
146 //Add ISP device to GFX0\r
147 Store(0x00020F38, Index(TMP6,4))\r
148 Return(TMP6)\r
149 } Else\r
150 {\r
151 Name(TMP7,Package() {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF})\r
152 Store(Or(0x10000,DID1),Index(TMP7,0))\r
153 Store(Or(0x10000,DID2),Index(TMP7,1))\r
154 Store(Or(0x10000,DID3),Index(TMP7,2))\r
155 Store(Or(0x10000,DID4),Index(TMP7,3))\r
156 Return(TMP7)\r
157 }\r
158 }\r
159\r
160 If(LGreater(NDID,4))\r
161 {\r
162 If (LNOTEqual (ISPD, 0))\r
163 {\r
164 Name(TMP8,Package() {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF})\r
165 Store(Or(0x10000,DID1),Index(TMP8,0))\r
166 Store(Or(0x10000,DID2),Index(TMP8,1))\r
167 Store(Or(0x10000,DID3),Index(TMP8,2))\r
168 Store(Or(0x10000,DID4),Index(TMP8,3))\r
169 Store(Or(0x10000,DID5),Index(TMP8,4))\r
170 //Add ISP device to GFX0\r
171 Store(0x00020F38, Index(TMP8,5))\r
172 Return(TMP8)\r
173 } Else\r
174 {\r
175 Name(TMP9,Package() {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF})\r
176 Store(Or(0x10000,DID1),Index(TMP9,0))\r
177 Store(Or(0x10000,DID2),Index(TMP9,1))\r
178 Store(Or(0x10000,DID3),Index(TMP9,2))\r
179 Store(Or(0x10000,DID4),Index(TMP9,3))\r
180 Store(Or(0x10000,DID5),Index(TMP9,4))\r
181 Return(TMP9)\r
182 }\r
183 }\r
184\r
185 // If nothing else, return Unknown LFP.\r
186 // (Prevents compiler warning.)\r
187\r
188 //Add ISP device to GFX0\r
189 If (LNOTEqual (ISPD, 0))\r
190 {\r
191 Return(Package() {0x00000400, 0x00020F38})\r
192 } Else\r
193 {\r
194 Return(Package() {0x00000400})\r
195 }\r
196}\r
197\r
198Device(DD01)\r
199{\r
200\r
201 // Return Unique ID.\r
202\r
203 Method(_ADR,0,Serialized)\r
204 {\r
205 If(LEqual(And(0x0F00,DID1),0x400))\r
206 {\r
207 Store(0x1, EDPV)\r
208 Store(DID1, DIDX)\r
209 Return(1)\r
210 }\r
211 If(LEqual(DID1,0))\r
212 {\r
213 Return(1)\r
214 }\r
215 Else\r
216 {\r
217 Return(And(0xFFFF,DID1))\r
218 }\r
219 }\r
220\r
221 // Return the Current Status.\r
222\r
223 Method(_DCS,0)\r
224 {\r
225 Return(CDDS(DID1))\r
226 }\r
227\r
228 // Query Graphics State (active or inactive).\r
229\r
230 Method(_DGS,0)\r
231 {\r
232 Return(NDDS(DID1))\r
233 }\r
234\r
235 // Device Set State.\r
236\r
237 // _DSS Table:\r
238 //\r
239 // BIT31 BIT30 Execution\r
240 // 0 0 Don't implement.\r
241 // 0 1 Cache change. Nothing to Implement.\r
242 // 1 0 Don't Implement.\r
243 // 1 1 Display Switch Complete. Implement.\r
244\r
245 Method(_DSS,1)\r
246 {\r
247 If(LEqual(And(Arg0,0xC0000000),0xC0000000))\r
248 {\r
249\r
250 // State change was performed by the\r
251 // Video Drivers. Simply update the\r
252 // New State.\r
253\r
254 Store(NSTE,CSTE)\r
255 }\r
256 }\r
257}\r
258\r
259Device(DD02)\r
260{\r
261\r
262 // Return Unique ID.\r
263\r
264 Method(_ADR,0,Serialized)\r
265 {\r
266 If(LEqual(And(0x0F00,DID2),0x400))\r
267 {\r
268 Store(0x2, EDPV)\r
269 Store(DID2, DIDX)\r
270 Return(2)\r
271 }\r
272 If(LEqual(DID2,0))\r
273 {\r
274 Return(2)\r
275 }\r
276 Else\r
277 {\r
278 Return(And(0xFFFF,DID2))\r
279 }\r
280 }\r
281\r
282 // Return the Current Status.\r
283\r
284 Method(_DCS,0)\r
285 {\r
286 Return(CDDS(DID2))\r
287 }\r
288\r
289 // Query Graphics State (active or inactive).\r
290\r
291 Method(_DGS,0)\r
292 {\r
293 // Return the Next State.\r
294 Return(NDDS(DID2))\r
295 }\r
296\r
297 // Device Set State. (See table above.)\r
298\r
299 Method(_DSS,1)\r
300 {\r
301 If(LEqual(And(Arg0,0xC0000000),0xC0000000))\r
302 {\r
303\r
304 // State change was performed by the\r
305 // Video Drivers. Simply update the\r
306 // New State.\r
307\r
308 Store(NSTE,CSTE)\r
309 }\r
310 }\r
311}\r
312\r
313Device(DD03)\r
314{\r
315\r
316 // Return Unique ID.\r
317\r
318 Method(_ADR,0,Serialized)\r
319 {\r
320 If(LEqual(And(0x0F00,DID3),0x400))\r
321 {\r
322 Store(0x3, EDPV)\r
323 Store(DID3, DIDX)\r
324 Return(3)\r
325 }\r
326 If(LEqual(DID3,0))\r
327 {\r
328 Return(3)\r
329 }\r
330 Else\r
331 {\r
332 Return(And(0xFFFF,DID3))\r
333 }\r
334 }\r
335\r
336 // Return the Current Status.\r
337\r
338 Method(_DCS,0)\r
339 {\r
340 If(LEqual(DID3,0))\r
341 {\r
342 Return(0x0B)\r
343 }\r
344 Else\r
345 {\r
346 Return(CDDS(DID3))\r
347 }\r
348 }\r
349\r
350 // Query Graphics State (active or inactive).\r
351\r
352 Method(_DGS,0)\r
353 {\r
354 Return(NDDS(DID3))\r
355 }\r
356\r
357 // Device Set State. (See table above.)\r
358\r
359 Method(_DSS,1)\r
360 {\r
361 If(LEqual(And(Arg0,0xC0000000),0xC0000000))\r
362 {\r
363 // State change was performed by the\r
364 // Video Drivers. Simply update the\r
365 // New State.\r
366\r
367 Store(NSTE,CSTE)\r
368 }\r
369 }\r
370}\r
371\r
372Device(DD04)\r
373{\r
374\r
375 // Return Unique ID.\r
376\r
377 Method(_ADR,0,Serialized)\r
378 {\r
379 If(LEqual(And(0x0F00,DID4),0x400))\r
380 {\r
381 Store(0x4, EDPV)\r
382 Store(DID4, DIDX)\r
383 Return(4)\r
384 }\r
385 If(LEqual(DID4,0))\r
386 {\r
387 Return(4)\r
388 }\r
389 Else\r
390 {\r
391 Return(And(0xFFFF,DID4))\r
392 }\r
393 }\r
394\r
395 // Return the Current Status.\r
396\r
397 Method(_DCS,0)\r
398 {\r
399 If(LEqual(DID4,0))\r
400 {\r
401 Return(0x0B)\r
402 }\r
403 Else\r
404 {\r
405 Return(CDDS(DID4))\r
406 }\r
407 }\r
408\r
409 // Query Graphics State (active or inactive).\r
410\r
411 Method(_DGS,0)\r
412 {\r
413 Return(NDDS(DID4))\r
414 }\r
415\r
416 // Device Set State. (See table above.)\r
417\r
418 Method(_DSS,1)\r
419 {\r
420 If(LEqual(And(Arg0,0xC0000000),0xC0000000))\r
421 {\r
422\r
423 // State change was performed by the\r
424 // Video Drivers. Simply update the\r
425 // New State.\r
426\r
427 Store(NSTE,CSTE)\r
428 }\r
429 }\r
430}\r
431\r
432\r
433Device(DD05)\r
434{\r
435\r
436 // Return Unique ID.\r
437\r
438 Method(_ADR,0,Serialized)\r
439 {\r
440 If(LEqual(And(0x0F00,DID5),0x400))\r
441 {\r
442 Store(0x5, EDPV)\r
443 Store(DID5, DIDX)\r
444 Return(5)\r
445 }\r
446 If(LEqual(DID5,0))\r
447 {\r
448 Return(5)\r
449 }\r
450 Else\r
451 {\r
452 Return(And(0xFFFF,DID5))\r
453 }\r
454 }\r
455\r
456 // Return the Current Status.\r
457\r
458 Method(_DCS,0)\r
459 {\r
460 If(LEqual(DID5,0))\r
461 {\r
462 Return(0x0B)\r
463 }\r
464 Else\r
465 {\r
466 Return(CDDS(DID5))\r
467 }\r
468 }\r
469\r
470 // Query Graphics State (active or inactive).\r
471\r
472 Method(_DGS,0)\r
473 {\r
474 Return(NDDS(DID5))\r
475 }\r
476\r
477 // Device Set State. (See table above.)\r
478\r
479 Method(_DSS,1)\r
480 {\r
481 If(LEqual(And(Arg0,0xC0000000),0xC0000000))\r
482 {\r
483 // State change was performed by the\r
484 // Video Drivers. Simply update the\r
485 // New State.\r
486\r
487 Store(NSTE,CSTE)\r
488 }\r
489 }\r
490}\r
491\r
492\r
493Device(DD06)\r
494{\r
495\r
496 // Return Unique ID.\r
497\r
498 Method(_ADR,0,Serialized)\r
499 {\r
500 If(LEqual(And(0x0F00,DID6),0x400))\r
501 {\r
502 Store(0x6, EDPV)\r
503 Store(DID6, DIDX)\r
504 Return(6)\r
505 }\r
506 If(LEqual(DID6,0))\r
507 {\r
508 Return(6)\r
509 }\r
510 Else\r
511 {\r
512 Return(And(0xFFFF,DID6))\r
513 }\r
514 }\r
515\r
516 // Return the Current Status.\r
517\r
518 Method(_DCS,0)\r
519 {\r
520 If(LEqual(DID6,0))\r
521 {\r
522 Return(0x0B)\r
523 }\r
524 Else\r
525 {\r
526 Return(CDDS(DID6))\r
527 }\r
528 }\r
529\r
530 // Query Graphics State (active or inactive).\r
531\r
532 Method(_DGS,0)\r
533 {\r
534 Return(NDDS(DID6))\r
535 }\r
536\r
537 // Device Set State. (See table above.)\r
538\r
539 Method(_DSS,1)\r
540 {\r
541 If(LEqual(And(Arg0,0xC0000000),0xC0000000))\r
542 {\r
543 // State change was performed by the\r
544 // Video Drivers. Simply update the\r
545 // New State.\r
546\r
547 Store(NSTE,CSTE)\r
548 }\r
549 }\r
550}\r
551\r
552\r
553Device(DD07)\r
554{\r
555\r
556 // Return Unique ID.\r
557\r
558 Method(_ADR,0,Serialized)\r
559 {\r
560 If(LEqual(And(0x0F00,DID7),0x400))\r
561 {\r
562 Store(0x7, EDPV)\r
563 Store(DID7, DIDX)\r
564 Return(7)\r
565 }\r
566 If(LEqual(DID7,0))\r
567 {\r
568 Return(7)\r
569 }\r
570 Else\r
571 {\r
572 Return(And(0xFFFF,DID7))\r
573 }\r
574 }\r
575\r
576 // Return the Current Status.\r
577\r
578 Method(_DCS,0)\r
579 {\r
580 If(LEqual(DID7,0))\r
581 {\r
582 Return(0x0B)\r
583 }\r
584 Else\r
585 {\r
586 Return(CDDS(DID7))\r
587 }\r
588 }\r
589\r
590 // Query Graphics State (active or inactive).\r
591\r
592 Method(_DGS,0)\r
593 {\r
594 Return(NDDS(DID7))\r
595 }\r
596\r
597 // Device Set State. (See table above.)\r
598\r
599 Method(_DSS,1)\r
600 {\r
601 If(LEqual(And(Arg0,0xC0000000),0xC0000000))\r
602 {\r
603 // State change was performed by the\r
604 // Video Drivers. Simply update the\r
605 // New State.\r
606\r
607 Store(NSTE,CSTE)\r
608 }\r
609 }\r
610}\r
611\r
612\r
613Device(DD08)\r
614{\r
615\r
616 // Return Unique ID.\r
617\r
618 Method(_ADR,0,Serialized)\r
619 {\r
620 If(LEqual(And(0x0F00,DID8),0x400))\r
621 {\r
622 Store(0x8, EDPV)\r
623 Store(DID8, DIDX)\r
624 Return(8)\r
625 }\r
626 If(LEqual(DID8,0))\r
627 {\r
628 Return(8)\r
629 }\r
630 Else\r
631 {\r
632 Return(And(0xFFFF,DID8))\r
633 }\r
634 }\r
635\r
636 // Return the Current Status.\r
637\r
638 Method(_DCS,0)\r
639 {\r
640 If(LEqual(DID8,0))\r
641 {\r
642 Return(0x0B)\r
643 }\r
644 Else\r
645 {\r
646 Return(CDDS(DID8))\r
647 }\r
648 }\r
649\r
650 // Query Graphics State (active or inactive).\r
651\r
652 Method(_DGS,0)\r
653 {\r
654 Return(NDDS(DID8))\r
655 }\r
656\r
657 // Device Set State. (See table above.)\r
658\r
659 Method(_DSS,1)\r
660 {\r
661 If(LEqual(And(Arg0,0xC0000000),0xC0000000))\r
662 {\r
663 // State change was performed by the\r
664 // Video Drivers. Simply update the\r
665 // New State.\r
666\r
667 Store(NSTE,CSTE)\r
668 }\r
669 }\r
670}\r
671\r
672//device for eDP\r
673Device(DD1F)\r
674{\r
675 // Return Unique ID.\r
676\r
677 Method(_ADR,0,Serialized)\r
678 {\r
679 If(LEqual(EDPV, 0x0))\r
680 {\r
681 Return(0x1F)\r
682 }\r
683 Else\r
684 {\r
685 Return(And(0xFFFF,DIDX))\r
686 }\r
687 }\r
688\r
689 // Return the Current Status.\r
690\r
691 Method(_DCS,0)\r
692 {\r
693 If(LEqual(EDPV, 0x0))\r
694 {\r
695 Return(0x00)\r
696 }\r
697 Else\r
698 {\r
699 Return(CDDS(DIDX))\r
700 }\r
701 }\r
702\r
703 // Query Graphics State (active or inactive).\r
704\r
705 Method(_DGS,0)\r
706 {\r
707 Return(NDDS(DIDX))\r
708 }\r
709\r
710 // Device Set State. (See table above.)\r
711\r
712 Method(_DSS,1)\r
713 {\r
714 If(LEqual(And(Arg0,0xC0000000),0xC0000000))\r
715 {\r
716 // State change was performed by the\r
717 // Video Drivers. Simply update the\r
718 // New State.\r
719 Store(NSTE,CSTE)\r
720 }\r
721 }\r
722 // Query List of Brightness Control Levels Supported.\r
723\r
724 Method(_BCL,0)\r
725 {\r
726 // List of supported brightness levels in the following sequence.\r
727\r
728 // Level when machine has full power.\r
729 // Level when machine is on batteries.\r
730 // Other supported levels.\r
731 Return(Package() {80, 50, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100})\r
732 }\r
733\r
734 // Set the Brightness Level.\r
735\r
736 Method (_BCM,1)\r
737 {\r
738 // Set the requested level if it is between 0 and 100%.\r
739\r
740 If(LAnd(LGreaterEqual(Arg0,0),LLessEqual(Arg0,100)))\r
741 {\r
742 \_SB.PCI0.GFX0.AINT(1, Arg0)\r
743 Store(Arg0,BRTL) // Store Brightness Level.\r
744 }\r
745 }\r
746\r
747 // Brightness Query Current level.\r
748\r
749 Method (_BQC,0)\r
750 {\r
751 Return(BRTL)\r
752 }\r
753}\r
754\r
755Method(SDDL,1)\r
756{\r
757 Increment(NDID)\r
758 Store(And(Arg0,0xF0F),Local0)\r
759 Or(0x80000000,Local0, Local1)\r
760 If(LEqual(DIDL,Local0))\r
761 {\r
762 Return(Local1)\r
763 }\r
764 If(LEqual(DDL2,Local0))\r
765 {\r
766 Return(Local1)\r
767 }\r
768 If(LEqual(DDL3,Local0))\r
769 {\r
770 Return(Local1)\r
771 }\r
772 If(LEqual(DDL4,Local0))\r
773 {\r
774 Return(Local1)\r
775 }\r
776 If(LEqual(DDL5,Local0))\r
777 {\r
778 Return(Local1)\r
779 }\r
780 If(LEqual(DDL6,Local0))\r
781 {\r
782 Return(Local1)\r
783 }\r
784 If(LEqual(DDL7,Local0))\r
785 {\r
786 Return(Local1)\r
787 }\r
788 If(LEqual(DDL8,Local0))\r
789 {\r
790 Return(Local1)\r
791 }\r
792 Return(0)\r
793}\r
794\r
795Method(CDDS,1)\r
796{\r
797 Store(And(Arg0,0xF0F),Local0)\r
798\r
799 If(LEqual(0, Local0))\r
800 {\r
801 Return(0x1D)\r
802 }\r
803 If(LEqual(CADL, Local0))\r
804 {\r
805 Return(0x1F)\r
806 }\r
807 If(LEqual(CAL2, Local0))\r
808 {\r
809 Return(0x1F)\r
810 }\r
811 If(LEqual(CAL3, Local0))\r
812 {\r
813 Return(0x1F)\r
814 }\r
815 If(LEqual(CAL4, Local0))\r
816 {\r
817 Return(0x1F)\r
818 }\r
819 If(LEqual(CAL5, Local0))\r
820 {\r
821 Return(0x1F)\r
822 }\r
823 If(LEqual(CAL6, Local0))\r
824 {\r
825 Return(0x1F)\r
826 }\r
827 If(LEqual(CAL7, Local0))\r
828 {\r
829 Return(0x1F)\r
830 }\r
831 If(LEqual(CAL8, Local0))\r
832 {\r
833 Return(0x1F)\r
834 }\r
835 Return(0x1D)\r
836}\r
837\r
838Method(NDDS,1)\r
839{\r
840 Store(And(Arg0,0xF0F),Local0)\r
841\r
842 If(LEqual(0, Local0))\r
843 {\r
844 Return(0)\r
845 }\r
846 If(LEqual(NADL, Local0))\r
847 {\r
848 Return(1)\r
849 }\r
850 If(LEqual(NDL2, Local0))\r
851 {\r
852 Return(1)\r
853 }\r
854 If(LEqual(NDL3, Local0))\r
855 {\r
856 Return(1)\r
857 }\r
858 If(LEqual(NDL4, Local0))\r
859 {\r
860 Return(1)\r
861 }\r
862 If(LEqual(NDL5, Local0))\r
863 {\r
864 Return(1)\r
865 }\r
866 If(LEqual(NDL6, Local0))\r
867 {\r
868 Return(1)\r
869 }\r
870 If(LEqual(NDL7, Local0))\r
871 {\r
872 Return(1)\r
873 }\r
874 If(LEqual(NDL8, Local0))\r
875 {\r
876 Return(1)\r
877 }\r
878 Return(0)\r
879}\r
880\r
881//\r
882// Include IGD OpRegion/Software SCI interrupt handler which is use by\r
883// the graphics drivers to request data from system BIOS.\r
884//\r
885include("IgdOpRn.ASL")\r