3 Copyright (c) 2013-2015 Intel Corporation.
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 // Interrupts can be DEB8=all except 13,8,6,2,1,0
21 OperationRegion(PRR0, PCI_Config, 0x60, 0x08)
22 Field(PRR0, ANYACC, NOLOCK, PRESERVE)
34 Device(LNKA) // PCI IRQ link A
36 Name(_HID,EISAID("PNP0C0F"))
40 Method(_STA,0,NotSerialized)
52 Method(_DIS,0,NotSerialized)
57 Method(_CRS,0,Serialized)
61 {IRQ(Level,ActiveLow,Shared){0}})
63 // Define references to buffer elements
64 CreateWordField (BUF0, 0x01, IRQW) // IRQ low
65 // Write current settings into IRQ descriptor
74 // Shift 1 by value in register 70
75 ShiftLeft(Local0,And(PIRA,0x0F),IRQW) // Save in buffer
76 Return(BUF0) // Return Buf0
77 } // End of _CRS method
81 {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})
83 Method(_SRS,1,NotSerialized)
85 CreateWordField (ARG0, 0x01, IRQW) // IRQ low
87 FindSetRightBit(IRQW,Local0) // Set IRQ
88 If (LNotEqual(IRQW,Zero))
90 And(Local0, 0x7F,Local0)
95 Or(Local0, 0x80,Local0)
98 } // End of _SRS Method
101 Device(LNKB) // PCI IRQ link B
103 Name(_HID,EISAID("PNP0C0F"))
107 Method(_STA,0,NotSerialized)
119 Method(_DIS,0,NotSerialized)
124 Method(_CRS,0,Serialized)
128 {IRQ(Level,ActiveLow,Shared){0}})
129 // Define references to buffer elements
130 CreateWordField (BUF0, 0x01, IRQW) // IRQ low
131 // Write current settings into IRQ descriptor
140 // Shift 1 by value in register 70
141 ShiftLeft(Local0,And(PIRB,0x0F),IRQW) // Save in buffer
142 Return(BUF0) // Return Buf0
143 } // End of _CRS method
147 {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})
149 Method(_SRS,1,NotSerialized)
151 CreateWordField (ARG0, 0x01, IRQW) // IRQ low
153 FindSetRightBit(IRQW,Local0) // Set IRQ
154 If (LNotEqual(IRQW,Zero))
156 And(Local0, 0x7F,Local0)
161 Or(Local0, 0x80,Local0)
164 } // End of _SRS Method
167 Device(LNKC) // PCI IRQ link C
169 Name(_HID,EISAID("PNP0C0F"))
173 Method(_STA,0,NotSerialized)
185 Method(_DIS,0,NotSerialized)
190 Method(_CRS,0,Serialized)
194 {IRQ(Level,ActiveLow,Shared){0}})
195 // Define references to buffer elements
196 CreateWordField (BUF0, 0x01, IRQW) // IRQ low
197 // Write current settings into IRQ descriptor
205 } // Shift 1 by value in register 70
206 ShiftLeft(Local0,And(PIRC,0x0F),IRQW) // Save in buffer
207 Return(BUF0) // Return Buf0
208 } // End of _CRS method
212 {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})
214 Method(_SRS,1,NotSerialized)
216 CreateWordField (ARG0, 0x01, IRQW) // IRQ low
218 FindSetRightBit(IRQW,Local0) // Set IRQ
219 If (LNotEqual(IRQW,Zero))
221 And(Local0, 0x7F,Local0)
225 Or(Local0, 0x80,Local0)
228 } // End of _SRS Method
231 Device(LNKD) // PCI IRQ link D
233 Name(_HID,EISAID("PNP0C0F"))
237 Method(_STA,0,NotSerialized)
249 Method(_DIS,0,NotSerialized)
254 Method(_CRS,0,Serialized)
258 {IRQ(Level,ActiveLow,Shared){0}})
259 // Define references to buffer elements
260 CreateWordField (BUF0, 0x01, IRQW) // IRQ low
261 // Write current settings into IRQ descriptor
269 } // Shift 1 by value in register 70
270 ShiftLeft(Local0,And(PIRD,0x0F),IRQW) // Save in buffer
271 Return(BUF0) // Return Buf0
272 } // End of _CRS method
276 {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})
278 Method(_SRS,1,NotSerialized)
280 CreateWordField (ARG0, 0x01, IRQW) // IRQ low
282 FindSetRightBit(IRQW,Local0)// Set IRQ
283 If (LNotEqual(IRQW,Zero))
285 And(Local0, 0x7F,Local0)
290 Or(Local0, 0x80,Local0)
293 } // End of _SRS Method
296 Device(LNKE) // PCI IRQ link E
298 Name(_HID,EISAID("PNP0C0F"))
302 Method(_STA,0,NotSerialized)
314 Method(_DIS,0,NotSerialized)
319 Method(_CRS,0,Serialized)
323 {IRQ(Level,ActiveLow,Shared){0}})
325 // Define references to buffer elements
326 CreateWordField (BUF0, 0x01, IRQW) // IRQ low
327 // Write current settings into IRQ descriptor
336 // Shift 1 by value in register 70
337 ShiftLeft(Local0,And(PIRE,0x0F),IRQW) // Save in buffer
338 Return(BUF0) // Return Buf0
339 } // End of _CRS method
343 {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})
345 Method(_SRS,1,NotSerialized)
347 CreateWordField (ARG0, 0x01, IRQW) // IRQ low
349 FindSetRightBit(IRQW,Local0) // Set IRQ
350 If (LNotEqual(IRQW,Zero))
352 And(Local0, 0x7F,Local0)
357 Or(Local0, 0x80,Local0)
360 } // End of _SRS Method
363 Device(LNKF) // PCI IRQ link F
365 Name(_HID,EISAID("PNP0C0F"))
369 Method(_STA,0,NotSerialized)
381 Method(_DIS,0,NotSerialized)
386 Method(_CRS,0,Serialized)
390 {IRQ(Level,ActiveLow,Shared){0}})
391 // Define references to buffer elements
392 CreateWordField (BUF0, 0x01, IRQW) // IRQ low
393 // Write current settings into IRQ descriptor
402 // Shift 1 by value in register 70
403 ShiftLeft(Local0,And(PIRF,0x0F),IRQW) // Save in buffer
404 Return(BUF0) // Return Buf0
405 } // End of _CRS method
409 {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})
411 Method(_SRS,1,NotSerialized)
413 CreateWordField (ARG0, 0x01, IRQW) // IRQ low
415 FindSetRightBit(IRQW,Local0) // Set IRQ
416 If (LNotEqual(IRQW,Zero))
418 And(Local0, 0x7F,Local0)
423 Or(Local0, 0x80,Local0)
426 } // End of _SRS Method
429 Device(LNKG) // PCI IRQ link G
431 Name(_HID,EISAID("PNP0C0F"))
435 Method(_STA,0,NotSerialized)
447 Method(_DIS,0,NotSerialized)
452 Method(_CRS,0,Serialized)
456 {IRQ(Level,ActiveLow,Shared){0}})
457 // Define references to buffer elements
458 CreateWordField (BUF0, 0x01, IRQW) // IRQ low
459 // Write current settings into IRQ descriptor
467 } // Shift 1 by value in register 70
468 ShiftLeft(Local0,And(PIRG,0x0F),IRQW) // Save in buffer
469 Return(BUF0) // Return Buf0
470 } // End of _CRS method
474 {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})
476 Method(_SRS,1,NotSerialized)
478 CreateWordField (ARG0, 0x01, IRQW) // IRQ low
480 FindSetRightBit(IRQW,Local0) // Set IRQ
481 If (LNotEqual(IRQW,Zero))
483 And(Local0, 0x7F,Local0)
487 Or(Local0, 0x80,Local0)
490 } // End of _SRS Method
493 Device(LNKH) // PCI IRQ link H
495 Name(_HID,EISAID("PNP0C0F"))
499 Method(_STA,0,NotSerialized)
511 Method(_DIS,0,NotSerialized)
516 Method(_CRS,0,Serialized)
520 {IRQ(Level,ActiveLow,Shared){0}})
521 // Define references to buffer elements
522 CreateWordField (BUF0, 0x01, IRQW) // IRQ low
523 // Write current settings into IRQ descriptor
531 } // Shift 1 by value in register 70
532 ShiftLeft(Local0,And(PIRH,0x0F),IRQW) // Save in buffer
533 Return(BUF0) // Return Buf0
534 } // End of _CRS method
538 {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})
540 Method(_SRS,1,NotSerialized)
542 CreateWordField (ARG0, 0x01, IRQW) // IRQ low
544 FindSetRightBit(IRQW,Local0)// Set IRQ
545 If (LNotEqual(IRQW,Zero))
547 And(Local0, 0x7F,Local0)
552 Or(Local0, 0x80,Local0)
555 } // End of _SRS Method