From: joerg%NetBSD.org@localhost Subject: Re: kern/36838 (pci bus is disabled on ACPI kernel on Fujitsu FMV LOOX P70WN.) Date: Thu, 22 May 2008 20:57:00 +0000 (UTC) > Synopsis: pci bus is disabled on ACPI kernel on Fujitsu FMV LOOX P70WN. > > Responsible-Changed-From-To: kern-bug-people->joerg > Responsible-Changed-By: joerg%NetBSD.org@localhost > Responsible-Changed-When: Thu, 22 May 2008 20:56:58 +0000 > Responsible-Changed-Why: > ACPI bug > > > State-Changed-From-To: open->feedback > State-Changed-By: joerg%NetBSD.org@localhost > State-Changed-When: Thu, 22 May 2008 20:56:58 +0000 > State-Changed-Why: > Can you please provide me the DSDT? acpidump will help. DSDT and ASL are attached to this e-mail. DSDT and ASL are output of # acpidump -r -o looxp70wm.dsdt > looxp70wm.asl -- Ryo ONODERA // ryo%rf7.so-net.ne.jp@localhost PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3
Attachment:
looxp70wm.dsdt
Description: Binary data
/*
RSD PTR: Checksum=73, OEMID=FUJ, RsdtAddress=0x3f662688
*/
/*
RSDT: Length=72, Revision=1, Checksum=215,
OEMID=FUJ, OEM Table ID=PC, OEM Revision=0x1130000,
Creator ID=FUJ, Creator Revision=0x100
*/
/*
Entries={ 0x3f668f8c, 0x3f668170, 0x3f6681ac, 0x3f668688, 0x3f668b07,
0x3f668d5c, 0x3f668db6, 0x3f668dee, 0x3f668e16 }
*/
/*
DSDT=0x3f6626d8
INT_MODEL=PIC
SCI_INT=9
SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0
PM1a_EVT_BLK=0x1000-0x1003
PM1a_CNT_BLK=0x1004-0x1005
PM2_CNT_BLK=0x1020-0x1020
PM2_TMR_BLK=0x1008-0x100b
PM2_GPE0_BLK=0x1028-0x102f
P_LVL2_LAT=1ms, P_LVL3_LAT=100ms
FLUSH_SIZE=0, FLUSH_STRIDE=0
DUTY_OFFSET=0, DUTY_WIDTH=0
DAY_ALRM=13, MON_ALRM=0, CENTURY=50
Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4}
*/
/*
DSDT: Length=23192, Revision=1, Checksum=37,
OEMID=FUJ, OEM Table ID=FJNB1C5, OEM Revision=0x1130000,
Creator ID=MSFT, Creator Revision=0x100000e
*/
DefinitionBlock ("acpi_dst.aml", "DSDT", 0x1, "FUJ", "FJNB1C5", 0x1130000)
{
Name(BIDT, Buffer(0x10) {0x0, 0x1, 0x2, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0 })
Name(BMNT, Package(0x04) {
"CP229720\x20\x2f\x20CP229721",
"CP229725\x20\x2f\x20CP229726",
"CP240501",
"CP240517",
})
Name(BMST, Package(0x04) {
"CP229720",
"CP229725",
"CP240501",
"CP240517",
})
Scope(\_PR) {
Processor(CPU0, 0, 0x1010, 0x6) {
}
Processor(CPU1, 1, 0x1010, 0x6) {
}
}
Scope(\_SB) {
Name(OSTB, Ones)
OperationRegion(OSTY, SystemMemory, 0x3f669ef6, 0x00000001)
Field(OSTY, AnyAcc, NoLock, Preserve) {
TPOS, 8
}
Method(OSTP) {
If(LEqual(^OSTB, Ones)) {
If(CondRefOf(\_OSI, Local0)) {
If(\_OSI("Windows\x202006")) {
Store(0x40, ^OSTB)
Store(0x40, ^TPOS)
}
Else {
If(\_OSI("Windows\x202001.1")) {
Store(0x20, ^OSTB)
Store(0x20, ^TPOS)
}
Else {
If(\_OSI("Windows\x202001\x20SP1")) {
Store(0x10, ^OSTB)
Store(0x10, ^TPOS)
}
Else {
If(\_OSI("Windows\x202001")) {
Store(0x08, ^OSTB)
Store(0x08, ^TPOS)
}
Else {
Store(0x00, ^OSTB)
Store(0x00, ^TPOS)
}
}
}
}
}
Else {
If(CondRefOf(\_OS, Local0)) {
If(^SEQL(\_OS, "Microsoft\x20Windows")) {
Store(0x01, ^OSTB)
Store(0x01, ^TPOS)
}
Else {
If(^SEQL(\_OS,
"Microsoft\x20WindowsME\x3a\x20Millennium\x20Edition")) {
Store(0x02, ^OSTB)
Store(0x02, ^TPOS)
}
Else {
If(^SEQL(\_OS, "Microsoft\x20Windows\x20NT")) {
Store(0x04, ^OSTB)
Store(0x04, ^TPOS)
}
Else {
Store(0x00, ^OSTB)
Store(0x00, ^TPOS)
}
}
}
}
Else {
Store(0x00, ^OSTB)
Store(0x00, ^TPOS)
}
}
}
Return(^OSTB)
}
Method(SEQL, 2, Serialized) {
Store(SizeOf(Arg0), Local0)
Store(SizeOf(Arg1), Local1)
If(LNot(LEqual(Local0, Local1))) {
Return(Zero)
}
Name(BUF0, Buffer(Local0) { })
Store(Arg0, BUF0)
Name(BUF1, Buffer(Local0) { })
Store(Arg1, BUF1)
Store(Zero, Local2)
While(LLess(Local2, Local0)) {
Store(DerefOf(Index(BUF0, Local2, )), Local3)
Store(DerefOf(Index(BUF1, Local2, )), Local4)
If(LNot(LEqual(Local3, Local4))) {
Return(Zero)
}
Increment(Local2)
}
Return(One)
}
}
Name(FWSO, Zero)
Name(RPEN, Zero)
Name(RPDS, Zero)
Name(EXIS, 0xff)
Name(PLWM, Zero)
Name(PTAL, Zero)
Name(ECCI, 0x03)
Name(GINT, Zero)
Name(RGSI, 0x18)
Name(LIDS, Zero)
Name(VSTH, Zero)
Name(HDWA, Zero)
Name(\GPIC, 0x00)
Method(\_PIC, 1) {
Store(Arg0, GPIC)
}
Scope(\_SB) {
OperationRegion(PSIO, SystemIO, 0x00000f40, 0x00000002)
OperationRegion(PSBF, SystemMemory, 0x3f669e66, 0x00000090)
OperationRegion(OEMT, SystemMemory, 0x3f669f9c, 0x00000020)
OperationRegion(SYSC, SystemMemory, 0x3f669f92, 0x0000000a)
OperationRegion(VDEX, SystemMemory, 0x3f669e56, 0x00000010)
OperationRegion(THZN, SystemMemory, 0x3f669f82, 0x00000010)
OperationRegion(BTNC, SystemMemory, 0x3f669f72, 0x00000010)
OperationRegion(VIST, SystemMemory, 0x3f66960c, 0x0000084a)
OperationRegion(QBC, SystemMemory, 0x3f669f66, 0x0000000c)
OperationRegion(TCG1, SystemMemory, 0x3f669608, 0x00000004)
OperationRegion(IO80, SystemIO, 0x80, 0x01)
Scope(\) {
Field(\_SB.PSIO, ByteAcc, NoLock, Preserve) {
SSMI, 8
}
Field(\_SB.PSBF, ByteAcc, NoLock, Preserve) {
CMD, 8,
DVID, 32,
PSDT, 32
}
Field(\_SB.PSBF, ByteAcc, NoLock, Preserve) {
Offset(0x5),
INF, 8
}
Field(\_SB.OEMT, ByteAcc, NoLock, Preserve) {
SPAF, 2,
SPBF, 2,
PPF, 3,
FDCF, 1,
SIDF, 2,
IMTF, 1,
BLEN, 1,
WLEN, 1,
BTEX, 1,
Offset(0x4),
WAPB, 1,
Offset(0x8),
FWHM, 1,
, 1,
TPMF, 2,
FSCM, 1,
RPCP, 1,
TBPC, 1,
AS34, 1,
BIFL, 8,
DCLW, 7,
Offset(0x10),
FDS0, 4,
FDS1, 4,
Offset(0x18),
UMST, 32,
UMSZ, 32
}
Field(\_SB.SYSC, ByteAcc, NoLock, Preserve) {
BHKF, 1,
, 2,
MHKF, 1,
Offset(0x1),
BLLM, 8,
BLLT, 64
}
Field(\_SB.SYSC, ByteAcc, NoLock, Preserve) {
AHKF, 8
}
Field(\_SB.VDEX, ByteAcc, NoLock, Preserve) {
ADOS, 3,
CLCD, 1,
ALCD, 1,
CCRT, 1,
ACRT, 1,
CTV, 1,
ATV, 1,
CDVI, 1,
ADVI, 1,
DSWF, 2,
BSWF, 2
}
Field(\_SB.THZN, ByteAcc, NoLock, Preserve) {
DTS1, 8,
DTS2, 8,
CRTT, 8,
PSVT, 8,
TC1V, 4,
TC2V, 4,
TSPV, 4,
MPEN, 1,
DTSE, 1
}
Field(\_SB.BTNC, ByteAcc, NoLock, Preserve) {
IRBF, 1,
, 6,
NGTF, 1,
Offset(0x4),
IRBC, 16
}
Field(\_SB.QBC, ByteAcc, NoLock, Preserve) {
QAG1, 32,
QAG2, 32,
QAG3, 32
}
Field(\_SB.TCG1, AnyAcc, NoLock, Preserve) {
PPRQ, 8,
PPLO, 8,
PPRP, 8,
PPOR, 8
}
Field(\_SB.IO80, ByteAcc, NoLock, Preserve) {
PO80, 8
}
}
Method(_INI) {
If(LNot(LLess(\_SB.OSTP(), 0x40))) {
Load(VIST, VSTH)
}
}
Device(MCFG) {
Name(_HID, 0x020cd041)
Name(_CRS, Buffer(0x1c) {0x87, 0x17, 0x0, 0x0, 0xd, 0x1, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xf8, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x4, 0x79, 0x0
/* ResourceTemplate() {
0x0000 DWordMemory(ResourceConsumer, PosDecode, MinFixed, MaxFixed,
NonCacheable, ReadWrite, 0x0, 0xf8000000, 0xfbffffff, 0x0, 0x4000000, 121, '',
AddressRangeMemory, TypeStatic)
} */
})
}
Device(PCI0) {
Name(_HID, 0x080ad041)
Name(_CID, 0x030ad041)
Name(_ADR, 0x00)
Name(_BBN, 0x00)
OperationRegion(HBUS, PCI_Config, 0x40, 0xc0)
Field(HBUS, DWordAcc, NoLock, Preserve) {
Offset(0x50),
, 4,
PM0H, 2,
Offset(0x51),
PM1L, 2,
, 2,
PM1H, 2,
Offset(0x52),
PM2L, 2,
, 2,
PM2H, 2,
Offset(0x53),
PM3L, 2,
, 2,
PM3H, 2,
Offset(0x54),
PM4L, 2,
, 2,
PM4H, 2,
Offset(0x55),
PM5L, 2,
, 2,
PM5H, 2,
Offset(0x56),
PM6L, 2,
, 2,
PM6H, 2,
Offset(0x57),
, 7,
HENA, 1,
Offset(0x5c),
, 3,
TOUD, 5
}
Name(BUF0, Buffer(0x01ee) {0x88, 0xd, 0x0, 0x2, 0xc, 0x0, 0x0, 0x0,
0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x87, 0x17, 0x0, 0x1, 0xc, 0x3, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xf8, 0xc, 0x0, 0x0, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x87, 0x17,
0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0x0, 0xff, 0xff, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf3, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x2, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xc, 0x0, 0xff, 0x3f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0,
0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xc, 0x0,
0xff, 0x7f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0,
0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xc, 0x0, 0xff, 0xbf, 0xc, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0,
0x0, 0x0, 0x0, 0x0, 0xc0, 0xc, 0x0, 0xff, 0xff, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xd, 0x0, 0xff, 0x3f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0,
0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xd, 0x0, 0xff,
0x7f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0,
0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xd, 0x0, 0xff, 0xbf, 0xd, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0,
0x0, 0x0, 0x0, 0xc0, 0xd, 0x0, 0xff, 0xff, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xe, 0x0, 0xff, 0x3f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87,
0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xe, 0x0, 0xff, 0x7f,
0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc,
0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xe, 0x0, 0xff, 0xbf, 0xe, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0,
0x0, 0x0, 0xc0, 0xe, 0x0, 0xff, 0xff, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40,
0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf,
0x0, 0xff, 0xff, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x87, 0x17,
0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xbf,
0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd4, 0xfe, 0xff, 0x4f, 0xd4, 0xfe, 0x0, 0x0,
0x0, 0x0, 0x0, 0x50, 0x0, 0x0, 0x79, 0x0
/* ResourceTemplate() {
0x0000 WordBus(ResourceProducer, PosDecode, MinFixed, MaxFixed, 0x0,
0x0, 0xff, 0x0, 0x100, 135, '')
0x0010 DWordIO(ResourceProducer, MinFixed, MaxFixed, PosDecode,
EntireRange, 0x0, 0x0, 0xcf7, 0x0, 0xcf8, 71, '��', TypeStatic,
DenseTranslation)
0x002a IO(Decode16, 0xcf8, 0xcf8, 0x1, 0x8)
0x0032 DWordIO(ResourceProducer, MinFixed, MaxFixed, PosDecode,
EntireRange, 0x0, 0xd00, 0xffff, 0x0, 0xf300, 135, '', TypeStatic,
DenseTranslation)
0x004c DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite, 0x0, 0xa0000, 0xbffff, 0x0, 0x20000, 135, '',
AddressRangeMemory, TypeStatic)
0x0066 DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite, 0x0, 0xc0000, 0xc3fff, 0x0, 0x4000, 135, '',
AddressRangeMemory, TypeStatic)
0x0080 DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite, 0x0, 0xc4000, 0xc7fff, 0x0, 0x4000, 135, '',
AddressRangeMemory, TypeStatic)
0x009a DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite, 0x0, 0xc8000, 0xcbfff, 0x0, 0x4000, 135, '',
AddressRangeMemory, TypeStatic)
0x00b4 DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite, 0x0, 0xcc000, 0xcffff, 0x0, 0x4000, 135, '',
AddressRangeMemory, TypeStatic)
0x00ce DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite, 0x0, 0xd0000, 0xd3fff, 0x0, 0x4000, 135, '',
AddressRangeMemory, TypeStatic)
0x00e8 DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite, 0x0, 0xd4000, 0xd7fff, 0x0, 0x4000, 135, '',
AddressRangeMemory, TypeStatic)
0x0102 DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite, 0x0, 0xd8000, 0xdbfff, 0x0, 0x4000, 135, '',
AddressRangeMemory, TypeStatic)
0x011c DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite, 0x0, 0xdc000, 0xdffff, 0x0, 0x4000, 135, '',
AddressRangeMemory, TypeStatic)
0x0136 DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite, 0x0, 0xe0000, 0xe3fff, 0x0, 0x4000, 135, '',
AddressRangeMemory, TypeStatic)
0x0150 DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite, 0x0, 0xe4000, 0xe7fff, 0x0, 0x4000, 135, '',
AddressRangeMemory, TypeStatic)
0x016a DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite, 0x0, 0xe8000, 0xebfff, 0x0, 0x4000, 135, '',
AddressRangeMemory, TypeStatic)
0x0184 DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite, 0x0, 0xec000, 0xeffff, 0x0, 0x4000, 135, '',
AddressRangeMemory, TypeStatic)
0x019e DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite, 0x0, 0xf0000, 0xfffff, 0x0, 0x10000, 135, '',
AddressRangeMemory, TypeStatic)
0x01b8 DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite, 0x0, 0x0, 0xfebfffff, 0x0, 0x0, 135, '',
AddressRangeMemory, TypeStatic)
0x01d2 DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite, 0x0, 0xfed40000, 0xfed44fff, 0x0, 0x5000, 121, '',
AddressRangeMemory, TypeStatic)
} */
})
Method(_CRS, 0, Serialized) {
If(PM1L) {
CreateDWordField(BUF0, 0x7c, C0LN)
Store(Zero, C0LN)
}
If(LEqual(PM1L, 0x01)) {
CreateBitField(BUF0, 0x0358, C0RW)
Store(Zero, C0RW)
}
If(PM1H) {
CreateDWordField(BUF0, 0x96, C4LN)
Store(Zero, C4LN)
}
If(LEqual(PM1H, 0x01)) {
CreateBitField(BUF0, 0x0428, C4RW)
Store(Zero, C4RW)
}
If(PM2L) {
CreateDWordField(BUF0, 0xb0, C8LN)
Store(Zero, C8LN)
}
If(LEqual(PM2L, 0x01)) {
CreateBitField(BUF0, 0x04f8, C8RW)
Store(Zero, C8RW)
}
If(PM2H) {
CreateDWordField(BUF0, 0xca, CCLN)
Store(Zero, CCLN)
}
If(LEqual(PM2H, 0x01)) {
CreateBitField(BUF0, 0x05c8, CCRW)
Store(Zero, CCRW)
}
If(PM3L) {
CreateDWordField(BUF0, 0xe4, D0LN)
Store(Zero, D0LN)
}
If(LEqual(PM3L, 0x01)) {
CreateBitField(BUF0, 0x0698, D0RW)
Store(Zero, D0RW)
}
If(PM3H) {
CreateDWordField(BUF0, 0xfe, D4LN)
Store(Zero, D4LN)
}
If(LEqual(PM3H, 0x01)) {
CreateBitField(BUF0, 0x0768, D4RW)
Store(Zero, D4RW)
}
If(PM4L) {
CreateDWordField(BUF0, 0x0118, D8LN)
Store(Zero, D8LN)
}
If(LEqual(PM4L, 0x01)) {
CreateBitField(BUF0, 0x0838, D8RW)
Store(Zero, D8RW)
}
If(PM4H) {
CreateDWordField(BUF0, 0x0132, DCLN)
Store(Zero, DCLN)
}
If(LEqual(PM4H, 0x01)) {
CreateBitField(BUF0, 0x0908, DCRW)
Store(Zero, DCRW)
}
If(PM5L) {
CreateDWordField(BUF0, 0x014c, E0LN)
Store(Zero, E0LN)
}
If(LEqual(PM5L, 0x01)) {
CreateBitField(BUF0, 0x09d8, E0RW)
Store(Zero, E0RW)
}
If(PM5H) {
CreateDWordField(BUF0, 0x0166, E4LN)
Store(Zero, E4LN)
}
If(LEqual(PM5H, 0x01)) {
CreateBitField(BUF0, 0x0aa8, E4RW)
Store(Zero, E4RW)
}
If(PM6L) {
CreateDWordField(BUF0, 0x0180, E8LN)
Store(Zero, E8LN)
}
If(LEqual(PM6L, 0x01)) {
CreateBitField(BUF0, 0x0b78, E8RW)
Store(Zero, E8RW)
}
If(PM6H) {
CreateDWordField(BUF0, 0x019a, ECLN)
Store(Zero, ECLN)
}
If(LEqual(PM6H, 0x01)) {
CreateBitField(BUF0, 0x0c48, ECRW)
Store(Zero, ECRW)
}
If(PM0H) {
CreateDWordField(BUF0, 0x01b4, F0LN)
Store(Zero, F0LN)
}
If(LEqual(PM0H, 0x01)) {
CreateBitField(BUF0, 0x0d18, F0RW)
Store(Zero, F0RW)
}
CreateDWordField(BUF0, 0x01c2, M1MN)
CreateDWordField(BUF0, 0x01c6, M1MX)
CreateDWordField(BUF0, 0x01ce, M1LN)
ShiftLeft(TOUD, 0x1b, M1MN)
Add(Subtract(M1MX, M1MN, ), 0x01, M1LN)
CreateDWordField(BUF0, 0x01dc, TPMN)
CreateDWordField(BUF0, 0x01e0, TPMX)
CreateDWordField(BUF0, 0x01e8, TPML)
If(LNot(LEqual(TPMF, 0x02))) {
Store(Zero, TPMN)
Store(Zero, TPMX)
Store(Zero, TPML)
}
Return(BUF0)
}
Method(_PRT) {
If(GPIC) {
Return(Package(0x10) {
Package(0x04) {
0x0001ffff,
0x00,
0x00,
0x10,
},
Package(0x04) {
0x0002ffff,
0x00,
0x00,
0x10,
},
Package(0x04) {
0x0007ffff,
0x03,
0x00,
0x10,
},
Package(0x04) {
0x001bffff,
0x00,
0x00,
0x11,
},
Package(0x04) {
0x001cffff,
0x00,
0x00,
0x16,
},
Package(0x04) {
0x001cffff,
0x01,
0x00,
0x15,
},
Package(0x04) {
0x001cffff,
0x02,
0x00,
0x14,
},
Package(0x04) {
0x001cffff,
0x03,
0x00,
0x13,
},
Package(0x04) {
0x001dffff,
0x00,
0x00,
0x17,
},
Package(0x04) {
0x001dffff,
0x01,
0x00,
0x14,
},
Package(0x04) {
0x001dffff,
0x02,
0x00,
0x12,
},
Package(0x04) {
0x001dffff,
0x03,
0x00,
0x10,
},
Package(0x04) {
0x001effff,
0x00,
0x00,
0x10,
},
Package(0x04) {
0x001effff,
0x01,
0x00,
0x11,
},
Package(0x04) {
0x001fffff,
0x00,
0x00,
0x12,
},
Package(0x04) {
0x001fffff,
0x01,
0x00,
0x13,
},
})
}
Else {
Return(Package(0x10) {
Package(0x04) {
0x0001ffff,
0x00,
\_SB.PCI0.LPCB.LNKA,
0x00,
},
Package(0x04) {
0x0002ffff,
0x00,
\_SB.PCI0.LPCB.LNKA,
0x00,
},
Package(0x04) {
0x0007ffff,
0x03,
\_SB.PCI0.LPCB.LNKA,
0x00,
},
Package(0x04) {
0x001bffff,
0x00,
\_SB.PCI0.LPCB.LNKB,
0x00,
},
Package(0x04) {
0x001cffff,
0x00,
\_SB.PCI0.LPCB.LNKG,
0x00,
},
Package(0x04) {
0x001cffff,
0x01,
\_SB.PCI0.LPCB.LNKF,
0x00,
},
Package(0x04) {
0x001cffff,
0x02,
\_SB.PCI0.LPCB.LNKE,
0x00,
},
Package(0x04) {
0x001cffff,
0x03,
\_SB.PCI0.LPCB.LNKD,
0x00,
},
Package(0x04) {
0x001dffff,
0x00,
\_SB.PCI0.LPCB.LNKH,
0x00,
},
Package(0x04) {
0x001dffff,
0x01,
\_SB.PCI0.LPCB.LNKE,
0x00,
},
Package(0x04) {
0x001dffff,
0x02,
\_SB.PCI0.LPCB.LNKC,
0x00,
},
Package(0x04) {
0x001dffff,
0x03,
\_SB.PCI0.LPCB.LNKA,
0x00,
},
Package(0x04) {
0x001effff,
0x00,
\_SB.PCI0.LPCB.LNKG,
0x00,
},
Package(0x04) {
0x001effff,
0x01,
\_SB.PCI0.LPCB.LNKE,
0x00,
},
Package(0x04) {
0x001fffff,
0x00,
\_SB.PCI0.LPCB.LNKC,
0x00,
},
Package(0x04) {
0x001fffff,
0x01,
\_SB.PCI0.LPCB.LNKD,
0x00,
},
})
}
}
Device(MBIO) {
Name(_HID, 0x020cd041)
Method(_STA) {
Return(0x0f)
}
Name(RSRC, Buffer(0x01a6) {0x47, 0x1, 0x10, 0x0, 0x10, 0x0, 0x1,
0x10, 0x47, 0x1, 0x24, 0x0, 0x24, 0x0, 0x1, 0x2, 0x47, 0x1, 0x28, 0x0, 0x28,
0x0, 0x1, 0x2, 0x47, 0x1, 0x2c, 0x0, 0x2c, 0x0, 0x1, 0x2, 0x47, 0x1, 0x2e, 0x0,
0x2e, 0x0, 0x1, 0x2, 0x47, 0x1, 0x30, 0x0, 0x30, 0x0, 0x1, 0x2, 0x47, 0x1,
0x34, 0x0, 0x34, 0x0, 0x1, 0x2, 0x47, 0x1, 0x38, 0x0, 0x38, 0x0, 0x1, 0x2,
0x47, 0x1, 0x3c, 0x0, 0x3c, 0x0, 0x1, 0x2, 0x47, 0x1, 0x50, 0x0, 0x50, 0x0,
0x1, 0x4, 0x47, 0x1, 0x72, 0x0, 0x72, 0x0, 0x1, 0x6, 0x47, 0x1, 0x80, 0x0,
0x80, 0x0, 0x1, 0x1, 0x47, 0x1, 0x90, 0x0, 0x90, 0x0, 0x1, 0x10, 0x47, 0x1,
0xa4, 0x0, 0xa4, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa8, 0x0, 0xa8, 0x0, 0x1, 0x2,
0x47, 0x1, 0xac, 0x0, 0xac, 0x0, 0x1, 0x2, 0x47, 0x1, 0xb0, 0x0, 0xb0, 0x0,
0x1, 0x2, 0x47, 0x1, 0xb2, 0x0, 0xb2, 0x0, 0x1, 0x2, 0x47, 0x1, 0xb4, 0x0,
0xb4, 0x0, 0x1, 0x2, 0x47, 0x1, 0xb8, 0x0, 0xb8, 0x0, 0x1, 0x2, 0x47, 0x1,
0xbc, 0x0, 0xbc, 0x0, 0x1, 0x2, 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x1, 0x2,
0x47, 0x1, 0x0, 0x8, 0x0, 0x8, 0x1, 0x10, 0x47, 0x1, 0x0, 0x10, 0x0, 0x10, 0x1,
0x80, 0x47, 0x1, 0x80, 0x10, 0x80, 0x10, 0x1, 0x80, 0x47, 0x1, 0x0, 0x11, 0x0,
0x11, 0x1, 0x20, 0x47, 0x1, 0x80, 0x11, 0x80, 0x11, 0x1, 0x40, 0x47, 0x1, 0x0,
0xf8, 0x0, 0xf8, 0x1, 0x80, 0x47, 0x1, 0x80, 0xf8, 0x80, 0xf8, 0x1, 0x80, 0x47,
0x1, 0x0, 0xfc, 0x0, 0xfc, 0x1, 0x80, 0x47, 0x1, 0x80, 0xfc, 0x80, 0xfc, 0x1,
0x80, 0x47, 0x1, 0xc, 0xfd, 0xc, 0xfd, 0x1, 0x64, 0x47, 0x1, 0x0, 0xfe, 0x0,
0xfe, 0x1, 0x2, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x0, 0x4,
0x86, 0x9, 0x0, 0x1, 0x0, 0x40, 0xd1, 0xfe, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9,
0x0, 0x1, 0x0, 0x80, 0xd1, 0xfe, 0x0, 0x10, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0,
0x90, 0xd1, 0xfe, 0x0, 0x10, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0xc0, 0xd1,
0xfe, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xd2, 0xfe, 0x0, 0x0,
0x2, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x50, 0xd4, 0xfe, 0x0, 0xb0, 0x4, 0x0,
0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xc0, 0xfe, 0x0, 0x10, 0x0, 0x0, 0x86, 0x9, 0x0,
0x1, 0x0, 0x0, 0xe0, 0xfe, 0x0, 0x10, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0,
0xf0, 0xfe, 0x0, 0x0, 0x10, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0xf0, 0xc, 0x0, 0x0,
0x10, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xb0, 0xff, 0x0, 0x0, 0x10, 0x0,
0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xd4, 0xfe, 0x0, 0x50, 0x0, 0x0, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IO(Decode16, 0x10, 0x10, 0x1, 0x10)
0x0008 IO(Decode16, 0x24, 0x24, 0x1, 0x2)
0x0010 IO(Decode16, 0x28, 0x28, 0x1, 0x2)
0x0018 IO(Decode16, 0x2c, 0x2c, 0x1, 0x2)
0x0020 IO(Decode16, 0x2e, 0x2e, 0x1, 0x2)
0x0028 IO(Decode16, 0x30, 0x30, 0x1, 0x2)
0x0030 IO(Decode16, 0x34, 0x34, 0x1, 0x2)
0x0038 IO(Decode16, 0x38, 0x38, 0x1, 0x2)
0x0040 IO(Decode16, 0x3c, 0x3c, 0x1, 0x2)
0x0048 IO(Decode16, 0x50, 0x50, 0x1, 0x4)
0x0050 IO(Decode16, 0x72, 0x72, 0x1, 0x6)
0x0058 IO(Decode16, 0x80, 0x80, 0x1, 0x1)
0x0060 IO(Decode16, 0x90, 0x90, 0x1, 0x10)
0x0068 IO(Decode16, 0xa4, 0xa4, 0x1, 0x2)
0x0070 IO(Decode16, 0xa8, 0xa8, 0x1, 0x2)
0x0078 IO(Decode16, 0xac, 0xac, 0x1, 0x2)
0x0080 IO(Decode16, 0xb0, 0xb0, 0x1, 0x2)
0x0088 IO(Decode16, 0xb2, 0xb2, 0x1, 0x2)
0x0090 IO(Decode16, 0xb4, 0xb4, 0x1, 0x2)
0x0098 IO(Decode16, 0xb8, 0xb8, 0x1, 0x2)
0x00a0 IO(Decode16, 0xbc, 0xbc, 0x1, 0x2)
0x00a8 IO(Decode16, 0x4d0, 0x4d0, 0x1, 0x2)
0x00b0 IO(Decode16, 0x800, 0x800, 0x1, 0x10)
0x00b8 IO(Decode16, 0x1000, 0x1000, 0x1, 0x80)
0x00c0 IO(Decode16, 0x1080, 0x1080, 0x1, 0x80)
0x00c8 IO(Decode16, 0x1100, 0x1100, 0x1, 0x20)
0x00d0 IO(Decode16, 0x1180, 0x1180, 0x1, 0x40)
0x00d8 IO(Decode16, 0xf800, 0xf800, 0x1, 0x80)
0x00e0 IO(Decode16, 0xf880, 0xf880, 0x1, 0x80)
0x00e8 IO(Decode16, 0xfc00, 0xfc00, 0x1, 0x80)
0x00f0 IO(Decode16, 0xfc80, 0xfc80, 0x1, 0x80)
0x00f8 IO(Decode16, 0xfd0c, 0xfd0c, 0x1, 0x64)
0x0100 IO(Decode16, 0xfe00, 0xfe00, 0x1, 0x2)
0x0108 Memory32Fixed(ReadWrite, 0xf8000000, 0x4000000)
0x0114 Memory32Fixed(ReadWrite, 0xfed14000, 0x4000)
0x0120 Memory32Fixed(ReadWrite, 0xfed18000, 0x1000)
0x012c Memory32Fixed(ReadWrite, 0xfed19000, 0x1000)
0x0138 Memory32Fixed(ReadWrite, 0xfed1c000, 0x4000)
0x0144 Memory32Fixed(ReadWrite, 0xfed20000, 0x20000)
0x0150 Memory32Fixed(ReadWrite, 0xfed45000, 0x4b000)
0x015c Memory32Fixed(ReadWrite, 0xfec00000, 0x1000)
0x0168 Memory32Fixed(ReadWrite, 0xfee00000, 0x1000)
0x0174 Memory32Fixed(ReadWrite, 0xfef00000, 0x100000)
0x0180 Memory32Fixed(ReadWrite, 0x000cf000, 0x1000)
0x018c Memory32Fixed(ReadWrite, 0xffb00000, 0x100000)
0x0198 Memory32Fixed(ReadWrite, 0xfed40000, 0x5000)
} */
})
Method(_CRS, 0, Serialized) {
CreateDWordField(RSRC, 0x0184, MBBS)
CreateDWordField(RSRC, 0x0188, MBLN)
CreateDWordField(RSRC, 0x0190, FWBS)
CreateDWordField(RSRC, 0x0194, FWLN)
CreateDWordField(RSRC, 0x019c, TPMB)
CreateDWordField(RSRC, 0x01a0, TPML)
Store(UMST, MBBS)
Store(UMSZ, MBLN)
If(FWHM) {
Store(Zero, FWBS)
Store(Zero, FWLN)
}
If(LEqual(TPMF, 0x02)) {
Store(Zero, TPMB)
Store(Zero, TPML)
}
Return(RSRC)
}
}
Device(GFX0) {
Name(_ADR, 0x00020000)
Method(XLCD) {
Return(One)
}
Method(XCRT) {
Return(One)
}
Method(XTV) {
Return(XOr(SOUT, One, ))
}
Method(XDVI) {
Return(Zero)
}
Scope(\) {
Name(WLCD, Zero)
Name(WCRT, Zero)
Name(WTV, Zero)
Name(WDVI, Zero)
}
Method(PHTK) {
Store(Zero, DSWF)
}
Name(F10T, Package(0x0a) {
0x01,
0x02,
0x03,
0x04,
0x05,
0x01,
0x02,
0x03,
0x04,
0x05,
})
Method(AHTK) {
If(LAnd(LEqual(And(ADOS, 0x03, ), Zero), DSWF)) {
UPDD()
If(LEqual(DSWF, 0x01)) {
Or(ShiftLeft(CDVI, 0x02, ), Or(ShiftLeft(CCRT, 0x01, ),
CLCD, ), Local0)
Or(ShiftLeft(ADVI, 0x02, ), Or(ShiftLeft(ACRT, 0x01, ),
ALCD, ), Local1)
Store(Zero, Local2)
Store(0xff, Local3)
While(LAnd(LLess(Local2, 0x0a), LEqual(Local3, 0xff))) {
If(LEqual(DerefOf(Index(F10T, Local2, )), Local0)) {
If(LAnd(CTV, ATV)) {
Store(Local2, Local3)
}
Else {
Add(Local2, 0x01, Local3)
}
}
Increment(Local2)
}
Store(0xff, Local2)
If(LNot(LEqual(Local3, 0xff))) {
While(LAnd(LLess(Local3, 0x0a), LEqual(Local2,
0xff))) {
If(LEqual(And(DerefOf(Index(F10T, Local3, )),
Local1, ), DerefOf(Index(F10T, Local3, )))) {
Store(DerefOf(Index(F10T, Local3, )),
Local2)
}
Increment(Local3)
}
}
If(LEqual(Local2, 0xff)) {
If(ALCD) {
Store(0x01, Local2)
}
Else {
If(ACRT) {
Store(0x02, Local2)
}
Else {
If(ADVI) {
Store(0x04, Local2)
}
Else {
Store(0x02, Local2)
}
}
}
}
And(Local2, 0x01, WLCD)
ShiftRight(And(Local2, 0x02, ), 0x01, WCRT)
ShiftRight(And(Local2, 0x04, ), 0x02, WDVI)
Store(Zero, WTV)
Notify(\_SB.PCI0.GFX0, 0x80)
}
Else {
If(LEqual(DSWF, 0x02)) {
And(CLCD, ALCD, WLCD)
And(CCRT, ACRT, WCRT)
And(CDVI, ADVI, WDVI)
And(XOr(CTV, 0x01, ), ATV, WTV)
If(LOr(LOr(WTV, WDVI), LOr(WCRT, WLCD))) {
If(LAnd(LAnd(WLCD, WCRT), WTV)) {
Store(Zero, WCRT)
}
If(LAnd(LAnd(WLCD, WDVI), WTV)) {
Store(Zero, WDVI)
}
If(LAnd(LAnd(WCRT, WDVI), WTV)) {
Store(Zero, WDVI)
}
Notify(\_SB.PCI0.GFX0, 0x80)
}
}
}
}
}
Method(UPDD) {
If(LNot(LLess(\_SB.OSTP(), 0x08))) {
Notify(\_SB.PCI0, 0x00)
}
Else {
Notify(\_SB.PCI0.GFX0, 0x00)
}
Sleep(0x02ee)
Store(0xff, DVID)
Store(0x8e, CMD)
Store(Zero, SSMI)
}
Method(_DOS, 1) {
And(Arg0, 0x07, ADOS)
}
Method(_DOD) {
Return(Package(0x04) {
0x00010100,
0x00010110,
0x00010200,
0x00010300,
})
}
Device(CRT) {
Method(_ADR) {
Return(0x0100)
}
Method(_DCS) {
If(XCRT()) {
UPDD()
Return(Or(0x0d, Or(ShiftLeft(ACRT, 0x04, ),
ShiftLeft(CCRT, 0x01, ), ), ))
}
Else {
Return(Zero)
}
}
Method(_DGS) {
Return(WCRT)
}
Method(_DSS, 1) {
Noop
}
}
Device(LCD) {
Method(_ADR) {
Return(0x0110)
}
Method(_DCS) {
If(XLCD()) {
UPDD()
Return(Or(0x0d, Or(ShiftLeft(ALCD, 0x04, ),
ShiftLeft(CLCD, 0x01, ), ), ))
}
Else {
Return(Zero)
}
}
Method(_DGS) {
Return(WLCD)
}
Method(_DSS, 1) {
Noop
}
}
Device(TV) {
Method(_ADR) {
Return(0x0200)
}
Method(_DCS) {
If(XTV()) {
UPDD()
Return(Or(0x0d, Or(ShiftLeft(ATV, 0x04, ),
ShiftLeft(CTV, 0x01, ), ), ))
}
Else {
Return(Zero)
}
}
Method(_DGS) {
Return(WTV)
}
Method(_DSS, 1) {
Noop
}
}
Device(DVI) {
Method(_ADR) {
Return(0x0300)
}
Method(_DCS) {
If(XDVI()) {
UPDD()
Return(Or(0x0d, Or(ShiftLeft(ADVI, 0x04, ),
ShiftLeft(CDVI, 0x01, ), ), ))
}
Else {
Return(Zero)
}
}
Method(_DGS) {
Return(WDVI)
}
Method(_DSS, 1) {
Noop
}
}
Scope(LCD) {
Method(_PS0) {
Store(0x00, LIDS)
}
Method(_PS3) {
Store(0x01, LIDS)
}
Method(_BCL) {
If(LNot(LLess(\_SB.OSTP(), 0x40))) {
Return(Package(0x0a) {
0x64,
0x2b,
0x00,
0x0f,
0x1d,
0x2b,
0x39,
0x47,
0x55,
0x64,
})
}
Else {
Return(Package(0x0a) {
0x64,
0x2c,
0x00,
0x10,
0x1e,
0x2c,
0x3a,
0x48,
0x56,
0x64,
})
}
}
Method(_BCM, 1) {
If(LAnd(LNot(LLess(Arg0, 0x00)), LNot(LGreater(Arg0,
0x64)))) {
\_SB.PCI0.LPCB.FJEX.SBLL(Divide(Arg0, 0x0e, , ))
}
}
}
}
Device(PCIB) {
Name(_ADR, 0x001e0000)
Method(_PRT) {
If(GPIC) {
Return(Package(0x02) {
Package(0x04) {
0x0003ffff,
0x00,
0x00,
0x10,
},
Package(0x04) {
0x0003ffff,
0x01,
0x00,
0x11,
},
})
}
Else {
Return(Package(0x02) {
Package(0x04) {
0x0003ffff,
0x00,
\_SB.PCI0.LPCB.LNKA,
0x00,
},
Package(0x04) {
0x0003ffff,
0x01,
\_SB.PCI0.LPCB.LNKB,
0x00,
},
})
}
}
Method(_INI) {
}
Name(_PRW, Package(0x02) {
0x0b,
0x04,
})
}
Device(LPCB) {
Name(_ADR, 0x001f0000)
OperationRegion(LPC0, PCI_Config, 0x40, 0xc0)
Field(LPC0, AnyAcc, NoLock, Preserve) {
Offset(0x20),
PARC, 8,
PBRC, 8,
PCRC, 8,
PDRC, 8,
Offset(0x28),
PERC, 8,
PFRC, 8,
PGRC, 8,
PHRC, 8,
Offset(0x40),
IOD0, 8,
IOD1, 8,
CAEN, 1
}
OperationRegion(SIO, SystemIO, 0x2e, 0x02)
OperationRegion(FJIO, SystemIO, 0xfd60, 0x17)
Scope(\) {
Field(\_SB.PCI0.LPCB.FJIO, ByteAcc, NoLock, Preserve) {
AIDC, 8,
ADTC, 8,
AIDB, 8,
ADTB, 8,
AIDA, 8,
ADTA, 8,
AIDD, 8,
ADTD, 8,
Offset(0x10),
PMID, 8,
Offset(0x12),
PMDR, 8,
Offset(0x14),
PMDT, 8,
Offset(0x16),
PMCR, 8
}
}
OperationRegion(PMIO, SystemIO, 0x1000, 0x80)
OperationRegion(OGIO, SystemIO, 0x1180, 0x3c)
Scope(\) {
Field(\_SB.PCI0.LPCB.PMIO, ByteAcc, NoLock, Preserve) {
Offset(0x42),
, 1,
GPEC, 1
}
Field(\_SB.PCI0.LPCB.OGIO, ByteAcc, NoLock, Preserve) {
Offset(0x2c),
Offset(0x2d),
LPOL, 1,
, 4,
EXPL, 1,
Offset(0x38),
, 1,
PXRS, 1,
PXCL, 1
}
}
OperationRegion(OPIO, SystemIO, 0x1000, 0x67)
Scope(\) {
Field(\_SB.PCI0.LPCB.OPIO, ByteAcc, NoLock, Preserve) {
Offset(0x10),
Offset(0x11),
FOCT, 1
}
}
Method(_INI) {
\_SB.OSTP()
\_SB.PCI0.LPCB.CMBT.SWCF()
AINI()
If(RPCP) {
Store(One, RPEN)
Store(B2TC, RPDS)
}
If(LNot(LLess(\_SB.OSTP(), 0x40))) {
Or(RGSI, 0x01, RGSI)
}
}
Scope(\) {
IndexField(AIDA, ADTA, ByteAcc, NoLock, Preserve) {
Offset(0x9),
RI1M, 1,
RI2M, 1,
RI3M, 1,
RI4M, 1,
RI1, 1,
RI2, 1,
RI3, 1,
RI4, 1,
, 2,
CVCL, 1,
, 3,
BLCT, 2,
Offset(0x20),
G5P0, 8,
G5C0, 8,
G3P0, 8,
G3C0, 8,
Offset(0x40),
SSF0, 8,
SSF1, 8,
SSM0, 8,
SSM1, 8,
SSI0, 8,
SSTM, 8,
SSF2, 8,
SSM2, 8,
SSI1, 8,
Offset(0x52),
G3P1, 8,
G3C1, 8,
G3P2, 8,
G3C2, 8,
QSWC, 8,
Offset(0x60),
SSS0, 8,
SSS1, 8
}
IndexField(AIDB, ADTB, ByteAcc, NoLock, Preserve) {
Offset(0x29),
BRCL, 8,
LCDB, 8,
Offset(0x30),
LCDC, 8
}
IndexField(AIDC, ADTC, ByteAcc, NoLock, Preserve) {
TASF, 1,
TBSF, 1,
B1SU, 1,
B1SD, 1,
B2SU, 1,
B2SD, 1,
Offset(0x2),
, 4,
VSTB, 1,
Offset(0x5),
, 6,
ACPW, 1,
Offset(0x20),
BCTL, 8,
Offset(0x23),
TAF, 1,
TASM, 1,
, 2,
TBF, 1,
TBSM, 1,
Offset(0x24),
TIMA, 8,
TIMB, 8,
Offset(0x28),
CDLP, 8,
HDLP, 8,
FDLP, 8,
Offset(0x4e),
B1UM, 1,
B1DM, 1,
, 1,
B1TC, 1,
B2UM, 1,
B2DM, 1,
, 1,
B2TC, 1,
BAPC, 6
}
IndexField(AIDC, ADTC, ByteAcc, NoLock, Preserve) {
STAE, 8
}
IndexField(AIDD, ADTD, ByteAcc, NoLock, Preserve) {
Offset(0x80),
GIDI, 8,
GIDC, 8,
GIDO, 8,
Offset(0x90),
G3SI, 8,
G3SC, 8,
G3SO, 8,
G3SM, 8,
Offset(0xa0),
WOXF, 8,
WOXE, 8,
WOXD, 8,
WOXS, 8,
Offset(0xb0),
AMPV, 6
}
}
Scope(\) {
IndexField(PMID, PMDT, ByteAcc, NoLock, Preserve) {
Offset(0xa0),
UPPR, 1,
ERRO, 1,
PASS, 1,
PSOK, 1,
PSNG, 1,
TOUT, 1,
SIRN, 1,
STSC, 1,
OVFL, 1,
LWMD, 1,
TALM, 1,
EMGC, 1,
OCNT, 4,
TDTC, 1,
, 4,
AERR, 1,
PERR, 1,
ABSY, 1,
Offset(0xa4),
PDAT, 8,
Offset(0xc0),
Offset(0xc1),
B1P, 1,
B2P, 1,
B1C, 1,
B2C, 1,
B1ER, 1,
B2ER, 1,
PKSH, 1,
CMB, 1,
B1CP, 8,
B2CP, 8,
BAVG, 8,
B1VH, 8,
B1VL, 8,
B2VH, 8,
B2VL, 8,
B1TM, 8,
B2TM, 8,
B1CH, 8,
B1CL, 8,
B2CH, 8,
B2CL, 8,
BTMH, 8,
BTML, 8,
B1LH, 8,
B1LL, 8,
B2LH, 8,
B2LL, 8,
B1ID, 4,
B1NO, 4,
B2ID, 4,
B2NO, 4,
B1DV, 8,
B2DV, 8,
B1DH, 8,
B1DL, 8,
B2DH, 8,
B2DL, 8,
TBSI, 8,
TBSH, 8,
TBSL, 8,
BHDD, 1,
BOPT, 1,
, 5,
ABLC, 1,
Offset(0xe8),
TBCM, 8,
TBMD, 8,
TBIN, 8,
DCOL, 7,
S3EN, 1
}
IndexField(PMID, PMDT, ByteAcc, NoLock, Preserve) {
Offset(0xa2),
TCST, 8
}
}
Scope(\) {
IndexField(AIDA, ADTA, ByteAcc, NoLock, Preserve) {
Offset(0x22),
, 4,
SOUT, 1
}
IndexField(PMID, PMDT, ByteAcc, NoLock, Preserve) {
Offset(0xec),
, 1,
DKEV, 1
}
}
Method(AINI) {
And(SSM1, 0xcf, SSM1)
Store(Zero, TBSM)
Store(LWMD, PLWM)
Store(TALM, PTAL)
Store(0x95, CMD)
Or(PLWM, ShiftLeft(PTAL, 0x01, ), DVID)
Store(Zero, SSMI)
If(LAnd(TALM, LNot(ACPW))) {
Store(One, FOCT)
}
Else {
Store(Zero, FOCT)
}
If(LNot(LLess(\_SB.OSTP(), 0x40))) {
Store(PMDR, Local0)
Store(PMDR, Local0)
Store(0x02, TBCM)
Store(0x00, TBMD)
Store(0x05, TBIN)
Store(0x00, PMCR)
}
If(LOr(TBPC, LNot(LLess(\_SB.OSTP(), 0x40)))) {
If(AS34) {
Store(0x01, S3EN)
}
If(LEqual(DCLW, 0x7f)) {
Store(0x01, DCOL)
}
Else {
Store(DCLW, DCOL)
}
}
}
Device(TPM) {
Name(_HID, 0x0201d824)
Name(_CID, 0x310cd041)
Name(_UID, 0x01)
Name(_CRS, Buffer(0x1e) {0x47, 0x1, 0x4e, 0x0, 0x4e, 0x0, 0x1,
0x2, 0x47, 0x1, 0x0, 0xfd, 0x0, 0xfd, 0x1, 0xc, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0,
0xd4, 0xfe, 0x0, 0x50, 0x0, 0x0, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IO(Decode16, 0x4e, 0x4e, 0x1, 0x2)
0x0008 IO(Decode16, 0xfd00, 0xfd00, 0x1, 0xc)
0x0010 Memory32Fixed(ReadWrite, 0xfed40000, 0x5000)
} */
})
Method(_STA) {
If(TPMF) {
If(LEqual(TPMF, 0x02)) {
Return(0x0f)
}
Else {
Return(0x00)
}
}
Else {
Return(0x00)
}
}
}
Device(DIGI) {
Name(_HID, 0xe602aa1a)
Method(_STA) {
If(LOr(TBPC, LNot(LLess(\_SB.OSTP(), 0x40)))) {
Return(0x0f)
}
Else {
Return(0x00)
}
}
Method(_INI) {
If(LNot(LLess(\_SB.OSTP(), 0x40))) {
\_SB.PCI0.LPCB.ENTR()
Store(0x01, U1P)
Store(0x88, U1A)
Store(0x04, U1I)
\_SB.PCI0.LPCB.EXIT()
And(IOD0, 0xf8, IOD0)
Or(IOD0, 0x02, IOD0)
Store(0x01, CAEN)
}
}
Name(_CRS, Buffer(0x0d) {0x47, 0x1, 0x20, 0x2, 0x20, 0x2, 0x1,
0x8, 0x22, 0x10, 0x0, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IO(Decode16, 0x220, 0x220, 0x1, 0x8)
0x0008 IRQ() {4}
} */
})
}
Device(BTNS) {
Name(_HID, "FUJ02BF")
Method(_STA) {
Return(0x0f)
}
Method(_INI) {
Store(PMCR, Local0)
Store(Zero, Local1)
While(LAnd(And(Local0, One, ), LLess(Local1, 0x0a))) {
Store(PMDR, Local0)
Sleep(0x0a)
Store(PMCR, Local0)
Increment(Local1)
}
}
Name(_CRS, Buffer(0x0e) {0x47, 0x1, 0x70, 0xfd, 0x70, 0xfd,
0x1, 0x10, 0x23, 0x20, 0x0, 0x1, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IO(Decode16, 0xfd70, 0xfd70, 0x1, 0x10)
0x0008 IRQ(Edge, ActiveHigh, Exclusive) {5}
} */
})
}
Device(FJEX) {
Name(_HID, "FUJ02B1")
Method(_STA) {
Return(0x0f)
}
Method(RBLL) {
Return(BLLM)
}
Scope(\) {
Name(LBLL, 0x00)
Name(LLCD, Ones)
}
Method(GBLL) {
Store(LBLL, Local2)
Store(LCDB, Local1)
If(LNot(LEqual(LLCD, Local1))) {
Store(Local1, LLCD)
Name(BBCT, Buffer(BLLM) { })
Store(BLLT, BBCT)
Store(BLLM, Local0)
While(Local0) {
Decrement(Local0)
If(LEqual(GBUF(BBCT, Local0), Local1)) {
Store(Local0, Local2)
Store(Local0, LBLL)
Store(Zero, Local0)
}
}
}
If(BHKF) {
Store(Zero, BHKF)
Or(Local2, 0x80000000, Local2)
}
Return(Local2)
}
Method(GBLS) {
Store(LBLL, Local2)
Store(LCDB, Local1)
If(LNot(LEqual(LLCD, Local1))) {
Store(Local1, LLCD)
Name(BBCT, Buffer(BLLM) { })
Store(BLLT, BBCT)
Store(BLLM, Local0)
While(Local0) {
Decrement(Local0)
If(LEqual(GBUF(BBCT, Local0), Local1)) {
Store(Local0, Local2)
Store(Local0, LBLL)
Store(Zero, Local0)
}
}
}
If(BHKF) {
Or(Local2, 0x80000000, Local2)
}
Return(Local2)
}
Method(SBLL, 1) {
If(NGTF) {
Store(Arg0, LSBL)
Return(Zero)
}
If(LLess(Arg0, BLLM)) {
Name(BBCT, Buffer(BLLM) { })
Store(BLLT, BBCT)
CreateByteField(BBCT, Arg0, BLL0)
Store(BLL0, LCDB)
Store(Arg0, DVID)
Store(0x82, CMD)
Store(Zero, SSMI)
}
}
Method(GBUF, 2) {
CreateByteField(Arg0, Arg1, BLL0)
Return(BLL0)
}
Method(GMOU) {
Store(0x02, DVID)
Store(0x91, CMD)
Store(Zero, SSMI)
Store(DVID, Local0)
If(MHKF) {
Store(Zero, MHKF)
Or(Local0, 0x80000000, Local0)
}
Return(Local0)
}
Method(SMOU, 1) {
If(LNot(LGreater(Arg0, One))) {
Store(Arg0, DVID)
Store(0x91, CMD)
Store(Zero, SSMI)
}
}
Method(GHKS) {
Return(AHKF)
}
Method(GSIF) {
If(IMTF) {
Or(RGSI, 0x08, RGSI)
}
Else {
And(RGSI, 0xfffffff7, RGSI)
}
Return(RGSI)
}
}
Name(BTF1, 0x9a)
Name(BTF2, 0x98)
Scope(\) {
Name(BTBL, Zero)
Name(BTST, Zero)
IndexField(AIDA, ADTA, ByteAcc, NoLock, Preserve) {
Offset(0x20),
, 5,
ABEX, 1,
Offset(0x44),
, 2,
WLSW, 1,
Offset(0x52),
, 1,
WLR2, 1
}
IndexField(AIDD, ADTD, ByteAcc, NoLock, Preserve) {
Offset(0x92),
, 2,
WLRF, 1,
ABON, 1
}
}
Device(CMBT) {
Name(_HID, "FUJ02E1")
Method(_STA) {
If(LNot(LLess(\_SB.OSTP(), 0x40))) {
Return(0x00)
}
Else {
If(LNot(BTEX)) {
Return(0x00)
}
Else {
If(BLEN) {
Return(0x0f)
}
Else {
Return(0x0d)
}
}
}
}
Method(_INI) {
Store(Zero, BTBL)
}
Method(INFO) {
If(LEqual(_STA(), 0x0f)) {
Store(BTF1, Local0)
}
Else {
Store(BTF2, Local0)
}
Or(Local0, 0x08, Local0)
Return(Local0)
}
Method(STAT) {
Store(0x00, Local0)
If(ABON) {
Or(Local0, 0x02, Local0)
}
If(WLRF) {
Or(Local0, 0x08, Local0)
}
If(ABON) {
Or(Local0, 0x10, Local0)
}
If(BTBL) {
Or(Local0, 0x80, Local0)
}
Return(Local0)
}
Method(CNTL, 2) {
If(And(Arg0, 0x02, )) {
If(LEqual(_STA(), 0x0f)) {
If(And(Arg1, 0x02, )) {
Store(One, ABON)
}
Else {
Store(Zero, ABON)
}
}
}
If(LAnd(And(Arg0, 0x08, ), WLEN)) {
ShiftRight(And(Arg1, 0x08, ), 0x03, WLRF)
}
If(And(Arg0, 0x80, )) {
ShiftRight(And(Arg1, 0x80, ), 0x07, BTBL)
If(BTBL) {
If(WLSW) {
Notify(CMBT, 0x81)
}
Else {
Notify(CMBT, 0x82)
}
}
}
}
Method(SWCF) {
If(WLSW) {
Store(One, WLR2)
}
Else {
Store(Zero, WLR2)
}
If(BTBL) {
If(WLSW) {
Notify(CMBT, 0x81)
}
Else {
Notify(CMBT, 0x82)
}
}
Else {
If(WLSW) {
If(BLEN) {
Store(One, ABON)
If(WLEN) {
Store(One, WLRF)
}
Else {
Store(Zero, WLRF)
}
}
Else {
Store(Zero, ABON)
If(WLEN) {
Store(One, WLRF)
}
Else {
Store(Zero, WLRF)
}
}
}
Else {
Store(Zero, ABON)
Store(Zero, WLRF)
}
}
}
Method(BPTS, 1) {
If(LOr(LEqual(Arg0, 0x03), LEqual(Arg0, 0x04))) {
Store(WLRF, BTST)
Or(ShiftLeft(WLSW, 0x01, ), BTST, BTST)
Or(ShiftLeft(ABON, 0x02, ), BTST, BTST)
Or(ShiftLeft(WLR2, 0x03, ), BTST, BTST)
}
Store(Zero, ABON)
}
Method(BWAK, 1) {
If(LOr(LEqual(Arg0, 0x03), LEqual(Arg0, 0x04))) {
Store(And(BTST, 0x01, ), WLRF)
ShiftRight(And(BTST, 0x04, ), 0x02, ABON)
ShiftRight(And(BTST, 0x08, ), 0x03, WLR2)
If(LNot(LEqual(ShiftRight(And(BTST, 0x02, ), 0x01, ),
WLSW))) {
SWCF()
}
}
}
}
Device(EC) {
Name(_HID, 0x090cd041)
Name(_CRS, Buffer(0x12) {0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0x1,
0x1, 0x47, 0x1, 0x66, 0x0, 0x66, 0x0, 0x1, 0x1, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IO(Decode16, 0x62, 0x62, 0x1, 0x1)
0x0008 IO(Decode16, 0x66, 0x66, 0x1, 0x1)
} */
})
Name(_GPE, 0x17)
Scope(\) {
Name(ECOK, Zero)
}
Method(_REG, 2) {
If(LEqual(Arg0, 0x03)) {
Store(Arg1, ECOK)
}
}
OperationRegion(SMB, EmbeddedControl, 0x00, 0xff)
Scope(\) {
Field(\_SB.PCI0.LPCB.EC.SMB, ByteAcc, Lock, Preserve) {
Offset(0x4),
ECCM, 8,
ECD1, 8,
ECD2, 8,
ECD3, 8,
Offset(0xf8),
ECGM, 8,
ECG1, 8,
ECG2, 8,
ECG3, 8
}
}
}
Device(DMAC) {
Name(_HID, 0x0002d041)
Method(_STA) {
Return(0x0f)
}
Name(_CRS, Buffer(0x1d) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1,
0x10, 0x47, 0x1, 0x81, 0x0, 0x81, 0x0, 0x1, 0xf, 0x47, 0x1, 0xc0, 0x0, 0xc0,
0x0, 0x1, 0x20, 0x2a, 0x10, 0x2, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IO(Decode16, 0x0, 0x0, 0x1, 0x10)
0x0008 IO(Decode16, 0x81, 0x81, 0x1, 0xf)
0x0010 IO(Decode16, 0xc0, 0xc0, 0x1, 0x20)
0x0018 DMA(Compatibility, NotBusMaster, Transfer16) {4}
} */
})
}
Device(TIME) {
Name(_HID, 0x0001d041)
Method(_STA) {
Return(0x0f)
}
Name(_CRS, Buffer(0x0d) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1,
0x4, 0x22, 0x1, 0x0, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IO(Decode16, 0x40, 0x40, 0x1, 0x4)
0x0008 IRQ() {0}
} */
})
}
Device(PIC) {
Name(_HID, 0xd041)
Method(_STA) {
Return(0x0f)
}
Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x1,
0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x22, 0x4, 0x0, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IO(Decode16, 0x20, 0x20, 0x1, 0x2)
0x0008 IO(Decode16, 0xa0, 0xa0, 0x1, 0x2)
0x0010 IRQ() {2}
} */
})
}
Device(RTC) {
Name(_HID, 0x000bd041)
Method(_STA) {
Return(0x0f)
}
Name(_CRS, Buffer(0x0d) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1,
0x2, 0x22, 0x0, 0x1, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IO(Decode16, 0x70, 0x70, 0x1, 0x2)
0x0008 IRQ() {8}
} */
})
}
Device(SPKR) {
Name(_HID, 0x0008d041)
Method(_STA) {
Return(0x0f)
}
Name(_CRS, Buffer(0x0a) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x1,
0x1, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IO(Decode16, 0x61, 0x61, 0x1, 0x1)
} */
})
}
Device(MATH) {
Name(_HID, 0x040cd041)
Method(_STA) {
Return(0x0f)
}
Name(_CRS, Buffer(0x0d) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x1,
0xf, 0x22, 0x0, 0x20, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IO(Decode16, 0xf0, 0xf0, 0x1, 0xf)
0x0008 IRQ() {13}
} */
})
}
Device(KBC) {
Name(R101, 0x0303d041)
Name(R106, 0x2003d041)
Method(_HID) {
If(SIDF) {
Return(R101)
}
Else {
Return(R106)
}
}
Method(_STA) {
Return(0x0f)
}
Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1,
0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x22, 0x2, 0x0, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IO(Decode16, 0x60, 0x60, 0x1, 0x1)
0x0008 IO(Decode16, 0x64, 0x64, 0x1, 0x1)
0x0010 IRQ() {1}
} */
})
}
Device(PS2M) {
Name(_HID, 0x130fd041)
Method(_STA) {
Return(0x0f)
}
Name(_CRS, Buffer(0x05) {0x22, 0x0, 0x10, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IRQ() {12}
} */
})
}
Device(FWH) {
Name(_HID, 0x0008d425)
Method(_STA) {
If(FWHM) {
Return(0x0f)
}
Else {
Return(0x00)
}
}
Name(_CRS, Buffer(0x0e) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xb0,
0xff, 0x0, 0x0, 0x10, 0x0, 0x79, 0x0
/* ResourceTemplate() {
0x0000 Memory32Fixed(ReadWrite, 0xffb00000, 0x100000)
} */
})
}
Device(HPET) {
Name(_HID, 0x0301d041)
Name(_CID, 0x010cd041)
Name(BUF0, Buffer(0x0e) {0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xd0,
0xfe, 0x0, 0x4, 0x0, 0x0, 0x79, 0x0
/* ResourceTemplate() {
0x0000 Memory32Fixed(ReadOnly, 0xfed00000, 0x400)
} */
})
OperationRegion(RCRB, SystemMemory, 0xfed1c000, 0x4000)
Field(RCRB, DWordAcc, Lock, Preserve) {
Offset(0x3404),
HPAS, 2,
, 5,
HPAE, 1
}
Method(_STA) {
If(LNot(LLess(\_SB.OSTP(), 0x08))) {
If(HPAE) {
Return(0x0f)
}
}
Else {
If(HPAE) {
Return(0x0b)
}
}
Return(0x00)
}
Method(_CRS, 0, Serialized) {
If(HPAE) {
CreateDWordField(BUF0, 0x04, HPT0)
If(LEqual(HPAS, 0x01)) {
Store(0xfed01000, HPT0)
}
If(LEqual(HPAS, 0x02)) {
Store(0xfed02000, HPT0)
}
If(LEqual(HPAS, 0x03)) {
Store(0xfed03000, HPT0)
}
}
Return(BUF0)
}
}
Scope(\_SB.PCI0.LPCB) {
OperationRegion(LIOD, PCI_Config, 0x80, 0x0a)
OperationRegion(MBAR, SystemMemory, 0xfed14000, 0x4000)
Field(MBAR, DWordAcc, Lock, Preserve) {
Offset(0xf08),
, 4,
C2SL, 1
}
}
Field(LIOD, AnyAcc, NoLock, Preserve) {
CADR, 3,
, 1,
CBDR, 3,
Offset(0x1),
LPDR, 2,
, 2,
FDDR, 1,
Offset(0x2),
CALE, 1,
CBLE, 1,
LPLE, 1,
FDLE, 1,
Offset(0x8),
GD2E, 1,
, 3,
GD2B, 12
}
Name(TCOM, Package(0x08) {
0x03f8,
0x02f8,
0x0220,
0x0228,
0x0238,
0x02e8,
0x0338,
0x03e8,
})
Name(TLPT, Package(0x03) {
0x0378,
0x0278,
0x03bc,
})
Name(TFDD, Package(0x02) {
0x03f0,
0x0370,
})
Method(DENA, 3, Serialized) {
If(LEqual(Arg0, 0x00)) {
Store(Match(TCOM, MEQ, Arg1, MTR, 0x00, 0x00), Local0)
If(LNot(LEqual(Local0, Ones))) {
Store(Local0, CADR)
Store(One, CALE)
}
}
Else {
If(LOr(LEqual(Arg0, 0x01), LEqual(Arg0, 0x02))) {
Store(Match(TCOM, MEQ, Arg1, MTR, 0x00, 0x00), Local0)
If(LNot(LEqual(Local0, Ones))) {
Store(Local0, CBDR)
Store(One, CBLE)
}
}
Else {
If(LEqual(Arg0, 0x03)) {
Store(Match(TCOM, MEQ, Arg1, MTR, 0x00, 0x00),
Local0)
If(LNot(LEqual(Local0, Ones))) {
Store(Local0, CBDR)
Store(One, CBLE)
ShiftRight(Arg2, 0x04, GD2B)
Store(One, GD2E)
}
}
Else {
If(LOr(LEqual(Arg0, 0x04), LEqual(Arg0, 0x05))) {
Store(Match(TLPT, MEQ, Arg1, MTR, 0x00, 0x00),
Local0)
If(LNot(LEqual(Local0, Ones))) {
Store(Local0, LPDR)
Store(One, LPLE)
}
}
Else {
If(LEqual(Arg0, 0x07)) {
Store(Match(TFDD, MEQ, Arg1, MTR, 0x00,
0x00), Local0)
If(LNot(LEqual(Local0, Ones))) {
Store(Local0, FDDR)
Store(One, FDLE)
}
}
}
}
}
}
}
Method(DDIS, 1, Serialized) {
If(LEqual(Arg0, 0x00)) {
Store(Zero, CALE)
}
Else {
If(LOr(LEqual(Arg0, 0x01), LEqual(Arg0, 0x02))) {
Store(Zero, CBLE)
}
Else {
If(LEqual(Arg0, 0x03)) {
Store(Zero, CBLE)
Store(Zero, GD2E)
}
Else {
If(LOr(LEqual(Arg0, 0x04), LEqual(Arg0, 0x05))) {
Store(Zero, LPLE)
}
Else {
If(LEqual(Arg0, 0x07)) {
Store(Zero, FDLE)
}
}
}
}
}
}
Field(SIO, ByteAcc, NoLock, Preserve) {
SIID, 8,
SIDT, 8
}
IndexField(SIID, SIDT, ByteAcc, NoLock, Preserve) {
, 3,
FDCP, 1,
Offset(0x1),
, 2,
PPP, 1,
PPM, 1,
Offset(0x2),
, 3,
U1P, 1,
, 3,
U2P, 1,
Offset(0x4),
PPEM, 2,
Offset(0xa),
EFTM, 8,
Offset(0xc),
U2MD, 6,
Offset(0x20),
FDA, 8,
, 2,
ETOS, 1,
Offset(0x23),
PPA, 8,
U1A, 8,
U2A, 8,
PPD, 4,
FDD, 4,
PPI, 4,
FDI, 4,
U2I, 4,
U1I, 4,
Offset(0x2b),
IRA, 8,
IRD, 4
}
Mutex(MTXS, 0)
Method(ENTR) {
Acquire(MTXS, 0xffff)
Store(0x55, SIID)
}
Method(EXIT) {
Store(0xaa, SIID)
Release(MTXS)
}
Method(SETR, 5) {
ENTR()
If(Arg3) {
Subtract(FindSetRightBit(Arg3, Zero), One, Local0)
}
Else {
Store(Zero, Local0)
}
If(Arg4) {
Subtract(FindSetRightBit(Arg4, Zero), One, Local1)
}
Else {
Store(0x0f, Local1)
}
If(LEqual(Arg0, 0x00)) {
ShiftRight(Arg1, 0x02, U1A)
Store(Local0, U1I)
}
Else {
If(LEqual(Arg0, 0x01)) {
ShiftRight(Arg1, 0x02, U2A)
Store(Local0, U2I)
}
Else {
If(LEqual(Arg0, 0x02)) {
ShiftRight(Arg1, 0x02, U2A)
Store(Local0, U2I)
}
Else {
If(LEqual(Arg0, 0x03)) {
ShiftRight(Arg1, 0x02, U2A)
ShiftRight(Arg2, 0x03, IRA)
Store(Local0, U2I)
Store(Local1, IRD)
}
Else {
If(LEqual(Arg0, 0x04)) {
ShiftRight(Arg1, 0x02, PPA)
Store(Local0, PPI)
}
Else {
If(LEqual(Arg0, 0x05)) {
ShiftRight(Arg1, 0x02, PPA)
Store(Local0, PPI)
Store(Local1, PPD)
}
Else {
If(LEqual(Arg0, 0x07)) {
ShiftRight(Arg1, 0x02, FDA)
Store(Local0, FDI)
Store(Local1, FDD)
}
}
}
}
}
}
}
EXIT()
If(Arg1) {
If(CondRefOf(DENA, Local0)) {
DENA(Arg0, Arg1, Arg2)
}
SETM(Arg0)
}
Else {
If(CondRefOf(DDIS, Local0)) {
DDIS(Arg0)
}
}
}
Method(GETR, 5) {
ENTR()
Store(Zero, Local0)
Store(0x0f, Local1)
If(LEqual(Arg0, 0x00)) {
ShiftLeft(U1A, 0x02, Arg1)
Store(U1I, Local0)
}
Else {
If(LEqual(Arg0, 0x01)) {
ShiftLeft(U2A, 0x02, Arg1)
Store(U2I, Local0)
}
Else {
If(LEqual(Arg0, 0x02)) {
ShiftLeft(U2A, 0x02, Arg1)
Store(U2I, Local0)
}
Else {
If(LEqual(Arg0, 0x03)) {
ShiftLeft(U2A, 0x02, Arg1)
ShiftLeft(IRA, 0x03, Arg2)
Store(U2I, Local0)
Store(IRD, Local1)
}
Else {
If(LEqual(Arg0, 0x04)) {
ShiftLeft(PPA, 0x02, Arg1)
Store(PPI, Local0)
}
Else {
If(LEqual(Arg0, 0x05)) {
ShiftLeft(PPA, 0x02, Arg1)
Store(PPI, Local0)
Store(PPD, Local1)
}
Else {
If(LEqual(Arg0, 0x07)) {
ShiftLeft(FDA, 0x02, Arg1)
Store(FDI, Local0)
Store(FDD, Local1)
}
}
}
}
}
}
}
If(Local0) {
ShiftLeft(One, Local0, Arg3)
}
Else {
Store(Zero, Arg3)
}
If(LNot(LEqual(Local1, 0x0f))) {
ShiftLeft(One, Local1, Arg4)
}
Else {
Store(Zero, Arg4)
}
EXIT()
}
Method(SETM, 1) {
ENTR()
If(LEqual(Arg0, 0x00)) {
Store(One, U1P)
}
Else {
If(LEqual(Arg0, 0x01)) {
Store(0x06, U2MD)
Store(One, U2P)
}
Else {
If(LEqual(Arg0, 0x02)) {
Store(0x0e, U2MD)
Store(One, U2P)
}
Else {
If(LEqual(Arg0, 0x03)) {
Store(0x0e, U2MD)
Store(One, U2P)
}
Else {
If(LEqual(Arg0, 0x04)) {
If(LEqual(PPF, One)) {
Store(One, PPM)
}
Else {
Store(Zero, PPM)
Store(Zero, PPEM)
}
Store(One, PPP)
}
Else {
If(LEqual(Arg0, 0x05)) {
Store(Zero, PPM)
Store(0x02, PPEM)
Store(One, PPP)
}
}
}
}
}
}
EXIT()
}
Method(SETP, 2) {
ENTR()
If(LEqual(Arg0, 0x00)) {
Store(Arg1, U1P)
}
Else {
If(LEqual(Arg0, 0x01)) {
Store(Arg1, U2P)
}
Else {
If(LEqual(Arg0, 0x02)) {
Store(Arg1, U2P)
}
Else {
If(LEqual(Arg0, 0x03)) {
Store(Arg1, U2P)
}
Else {
If(LEqual(Arg0, 0x04)) {
Store(Arg1, PPP)
}
Else {
If(LEqual(Arg0, 0x05)) {
Store(Arg1, PPP)
}
}
}
}
}
}
EXIT()
}
Method(GETP, 1) {
Store(Zero, Local0)
ENTR()
If(LEqual(Arg0, 0x00)) {
Store(U1P, Local0)
}
Else {
If(LEqual(Arg0, 0x01)) {
Store(U2P, Local0)
}
Else {
If(LEqual(Arg0, 0x02)) {
Store(U2P, Local0)
}
Else {
If(LEqual(Arg0, 0x03)) {
Store(U2P, Local0)
}
Else {
If(LEqual(Arg0, 0x04)) {
Store(PPP, Local0)
}
Else {
If(LEqual(Arg0, 0x05)) {
Store(PPP, Local0)
}
}
}
}
}
}
EXIT()
Return(Local0)
}
Method(CHKM, 1) {
If(LEqual(Arg0, 0x00)) {
If(SPAF) {
Return(One)
}
}
Else {
If(LEqual(Arg0, 0x01)) {
If(LEqual(SPBF, 0x03)) {
Return(One)
}
}
Else {
If(LEqual(Arg0, 0x02)) {
If(LEqual(SPBF, One)) {
Return(One)
}
}
Else {
If(LEqual(Arg0, 0x03)) {
If(LEqual(SPBF, 0x02)) {
Return(One)
}
}
Else {
If(LEqual(Arg0, 0x04)) {
If(LOr(LEqual(PPF, One), LEqual(PPF,
0x02))) {
Return(One)
}
}
Else {
If(LEqual(Arg0, 0x05)) {
If(LEqual(PPF, 0x03)) {
Return(One)
}
}
Else {
If(LEqual(Arg0, 0x07)) {
If(FDCF) {
Return(One)
}
}
}
}
}
}
}
}
Return(Zero)
}
Device(UAR1) {
Name(_HID, 0x0105d041)
Name(_UID, 0x01)
Name(RSRC, Buffer(0x0d) {0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1,
0x8, 0x22, 0x10, 0x0, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IO(Decode16, 0x3f8, 0x3f8, 0x1, 0x8)
0x0008 IRQ() {4}
} */
})
Name(_PRS, Buffer(0x34) {0x31, 0x4, 0x47, 0x1, 0xf8, 0x3, 0xf8,
0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1,
0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22,
0x10, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0x8, 0x0,
0x38, 0x79, 0x0
/* ResourceTemplate() {
StartDependentFn(0, 1) {
0x0001 Unknown(0x0, 4)
0x0006 Unknown(0xf8, 259)
})
Method(_STA) {
If(LNot(LLess(\_SB.OSTP(), 0x40))) {
Return(0x00)
}
Else {
If(CHKM(0x00)) {
GETR(0x00, RefOf(Local0), RefOf(Local1),
RefOf(Local2), RefOf(Local3))
If(Local0) {
Return(0x0f)
}
Else {
Return(0x0d)
}
}
Else {
Return(0x00)
}
}
}
Method(_CRS) {
CreateWordField(RSRC, 0x02, IO11)
CreateWordField(RSRC, 0x04, IO12)
CreateWordField(RSRC, 0x09, IRQ1)
GETR(0x00, RefOf(Local0), RefOf(Local1), RefOf(Local2),
RefOf(Local3))
Store(Local0, IO11)
Store(Local0, IO12)
Store(Local2, IRQ1)
Return(RSRC)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x04, IO11)
CreateWordField(Arg0, 0x09, IRQ1)
SETR(0x00, IO11, Zero, IRQ1, Zero)
}
Method(_DIS) {
SETR(0x00, Zero, Zero, Zero, Zero)
}
Method(_INI) {
If(CHKM(0x00)) {
SETM(0x00)
}
}
}
Device(LNKA) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x01)
Method(_DIS, 0, Serialized) {
Store(0x80, PARC)
}
Name(_PRS, Buffer(0x06) {0x23, 0xfa, 0xd4, 0x18, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IRQ(Level, ActiveLow, Shared) {1, 3, 4, 5, 6, 7, 10,
12, 14, 15}
} */
})
Method(_CRS, 0, Serialized) {
Name(RTLA, Buffer(0x06) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IRQ(Level, ActiveLow, Shared)
} */
})
CreateWordField(RTLA, 0x01, IRQ0)
Store(Zero, IRQ0)
ShiftLeft(0x01, And(PARC, 0x0f, ), IRQ0)
Return(RTLA)
}
Method(_SRS, 1, Serialized) {
CreateWordField(Arg0, 0x01, IRQ0)
FindSetRightBit(IRQ0, Local0)
Decrement(Local0)
Store(Local0, PARC)
}
Method(_STA, 0, Serialized) {
If(And(PARC, 0x80, )) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
}
Device(LNKB) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x02)
Method(_DIS, 0, Serialized) {
Store(0x80, PBRC)
}
Name(_PRS, Buffer(0x06) {0x23, 0xfa, 0xd8, 0x18, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IRQ(Level, ActiveLow, Shared) {1, 3, 4, 5, 6, 7, 11,
12, 14, 15}
} */
})
Method(_CRS, 0, Serialized) {
Name(RTLB, Buffer(0x06) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IRQ(Level, ActiveLow, Shared)
} */
})
CreateWordField(RTLB, 0x01, IRQ0)
Store(Zero, IRQ0)
ShiftLeft(0x01, And(PBRC, 0x0f, ), IRQ0)
Return(RTLB)
}
Method(_SRS, 1, Serialized) {
CreateWordField(Arg0, 0x01, IRQ0)
FindSetRightBit(IRQ0, Local0)
Decrement(Local0)
Store(Local0, PBRC)
}
Method(_STA, 0, Serialized) {
If(And(PBRC, 0x80, )) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
}
Device(LNKC) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x03)
Method(_DIS, 0, Serialized) {
Store(0x80, PCRC)
}
Name(_PRS, Buffer(0x06) {0x23, 0xfa, 0xd4, 0x18, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IRQ(Level, ActiveLow, Shared) {1, 3, 4, 5, 6, 7, 10,
12, 14, 15}
} */
})
Method(_CRS, 0, Serialized) {
Name(RTLC, Buffer(0x06) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IRQ(Level, ActiveLow, Shared)
} */
})
CreateWordField(RTLC, 0x01, IRQ0)
Store(Zero, IRQ0)
ShiftLeft(0x01, And(PCRC, 0x0f, ), IRQ0)
Return(RTLC)
}
Method(_SRS, 1, Serialized) {
CreateWordField(Arg0, 0x01, IRQ0)
FindSetRightBit(IRQ0, Local0)
Decrement(Local0)
Store(Local0, PCRC)
}
Method(_STA, 0, Serialized) {
If(And(PCRC, 0x80, )) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
}
Device(LNKD) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x04)
Method(_DIS, 0, Serialized) {
Store(0x80, PDRC)
}
Name(_PRS, Buffer(0x06) {0x23, 0xfa, 0xd8, 0x18, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IRQ(Level, ActiveLow, Shared) {1, 3, 4, 5, 6, 7, 11,
12, 14, 15}
} */
})
Method(_CRS, 0, Serialized) {
Name(RTLD, Buffer(0x06) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IRQ(Level, ActiveLow, Shared)
} */
})
CreateWordField(RTLD, 0x01, IRQ0)
Store(Zero, IRQ0)
ShiftLeft(0x01, And(PDRC, 0x0f, ), IRQ0)
Return(RTLD)
}
Method(_SRS, 1, Serialized) {
CreateWordField(Arg0, 0x01, IRQ0)
FindSetRightBit(IRQ0, Local0)
Decrement(Local0)
Store(Local0, PDRC)
}
Method(_STA, 0, Serialized) {
If(And(PDRC, 0x80, )) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
}
Device(LNKE) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x05)
Method(_DIS, 0, Serialized) {
Store(0x80, PERC)
}
Name(_PRS, Buffer(0x06) {0x23, 0xfa, 0xd4, 0x18, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IRQ(Level, ActiveLow, Shared) {1, 3, 4, 5, 6, 7, 10,
12, 14, 15}
} */
})
Method(_CRS, 0, Serialized) {
Name(RTLE, Buffer(0x06) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IRQ(Level, ActiveLow, Shared)
} */
})
CreateWordField(RTLE, 0x01, IRQ0)
Store(Zero, IRQ0)
ShiftLeft(0x01, And(PERC, 0x0f, ), IRQ0)
Return(RTLE)
}
Method(_SRS, 1, Serialized) {
CreateWordField(Arg0, 0x01, IRQ0)
FindSetRightBit(IRQ0, Local0)
Decrement(Local0)
Store(Local0, PERC)
}
Method(_STA, 0, Serialized) {
If(And(PERC, 0x80, )) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
}
Device(LNKF) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x06)
Method(_DIS, 0, Serialized) {
Store(0x80, PFRC)
}
Name(_PRS, Buffer(0x06) {0x23, 0xfa, 0xd8, 0x18, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IRQ(Level, ActiveLow, Shared) {1, 3, 4, 5, 6, 7, 11,
12, 14, 15}
} */
})
Method(_CRS, 0, Serialized) {
Name(RTLF, Buffer(0x06) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IRQ(Level, ActiveLow, Shared)
} */
})
CreateWordField(RTLF, 0x01, IRQ0)
Store(Zero, IRQ0)
ShiftLeft(0x01, And(PFRC, 0x0f, ), IRQ0)
Return(RTLF)
}
Method(_SRS, 1, Serialized) {
CreateWordField(Arg0, 0x01, IRQ0)
FindSetRightBit(IRQ0, Local0)
Decrement(Local0)
Store(Local0, PFRC)
}
Method(_STA, 0, Serialized) {
If(And(PFRC, 0x80, )) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
}
Device(LNKG) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x07)
Method(_DIS, 0, Serialized) {
Store(0x80, PGRC)
}
Name(_PRS, Buffer(0x06) {0x23, 0xfa, 0xd4, 0x18, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IRQ(Level, ActiveLow, Shared) {1, 3, 4, 5, 6, 7, 10,
12, 14, 15}
} */
})
Method(_CRS, 0, Serialized) {
Name(RTLG, Buffer(0x06) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IRQ(Level, ActiveLow, Shared)
} */
})
CreateWordField(RTLG, 0x01, IRQ0)
Store(Zero, IRQ0)
ShiftLeft(0x01, And(PGRC, 0x0f, ), IRQ0)
Return(RTLG)
}
Method(_SRS, 1, Serialized) {
CreateWordField(Arg0, 0x01, IRQ0)
FindSetRightBit(IRQ0, Local0)
Decrement(Local0)
Store(Local0, PGRC)
}
Method(_STA, 0, Serialized) {
If(And(PGRC, 0x80, )) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
}
Device(LNKH) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x08)
Method(_DIS, 0, Serialized) {
Store(0x80, PHRC)
}
Name(_PRS, Buffer(0x06) {0x23, 0xf8, 0xd8, 0x18, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IRQ(Level, ActiveLow, Shared) {3, 4, 5, 6, 7, 11, 12,
14, 15}
} */
})
Method(_CRS, 0, Serialized) {
Name(RTLH, Buffer(0x06) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0
/* ResourceTemplate() {
0x0000 IRQ(Level, ActiveLow, Shared)
} */
})
CreateWordField(RTLH, 0x01, IRQ0)
Store(Zero, IRQ0)
ShiftLeft(0x01, And(PHRC, 0x0f, ), IRQ0)
Return(RTLH)
}
Method(_SRS, 1, Serialized) {
CreateWordField(Arg0, 0x01, IRQ0)
FindSetRightBit(IRQ0, Local0)
Decrement(Local0)
Store(Local0, PHRC)
}
Method(_STA, 0, Serialized) {
If(And(PHRC, 0x80, )) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
}
}
Device(PATA) {
Name(_ADR, 0x001f0001)
Name(PMMN, Buffer(0x28) { })
Name(PSMN, Buffer(0x28) { })
OperationRegion(ATIO, SystemIO, 0x01f7, 0x01)
Field(ATIO, ByteAcc, NoLock, Preserve) {
STSR, 8
}
OperationRegion(PCI, PCI_Config, 0x40, 0x18)
Field(PCI, ByteAcc, NoLock, Preserve) {
PTI0, 1,
PIE0, 1,
PPP0, 1,
PDT0, 1,
PTI1, 1,
PIE1, 1,
PPP1, 1,
PDT1, 1,
PRCT, 2,
, 2,
PISP, 2,
PSIT, 1,
PIDE, 1,
Offset(0x4),
PRC1, 2,
PIS1, 2,
Offset(0x8),
PSD0, 1,
PSD1, 1,
Offset(0xa),
PCT0, 2,
, 2,
PCT1, 2,
Offset(0x14),
PCB0, 1,
PCB1, 1,
, 2,
PMCC, 1,
PSCC, 1,
, 6,
FPC0, 1,
FPC1, 1,
Offset(0x16),
PSMD, 2
}
Device(PRIM) {
Name(_ADR, 0x00)
Device(MAST) {
Name(_ADR, 0x00)
Method(_GTF) {
Name(GTFB, Buffer(0x15) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0,
0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xf5
})
CreateByteField(GTFB, 0x01, SPIO)
CreateByteField(GTFB, 0x08, SDMA)
CreateByteField(GTFB, 0x14, SCMD)
If(LNot(SSUP())) {
Store(0x00, SCMD)
}
If(LNot(PIE0)) {
Store(0x01, SPIO)
}
Else {
If(LOr(PDT0, LNot(PTI0))) {
Store(0x08, SPIO)
}
Else {
If(LLess(Add(PISP, PRCT, ), 0x03)) {
Store(0x0a, SPIO)
}
Else {
If(LLess(Add(PISP, PRCT, ), 0x05)) {
Store(0x0b, SPIO)
}
Else {
Store(0x0c, SPIO)
}
}
}
}
If(PSD0) {
If(And(FPC0, PMCC, )) {
Store(0x45, SDMA)
}
Else {
If(And(PCB0, PMCC, )) {
If(LEqual(PCT0, 0x02)) {
Store(0x44, SDMA)
}
Else {
Store(0x43, SDMA)
}
}
Else {
If(LEqual(PCT0, 0x02)) {
Store(0x42, SDMA)
}
Else {
If(LEqual(PCT0, 0x01)) {
Store(0x41, SDMA)
}
Else {
Store(0x40, SDMA)
}
}
}
}
}
Else {
If(LLess(Add(PISP, PRCT, ), 0x05)) {
Store(0x21, SDMA)
}
Else {
Store(0x22, SDMA)
}
}
Return(GTFB)
}
}
Device(SLAV) {
Name(_ADR, 0x01)
Method(_GTF) {
Name(GTFB, Buffer(0x15) {0x3, 0x0, 0x0, 0x0, 0x0, 0xb0,
0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xf5
})
CreateByteField(GTFB, 0x01, SPIO)
CreateByteField(GTFB, 0x08, SDMA)
CreateByteField(GTFB, 0x14, SCMD)
If(LNot(SSUP())) {
Store(0x00, SCMD)
}
If(LNot(PIE1)) {
Store(0x01, SPIO)
}
Else {
If(LOr(PDT1, LNot(PTI1))) {
Store(0x08, SPIO)
}
Else {
If(PSIT) {
If(LLess(Add(PIS1, PRC1, ), 0x03)) {
Store(0x0a, SPIO)
}
Else {
If(LLess(Add(PIS1, PRC1, ), 0x05)) {
Store(0x0b, SPIO)
}
Else {
Store(0x0c, SPIO)
}
}
}
Else {
If(LLess(Add(PISP, PRCT, ), 0x03)) {
Store(0x0a, SPIO)
}
Else {
If(LLess(Add(PISP, PRCT, ), 0x05)) {
Store(0x0b, SPIO)
}
Else {
Store(0x0c, SPIO)
}
}
}
}
}
If(PSD1) {
If(And(FPC1, PSCC, )) {
Store(0x45, SDMA)
}
Else {
If(And(PCB1, PSCC, )) {
If(LEqual(PCT1, 0x02)) {
Store(0x44, SDMA)
}
Else {
Store(0x43, SDMA)
}
}
Else {
If(LEqual(PCT1, 0x02)) {
Store(0x42, SDMA)
}
Else {
If(LEqual(PCT1, 0x01)) {
Store(0x41, SDMA)
}
Else {
Store(0x40, SDMA)
}
}
}
}
}
Else {
If(PSIT) {
If(LLess(Add(PIS1, PRC1, ), 0x05)) {
Store(0x21, SDMA)
}
Else {
Store(0x22, SDMA)
}
}
Else {
If(LLess(Add(PISP, PRCT, ), 0x05)) {
Store(0x21, SDMA)
}
Else {
Store(0x22, SDMA)
}
}
}
Return(GTFB)
}
}
Method(_GTM) {
Name(GTMB, Buffer(0x14) { })
CreateDWordField(GTMB, 0x00, PIO0)
CreateDWordField(GTMB, 0x04, DMA0)
CreateDWordField(GTMB, 0x08, PIO1)
CreateDWordField(GTMB, 0x0c, DMA1)
CreateDWordField(GTMB, 0x10, FLAG)
Store(0x10, FLAG)
Or(FLAG, Or(ShiftLeft(PIE1, 0x03, ), ShiftLeft(PIE0, 0x01,
), ), FLAG)
If(LOr(PDT0, LNot(PTI0))) {
Store(0x0384, PIO0)
}
Else {
Multiply(Subtract(0x09, Add(PRCT, PISP, ), ), 0x1e,
PIO0)
}
If(LNot(PSD0)) {
Store(PIO0, DMA0)
}
Else {
Or(FLAG, 0x01, FLAG)
If(And(FPC0, PMCC, )) {
Store(0x14, DMA0)
}
Else {
If(And(PCB0, PMCC, )) {
Multiply(Subtract(0x04, PCT0, ), 0x0f, DMA0)
}
Else {
Multiply(Subtract(0x04, PCT0, ), 0x1e, DMA0)
}
}
}
If(LOr(PDT1, LNot(PTI1))) {
Store(0x0384, PIO1)
}
Else {
If(LNot(PSIT)) {
Store(PIO0, PIO1)
}
Else {
Multiply(Subtract(0x09, Add(PRC1, PIS1, ), ), 0x1e,
PIO1)
}
}
If(LNot(PSD1)) {
Store(PIO1, DMA1)
}
Else {
Or(FLAG, 0x04, FLAG)
If(And(FPC1, PSCC, )) {
Store(0x14, DMA1)
}
Else {
If(And(PCB1, PSCC, )) {
Multiply(Subtract(0x04, PCT1, ), 0x0f, DMA1)
}
Else {
Multiply(Subtract(0x04, PCT1, ), 0x1e, DMA1)
}
}
}
Return(GTMB)
}
Method(_STM, 3) {
CreateDWordField(Arg0, 0x00, PIO0)
CreateDWordField(Arg0, 0x04, DMA0)
CreateDWordField(Arg0, 0x08, PIO1)
CreateDWordField(Arg0, 0x0c, DMA1)
CreateDWordField(Arg0, 0x10, FLAG)
Store(0x00, PSIT)
If(LAnd(MSMF(), LEqual(SizeOf(Arg1), 0x0200))) {
CreateField(Arg1, 0x01b0, 0x0140, MBUF)
Store(MBUF, PMMN)
CreateWordField(Arg1, 0x62, W490)
CreateWordField(Arg1, 0x66, W510)
CreateWordField(Arg1, 0x6a, W530)
CreateWordField(Arg1, 0x7c, W620)
CreateWordField(Arg1, 0x7e, W630)
CreateWordField(Arg1, 0x80, W640)
CreateWordField(Arg1, 0xb0, W880)
Store(0x00, PISP)
Store(0x00, PRCT)
Store(0x00, PDT0)
Store(0x00, PIE0)
Store(0x00, PTI0)
Store(0x00, PSD0)
Store(0x00, PCT0)
Store(0x00, PCB0)
Store(0x00, PMCC)
Store(0x00, FPC0)
If(LAnd(And(FLAG, 0x02, ), And(W490, 0x0800, ))) {
Store(0x01, PIE0)
}
If(LAnd(LNot(LGreater(PIO0, 0x78)), LAnd(And(W530,
0x02, ), And(W640, 0x02, )))) {
Store(0x02, PISP)
Store(0x03, PRCT)
Store(0x01, PTI0)
}
Else {
If(LAnd(LNot(LGreater(PIO0, 0xb4)), LAnd(And(W530,
0x02, ), And(W640, 0x01, )))) {
Store(0x02, PISP)
Store(0x01, PRCT)
Store(0x01, PTI0)
}
Else {
If(LAnd(LNot(LGreater(PIO0, 0xf0)),
LNot(LLess(W510, 0x0200)))) {
Store(0x01, PISP)
Store(0x01, PTI0)
}
Else {
Noop
}
}
}
If(LNot(LEqual(DMA0, 0xffffffff))) {
If(LAnd(And(FLAG, 0x01, ), LAnd(And(W530, 0x04, ),
And(W880, 0x3f, )))) {
Store(0x01, PSD0)
If(LAnd(LNot(LGreater(DMA0, 0x14)), And(W880,
0x20, ))) {
Store(0x01, PCT0)
Store(0x01, PMCC)
Store(0x01, FPC0)
}
Else {
If(LAnd(LNot(LGreater(DMA0, 0x1e)),
And(W880, 0x10, ))) {
Store(0x02, PCT0)
Store(0x01, PMCC)
Store(0x01, PCB0)
}
Else {
If(LAnd(LNot(LGreater(DMA0, 0x2d)),
And(W880, 0x08, ))) {
Store(0x01, PCT0)
Store(0x01, PMCC)
Store(0x01, PCB0)
}
Else {
If(LAnd(LNot(LGreater(DMA0, 0x3c)),
And(W880, 0x04, ))) {
Store(0x02, PCT0)
}
Else {
If(LAnd(LNot(LGreater(DMA0,
0x5a)), And(W880, 0x02, ))) {
Store(0x01, PCT0)
}
Else {
Noop
}
}
}
}
}
}
Else {
If(LAnd(LNot(LGreater(DMA0, 0x78)), And(W630,
0x04, ))) {
Store(0x02, PISP)
Store(0x03, PRCT)
Store(0x01, PTI0)
}
Else {
If(LAnd(LNot(LGreater(DMA0, 0xb4)),
And(W630, 0x02, ))) {
Store(0x02, PISP)
Store(0x01, PRCT)
Store(0x01, PTI0)
}
Else {
Noop
}
}
}
}
}
If(LAnd(SSMF(), LEqual(SizeOf(Arg2), 0x0200))) {
CreateField(Arg2, 0x01b0, 0x0140, SBUF)
Store(SBUF, PSMN)
CreateWordField(Arg2, 0x62, W491)
CreateWordField(Arg2, 0x66, W511)
CreateWordField(Arg2, 0x6a, W531)
CreateWordField(Arg2, 0x7c, W621)
CreateWordField(Arg2, 0x7e, W631)
CreateWordField(Arg2, 0x80, W641)
CreateWordField(Arg2, 0xb0, W881)
Store(0x00, PIS1)
Store(0x00, PRC1)
Store(0x00, PDT1)
Store(0x00, PIE1)
Store(0x00, PTI1)
Store(0x00, PSD1)
Store(0x00, PCT1)
Store(0x00, PCB1)
Store(0x00, PSCC)
Store(0x00, FPC1)
If(LAnd(And(FLAG, 0x08, ), And(W491, 0x0800, ))) {
Store(0x01, PIE1)
}
If(LAnd(And(FLAG, 0x10, ), LAnd(LNot(LEqual(PIO1,
0xffffffff)), LNot(LEqual(PIO1, PIO0))))) {
Store(0x01, PSIT)
If(LAnd(LNot(LGreater(PIO1, 0x78)), LAnd(And(W531,
0x02, ), And(W641, 0x02, )))) {
Store(0x02, PIS1)
Store(0x03, PRC1)
Store(0x01, PTI1)
}
Else {
If(LAnd(LNot(LGreater(PIO1, 0xb4)),
LAnd(And(W531, 0x02, ), And(W641, 0x01, )))) {
Store(0x02, PIS1)
Store(0x01, PRC1)
Store(0x01, PTI1)
}
Else {
If(LAnd(LNot(LGreater(PIO1, 0xf0)),
LNot(LLess(W511, 0x0200)))) {
Store(0x01, PIS1)
Store(0x01, PTI1)
}
Else {
Noop
}
}
}
}
If(LNot(LEqual(DMA1, 0xffffffff))) {
If(LAnd(And(FLAG, 0x04, ), LAnd(And(W531, 0x04, ),
And(W881, 0x3f, )))) {
Store(0x01, PSD1)
If(LAnd(LNot(LGreater(DMA1, 0x14)), And(W881,
0x20, ))) {
Store(0x01, PCT1)
Store(0x01, PSCC)
Store(0x01, FPC1)
}
Else {
If(LAnd(LNot(LGreater(DMA1, 0x1e)),
And(W881, 0x10, ))) {
Store(0x02, PCT1)
Store(0x01, PSCC)
Store(0x01, PCB1)
}
Else {
If(LAnd(LNot(LGreater(DMA1, 0x2d)),
And(W881, 0x08, ))) {
Store(0x01, PCT1)
Store(0x01, PSCC)
Store(0x01, PCB1)
}
Else {
If(LAnd(LNot(LGreater(DMA1, 0x3c)),
And(W881, 0x04, ))) {
Store(0x02, PCT1)
}
Else {
If(LAnd(LNot(LGreater(DMA1,
0x5a)), And(W881, 0x02, ))) {
Store(0x01, PCT1)
}
Else {
Noop
}
}
}
}
}
}
Else {
If(LAnd(And(FLAG, 0x10, ), LNot(LEqual(DMA1,
DMA0)))) {
Store(0x01, PSIT)
If(LAnd(LNot(LGreater(DMA1, 0x78)),
And(W631, 0x04, ))) {
Store(0x02, PIS1)
Store(0x03, PRC1)
Store(0x01, PTI1)
}
Else {
If(LAnd(LNot(LGreater(DMA1, 0xb4)),
And(W631, 0x02, ))) {
Store(0x02, PIS1)
Store(0x01, PRC1)
Store(0x01, PTI1)
}
Else {
Noop
}
}
}
}
}
}
Store(0x01, PIDE)
}
}
Scope(\_SB.PCI0.PATA.PRIM) {
Method(_STA) {
Return(0x0f)
}
Method(MSMF) {
Return(One)
}
Method(SSMF) {
Return(Zero)
}
}
Scope(\_SB.PCI0.PATA.PRIM.MAST) {
Method(_STA) {
Return(0x0f)
}
Method(SSUP) {
Return(One)
}
}
Scope(\_SB.PCI0.PATA.PRIM.SLAV) {
Method(_STA) {
Return(0x00)
}
Method(SSUP) {
Return(Zero)
}
}
}
Device(USB1) {
Name(_ADR, 0x001d0000)
}
Device(USB2) {
Name(_ADR, 0x001d0001)
}
Device(USB3) {
Name(_ADR, 0x001d0002)
}
Device(USB4) {
Name(_ADR, 0x001d0003)
}
Device(USB7) {
Name(_ADR, 0x001d0007)
}
Device(SBUS) {
Name(_ADR, 0x001f0003)
}
Device(AUD0) {
Name(_ADR, 0x001e0002)
}
Device(MODM) {
Name(_ADR, 0x001e0003)
Name(_PRW, Package(0x02) {
0x05,
0x03,
})
}
Device(HDEF) {
Name(_ADR, 0x001b0000)
Name(_PRW, Package(0x02) {
0x05,
0x03,
})
Name(_PSC, 0x00)
Method(_PS0) {
Store(0x00, _PSC)
If(LAnd(HDWA, LNot(LLess(\_SB.OSTP(), 0x40)))) {
Store(Zero, HDWA)
Sleep(0x01f4)
}
}
Method(_PS3) {
Store(0x03, _PSC)
}
}
Device(RP01) {
Name(_ADR, 0x001c0000)
OperationRegion(P1CS, PCI_Config, 0x40, 0x0100)
Field(P1CS, AnyAcc, NoLock, WriteAsZeros) {
Offset(0x1a),
ABP1, 1,
, 2,
PDC1, 1,
, 2,
PDS1, 1,
Offset(0x20),
Offset(0x22),
PSP1, 1,
Offset(0x9c),
, 30,
HPCS, 1,
PMCS, 1
}
Device(PXS1) {
Name(_ADR, 0x00)
}
Method(_PRT) {
If(\GPIC) {
Return(Package(0x04) {
Package(0x04) {
0xffff,
0x00,
0x00,
0x10,
},
Package(0x04) {
0xffff,
0x01,
0x00,
0x11,
},
Package(0x04) {
0xffff,
0x02,
0x00,
0x12,
},
Package(0x04) {
0xffff,
0x03,
0x00,
0x13,
},
})
}
Else {
Return(Package(0x04) {
Package(0x04) {
0xffff,
0x00,
\_SB.PCI0.LPCB.LNKA,
0x00,
},
Package(0x04) {
0xffff,
0x01,
\_SB.PCI0.LPCB.LNKB,
0x00,
},
Package(0x04) {
0xffff,
0x02,
\_SB.PCI0.LPCB.LNKC,
0x00,
},
Package(0x04) {
0xffff,
0x03,
\_SB.PCI0.LPCB.LNKD,
0x00,
},
})
}
}
}
Device(RP02) {
Name(_ADR, 0x001c0001)
OperationRegion(P2CS, PCI_Config, 0x40, 0x0100)
Field(P2CS, AnyAcc, NoLock, WriteAsZeros) {
Offset(0x1a),
ABP2, 1,
, 2,
PDC2, 1,
, 2,
PDS2, 1,
Offset(0x20),
Offset(0x22),
PSP2, 1,
Offset(0x9c),
, 30,
HPCS, 1,
PMCS, 1
}
Device(PXS2) {
Name(_ADR, 0x00)
}
Method(_PRT) {
If(\GPIC) {
Return(Package(0x04) {
Package(0x04) {
0xffff,
0x00,
0x00,
0x11,
},
Package(0x04) {
0xffff,
0x01,
0x00,
0x12,
},
Package(0x04) {
0xffff,
0x02,
0x00,
0x13,
},
Package(0x04) {
0xffff,
0x03,
0x00,
0x10,
},
})
}
Else {
Return(Package(0x04) {
Package(0x04) {
0xffff,
0x00,
\_SB.PCI0.LPCB.LNKB,
0x00,
},
Package(0x04) {
0xffff,
0x01,
\_SB.PCI0.LPCB.LNKC,
0x00,
},
Package(0x04) {
0xffff,
0x02,
\_SB.PCI0.LPCB.LNKD,
0x00,
},
Package(0x04) {
0xffff,
0x03,
\_SB.PCI0.LPCB.LNKA,
0x00,
},
})
}
}
}
Device(RP03) {
Name(_ADR, 0x001c0002)
OperationRegion(P3CS, PCI_Config, 0x40, 0x0100)
Field(P3CS, AnyAcc, NoLock, WriteAsZeros) {
Offset(0x1a),
ABP3, 1,
, 2,
PDC3, 1,
, 2,
PDS3, 1,
Offset(0x20),
Offset(0x22),
PSP3, 1,
Offset(0x9c),
, 30,
HPCS, 1,
PMCS, 1
}
Device(PXS3) {
Name(_ADR, 0x00)
}
Method(_PRT) {
If(\GPIC) {
Return(Package(0x04) {
Package(0x04) {
0xffff,
0x00,
0x00,
0x12,
},
Package(0x04) {
0xffff,
0x01,
0x00,
0x13,
},
Package(0x04) {
0xffff,
0x02,
0x00,
0x10,
},
Package(0x04) {
0xffff,
0x03,
0x00,
0x11,
},
})
}
Else {
Return(Package(0x04) {
Package(0x04) {
0xffff,
0x00,
\_SB.PCI0.LPCB.LNKC,
0x00,
},
Package(0x04) {
0xffff,
0x01,
\_SB.PCI0.LPCB.LNKD,
0x00,
},
Package(0x04) {
0xffff,
0x02,
\_SB.PCI0.LPCB.LNKA,
0x00,
},
Package(0x04) {
0xffff,
0x03,
\_SB.PCI0.LPCB.LNKB,
0x00,
},
})
}
}
}
Device(RP04) {
Name(_ADR, 0x001c0003)
OperationRegion(P4CS, PCI_Config, 0x40, 0x0100)
Field(P4CS, AnyAcc, NoLock, WriteAsZeros) {
Offset(0x1a),
ABP4, 1,
, 2,
PDC4, 1,
, 2,
PDS4, 1,
Offset(0x20),
Offset(0x22),
PSP4, 1,
Offset(0x9c),
, 30,
HPCS, 1,
PMCS, 1
}
Device(PXS4) {
Name(_ADR, 0x00)
}
Method(_PRT) {
If(\GPIC) {
Return(Package(0x04) {
Package(0x04) {
0xffff,
0x00,
0x00,
0x13,
},
Package(0x04) {
0xffff,
0x01,
0x00,
0x10,
},
Package(0x04) {
0xffff,
0x02,
0x00,
0x11,
},
Package(0x04) {
0xffff,
0x03,
0x00,
0x12,
},
})
}
Else {
Return(Package(0x04) {
Package(0x04) {
0xffff,
0x00,
\_SB.PCI0.LPCB.LNKD,
0x00,
},
Package(0x04) {
0xffff,
0x01,
\_SB.PCI0.LPCB.LNKA,
0x00,
},
Package(0x04) {
0xffff,
0x02,
\_SB.PCI0.LPCB.LNKB,
0x00,
},
Package(0x04) {
0xffff,
0x03,
\_SB.PCI0.LPCB.LNKC,
0x00,
},
})
}
}
}
Scope(\_SB.PCI0.RP01.PXS1) {
Name(_PRW, Package(0x02) {
0x09,
0x04,
})
}
Scope(\_SB.PCI0.RP02.PXS2) {
Method(_STA) {
If(PXRS) {
Return(0x0f)
}
Else {
Return(0x00)
}
}
Name(_PRW, Package(0x02) {
0x09,
0x04,
})
Method(_RMV) {
Return(One)
}
Method(EXIN) {
Sleep(0x64)
Store(Zero, PXCL)
Sleep(0x01)
Store(One, PXRS)
Store(Zero, EXPL)
}
Method(EXRM) {
Store(Zero, PXRS)
Store(One, PXCL)
Store(One, EXPL)
}
}
}
Name(LEDI, Zero)
Name(BTNI, Zero)
Name(NGTI, 0x06)
Scope(\) {
Name(WBTN, Zero)
Name(NGTM, Zero)
Name(LSBL, Zero)
Name(BNBF, Buffer(0x20) { })
Name(BNSP, Zero)
Name(BNGP, Zero)
Name(BNCT, Zero)
}
Device(FEXT) {
Name(_HID, "FUJ02E3")
Method(_STA) {
Return(0x0f)
}
Method(_INI) {
Store(Zero, BNSP)
Store(Zero, BNGP)
Store(Zero, BNCT)
Store(Zero, IRBC)
Store(Zero, IRBF)
}
Method(FUNC, 4, Serialized) {
Store(0x80000000, Local0)
If(LEqual(Arg0, 0x1001)) {
Store(S001(Arg1, Arg2, Arg3), Local0)
}
Else {
If(LEqual(Arg0, 0x1002)) {
Store(S002(Arg1, Arg2, Arg3), Local0)
}
Else {
If(LEqual(Arg0, 0x1004)) {
Store(S004(Arg1, Arg2, Arg3), Local0)
}
}
}
If(LEqual(Arg0, 0x1006)) {
Store(S006(Arg1, Arg2, Arg3), Local0)
}
If(LEqual(Arg0, 0x1008)) {
Store(S008(Arg1, Arg2, Arg3), Local0)
}
Return(Local0)
}
Method(S001, 3) {
Store(0x80000000, Local0)
If(LEqual(Arg0, Zero)) {
Store(LEDI, Local0)
}
Else {
If(LEqual(Arg0, One)) {
And(Arg2, 0x03, Local1)
If(LAnd(And(Arg1, LEDI, ), Local1)) {
Store(0x9b, CMD)
ShiftRight(And(Arg2, 0x00030000, ), 0x08, DVID)
Store(Zero, SSMI)
}
Store(Zero, Local0)
}
Else {
If(LEqual(Arg0, 0x02)) {
If(And(Arg1, LEDI, )) {
Store(0x9b, CMD)
Store(One, DVID)
Store(Zero, SSMI)
Or(ShiftLeft(DVID, 0x10, ), One, Local0)
}
Else {
Store(Zero, Local0)
}
}
}
}
Return(Local0)
}
Method(S002, 3) {
Store(0x80000000, Local0)
If(LEqual(Arg0, Zero)) {
Store(BTNI, Local0)
}
Else {
If(LEqual(Arg0, One)) {
Store(GIRB(), Local0)
}
Else {
If(LEqual(Arg0, 0x02)) {
Store(0x9b, CMD)
Store(0x02, DVID)
Store(Zero, SSMI)
Store(DVID, Local0)
}
Else {
If(LEqual(Arg0, 0x03)) {
If(Arg1) {
Not(Arg1, Local1)
And(Arg2, Arg1, Local2)
Or(And(WBTN, Local1, ), Local2, WBTN)
Store(0x9b, CMD)
Or(ShiftLeft(WBTN, 0x08, ), 0x03, DVID)
Store(Zero, SSMI)
}
Store(WBTN, Local0)
}
}
}
}
Return(Local0)
}
Method(SIRB, 1) {
If(LLess(BNCT, 0x10)) {
CreateWordField(BNBF, BNSP, BNP1)
Store(Arg0, BNP1)
Increment(BNCT)
Add(BNSP, 0x02, BNSP)
If(LNot(LLess(BNSP, 0x20))) {
Store(Zero, BNSP)
}
}
}
Method(GIRB) {
If(BNCT) {
CreateWordField(BNBF, BNGP, BNP2)
Store(BNP2, Local0)
Or(Local0, 0x40000000, Local0)
Decrement(BNCT)
Add(BNGP, 0x02, BNGP)
If(LNot(LLess(BNGP, 0x20))) {
Store(Zero, BNGP)
}
}
Else {
Store(Zero, Local0)
}
Return(Local0)
}
Method(S004, 3) {
Store(0x80000000, Local0)
If(LEqual(Arg0, Zero)) {
Store(NGTI, Local0)
}
Else {
If(LEqual(Arg0, One)) {
If(LAnd(LEqual(Arg1, 0x04), And(NGTI, 0x04, ))) {
And(Arg2, 0x03, Local1)
If(LOr(LEqual(Local1, 0x03), LEqual(Local1, 0x02))) {
If(LNot(NGTF)) {
SVBL()
Store(One, NGTF)
}
SBLC(Local1)
Store(Local1, NGTM)
Store(Zero, Local0)
}
If(LNot(Local1)) {
If(NGTF) {
Store(Zero, NGTF)
RSBL()
SBLC(Zero)
}
Store(Zero, NGTM)
Store(Zero, Local0)
}
}
}
Else {
If(LEqual(Arg0, 0x02)) {
If(LAnd(LEqual(Arg1, 0x04), And(NGTI, 0x04, ))) {
Store(NGTM, Local0)
}
}
}
}
Return(Local0)
}
Method(S008, 3) {
Store(0x80000000, Local0)
If(LEqual(Arg0, 0x00)) {
If(LAnd(LNot(LLess(Arg1, 0x00)), LNot(LGreater(Arg1, 0x05)))) {
If(LEqual(Arg1, Zero)) {
Store(Zero, Local0)
}
Else {
If(LEqual(Arg1, One)) {
If(LNot(LLess(\_SB.OSTP(), 0x40))) {
Store(0x02, Local0)
}
Else {
Store(Zero, Local0)
}
}
Else {
Store(0xa4, CMD)
Store(Arg0, QAG1)
Store(Arg1, QAG2)
Store(Arg2, QAG3)
Store(Zero, DVID)
Store(Zero, SSMI)
Store(DVID, Local0)
}
}
}
}
Else {
If(LEqual(Arg0, 0x01)) {
If(LAnd(LNot(LLess(Arg1, 0x00)), LNot(LGreater(Arg1,
0x01)))) {
Store(0xa4, CMD)
Store(Arg0, QAG1)
Store(Arg1, QAG2)
Store(Arg2, QAG3)
Store(Zero, DVID)
Store(Zero, SSMI)
Store(DVID, Local0)
}
}
Else {
If(LEqual(Arg0, 0x02)) {
If(LAnd(LNot(LLess(Arg1, 0x00)), LNot(LGreater(Arg1,
0x01)))) {
Store(0xa4, CMD)
Store(Arg0, QAG1)
Store(Arg1, QAG2)
Store(Arg2, QAG3)
Store(Zero, DVID)
Store(Zero, SSMI)
Store(DVID, Local0)
}
}
Else {
If(LEqual(Arg0, 0x03)) {
If(LEqual(Arg1, 0x00)) {
Store(0xa4, CMD)
Store(Arg0, QAG1)
Store(Arg1, QAG2)
Store(Arg2, QAG3)
Store(Zero, DVID)
Store(Zero, SSMI)
Store(DVID, Local0)
}
}
Else {
If(LEqual(Arg0, 0x04)) {
If(LAnd(LNot(LLess(Arg1, 0x00)),
LNot(LGreater(Arg1, 0x01)))) {
Store(0xa4, CMD)
Store(Arg0, QAG1)
Store(Arg1, QAG2)
Store(Arg2, QAG3)
Store(Zero, DVID)
Store(Zero, SSMI)
Store(DVID, Local0)
}
}
}
}
}
}
Return(Local0)
}
}
Scope(\_SB.FEXT) {
Method(SBLC, 1) {
If(LNot(Arg0)) {
Store(Zero, BLCT)
}
Else {
If(LEqual(Arg0, 0x03)) {
Store(One, BLCT)
}
Else {
If(LEqual(Arg0, 0x02)) {
Name(BBCT, Buffer(BLLM) { })
Store(BLLT, BBCT)
CreateByteField(BBCT, Zero, BLL0)
Store(BLL0, LCDB)
Store(0x01000000, DVID)
Or(DVID, BLL0, DVID)
Store(0x82, CMD)
Store(Zero, SSMI)
Store(Zero, BLCT)
}
}
}
}
Method(SVBL) {
And(\_SB.PCI0.LPCB.FJEX.GBLL(), 0x7fffffff, LSBL)
}
Method(RSBL) {
\_SB.PCI0.LPCB.FJEX.SBLL(LSBL)
}
Method(S006, 3) {
Store(0x80000000, Local0)
If(ECOK) {
If(LEqual(Arg0, Zero)) {
Store(ECCI, Local0)
}
Else {
If(LEqual(Arg0, 0x10)) {
If(Arg1) {
And(Arg1, 0xff, ECG1)
Store(0x23, ECGM)
Store(Zero, Local1)
While(LAnd(ECGM, LLess(Local1, 0x64))) {
Sleep(0x01)
Increment(Local1)
}
If(LNot(LLess(Local1, 0x64))) {
Store(0x80000001, Local0)
}
Else {
Or(ShiftLeft(ECG2, 0x08, ), ECG3, Local0)
}
}
Else {
Store(0xfd70, Local0)
}
}
Else {
If(LEqual(Arg0, 0x11)) {
And(Arg1, 0xff, ECG1)
ShiftRight(And(Arg2, 0xff00, ), 0x08, ECG2)
And(Arg2, 0xff, ECG3)
Store(0x22, ECGM)
Store(Zero, Local1)
While(LAnd(ECGM, LLess(Local1, 0x64))) {
Sleep(0x01)
Increment(Local1)
}
If(LNot(LLess(Local1, 0x64))) {
Store(0x80000001, Local0)
}
Else {
Store(Zero, Local0)
}
}
Else {
If(LEqual(Arg0, 0x12)) {
Store(GINT, Local0)
Store(Zero, GINT)
}
Else {
If(LEqual(Arg0, 0x20)) {
ShiftRight(And(Arg1, 0xff000000, ), 0x18,
ECD3)
ShiftRight(And(Arg1, 0x00ff0000, ), 0x10,
ECD2)
ShiftRight(And(Arg1, 0xff00, ), 0x08, ECD1)
And(Arg1, 0xff, ECCM)
Store(Zero, Local1)
While(LAnd(ECCM, LLess(Local1, 0x64))) {
Sleep(0x01)
Increment(Local1)
}
If(LNot(LLess(Local1, 0x64))) {
Store(0x80000001, Local0)
}
Else {
Or(Or(ShiftLeft(ECD3, 0x10, ),
ShiftLeft(ECD2, 0x08, ), ), ECD1, Local0)
}
}
}
}
}
}
}
Return(Local0)
}
}
Device(LID) {
Name(_HID, 0x0d0cd041)
Method(_LID) {
If(CVCL) {
Return(Zero)
}
Else {
Return(One)
}
}
Name(_PRW, Package(0x02) {
0x18,
0x04,
})
Method(_PSW, 1) {
Noop
}
}
Device(PWRB) {
Name(_HID, 0x0c0cd041)
Method(_STA) {
Return(0x0f)
}
}
Device(AC) {
Name(_HID, "ACPI0003")
Scope(\) {
Name(ACPS, Ones)
}
Method(_INI) {
Store(ACPW, ACPS)
}
Method(_STA) {
Return(0x0f)
}
Method(_PSR) {
_INI()
If(ACPW) {
Return(One)
}
Else {
Return(Zero)
}
}
Name(_PCL, Package(0x01) {
\_SB,
})
Method(ACHK) {
Store(ACPW, Local0)
If(LNot(LEqual(Local0, ACPS))) {
Sleep(0x28)
Notify(\_SB.AC, 0x80)
Store(Zero, DVID)
Store(0x8d, CMD)
Store(Zero, SSMI)
Notify(\_PR.CPU0, 0x80)
Store(Local0, ACPS)
}
}
}
Device(CMB1) {
Name(_HID, 0x0a0cd041)
Name(_UID, One)
Name(_PCL, Package(0x01) {
\_SB,
})
Scope(\) {
Name(B1PS, Ones)
Name(B1RS, Ones)
Name(B1CS, Ones)
Name(B1LS, Ones)
Name(BIF1, Package(0x0d) {
0x01,
0x00,
0x00,
0x01,
0x00,
0x00,
0x00,
0x01,
0x01,
"",
"1",
"LION",
"Fujitsu",
})
Name(BST1, Package(0x04) {
})
}
Method(MKWD, 2) {
If(And(Arg1, 0x80, )) {
Or(0xffff0000, Arg0, Local0)
Or(Local0, ShiftLeft(Arg1, 0x08, ), Local0)
Subtract(Zero, Local0, Local0)
}
Else {
Store(Arg0, Local0)
Or(Local0, ShiftLeft(Arg1, 0x08, ), Local0)
}
Return(Local0)
}
Method(_INI) {
Store(B1P, B1PS)
Store(B1CP, B1RS)
Store(B1C, B1CS)
Store(MKWD(B1LL, B1LH), B1LS)
}
Method(_BIF) {
Name(BUFF, Buffer(0x0c) { })
Store(B1NO, Local5)
CreateByteField(BIDT, B1ID, B1IX)
Store(MKWD(B1DL, B1DH), Index(BIF1, 0x01, ))
Store(MKWD(B1LL, B1LH), Index(BIF1, 0x02, ))
Store(Multiply(Add(And(B1DV, 0xef, ), 0x02, ), 0x0e10, ),
Index(BIF1, 0x04, ))
If(LOr(TBPC, LNot(LLess(\_SB.OSTP(), 0x40)))) {
Divide(Multiply(Add(Multiply(0x0c, 0x0a, ), 0x04, ),
DerefOf(Index(BIF1, 0x01, )), ), 0x03e8, Local0, Index(BIF1, 0x05, ))
}
If(LOr(TBPC, LNot(LLess(\_SB.OSTP(), 0x40)))) {
If(LNot(LLess(\_SB.OSTP(), 0x40))) {
If(LEqual(BIFL, 0xff)) {
Store(0x02, Local1)
}
Else {
Store(BIFL, Local1)
}
}
Else {
Store(0x01, Local1)
}
Divide(Multiply(Add(Multiply(Local1, 0x0a, ), 0x04, ),
DerefOf(Index(BIF1, 0x01, )), ), 0x03e8, Local0, Index(BIF1, 0x06, ))
}
If(Local5) {
Store(DerefOf(Index(BMST, B1IX, )), BUFF)
Store(0x07, Local0)
Store(Local5, Local2)
While(LAnd(Local2, LNot(LLess(Local0, 0x02)))) {
Store(Subtract(DerefOf(Index(BUFF, Local0, )), 0x30, ),
Local1)
Divide(Add(Local1, Local2, ), 0x0a, Local1, Local2)
Store(Add(Local1, 0x30, ), Index(BUFF, Local0, ))
Decrement(Local0)
}
Store(BUFF, Index(BIF1, 0x09, ))
}
Else {
Store(DerefOf(Index(BMNT, B1IX, )), Index(BIF1, 0x09, ))
}
Return(BIF1)
}
Method(_BST) {
_INI()
Store(Zero, Local0)
If(B1P) {
If(B1C) {
Or(Local0, 0x02, Local0)
}
Else {
If(LNot(ACPS)) {
Or(Local0, One, Local0)
}
}
If(LNot(LGreater(B1CP, One))) {
Or(Local0, 0x04, Local0)
}
}
Store(MKWD(B1CL, B1CH), Local1)
Divide(Multiply(B1CP, MKWD(B1LL, B1LH), ), 0x03e8, Local4, Local2)
If(Local4) {
Increment(Local2)
}
Multiply(Local2, 0x0a, Local2)
Store(MKWD(B1VL, B1VH), Local3)
Store(Local0, Index(BST1, Zero, ))
Store(Local1, Index(BST1, One, ))
Store(Local2, Index(BST1, 0x02, ))
Store(Local3, Index(BST1, 0x03, ))
Return(BST1)
}
Method(_STA) {
If(B1P) {
Return(0x1f)
}
Return(0x0f)
}
Method(BCHK) {
If(LNot(LEqual(B1P, B1PS))) {
Notify(\_SB.CMB1, 0x81)
Store(B1P, B1PS)
}
If(B1PS) {
Store(MKWD(B1LL, B1LH), Local0)
If(LNot(LEqual(Local0, B1LS))) {
Notify(\_SB.CMB1, 0x81)
}
If(LOr(LNot(LEqual(B1C, B1CS)), LNot(LEqual(B1CP, B1RS)))) {
Notify(\_SB.CMB1, 0x80)
}
Store(Local0, B1LS)
Store(B1C, B1CS)
Store(B1CP, B1RS)
}
}
}
Device(SLPB) {
Name(_HID, 0x0e0cd041)
Method(_STA) {
If(FSCM) {
Return(0x0f)
}
Else {
Return(0x00)
}
}
}
}
Scope(_TZ) {
ThermalZone(TZ00) {
Method(_CRT, 0, Serialized) {
Return(Add(0x0aac, Multiply(CRTT, 0x0a, ), ))
}
Method(_TMP, 0, Serialized) {
If(DTSE) {
Store(0x9c, CMD)
Store(0x00, DVID)
Store(Zero, SSMI)
Return(Add(0x0aac, Multiply(DTS1, 0x0a, ), ))
}
Else {
Return(0x0bb8)
}
}
Method(_PSL, 0, Serialized) {
If(MPEN) {
Return(Package(0x02) {
\_PR.CPU0,
\_PR.CPU1,
})
}
Else {
Return(Package(0x01) {
\_PR.CPU0,
})
}
}
Method(_PSV, 0, Serialized) {
Return(Add(0x0aac, Multiply(PSVT, 0x0a, ), ))
}
Method(_TC1, 0, Serialized) {
Return(TC1V)
}
Method(_TC2, 0, Serialized) {
Return(TC2V)
}
Method(_TSP, 0, Serialized) {
Return(TSPV)
}
}
ThermalZone(TZ01) {
Method(_CRT, 0, Serialized) {
Return(Add(0x0aac, Multiply(CRTT, 0x0a, ), ))
}
Method(_TMP, 0, Serialized) {
If(DTSE) {
Store(0x9c, CMD)
Store(0x01, DVID)
Store(Zero, SSMI)
Return(Add(0x0aac, Multiply(DTS2, 0x0a, ), ))
}
Else {
Return(0x0bb8)
}
}
Method(_PSL, 0, Serialized) {
If(MPEN) {
Return(Package(0x02) {
\_PR.CPU0,
\_PR.CPU1,
})
}
Else {
Return(Package(0x01) {
\_PR.CPU0,
})
}
}
Method(_PSV, 0, Serialized) {
Return(Add(0x0aac, Multiply(PSVT, 0x0a, ), ))
}
Method(_TC1, 0, Serialized) {
Return(TC1V)
}
Method(_TC2, 0, Serialized) {
Return(TC2V)
}
Method(_TSP, 0, Serialized) {
Return(TSPV)
}
}
}
Scope(\) {
Method(TZSM, 1) {
Store(0x9c, CMD)
Store(Arg0, DVID)
Store(Zero, SSMI)
}
}
Scope(\_GPE) {
Method(_L02) {
Store(0x00, GPEC)
Notify(\_TZ.TZ00, 0x80)
Notify(\_TZ.TZ01, 0x80)
}
Method(_L05) {
Notify(\_SB.PCI0.HDEF, 0x02)
}
Method(_L08) {
}
Method(_L09) {
If(\_SB.PCI0.RP01.PSP1) {
Store(0x01, \_SB.PCI0.RP01.PSP1)
Store(0x01, \_SB.PCI0.RP01.PMCS)
Notify(\_SB.PCI0.RP01, 0x02)
}
If(\_SB.PCI0.RP02.PSP2) {
Store(0x01, \_SB.PCI0.RP02.PSP2)
Store(0x01, \_SB.PCI0.RP02.PMCS)
Notify(\_SB.PCI0.RP02, 0x02)
}
If(\_SB.PCI0.RP03.PSP3) {
Store(0x01, \_SB.PCI0.RP03.PSP3)
Store(0x01, \_SB.PCI0.RP03.PMCS)
Notify(\_SB.PCI0.RP03, 0x02)
}
If(\_SB.PCI0.RP04.PSP4) {
Store(0x01, \_SB.PCI0.RP04.PSP4)
Store(0x01, \_SB.PCI0.RP04.PMCS)
Notify(\_SB.PCI0.RP04, 0x02)
}
}
Method(_L0B) {
Notify(\_SB.PCI0.PCIB, 0x02)
}
Method(_L18) {
Sleep(0xfa)
If(LNot(LIDS)) {
Store(0x97, CMD)
Store(Zero, SSMI)
}
Not(LPOL, LPOL)
Notify(\_SB.LID, 0x80)
}
Method(_L19) {
Store(SSF0, Local0)
Store(Local0, SSF0)
And(Local0, Not(SSM0, ), Local0)
Store(SSF1, Local1)
Store(Local1, SSF1)
And(Local1, Not(SSM1, ), Local1)
Store(SSF2, Local2)
Store(Local2, SSF2)
And(Local2, Not(SSM2, ), Local2)
If(And(Local2, 0x10, )) {
\_SB.AC.ACHK()
\_SB.CMB1.BCHK()
If(LOr(LNot(LEqual(LWMD, PLWM)), LNot(LEqual(TALM, PTAL)))) {
Store(LWMD, PLWM)
Store(TALM, PTAL)
Store(0x95, CMD)
Or(PLWM, ShiftLeft(PTAL, 0x01, ), DVID)
Store(Zero, SSMI)
}
If(LAnd(TALM, LNot(ACPW))) {
Store(One, FOCT)
}
Else {
Store(Zero, FOCT)
}
}
If(And(Local0, 0x01, )) {
\_SB.PCI0.GFX0.PHTK()
Store(0x80, CMD)
Store(Zero, SSMI)
\_SB.PCI0.GFX0.AHTK()
If(BSWF) {
If(LNot(LLess(\_SB.OSTP(), 0x40))) {
\_SB.PCI0.GFX0.LCD.BLNF
}
}
If(AHKF) {
Notify(\_SB.PCI0.LPCB.FJEX, 0x80)
}
If(IRBF) {
If(LEqual(IRBC, 0xfd00)) {
Store(One, GINT)
}
Else {
\_SB.FEXT.SIRB(IRBC)
}
Notify(\_SB.FEXT, 0x80)
Store(Zero, IRBF)
}
}
If(And(Local1, 0x30, )) {
\_SB.PCI0.LPCB.CMBT.SWCF()
}
If(And(Local2, 0x08, )) {
Store(B2SU, Local6)
Store(B2SD, Local7)
Store(Zero, STAE)
If(LOr(Local6, Local7)) {
Sleep(0x03e8)
Store(Zero, B2SU)
Store(Zero, B2SD)
Store(XOr(DKEV, One, ), DKEV)
If(RPEN) {
If(LNot(LEqual(B2TC, RPDS))) {
Store(B2TC, RPDS)
If(RPDS) {
Notify(\_SB.REPL, Zero)
}
Else {
Sleep(0x0fa0)
Notify(\_SB.REPL, One)
}
}
}
}
}
}
Method(_L1D) {
If(EXPL) {
\_SB.PCI0.RP02.PXS2.EXIN()
}
Else {
\_SB.PCI0.RP02.PXS2.EXRM()
}
Sleep(0x64)
Notify(\_SB.PCI0.RP02, Zero)
}
}
Name(_S0, Package(0x04) {
0x00,
0x00,
0x00,
0x00,
})
Name(_S3, Package(0x04) {
0x05,
0x05,
0x00,
0x00,
})
Name(_S4, Package(0x04) {
0x06,
0x06,
0x00,
0x00,
})
Name(_S5, Package(0x04) {
0x07,
0x07,
0x00,
0x00,
})
Method(_PTS, 1) {
Add(0xdd, Arg0, PO80)
If(LAnd(LNot(LLess(Arg0, One)), LNot(LGreater(Arg0, 0x04)))) {
If(RPEN) {
Store(RPDS, DC1S)
}
If(\_SB.PCI0.RP02.PXS2._STA()) {
Store(Zero, EXIS)
}
Else {
Store(0xff, EXIS)
}
}
\_SB.PCI0.LPCB.CMBT.BPTS(Arg0)
Store(Zero, WAPB)
Store(One, HDWA)
Add(0xe0, Arg0, PO80)
}
Method(_WAK, 1) {
Add(0xee, Arg0, PO80)
\_SB.PCI0.LPCB.AINI()
\_SB.PCI0.PCIB._INI()
\_SB.FEXT._INI()
If(LEqual(Arg0, 0x03)) {
Store(0xa3, CMD)
Store(0x00, INF)
Store(Zero, SSMI)
}
If(LEqual(Arg0, 0x03)) {
Store(0x9b, CMD)
Store(0x04, DVID)
Store(Zero, SSMI)
}
If(WAPB) {
Notify(\_SB.PWRB, 0x02)
}
If(LEqual(Arg0, 0x04)) {
\_SB.FEXT.FUNC(0x1002, 0x03, Ones, WBTN)
}
\_SB.PCI0.LPCB.CMBT.BWAK(Arg0)
If(LAnd(LNot(LLess(Arg0, One)), LNot(LGreater(Arg0, 0x04)))) {
If(RPEN) {
If(LNot(LEqual(B2TC, DC1S))) {
Store(B2TC, RPDS)
If(RPDS) {
Notify(\_SB.REPL, Zero)
}
Else {
Notify(\_SB.REPL, One)
}
}
}
If(\_SB.PCI0.RP02.PXS2._STA()) {
If(EXIS) {
Notify(\_SB.PCI0.RP02, Zero)
}
}
Else {
If(LNot(EXIS)) {
Notify(\_SB.PCI0.RP02, Zero)
}
}
If(NGTM) {
\_SB.FEXT.FUNC(0x1004, 0x01, 0x04, 0x00)
}
If(\_SB.PCI0.LPCB.DIGI._STA()) {
\_SB.PCI0.LPCB.DIGI._INI()
}
\_SB.PCI0.LPCB.BTNS._INI()
}
Add(0xf0, Arg0, PO80)
Return(Zero)
}
}
/*
MCFG: Length=60, Revision=1, Checksum=39,
OEMID=FUJ, OEM Table ID=FJNB1C5, OEM Revision=0x1130000,
Creator ID=FUJ, Creator Revision=0x100
*/
/*
SSDT: Length=1244, Revision=1, Checksum=11,
OEMID=FUJ, OEM Table ID=FJNB1C5, OEM Revision=0x1130000,
Creator ID=INTL, Creator Revision=0x20050624
*/
/*
SSDT: Length=356, Revision=1, Checksum=50,
OEMID=FUJ, OEM Table ID=FJNB1C5, OEM Revision=0x1130000,
Creator ID=INTL, Creator Revision=0x20050624
*/
/*
SSDT: Length=464, Revision=1, Checksum=87,
OEMID=FUJ, OEM Table ID=FJNB1C5, OEM Revision=0x1130000,
Creator ID=INTL, Creator Revision=0x20050624
*/
/*
APIC: Length=90, Revision=1, Checksum=52,
OEMID=FUJ, OEM Table ID=FJNB1C5, OEM Revision=0x1130000,
Creator ID= LTP, Creator Revision=0x0
*/
/*
HPET: Length=56, Revision=1, Checksum=215,
OEMID=FUJ, OEM Table ID=FJNB1C5, OEM Revision=0x1130000,
Creator ID=FUJ, Creator Revision=0x100
*/
/*
BOOT: Length=40, Revision=1, Checksum=224,
OEMID=FUJ, OEM Table ID=FJNB1C5, OEM Revision=0x1130000,
Creator ID=FUJ, Creator Revision=0x100
*/
/*
SLIC: Length=374, Revision=1, Checksum=43,
OEMID=FUJ, OEM Table ID=PC, OEM Revision=0x1130000,
Creator ID=FUJ, Creator Revision=0x100
*/