3 Copyright (c) 2013-2015 Intel Corporation.
5 SPDX-License-Identifier: BSD-2-Clause-Patent
10 // Interrupts can be DEB8=all except 13,8,6,2,1,0
15 OperationRegion(PRR0, PCI_Config, 0x60, 0x08)
16 Field(PRR0, ANYACC, NOLOCK, PRESERVE)
28 Device(LNKA) // PCI IRQ link A
30 Name(_HID,EISAID("PNP0C0F"))
34 Method(_STA,0,NotSerialized)
46 Method(_DIS,0,NotSerialized)
51 Method(_CRS,0,Serialized)
55 {IRQ(Level,ActiveLow,Shared){0}})
57 // Define references to buffer elements
58 CreateWordField (BUF0, 0x01, IRQW) // IRQ low
59 // Write current settings into IRQ descriptor
68 // Shift 1 by value in register 70
69 ShiftLeft(Local0,And(PIRA,0x0F),IRQW) // Save in buffer
70 Return(BUF0) // Return Buf0
71 } // End of _CRS method
75 {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})
77 Method(_SRS,1,NotSerialized)
79 CreateWordField (ARG0, 0x01, IRQW) // IRQ low
81 FindSetRightBit(IRQW,Local0) // Set IRQ
82 If (LNotEqual(IRQW,Zero))
84 And(Local0, 0x7F,Local0)
89 Or(Local0, 0x80,Local0)
92 } // End of _SRS Method
95 Device(LNKB) // PCI IRQ link B
97 Name(_HID,EISAID("PNP0C0F"))
101 Method(_STA,0,NotSerialized)
113 Method(_DIS,0,NotSerialized)
118 Method(_CRS,0,Serialized)
122 {IRQ(Level,ActiveLow,Shared){0}})
123 // Define references to buffer elements
124 CreateWordField (BUF0, 0x01, IRQW) // IRQ low
125 // Write current settings into IRQ descriptor
134 // Shift 1 by value in register 70
135 ShiftLeft(Local0,And(PIRB,0x0F),IRQW) // Save in buffer
136 Return(BUF0) // Return Buf0
137 } // End of _CRS method
141 {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})
143 Method(_SRS,1,NotSerialized)
145 CreateWordField (ARG0, 0x01, IRQW) // IRQ low
147 FindSetRightBit(IRQW,Local0) // Set IRQ
148 If (LNotEqual(IRQW,Zero))
150 And(Local0, 0x7F,Local0)
155 Or(Local0, 0x80,Local0)
158 } // End of _SRS Method
161 Device(LNKC) // PCI IRQ link C
163 Name(_HID,EISAID("PNP0C0F"))
167 Method(_STA,0,NotSerialized)
179 Method(_DIS,0,NotSerialized)
184 Method(_CRS,0,Serialized)
188 {IRQ(Level,ActiveLow,Shared){0}})
189 // Define references to buffer elements
190 CreateWordField (BUF0, 0x01, IRQW) // IRQ low
191 // Write current settings into IRQ descriptor
199 } // Shift 1 by value in register 70
200 ShiftLeft(Local0,And(PIRC,0x0F),IRQW) // Save in buffer
201 Return(BUF0) // Return Buf0
202 } // End of _CRS method
206 {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})
208 Method(_SRS,1,NotSerialized)
210 CreateWordField (ARG0, 0x01, IRQW) // IRQ low
212 FindSetRightBit(IRQW,Local0) // Set IRQ
213 If (LNotEqual(IRQW,Zero))
215 And(Local0, 0x7F,Local0)
219 Or(Local0, 0x80,Local0)
222 } // End of _SRS Method
225 Device(LNKD) // PCI IRQ link D
227 Name(_HID,EISAID("PNP0C0F"))
231 Method(_STA,0,NotSerialized)
243 Method(_DIS,0,NotSerialized)
248 Method(_CRS,0,Serialized)
252 {IRQ(Level,ActiveLow,Shared){0}})
253 // Define references to buffer elements
254 CreateWordField (BUF0, 0x01, IRQW) // IRQ low
255 // Write current settings into IRQ descriptor
263 } // Shift 1 by value in register 70
264 ShiftLeft(Local0,And(PIRD,0x0F),IRQW) // Save in buffer
265 Return(BUF0) // Return Buf0
266 } // End of _CRS method
270 {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})
272 Method(_SRS,1,NotSerialized)
274 CreateWordField (ARG0, 0x01, IRQW) // IRQ low
276 FindSetRightBit(IRQW,Local0)// Set IRQ
277 If (LNotEqual(IRQW,Zero))
279 And(Local0, 0x7F,Local0)
284 Or(Local0, 0x80,Local0)
287 } // End of _SRS Method
290 Device(LNKE) // PCI IRQ link E
292 Name(_HID,EISAID("PNP0C0F"))
296 Method(_STA,0,NotSerialized)
308 Method(_DIS,0,NotSerialized)
313 Method(_CRS,0,Serialized)
317 {IRQ(Level,ActiveLow,Shared){0}})
319 // Define references to buffer elements
320 CreateWordField (BUF0, 0x01, IRQW) // IRQ low
321 // Write current settings into IRQ descriptor
330 // Shift 1 by value in register 70
331 ShiftLeft(Local0,And(PIRE,0x0F),IRQW) // Save in buffer
332 Return(BUF0) // Return Buf0
333 } // End of _CRS method
337 {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})
339 Method(_SRS,1,NotSerialized)
341 CreateWordField (ARG0, 0x01, IRQW) // IRQ low
343 FindSetRightBit(IRQW,Local0) // Set IRQ
344 If (LNotEqual(IRQW,Zero))
346 And(Local0, 0x7F,Local0)
351 Or(Local0, 0x80,Local0)
354 } // End of _SRS Method
357 Device(LNKF) // PCI IRQ link F
359 Name(_HID,EISAID("PNP0C0F"))
363 Method(_STA,0,NotSerialized)
375 Method(_DIS,0,NotSerialized)
380 Method(_CRS,0,Serialized)
384 {IRQ(Level,ActiveLow,Shared){0}})
385 // Define references to buffer elements
386 CreateWordField (BUF0, 0x01, IRQW) // IRQ low
387 // Write current settings into IRQ descriptor
396 // Shift 1 by value in register 70
397 ShiftLeft(Local0,And(PIRF,0x0F),IRQW) // Save in buffer
398 Return(BUF0) // Return Buf0
399 } // End of _CRS method
403 {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})
405 Method(_SRS,1,NotSerialized)
407 CreateWordField (ARG0, 0x01, IRQW) // IRQ low
409 FindSetRightBit(IRQW,Local0) // Set IRQ
410 If (LNotEqual(IRQW,Zero))
412 And(Local0, 0x7F,Local0)
417 Or(Local0, 0x80,Local0)
420 } // End of _SRS Method
423 Device(LNKG) // PCI IRQ link G
425 Name(_HID,EISAID("PNP0C0F"))
429 Method(_STA,0,NotSerialized)
441 Method(_DIS,0,NotSerialized)
446 Method(_CRS,0,Serialized)
450 {IRQ(Level,ActiveLow,Shared){0}})
451 // Define references to buffer elements
452 CreateWordField (BUF0, 0x01, IRQW) // IRQ low
453 // Write current settings into IRQ descriptor
461 } // Shift 1 by value in register 70
462 ShiftLeft(Local0,And(PIRG,0x0F),IRQW) // Save in buffer
463 Return(BUF0) // Return Buf0
464 } // End of _CRS method
468 {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})
470 Method(_SRS,1,NotSerialized)
472 CreateWordField (ARG0, 0x01, IRQW) // IRQ low
474 FindSetRightBit(IRQW,Local0) // Set IRQ
475 If (LNotEqual(IRQW,Zero))
477 And(Local0, 0x7F,Local0)
481 Or(Local0, 0x80,Local0)
484 } // End of _SRS Method
487 Device(LNKH) // PCI IRQ link H
489 Name(_HID,EISAID("PNP0C0F"))
493 Method(_STA,0,NotSerialized)
505 Method(_DIS,0,NotSerialized)
510 Method(_CRS,0,Serialized)
514 {IRQ(Level,ActiveLow,Shared){0}})
515 // Define references to buffer elements
516 CreateWordField (BUF0, 0x01, IRQW) // IRQ low
517 // Write current settings into IRQ descriptor
525 } // Shift 1 by value in register 70
526 ShiftLeft(Local0,And(PIRH,0x0F),IRQW) // Save in buffer
527 Return(BUF0) // Return Buf0
528 } // End of _CRS method
532 {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})
534 Method(_SRS,1,NotSerialized)
536 CreateWordField (ARG0, 0x01, IRQW) // IRQ low
538 FindSetRightBit(IRQW,Local0)// Set IRQ
539 If (LNotEqual(IRQW,Zero))
541 And(Local0, 0x7F,Local0)
546 Or(Local0, 0x80,Local0)
549 } // End of _SRS Method