+++ /dev/null
-/** @file\r
-\r
-Copyright (c) 2013-2015 Intel Corporation.\r
-\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-\r
-// Interrupts can be DEB8=all except 13,8,6,2,1,0\r
-\r
-#ifndef PCIIRQ_ASI\r
-#define PCIIRQ_ASI\r
-\r
-OperationRegion(PRR0, PCI_Config, 0x60, 0x08)\r
-Field(PRR0, ANYACC, NOLOCK, PRESERVE)\r
-{\r
- PIRA, 8,\r
- PIRB, 8,\r
- PIRC, 8,\r
- PIRD, 8,\r
- PIRE, 8,\r
- PIRF, 8,\r
- PIRG, 8,\r
- PIRH, 8\r
-}\r
-\r
-Device(LNKA) // PCI IRQ link A\r
-{\r
- Name(_HID,EISAID("PNP0C0F"))\r
-\r
- Name(_UID, 1)\r
-\r
- Method(_STA,0,NotSerialized)\r
- {\r
- If(And(PIRA, 0x80))\r
- {\r
- Return(0x9)\r
- }\r
- Else\r
- {\r
- Return(0xB)\r
- } // Don't display\r
- }\r
-\r
- Method(_DIS,0,NotSerialized)\r
- {\r
- Or(PIRA, 0x80, PIRA)\r
- }\r
-\r
- Method(_CRS,0,Serialized)\r
- {\r
- Name(BUF0,\r
- ResourceTemplate()\r
- {IRQ(Level,ActiveLow,Shared){0}})\r
-\r
- // Define references to buffer elements\r
- CreateWordField (BUF0, 0x01, IRQW) // IRQ low\r
- // Write current settings into IRQ descriptor\r
- If (And(PIRA, 0x80))\r
- {\r
- Store(Zero, Local0)\r
- }\r
- Else\r
- {\r
- Store(One,Local0)\r
- }\r
- // Shift 1 by value in register 70\r
- ShiftLeft(Local0,And(PIRA,0x0F),IRQW) // Save in buffer\r
- Return(BUF0) // Return Buf0\r
- } // End of _CRS method\r
-\r
- Name(_PRS,\r
- ResourceTemplate()\r
- {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})\r
-\r
- Method(_SRS,1,NotSerialized)\r
- {\r
- CreateWordField (ARG0, 0x01, IRQW) // IRQ low\r
-\r
- FindSetRightBit(IRQW,Local0) // Set IRQ\r
- If (LNotEqual(IRQW,Zero))\r
- {\r
- And(Local0, 0x7F,Local0)\r
- Decrement(Local0)\r
- }\r
- Else\r
- {\r
- Or(Local0, 0x80,Local0)\r
- }\r
- store(Local0, PIRA)\r
- } // End of _SRS Method\r
-}\r
-\r
-Device(LNKB) // PCI IRQ link B\r
-{\r
- Name(_HID,EISAID("PNP0C0F"))\r
-\r
- Name(_UID, 2)\r
-\r
- Method(_STA,0,NotSerialized)\r
- {\r
- If(And(PIRB, 0x80))\r
- {\r
- Return(0x9)\r
- }\r
- Else\r
- {\r
- Return(0xB)\r
- } // Don't display\r
- }\r
-\r
- Method(_DIS,0,NotSerialized)\r
- {\r
- Or(PIRB, 0x80,PIRB)\r
- }\r
-\r
- Method(_CRS,0,Serialized)\r
- {\r
- Name(BUF0,\r
- ResourceTemplate()\r
- {IRQ(Level,ActiveLow,Shared){0}})\r
- // Define references to buffer elements\r
- CreateWordField (BUF0, 0x01, IRQW) // IRQ low\r
- // Write current settings into IRQ descriptor\r
- If (And(PIRB, 0x80))\r
- {\r
- Store(Zero, Local0)\r
- }\r
- Else\r
- {\r
- Store(One,Local0)\r
- }\r
- // Shift 1 by value in register 70\r
- ShiftLeft(Local0,And(PIRB,0x0F),IRQW) // Save in buffer\r
- Return(BUF0) // Return Buf0\r
- } // End of _CRS method\r
-\r
- Name(_PRS,\r
- ResourceTemplate()\r
- {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})\r
-\r
- Method(_SRS,1,NotSerialized)\r
- {\r
- CreateWordField (ARG0, 0x01, IRQW) // IRQ low\r
-\r
- FindSetRightBit(IRQW,Local0) // Set IRQ\r
- If (LNotEqual(IRQW,Zero))\r
- {\r
- And(Local0, 0x7F,Local0)\r
- Decrement(Local0)\r
- }\r
- Else\r
- {\r
- Or(Local0, 0x80,Local0)\r
- }\r
- Store(Local0, PIRB)\r
- } // End of _SRS Method\r
-}\r
-\r
-Device(LNKC) // PCI IRQ link C\r
-{\r
- Name(_HID,EISAID("PNP0C0F"))\r
-\r
- Name(_UID, 3)\r
-\r
- Method(_STA,0,NotSerialized)\r
- {\r
- If(And(PIRC, 0x80))\r
- {\r
- Return(0x9)\r
- }\r
- Else\r
- {\r
- Return(0xB)\r
- } // Don't display\r
- }\r
-\r
- Method(_DIS,0,NotSerialized)\r
- {\r
- Or(PIRC, 0x80,PIRC)\r
- }\r
-\r
- Method(_CRS,0,Serialized)\r
- {\r
- Name(BUF0,\r
- ResourceTemplate()\r
- {IRQ(Level,ActiveLow,Shared){0}})\r
- // Define references to buffer elements\r
- CreateWordField (BUF0, 0x01, IRQW) // IRQ low\r
- // Write current settings into IRQ descriptor\r
- If (And(PIRC, 0x80))\r
- {\r
- Store(Zero, Local0)\r
- }\r
- Else\r
- {\r
- Store(One,Local0)\r
- } // Shift 1 by value in register 70\r
- ShiftLeft(Local0,And(PIRC,0x0F),IRQW) // Save in buffer\r
- Return(BUF0) // Return Buf0\r
- } // End of _CRS method\r
-\r
- Name(_PRS,\r
- ResourceTemplate()\r
- {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})\r
-\r
- Method(_SRS,1,NotSerialized)\r
- {\r
- CreateWordField (ARG0, 0x01, IRQW) // IRQ low\r
-\r
- FindSetRightBit(IRQW,Local0) // Set IRQ\r
- If (LNotEqual(IRQW,Zero))\r
- {\r
- And(Local0, 0x7F,Local0)\r
- Decrement(Local0)\r
- }\r
- Else {\r
- Or(Local0, 0x80,Local0)\r
- }\r
- Store(Local0, PIRC)\r
- } // End of _SRS Method\r
-}\r
-\r
-Device(LNKD) // PCI IRQ link D\r
-{\r
- Name(_HID,EISAID("PNP0C0F"))\r
-\r
- Name(_UID, 4)\r
-\r
- Method(_STA,0,NotSerialized)\r
- {\r
- If(And(PIRD, 0x80))\r
- {\r
- Return(0x9)\r
- }\r
- Else\r
- {\r
- Return(0xB)\r
- } // Don't display\r
- }\r
-\r
- Method(_DIS,0,NotSerialized)\r
- {\r
- Or(PIRD, 0x80,PIRD)\r
- }\r
-\r
- Method(_CRS,0,Serialized)\r
- {\r
- Name(BUF0,\r
- ResourceTemplate()\r
- {IRQ(Level,ActiveLow,Shared){0}})\r
- // Define references to buffer elements\r
- CreateWordField (BUF0, 0x01, IRQW) // IRQ low\r
- // Write current settings into IRQ descriptor\r
- If (And(PIRD, 0x80))\r
- {\r
- Store(Zero, Local0)\r
- }\r
- Else\r
- {\r
- Store(One,Local0)\r
- } // Shift 1 by value in register 70\r
- ShiftLeft(Local0,And(PIRD,0x0F),IRQW) // Save in buffer\r
- Return(BUF0) // Return Buf0\r
- } // End of _CRS method\r
-\r
- Name(_PRS,\r
- ResourceTemplate()\r
- {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})\r
-\r
- Method(_SRS,1,NotSerialized)\r
- {\r
- CreateWordField (ARG0, 0x01, IRQW) // IRQ low\r
-\r
- FindSetRightBit(IRQW,Local0)// Set IRQ\r
- If (LNotEqual(IRQW,Zero))\r
- {\r
- And(Local0, 0x7F,Local0)\r
- Decrement(Local0)\r
- }\r
- Else\r
- {\r
- Or(Local0, 0x80,Local0)\r
- }\r
- Store(Local0, PIRD)\r
- } // End of _SRS Method\r
-}\r
-\r
-Device(LNKE) // PCI IRQ link E\r
-{\r
- Name(_HID,EISAID("PNP0C0F"))\r
-\r
- Name(_UID, 5)\r
-\r
- Method(_STA,0,NotSerialized)\r
- {\r
- If(And(PIRE, 0x80))\r
- {\r
- Return(0x9)\r
- }\r
- Else\r
- {\r
- Return(0xB)\r
- } // Don't display\r
- }\r
-\r
- Method(_DIS,0,NotSerialized)\r
- {\r
- Or(PIRE, 0x80, PIRE)\r
- }\r
-\r
- Method(_CRS,0,Serialized)\r
- {\r
- Name(BUF0,\r
- ResourceTemplate()\r
- {IRQ(Level,ActiveLow,Shared){0}})\r
-\r
- // Define references to buffer elements\r
- CreateWordField (BUF0, 0x01, IRQW) // IRQ low\r
- // Write current settings into IRQ descriptor\r
- If (And(PIRE, 0x80))\r
- {\r
- Store(Zero, Local0)\r
- }\r
- Else\r
- {\r
- Store(One,Local0)\r
- }\r
- // Shift 1 by value in register 70\r
- ShiftLeft(Local0,And(PIRE,0x0F),IRQW) // Save in buffer\r
- Return(BUF0) // Return Buf0\r
- } // End of _CRS method\r
-\r
- Name(_PRS,\r
- ResourceTemplate()\r
- {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})\r
-\r
- Method(_SRS,1,NotSerialized)\r
- {\r
- CreateWordField (ARG0, 0x01, IRQW) // IRQ low\r
-\r
- FindSetRightBit(IRQW,Local0) // Set IRQ\r
- If (LNotEqual(IRQW,Zero))\r
- {\r
- And(Local0, 0x7F,Local0)\r
- Decrement(Local0)\r
- }\r
- Else\r
- {\r
- Or(Local0, 0x80,Local0)\r
- }\r
- store(Local0, PIRE)\r
- } // End of _SRS Method\r
-}\r
-\r
-Device(LNKF) // PCI IRQ link F\r
-{\r
- Name(_HID,EISAID("PNP0C0F"))\r
-\r
- Name(_UID, 6)\r
-\r
- Method(_STA,0,NotSerialized)\r
- {\r
- If(And(PIRF, 0x80))\r
- {\r
- Return(0x9)\r
- }\r
- Else\r
- {\r
- Return(0xB)\r
- } // Don't display\r
- }\r
-\r
- Method(_DIS,0,NotSerialized)\r
- {\r
- Or(PIRB, 0x80,PIRF)\r
- }\r
-\r
- Method(_CRS,0,Serialized)\r
- {\r
- Name(BUF0,\r
- ResourceTemplate()\r
- {IRQ(Level,ActiveLow,Shared){0}})\r
- // Define references to buffer elements\r
- CreateWordField (BUF0, 0x01, IRQW) // IRQ low\r
- // Write current settings into IRQ descriptor\r
- If (And(PIRF, 0x80))\r
- {\r
- Store(Zero, Local0)\r
- }\r
- Else\r
- {\r
- Store(One,Local0)\r
- }\r
- // Shift 1 by value in register 70\r
- ShiftLeft(Local0,And(PIRF,0x0F),IRQW) // Save in buffer\r
- Return(BUF0) // Return Buf0\r
- } // End of _CRS method\r
-\r
- Name(_PRS,\r
- ResourceTemplate()\r
- {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})\r
-\r
- Method(_SRS,1,NotSerialized)\r
- {\r
- CreateWordField (ARG0, 0x01, IRQW) // IRQ low\r
-\r
- FindSetRightBit(IRQW,Local0) // Set IRQ\r
- If (LNotEqual(IRQW,Zero))\r
- {\r
- And(Local0, 0x7F,Local0)\r
- Decrement(Local0)\r
- }\r
- Else\r
- {\r
- Or(Local0, 0x80,Local0)\r
- }\r
- Store(Local0, PIRF)\r
- } // End of _SRS Method\r
-}\r
-\r
-Device(LNKG) // PCI IRQ link G\r
-{\r
- Name(_HID,EISAID("PNP0C0F"))\r
-\r
- Name(_UID, 7)\r
-\r
- Method(_STA,0,NotSerialized)\r
- {\r
- If(And(PIRG, 0x80))\r
- {\r
- Return(0x9)\r
- }\r
- Else\r
- {\r
- Return(0xB)\r
- } // Don't display\r
- }\r
-\r
- Method(_DIS,0,NotSerialized)\r
- {\r
- Or(PIRG, 0x80,PIRG)\r
- }\r
-\r
- Method(_CRS,0,Serialized)\r
- {\r
- Name(BUF0,\r
- ResourceTemplate()\r
- {IRQ(Level,ActiveLow,Shared){0}})\r
- // Define references to buffer elements\r
- CreateWordField (BUF0, 0x01, IRQW) // IRQ low\r
- // Write current settings into IRQ descriptor\r
- If (And(PIRG, 0x80))\r
- {\r
- Store(Zero, Local0)\r
- }\r
- Else\r
- {\r
- Store(One,Local0)\r
- } // Shift 1 by value in register 70\r
- ShiftLeft(Local0,And(PIRG,0x0F),IRQW) // Save in buffer\r
- Return(BUF0) // Return Buf0\r
- } // End of _CRS method\r
-\r
- Name(_PRS,\r
- ResourceTemplate()\r
- {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})\r
-\r
- Method(_SRS,1,NotSerialized)\r
- {\r
- CreateWordField (ARG0, 0x01, IRQW) // IRQ low\r
-\r
- FindSetRightBit(IRQW,Local0) // Set IRQ\r
- If (LNotEqual(IRQW,Zero))\r
- {\r
- And(Local0, 0x7F,Local0)\r
- Decrement(Local0)\r
- }\r
- Else {\r
- Or(Local0, 0x80,Local0)\r
- }\r
- Store(Local0, PIRG)\r
- } // End of _SRS Method\r
-}\r
-\r
-Device(LNKH) // PCI IRQ link H\r
-{\r
- Name(_HID,EISAID("PNP0C0F"))\r
-\r
- Name(_UID, 8)\r
-\r
- Method(_STA,0,NotSerialized)\r
- {\r
- If(And(PIRH, 0x80))\r
- {\r
- Return(0x9)\r
- }\r
- Else\r
- {\r
- Return(0xB)\r
- } // Don't display\r
- }\r
-\r
- Method(_DIS,0,NotSerialized)\r
- {\r
- Or(PIRH, 0x80,PIRH)\r
- }\r
-\r
- Method(_CRS,0,Serialized)\r
- {\r
- Name(BUF0,\r
- ResourceTemplate()\r
- {IRQ(Level,ActiveLow,Shared){0}})\r
- // Define references to buffer elements\r
- CreateWordField (BUF0, 0x01, IRQW) // IRQ low\r
- // Write current settings into IRQ descriptor\r
- If (And(PIRH, 0x80))\r
- {\r
- Store(Zero, Local0)\r
- }\r
- Else\r
- {\r
- Store(One,Local0)\r
- } // Shift 1 by value in register 70\r
- ShiftLeft(Local0,And(PIRH,0x0F),IRQW) // Save in buffer\r
- Return(BUF0) // Return Buf0\r
- } // End of _CRS method\r
-\r
- Name(_PRS,\r
- ResourceTemplate()\r
- {IRQ(Level,ActiveLow,Shared){12,11,10,9,7,5,4,3}})\r
-\r
- Method(_SRS,1,NotSerialized)\r
- {\r
- CreateWordField (ARG0, 0x01, IRQW) // IRQ low\r
-\r
- FindSetRightBit(IRQW,Local0)// Set IRQ\r
- If (LNotEqual(IRQW,Zero))\r
- {\r
- And(Local0, 0x7F,Local0)\r
- Decrement(Local0)\r
- }\r
- Else\r
- {\r
- Or(Local0, 0x80,Local0)\r
- }\r
- Store(Local0, PIRH)\r
- } // End of _SRS Method\r
-}\r
-\r
-#endif\r