/* SPDX-License-Identifier: GPL-2.0-only */ Device (LNKA) { Name (_HID, EISAID("PNP0C0F")) Name (_UID, 1) /* Disable method */ Method (_DIS, 0, Serialized) { PRTA = 0x80 } /* Possible Resource Settings for this Link */ Name (_PRS, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) { 3, 4, 5, 6, 7, 10, 12, 14, 15 } }) /* Current Resource Settings for this link */ Method (_CRS, 0, Serialized) { Name (RTLA, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {} }) CreateWordField(RTLA, 1, IRQ0) /* Clear the WordField */ IRQ0 = 0 /* Set the bit from PRTA */ IRQ0 = 1 << (PRTA & 0x0f) Return (RTLA) } /* Set Resource Setting for this IRQ link */ Method (_SRS, 1, Serialized) { CreateWordField(Arg0, 1, IRQ0) /* Which bit is set? */ FindSetRightBit(IRQ0, Local0) Local0-- PRTA = Local0 } /* Status */ Method (_STA, 0, Serialized) { If (PRTA & 0x80) { Return (0x9) } Else { Return (0xb) } } } Device (LNKB) { Name (_HID, EISAID("PNP0C0F")) Name (_UID, 2) /* Disable method */ Method (_DIS, 0, Serialized) { PRTB = 0x80 } /* Possible Resource Settings for this Link */ Name (_PRS, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) { 3, 4, 5, 6, 7, 11, 12, 14, 15 } }) /* Current Resource Settings for this link */ Method (_CRS, 0, Serialized) { Name (RTLB, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {} }) CreateWordField(RTLB, 1, IRQ0) /* Clear the WordField */ IRQ0 = 0 /* Set the bit from PRTB */ IRQ0 = 1 << (PRTB & 0x0f) Return (RTLB) } /* Set Resource Setting for this IRQ link */ Method (_SRS, 1, Serialized) { CreateWordField(Arg0, 1, IRQ0) /* Which bit is set? */ FindSetRightBit(IRQ0, Local0) Local0-- PRTB = Local0 } /* Status */ Method (_STA, 0, Serialized) { If (PRTB & 0x80) { Return (0x9) } Else { Return (0xb) } } } Device (LNKC) { Name (_HID, EISAID("PNP0C0F")) Name (_UID, 3) /* Disable method */ Method (_DIS, 0, Serialized) { PRTC = 0x80 } /* Possible Resource Settings for this Link */ Name (_PRS, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) { 3, 4, 5, 6, 7, 10, 12, 14, 15 } }) /* Current Resource Settings for this link */ Method (_CRS, 0, Serialized) { Name (RTLC, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {} }) CreateWordField(RTLC, 1, IRQ0) /* Clear the WordField */ IRQ0 = 0 /* Set the bit from PRTC */ IRQ0 = 1 << (PRTC & 0x0f) Return (RTLC) } /* Set Resource Setting for this IRQ link */ Method (_SRS, 1, Serialized) { CreateWordField(Arg0, 1, IRQ0) /* Which bit is set? */ FindSetRightBit(IRQ0, Local0) Local0-- PRTC = Local0 } /* Status */ Method (_STA, 0, Serialized) { If (PRTC & 0x80) { Return (0x9) } Else { Return (0xb) } } } Device (LNKD) { Name (_HID, EISAID("PNP0C0F")) Name (_UID, 4) /* Disable method */ Method (_DIS, 0, Serialized) { PRTD = 0x80 } /* Possible Resource Settings for this Link */ Name (_PRS, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) { 3, 4, 5, 6, 7, 11, 12, 14, 15 } }) /* Current Resource Settings for this link */ Method (_CRS, 0, Serialized) { Name (RTLD, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {} }) CreateWordField(RTLD, 1, IRQ0) /* Clear the WordField */ IRQ0 = 0 /* Set the bit from PRTD */ IRQ0 = 1 << (PRTD & 0x0f) Return (RTLD) } /* Set Resource Setting for this IRQ link */ Method (_SRS, 1, Serialized) { CreateWordField(Arg0, 1, IRQ0) /* Which bit is set? */ FindSetRightBit(IRQ0, Local0) Local0-- PRTD = Local0 } /* Status */ Method (_STA, 0, Serialized) { If (PRTD & 0x80) { Return (0x9) } Else { Return (0xb) } } } Device (LNKE) { Name (_HID, EISAID("PNP0C0F")) Name (_UID, 5) /* Disable method */ Method (_DIS, 0, Serialized) { PRTE = 0x80 } /* Possible Resource Settings for this Link */ Name (_PRS, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) { 3, 4, 5, 6, 7, 10, 12, 14, 15 } }) /* Current Resource Settings for this link */ Method (_CRS, 0, Serialized) { Name (RTLE, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {} }) CreateWordField(RTLE, 1, IRQ0) /* Clear the WordField */ IRQ0 = 0 /* Set the bit from PRTE */ IRQ0 = 1 << (PRTE & 0x0f) Return (RTLE) } /* Set Resource Setting for this IRQ link */ Method (_SRS, 1, Serialized) { CreateWordField(Arg0, 1, IRQ0) /* Which bit is set? */ FindSetRightBit(IRQ0, Local0) Local0-- PRTE = Local0 } /* Status */ Method (_STA, 0, Serialized) { If (PRTE & 0x80) { Return (0x9) } Else { Return (0xb) } } } Device (LNKF) { Name (_HID, EISAID("PNP0C0F")) Name (_UID, 6) /* Disable method */ Method (_DIS, 0, Serialized) { PRTF = 0x80 } /* Possible Resource Settings for this Link */ Name (_PRS, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) { 3, 4, 5, 6, 7, 11, 12, 14, 15 } }) /* Current Resource Settings for this link */ Method (_CRS, 0, Serialized) { Name (RTLF, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {} }) CreateWordField(RTLF, 1, IRQ0) /* Clear the WordField */ IRQ0 = 0 /* Set the bit from PRTF */ IRQ0 = 1 << (PRTF & 0x0f) Return (RTLF) } /* Set Resource Setting for this IRQ link */ Method (_SRS, 1, Serialized) { CreateWordField(Arg0, 1, IRQ0) /* Which bit is set? */ FindSetRightBit(IRQ0, Local0) Local0-- PRTF = Local0 } /* Status */ Method (_STA, 0, Serialized) { If (PRTF & 0x80) { Return (0x9) } Else { Return (0xb) } } } Device (LNKG) { Name (_HID, EISAID("PNP0C0F")) Name (_UID, 7) /* Disable method */ Method (_DIS, 0, Serialized) { PRTG = 0x80 } /* Possible Resource Settings for this Link */ Name (_PRS, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) { 3, 4, 5, 6, 7, 10, 12, 14, 15 } }) /* Current Resource Settings for this link */ Method (_CRS, 0, Serialized) { Name (RTLG, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {} }) CreateWordField(RTLG, 1, IRQ0) /* Clear the WordField */ IRQ0 = 0 /* Set the bit from PRTG */ IRQ0 = 1 << (PRTG & 0x0f) Return (RTLG) } /* Set Resource Setting for this IRQ link */ Method (_SRS, 1, Serialized) { CreateWordField(Arg0, 1, IRQ0) /* Which bit is set? */ FindSetRightBit(IRQ0, Local0) Local0-- PRTG = Local0 } /* Status */ Method (_STA, 0, Serialized) { If (PRTG & 0x80) { Return (0x9) } Else { Return (0xb) } } } Device (LNKH) { Name (_HID, EISAID("PNP0C0F")) Name (_UID, 8) /* Disable method */ Method (_DIS, 0, Serialized) { PRTH = 0x80 } /* Possible Resource Settings for this Link */ Name (_PRS, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) { 3, 4, 5, 6, 7, 11, 12, 14, 15 } }) /* Current Resource Settings for this link */ Method (_CRS, 0, Serialized) { Name (RTLH, ResourceTemplate() { IRQ(Level, ActiveLow, Shared) {} }) CreateWordField(RTLH, 1, IRQ0) /* Clear the WordField */ IRQ0 = 0 /* Set the bit from PRTH */ IRQ0 = 1 << (PRTH & 0x0f) Return (RTLH) } /* Set Resource Setting for this IRQ link */ Method (_SRS, 1, Serialized) { CreateWordField(Arg0, 1, IRQ0) /* Which bit is set? */ FindSetRightBit(IRQ0, Local0) Local0-- PRTH = Local0 } /* Status */ Method (_STA, 0, Serialized) { If (PRTH & 0x80) { Return (0x9) } Else { Return (0xb) } } }