From: Hein-Pieter van Braam <hp-KOxqMzujAKlWk0Htik3J/w@public.gmane.org>
To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Compaq 2552EA suspend/resume
Date: Wed, 05 Oct 2005 19:13:25 +0200 [thread overview]
Message-ID: <1128532406.16313.12.camel@localhost.localdomain> (raw)
[-- Attachment #1: Type: text/plain, Size: 1213 bytes --]
Hi all!
I've got a compaq 2552EA laptop, and I have been trying to get suspend
to ram and suspend to disk to work forever, and, well, failed :)
I've patched my DSDT, and it is a little better now, but I think there's
a bit more wrong with it than just syntax :) but.
Anyway, I would really like to debug this problem, either from my DSDT
or from linux's acpi implementation. But, I've got no real clue where to
start. The AML language is pretty simple, but not really understandable
without intimate knowledge of the hardware I feel :)
anyway, what happens when I try to enter S3, is (without patched DSDT)
it tried to resume, then just sits there doing nothing. I can then
switch to another console, and continue working, but I can't suspend
again.
With my patched DSDT it suspends then immediately wakes up again.
Hibernation just crashes during disk write (I think, can't be sure as
there is no output) but the harddisk led just keeps burning without
generating any actual harddisk activity (I can tell because the disks
isn't making 'writing noises') :)
I would really appreciate some pointers as to where to start looking for
trouble. I've attached my dsdt and lspci -v output.
thanks in advance
hp
[-- Attachment #2: lspci.txt --]
[-- Type: text/plain, Size: 4388 bytes --]
0000:00:00.0 Host bridge: ATI Technologies Inc: Unknown device cbb2 (rev 02)
Flags: bus master, 66MHz, medium devsel, latency 64
Memory at d4000000 (32-bit, prefetchable) [size=64M]
Memory at d0007000 (32-bit, prefetchable) [size=4K]
Capabilities: <available only to root>
0000:00:01.0 PCI bridge: ATI Technologies Inc PCI Bridge [IGP 340M] (prog-if 00 [Normal decode])
Flags: bus master, 66MHz, medium devsel, latency 99
Bus: primary=00, secondary=01, subordinate=01, sec-latency=68
I/O behind bridge: 00009000-00009fff
Memory behind bridge: d0300000-d03fffff
Prefetchable memory behind bridge: d8000000-dfffffff
0000:00:06.0 Multimedia audio controller: ALi Corporation M5451 PCI AC-Link Controller Audio Device (rev 02)
Subsystem: Hewlett-Packard Company: Unknown device 0850
Flags: bus master, medium devsel, latency 64, IRQ 5
I/O ports at 1000 [size=256]
Memory at d0000000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <available only to root>
0000:00:07.0 ISA bridge: ALi Corporation M1533 PCI to ISA Bridge [Aladdin IV]
Subsystem: ALi Corporation ALI M1533 Aladdin IV ISA Bridge
Flags: bus master, medium devsel, latency 0
Capabilities: <available only to root>
0000:00:08.0 Modem: ALi Corporation M5457 AC'97 Modem Controller (prog-if 00 [Generic])
Subsystem: Hewlett-Packard Company: Unknown device 0850
Flags: medium devsel, IRQ 10
Memory at d0001000 (32-bit, non-prefetchable) [size=4K]
I/O ports at 1400 [size=256]
Capabilities: <available only to root>
0000:00:09.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 02)
Subsystem: Compaq Computer Corporation: Unknown device 00e7
Flags: bus master, fast devsel, latency 64, IRQ 10
Memory at d0002000 (32-bit, non-prefetchable) [size=8K]
Capabilities: <available only to root>
0000:00:0a.0 CardBus bridge: O2 Micro, Inc. OZ6912 Cardbus Controller
Subsystem: Hewlett-Packard Company: Unknown device 0850
Flags: bus master, stepping, slow devsel, latency 168, IRQ 11
Memory at d0004000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=00, secondary=02, subordinate=05, sec-latency=176
Memory window 0: d0200000-d02ff000 (prefetchable)
Memory window 1: d0100000-d01ff000
I/O window 0: 00001c00-00001cff
I/O window 1: 00001800-000018ff
16-bit legacy interface ports at 0001
0000:00:0b.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 50) (prog-if 00 [UHCI])
Subsystem: Hewlett-Packard Company: Unknown device 0850
Flags: bus master, medium devsel, latency 64, IRQ 10
I/O ports at 2000 [size=32]
Capabilities: <available only to root>
0000:00:0b.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 50) (prog-if 00 [UHCI])
Subsystem: Hewlett-Packard Company: Unknown device 0850
Flags: bus master, medium devsel, latency 64, IRQ 10
I/O ports at 2020 [size=32]
Capabilities: <available only to root>
0000:00:0b.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 51) (prog-if 20 [EHCI])
Subsystem: Hewlett-Packard Company: Unknown device 0850
Flags: bus master, medium devsel, latency 64, IRQ 11
Memory at d0005000 (32-bit, non-prefetchable) [size=256]
Capabilities: <available only to root>
0000:00:10.0 IDE interface: ALi Corporation M5229 IDE (rev c4) (prog-if fa)
Subsystem: Hewlett-Packard Company: Unknown device 0850
Flags: bus master, medium devsel, latency 32
I/O ports at 2040 [size=16]
Capabilities: <available only to root>
0000:00:11.0 Bridge: ALi Corporation M7101 Power Management Controller [PMU]
Subsystem: Hewlett-Packard Company: Unknown device 0850
Flags: medium devsel
0000:00:12.0 Ethernet controller: National Semiconductor Corporation DP83815 (MacPhyter) Ethernet Controller
Subsystem: Hewlett-Packard Company: Unknown device 0850
Flags: bus master, medium devsel, latency 90, IRQ 10
I/O ports at 2400 [size=256]
Memory at d0006000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <available only to root>
0000:01:05.0 VGA compatible controller: ATI Technologies Inc Radeon IGP 340M (prog-if 00 [VGA])
Subsystem: Hewlett-Packard Company: Unknown device 0850
Flags: bus master, stepping, fast Back2Back, 66MHz, medium devsel, latency 66, IRQ 10
Memory at d8000000 (32-bit, prefetchable) [size=128M]
I/O ports at 9000 [size=256]
Memory at d0300000 (32-bit, non-prefetchable) [size=64K]
Capabilities: <available only to root>
[-- Attachment #3: dsdt.dsl --]
[-- Type: text/x-dsl, Size: 204541 bytes --]
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20050902
*
* Disassembly of dsdt.dat, Tue Oct 4 03:17:58 2005
*/
DefinitionBlock ("DSDT.aml", "DSDT", 1, "ATI", "MS2_1535", 100925440)
{
OperationRegion (PORT, SystemIO, 0x80, 0x01)
Field (PORT, ByteAcc, NoLock, Preserve)
{
P80H, 8
}
OperationRegion (PMIO, SystemIO, 0x8000, 0x30)
Field (PMIO, ByteAcc, NoLock, Preserve)
{
PMS1, 16,
PME1, 16,
PMC1, 16,
Offset (0x08),
ATMR, 32,
Offset (0x10),
, 1,
TRDC, 3,
TREN, 1
}
Scope (\_PR)
{
Processor (CPU0, 0x00, 0x00008010, 0x06)
{
Method (_CST, 0, NotSerialized)
{
Return (Package (0x03)
{
0x02,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW, 0x08, 0x00, 0x0000000000000000)
},
0x01,
0x01,
0x03E8
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO, 0x08, 0x00, 0x0000000000008014)
},
0x02,
0x63,
0x01F4
}
})
}
Name (XPCT, Package (0x02)
{
ResourceTemplate ()
{
Register (SystemIO, 0x08, 0x00, 0x00000000000000B1)
},
ResourceTemplate ()
{
Register (SystemIO, 0x08, 0x00, 0x00000000000000B3)
}
})
Name (XPSS, Package (0x02)
{
Package (0x06)
{
0x270F,
0x0001869F,
0x03E7,
0x03E7,
0x99,
0x99
},
Package (0x06)
{
0x270F,
0x0001869F,
0x03E7,
0x03E7,
0x99,
0x99
}
})
Method (XPPC, 0, NotSerialized)
{
Return (0x00)
}
}
}
Method (VTOB, 1, NotSerialized)
{
Store (0x01, Local0)
ShiftLeft (Local0, Arg0, Local0)
Return (Local0)
}
Method (BTOV, 1, NotSerialized)
{
ShiftRight (Arg0, 0x01, Local0)
Store (0x00, Local1)
While (Local0)
{
Increment (Local1)
ShiftRight (Local0, 0x01, Local0)
}
Return (Local1)
}
Method (MKWD, 2, NotSerialized)
{
If (And (Arg1, 0x80))
{
Store (0xFFFF0000, Local0)
}
Else
{
Store (Zero, Local0)
}
Or (Local0, Arg0, Local0)
Or (Local0, ShiftLeft (Arg1, 0x08), Local0)
Return (Local0)
}
Method (GBFE, 3, NotSerialized)
{
CreateByteField (Arg0, Arg1, TIDX)
Store (TIDX, Arg2)
}
Method (PBFE, 3, NotSerialized)
{
CreateByteField (Arg0, Arg1, TIDX)
Store (Arg2, TIDX)
}
Method (ITOS, 1, NotSerialized)
{
Store (Buffer (0x09)
{
0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00
}, Local0)
Store (Buffer (0x11)
{
"0123456789ABCDEF"
}, Local7)
Store (0x08, Local1)
Store (0x00, Local2)
Store (0x00, Local3)
While (Local1)
{
Decrement (Local1)
And (ShiftRight (Arg0, ShiftLeft (Local1, 0x02)), 0x0F, Local4)
If (Local4)
{
Store (Ones, Local3)
}
If (Local3)
{
GBFE (Local7, Local4, RefOf (Local5))
PBFE (Local0, Local2, Local5)
Increment (Local2)
}
}
Return (Local0)
}
Name (_S0, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
Name (_S3, Package (0x04)
{
0x03,
0x03,
0x00,
0x00
})
Name (_S4, Package (0x04)
{
0x04,
0x04,
0x00,
0x00
})
Name (_S5, Package (0x04)
{
0x05,
0x05,
0x00,
0x00
})
Scope (\_SB)
{
Name (ECEN, 0x00)
Name (WLMF, 0x00)
Name (ACCG, 0x00)
Name (Q8CD, 0x00)
Name (PRCT, 0x00)
Method (ECOK, 0, NotSerialized)
{
If (ECEN)
{
Return (0x01)
}
Else
{
Return (0x00)
}
}
Method (_INI, 0, NotSerialized)
{
\_TZ.TINI ()
If (CondRefOf (\_OSI, Local0))
{
If (\_OSI ("Windows 2001"))
{
Store (0x04, \_SB.PCI0.ISA.TOOS)
}
}
Else
{
Store (SizeOf (\_OS), Local0)
If (LEqual (Local0, 0x14))
{
Store (0x03, \_SB.PCI0.ISA.TOOS)
}
If (LEqual (Local0, 0x26))
{
Store (0x02, \_SB.PCI0.ISA.TOOS)
}
If (LEqual (Local0, 0x11))
{
Store (0x01, \_SB.PCI0.ISA.TOOS)
}
}
}
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A03"))
Name (_ADR, 0x00)
Name (_PRW, Package (0x02)
{
0x09,
0x05
})
Name (_BBN, 0x00)
OperationRegion (MREG, PCI_Config, 0xB8, 0x14)
Field (MREG, ByteAcc, NoLock, Preserve)
{
CS0, 8,
CS1, 8,
CS2, 8,
CS3, 8,
Offset (0x10),
FBSL, 8,
FBSM, 8
}
Method (TOM, 0, NotSerialized)
{
Multiply (FBSL, 0x00010000, Local0)
Multiply (FBSM, 0x01000000, Local1)
Add (Local0, Local1, Local0)
Return (Local0)
}
OperationRegion (REGS, PCI_Config, 0x59, 0x3B)
Field (REGS, ByteAcc, NoLock, Preserve)
{
SR59, 8,
SR5A, 8,
SR5B, 8,
SR5C, 8,
SR5D, 8,
SR5E, 8,
SR5F, 8,
Offset (0x39),
SR92, 8,
SR93, 8
}
Name (RSRC, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, SubDecode,
0x0000, // Address Space Granularity
0x0000, // Address Range Minimum
0x00FF, // Address Range Maximum
0x0000, // Address Translation Offset
0x0100,,,)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x000A0000, // Address Range Minimum
0x000BFFFF, // Address Range Maximum
0x00000000, // Address Translation Offset
0x00020000,,,
, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x000C0000, // Address Range Minimum
0x000C3FFF, // Address Range Maximum
0x00000000, // Address Translation Offset
0x00004000,,,
, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x000C4000, // Address Range Minimum
0x000C7FFF, // Address Range Maximum
0x00000000, // Address Translation Offset
0x00004000,,,
, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x000C8000, // Address Range Minimum
0x000CBFFF, // Address Range Maximum
0x00000000, // Address Translation Offset
0x00004000,,,
, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x000CC000, // Address Range Minimum
0x000CFFFF, // Address Range Maximum
0x00000000, // Address Translation Offset
0x00004000,,,
, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x000D0000, // Address Range Minimum
0x000D3FFF, // Address Range Maximum
0x00000000, // Address Translation Offset
0x00004000,,,
, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x000D4000, // Address Range Minimum
0x000D7FFF, // Address Range Maximum
0x00000000, // Address Translation Offset
0x00004000,,,
, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x000D8000, // Address Range Minimum
0x000DBFFF, // Address Range Maximum
0x00000000, // Address Translation Offset
0x00004000,,,
, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x000DC000, // Address Range Minimum
0x000DFFFF, // Address Range Maximum
0x00000000, // Address Translation Offset
0x00004000,,,
, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x000E0000, // Address Range Minimum
0x000E3FFF, // Address Range Maximum
0x00000000, // Address Translation Offset
0x00004000,,,
, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x000E4000, // Address Range Minimum
0x000E7FFF, // Address Range Maximum
0x00000000, // Address Translation Offset
0x00004000,,,
, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x000E8000, // Address Range Minimum
0x000EBFFF, // Address Range Maximum
0x00000000, // Address Translation Offset
0x00004000,,,
, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x000EC000, // Address Range Minimum
0x000EFFFF, // Address Range Maximum
0x00000000, // Address Translation Offset
0x00004000,,,
, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x00000000, // Address Range Minimum
0xFFFDFFFF, // Address Range Maximum
0x00000000, // Address Translation Offset
0x00000000,,,
, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x000D0000, // Address Range Minimum
0x000D7FFF, // Address Range Maximum
0x00000000, // Address Translation Offset
0x00008000,,,
, AddressRangeMemory, TypeStatic)
IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Address Space Granularity
0x0000, // Address Range Minimum
0x0CF7, // Address Range Maximum
0x0000, // Address Translation Offset
0x0CF8,,,
, TypeStatic)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Address Space Granularity
0x0D00, // Address Range Minimum
0xFFFF, // Address Range Maximum
0x0000, // Address Translation Offset
0xF300,,,
, TypeStatic)
})
Method (_CRS, 0, Serialized)
{
CreateBitField (RSRC, 0x0188, C0RW)
CreateDWordField (RSRC, 0x42, C0LN)
Store (One, C0RW)
Store (0x4000, C0LN)
If (And (SR5A, 0x01))
{
Store (0x00, C0LN)
}
CreateBitField (RSRC, 0x0260, C4RW)
CreateDWordField (RSRC, 0x5D, C4LN)
Store (One, C4RW)
Store (0x4000, C4LN)
If (And (SR5A, 0x10))
{
Store (0x00, C4LN)
}
CreateBitField (RSRC, 0x0338, C8RW)
CreateDWordField (RSRC, 0x78, C8LN)
Store (One, C8RW)
Store (0x4000, C8LN)
If (And (SR5B, 0x01))
{
Store (0x00, C8LN)
}
CreateBitField (RSRC, 0x0410, CCRW)
CreateDWordField (RSRC, 0x93, CCLN)
Store (One, CCRW)
Store (0x4000, CCLN)
If (And (SR5B, 0x10))
{
Store (0x00, CCLN)
}
CreateBitField (RSRC, 0x04E8, D0RW)
CreateDWordField (RSRC, 0xAE, D0LN)
Store (One, D0RW)
Store (0x4000, D0LN)
If (And (SR5C, 0x01))
{
Store (0x00, D0LN)
}
CreateBitField (RSRC, 0x05C0, D4RW)
CreateDWordField (RSRC, 0xC9, D4LN)
Store (One, D4RW)
Store (0x4000, D4LN)
If (And (SR5C, 0x10))
{
Store (0x00, D4LN)
}
CreateBitField (RSRC, 0x0698, D8RW)
CreateDWordField (RSRC, 0xE4, D8LN)
Store (One, D8RW)
Store (0x4000, D8LN)
If (And (SR5D, 0x01))
{
Store (0x00, D8LN)
}
CreateBitField (RSRC, 0x0770, DCRW)
CreateDWordField (RSRC, 0xFF, DCLN)
Store (One, DCRW)
Store (0x4000, DCLN)
If (And (SR5D, 0x10))
{
Store (0x00, DCLN)
}
CreateBitField (RSRC, 0x0848, E0RW)
CreateDWordField (RSRC, 0x011A, E0LN)
Store (One, E0RW)
Store (0x4000, E0LN)
If (And (SR5E, 0x01))
{
Store (0x00, E0LN)
}
CreateBitField (RSRC, 0x0920, E4RW)
CreateDWordField (RSRC, 0x0135, E4LN)
Store (One, E4RW)
Store (0x4000, E4LN)
If (And (SR5E, 0x10))
{
Store (0x00, E4LN)
}
CreateBitField (RSRC, 0x09F8, E8RW)
CreateDWordField (RSRC, 0x0150, E8LN)
Store (One, E8RW)
Store (0x4000, E8LN)
If (And (SR5F, 0x01))
{
Store (0x00, E8LN)
}
CreateBitField (RSRC, 0x0AD0, ECRW)
CreateDWordField (RSRC, 0x016B, ECLN)
Store (One, ECRW)
Store (0x4000, ECLN)
If (And (SR5F, 0x10))
{
Store (0x00, ECLN)
}
CreateDWordField (RSRC, 0x017A, BTMN)
CreateDWordField (RSRC, 0x017E, BTMX)
CreateDWordField (RSRC, 0x0186, BTLN)
Multiply (SR92, 0x00010000, Local0)
Multiply (SR93, 0x01000000, Local1)
Add (Local0, Local1, BTMN)
Subtract (0xFFF80000, BTMN, BTLN)
Subtract (Add (BTMN, BTLN), 0x01, BTMX)
Return (RSRC)
}
Name (_PRT, Package (0x0A)
{
Package (0x04)
{
0x0006FFFF,
0x00,
\_SB.PCI0.ISA.LNK7,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x00,
\_SB.PCI0.ISA.LNK6,
0x00
},
Package (0x04)
{
0x0009FFFF,
0x00,
\_SB.PCI0.ISA.LNK3,
0x00
},
Package (0x04)
{
0x0009FFFF,
0x01,
\_SB.PCI0.ISA.LNK2,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x00,
\_SB.PCI0.ISA.LNK5,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x00,
\_SB.PCI0.ISA.LNK2,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x01,
\_SB.PCI0.ISA.LNK3,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x02,
\_SB.PCI0.ISA.LNK5,
0x00
},
Package (0x04)
{
0x000CFFFF,
0x00,
\_SB.PCI0.ISA.LNK2,
0x00
},
Package (0x04)
{
0x0012FFFF,
0x00,
\_SB.PCI0.ISA.LNK1,
0x00
}
})
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Device (AGPB)
{
Name (_ADR, 0x00010000)
Name (_PRT, Package (0x01)
{
Package (0x04)
{
0x0005FFFF,
0x00,
\_SB.PCI0.ISA.LNK0,
0x00
}
})
Device (VGA)
{
Name (_ADR, 0x00050000)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
Store (0x00, _PSC)
}
Method (_PS1, 0, NotSerialized)
{
Store (0x01, _PSC)
}
Method (_PS2, 0, NotSerialized)
{
Store (0x02, _PSC)
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
Name (DISW, 0x01)
Name (NDSP, 0x00)
Name (VRSM, 0x00)
Name (TGLT, Package (0x04)
{
Package (0x08)
{
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01
},
Package (0x08)
{
0x01,
0x02,
0x03,
0x01,
0x01,
0x01,
0x01,
0x01
},
Package (0x08)
{
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01
},
Package (0x08)
{
0x01,
0x02,
0x03,
0x01,
0x01,
0x01,
0x01,
0x01
}
})
Name (TGLP, 0x00)
Method (NDGS, 0, NotSerialized)
{
ShiftRight (And (^LCD._DCS, 0x02), 0x01, Local0)
Or (Local0, And (^CRT._DCS, 0x02), Local0)
Or (Local0, ShiftLeft (And (^TV._DCS, 0x02), 0x01), Local0)
Store (DerefOf (Index (DerefOf (Index (TGLT, TGLP)), Local0)), Local1)
And (Local1, 0x01, ^LCD._DGS)
ShiftRight (And (Local1, 0x02), 0x01, ^CRT._DGS)
ShiftRight (And (Local1, 0x04), 0x02, ^TV._DGS)
}
Method (USTS, 1, NotSerialized)
{
Store (\_SB.PCI0.ISA.HPSS (0x0F, 0x00), Local0)
And (Local0, 0x0F, Local1)
If (LEqual (Local1, 0x03))
{
Store (0x01, TGLP)
}
Else
{
If (LEqual (Local1, 0x05))
{
Store (0x02, TGLP)
}
Else
{
If (LEqual (Local1, 0x07))
{
Store (0x03, TGLP)
}
Else
{
Store (0x00, TGLP)
}
}
}
Or (ShiftRight (And (Local0, 0x10), 0x03), And (^LCD._DCS, 0xFD), ^LCD._DCS)
Or (Or (ShiftLeft (And (Local0, 0x02), 0x03), ShiftRight (And (Local0, 0x20), 0x04)), And (^CRT._DCS, 0xED), ^CRT._DCS)
Or (Or (ShiftLeft (And (Local0, 0x04), 0x02), ShiftRight (And (Local0, 0x40), 0x05)), And (^TV._DCS, 0xED), ^TV._DCS)
Return (Local0)
}
Method (_INI, 0, NotSerialized)
{
Store (USTS (0x00), Local1)
Or (ShiftRight (And (Local1, 0x10), 0x03), 0x1D, ^LCD._DCS)
Or (Or (ShiftLeft (And (Local1, 0x02), 0x03), ShiftRight (And (Local1, 0x20), 0x04)), 0x0D, ^CRT._DCS)
Or (Or (ShiftLeft (And (Local1, 0x04), 0x02), ShiftRight (And (Local1, 0x40), 0x05)), 0x0D, ^TV._DCS)
ShiftRight (Local1, 0x04, NDSP)
Store (ShiftRight (And (^LCD._DCS, 0x02), 0x01), ^LCD._DGS)
Store (ShiftRight (And (^CRT._DCS, 0x02), 0x01), ^CRT._DGS)
Store (ShiftRight (And (^TV._DCS, 0x02), 0x01), ^TV._DGS)
NDGS ()
}
Method (_DOS, 1, NotSerialized)
{
If (LAnd (LEqual (And (Arg0, 0x03), 0x00), LEqual (And (DISW, 0x03), 0x02)))
{
Notify (\_SB.PCI0.ISA.HPCI, 0x89)
}
Store (Arg0, DISW)
}
Method (_DOD, 0, NotSerialized)
{
Return (Package (0x03)
{
0x00010100,
0x00010110,
0x00010200
})
}
Method (DRUL, 1, NotSerialized)
{
If (LEqual (Arg0, 0x01))
{
Store (USTS (0x01), Local2)
}
Else
{
Store (USTS (0x00), Local2)
}
If (LEqual (Arg0, 0x01))
{
NDGS ()
If (LOr (LAnd (^CRT._DGS, LNot (And (^CRT._DCS, 0x10))), LAnd (^TV._DGS, LNot (And (^TV._DCS, 0x10)))))
{
NDGS ()
Return (0x00)
}
Else
{
Notify (VGA, 0x80)
Return (0x00)
}
}
If (LEqual (Arg0, 0x02))
{
If (And (Local2, 0x02))
{
Store (0x01, ^CRT._DGS)
If (\_SB.PCI0.ISA.DISB)
{
Store (0x01, ^LCD._DGS)
}
Else
{
Store (0x00, ^LCD._DGS)
}
Store ("CRT Connected VGA.DRUL(2) called", Debug)
}
Else
{
Store (0x00, ^CRT._DGS)
Store (0x01, ^LCD._DGS)
Store ("CRT DisConnected VGA.DRUL(2) called", Debug)
}
Notify (VGA, 0x80)
}
If (LEqual (Arg0, 0x04))
{
Store (0x00, ^CRT._DGS)
Store (0x01, ^LCD._DGS)
Notify (VGA, 0x80)
}
If (LEqual (Arg0, 0x03))
{
If (LNot (LEqual (Local2, 0x02)))
{
If (And (Local2, 0x02))
{
Store (0x01, ^CRT._DGS)
If (\_SB.PCI0.ISA.DISB)
{
Store (0x01, ^LCD._DGS)
}
Else
{
Store (0x00, ^LCD._DGS)
}
}
Else
{
Store (0x00, ^CRT._DGS)
Store (0x01, ^LCD._DGS)
}
Store ("Resume VGA.DRUL(3) called", Debug)
Notify (VGA, 0x80)
}
}
If (LEqual (Arg0, 0x04))
{
Notify (VGA, 0x80)
Return (0x00)
}
Return (0x00)
}
Device (LCD)
{
Name (_ADR, 0x0110)
Name (_PSC, 0x00)
Name (_S3D, 0x03)
Method (_PS0, 0, NotSerialized)
{
If (LAnd (LAnd (VRSM, LNot (^^CRT._PSC)), LNot (^^TV._PSC)))
{
If (_PSC)
{
DRUL (0x03)
}
Store (0x00, VRSM)
}
Store (0x00, _PSC)
}
Method (_PS1, 0, NotSerialized)
{
Store (0x01, _PSC)
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
Name (_DCS, 0x1B)
Method (_DSS, 1, NotSerialized)
{
Store (Arg0, Local0)
If (And (Local0, 0x01))
{
Store ("LCD._DSS(1) called", Debug)
Or (NDSP, 0x01, NDSP)
}
Else
{
Store ("LCD._DSS(0) called", Debug)
And (NDSP, 0xFE, NDSP)
}
And (Local0, 0xC0000000, Local0)
If (LEqual (Local0, 0x80000000))
{
Store ("LCD._DSS(8000000x) called", Debug)
\_SB.PCI0.ISA.HPSS (0x01, NDSP)
}
And (Local0, 0x80000000, Local0)
If (LNot (LEqual (Local0, 0x00)))
{
Store ("LCD._DSS, update next _DGS", Debug)
Or (And (^^LCD._DCS, 0xFD), ShiftLeft (And (NDSP, 0x01), 0x01), ^^LCD._DCS)
Or (And (^^CRT._DCS, 0xFD), And (NDSP, 0x02), ^^CRT._DCS)
Or (And (^^TV._DCS, 0xFD), ShiftRight (And (NDSP, 0x04), 0x01), ^^TV._DCS)
}
}
Name (_DGS, 0x00)
}
Device (CRT)
{
Name (_ADR, 0x0100)
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
If (LAnd (LAnd (VRSM, LNot (^^LCD._PSC)), LNot (^^TV._PSC)))
{
If (_PSC)
{
DRUL (0x03)
}
Store (0x00, VRSM)
}
Store (0x00, _PSC)
}
Method (_PS1, 0, NotSerialized)
{
Store (0x01, _PSC)
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
Name (_DCS, 0x1B)
Method (_DSS, 1, NotSerialized)
{
Store (Arg0, Local0)
If (And (Local0, 0x01))
{
Store ("CRT._DSS(1) called", Debug)
Or (NDSP, 0x02, NDSP)
}
Else
{
Store ("CRT._DSS(0) called", Debug)
And (NDSP, 0xFD, NDSP)
}
And (Local0, 0xC0000000, Local0)
If (LEqual (Local0, 0x80000000))
{
Store ("CRT._DSS(8000000x) called", Debug)
\_SB.PCI0.ISA.HPSS (0x01, NDSP)
}
And (Local0, 0x80000000, Local0)
If (LNot (LEqual (Local0, 0x00)))
{
Store ("CRT._DSS, update next _DGS", Debug)
Or (And (^^LCD._DCS, 0xFD), ShiftLeft (And (NDSP, 0x01), 0x01), ^^LCD._DCS)
Or (And (^^CRT._DCS, 0xFD), And (NDSP, 0x02), ^^CRT._DCS)
Or (And (^^TV._DCS, 0xFD), ShiftRight (And (NDSP, 0x04), 0x01), ^^TV._DCS)
}
}
Name (_DGS, 0x00)
}
Device (TV)
{
Name (_ADR, 0x0200)
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
If (LAnd (LAnd (VRSM, LNot (^^CRT._PSC)), LNot (^^LCD._PSC)))
{
If (_PSC)
{
DRUL (0x03)
}
Store (0x00, VRSM)
}
Store (0x00, _PSC)
}
Method (_PS1, 0, NotSerialized)
{
Store (0x01, _PSC)
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
Name (_DCS, 0x1B)
Method (_DSS, 1, NotSerialized)
{
Store (Arg0, Local0)
If (And (Local0, 0x01))
{
Store ("TV_._DSS(1) called", Debug)
Or (NDSP, 0x04, NDSP)
}
Else
{
Store ("TV_._DSS(0) called", Debug)
And (NDSP, 0xFB, NDSP)
}
And (Local0, 0xC0000000, Local0)
If (LEqual (Local0, 0x80000000))
{
Store ("TV_._DSS(8000000x) called", Debug)
\_SB.PCI0.ISA.HPSS (0x01, NDSP)
}
And (Local0, 0x80000000, Local0)
If (LNot (LEqual (Local0, 0x00)))
{
Store ("TV_._DSS, update next _DGS", Debug)
Or (And (^^LCD._DCS, 0xFD), ShiftLeft (And (NDSP, 0x01), 0x01), ^^LCD._DCS)
Or (And (^^CRT._DCS, 0xFD), And (NDSP, 0x02), ^^CRT._DCS)
Or (And (^^TV._DCS, 0xFD), ShiftRight (And (NDSP, 0x04), 0x01), ^^TV._DCS)
}
}
Name (_DGS, 0x00)
}
}
}
Device (IDE)
{
Name (_ADR, 0x00100000)
Name (UDMT, Package (0x08)
{
0x1E,
0x2D,
0x3C,
0x5A,
0x78,
0x78,
0x78,
0x14
})
Name (PIOT, Package (0x05)
{
0x78,
0xB4,
0xF0,
0x017F,
0x0258
})
Name (PIOC, Package (0x05)
{
0x04,
0x06,
0x08,
0x0D,
0x10
})
Name (CBCT, Package (0x05)
{
0x31,
0x33,
0x01,
0x03,
0x0A
})
Name (DACT, Package (0x05)
{
0x03,
0x03,
0x04,
0x05,
0x08
})
Name (DRCT, Package (0x05)
{
0x01,
0x03,
0x04,
0x08,
0x08
})
Name (PXLM, Package (0x05)
{
0x02,
0x01,
0x00,
0x00,
0x00
})
OperationRegion (PCI, PCI_Config, 0x00, 0x60)
Field (PCI, ByteAcc, NoLock, Preserve)
{
Offset (0x09),
, 4,
SCHE, 1,
PCHE, 1,
Offset (0x0A),
Offset (0x0D),
Offset (0x4B),
U66E, 1,
Offset (0x4C),
Offset (0x53),
CDFI, 1,
CDUD, 1,
Offset (0x54),
PFTH, 8,
SFTH, 8,
PUDC, 8,
SUDC, 8,
PAST, 8,
PCBT, 8,
PTM0, 8,
PTM1, 8,
SAST, 8,
SCBT, 8,
STM0, 8,
STM1, 8
}
Method (STM, 3, NotSerialized)
{
Name (A100, 0x00)
Store (Buffer (0x06)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00
}, Local7)
CreateByteField (Local7, 0x00, TM0)
CreateByteField (Local7, 0x01, TM1)
CreateByteField (Local7, 0x02, UDC)
CreateByteField (Local7, 0x03, AST)
CreateByteField (Local7, 0x04, CBT)
CreateByteField (Local7, 0x05, U66)
CreateDWordField (Arg0, 0x00, PIO0)
CreateDWordField (Arg0, 0x04, DMA0)
CreateDWordField (Arg0, 0x08, PIO1)
CreateDWordField (Arg0, 0x0C, DMA1)
CreateDWordField (Arg0, 0x10, FLAG)
Store (FLAG, Local6)
Name (W49M, 0x00)
Name (W53M, 0x00)
Name (W62M, 0x00)
Name (W64M, 0x00)
Name (W88M, 0x00)
If (LEqual (SizeOf (Arg1), 0x0200))
{
CreateDWordField (Arg1, 0x62, W49A)
CreateDWordField (Arg1, 0x6A, W53A)
CreateDWordField (Arg1, 0x7C, W62A)
CreateDWordField (Arg1, 0x80, W64A)
CreateDWordField (Arg1, 0xB0, W88A)
Store (W49A, W49M)
Store (W53A, W53M)
Store (W62A, W62M)
Store (W64A, W64M)
Store (W88A, W88M)
}
Else
{
Store (0x00, W49M)
Store (0x00, W53M)
Store (0x00, W62M)
Store (0x00, W64M)
Store (0x00, W88M)
}
If (LAnd (And (0x38, W88M), Ones))
{
Or (0x01, Local6, Local6)
If (And (0x20, W88M))
{
Store (0x08, DMA0)
Or (A100, 0x00100010, A100)
}
Else
{
If (And (0x10, W88M))
{
Store (0x1E, DMA0)
Or (A100, 0x10, A100)
}
Else
{
Store (0x2D, DMA0)
}
}
}
Else
{
If (And (0x07, W88M))
{
Or (0x0100, A100, A100)
If (And (0x04, W88M))
{
Store (0x3C, DMA0)
}
Else
{
If (And (0x02, W88M))
{
Store (0x5A, DMA0)
}
Else
{
Store (0x78, DMA0)
}
}
}
}
Store (Ones, Local4)
If (LOr (DMA0, PIO0))
{
If (LAnd (DMA0, LNot (PIO0)))
{
If (And (Local6, 0x01))
{
If (LLess (DMA0, 0x1E))
{
Store (0x07, Local0)
}
Else
{
Store (Match (^UDMT, MGE, DMA0, MTR, 0x00, 0x00), Local0)
}
Or (Local0, 0x08, UDC)
If (LLess (DMA0, 0x3C))
{
Store (One, U66)
}
}
Store (Match (^PIOT, MGE, DMA0, MTR, 0x00, 0x00), Local0)
Store (DerefOf (Index (^DACT, Local0)), Local2)
Store (DerefOf (Index (^DRCT, Local0)), Local3)
Add (Local3, ShiftLeft (Local2, 0x04), TM0)
Store (Local0, Local4)
}
If (LAnd (LNot (DMA0), PIO0))
{
Store (Match (^PIOT, MGE, PIO0, MTR, 0x00, 0x00), Local0)
Store (DerefOf (Index (^DACT, Local0)), Local2)
Store (DerefOf (Index (^DRCT, Local0)), Local3)
Add (Local3, ShiftLeft (Local2, 0x04), TM0)
Store (Local0, Local4)
}
If (LAnd (DMA0, PIO0))
{
If (And (Local6, 0x01))
{
If (LLess (DMA0, 0x1E))
{
Store (0x07, Local0)
}
Else
{
Store (Match (^UDMT, MGE, DMA0, MTR, 0x00, 0x00), Local0)
}
Or (Local0, 0x08, UDC)
If (LLess (DMA0, 0x3C))
{
Store (One, U66)
}
}
If (LNot (LLess (PIO0, DMA0)))
{
Store (Match (^PIOT, MGE, PIO0, MTR, 0x00, 0x00), Local0)
Store (Local0, Local4)
}
Else
{
Store (Match (^PIOT, MGE, DMA0, MTR, 0x00, 0x00), Local0)
Store (Local0, Local4)
}
Store (DerefOf (Index (^DACT, Local0)), Local2)
Store (DerefOf (Index (^DRCT, Local0)), Local3)
Add (Local3, ShiftLeft (Local2, 0x04), TM0)
}
}
Store (Ones, Local5)
If (LEqual (Local4, Ones))
{
If (LEqual (Local5, Ones))
{
Store (Zero, CBT)
}
Else
{
Store (DerefOf (Index (^CBCT, Local5)), CBT)
}
}
Else
{
If (LEqual (Local5, Ones))
{
Store (DerefOf (Index (^CBCT, Local4)), CBT)
}
Else
{
If (LNot (LLess (Local4, Local5)))
{
Store (DerefOf (Index (^CBCT, Local4)), CBT)
}
Else
{
Store (DerefOf (Index (^CBCT, Local5)), CBT)
}
}
}
Store (0x02, AST)
Return (Local7)
}
Method (GTF0, 3, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local7)
CreateByteField (Local7, 0x01, MODE)
If (And (Arg1, 0x08))
{
And (Arg1, 0x07, Local0)
If (LEqual (Local0, 0x07))
{
Store (0x05, MODE)
}
Else
{
Subtract (0x04, Local0, MODE)
}
Or (MODE, 0x40, MODE)
}
Else
{
And (Arg2, 0x0F, Local0)
Store (Match (^DRCT, MEQ, Local0, MTR, 0x00, 0x00), Local1)
Store (DerefOf (Index (^PXLM, Local1)), MODE)
Or (MODE, 0x20, MODE)
}
Concatenate (Local7, Local7, Local6)
And (Arg2, 0x0F, Local0)
Store (Match (^DRCT, MEQ, Local0, MTR, 0x00, 0x00), Local1)
Subtract (0x04, Local1, MODE)
Or (MODE, 0x08, MODE)
Concatenate (Local6, Local7, Local5)
Return (Local5)
}
Device (PRIM)
{
Name (_ADR, 0x00)
Name (_PSC, 0x00)
OperationRegion (HDIO, SystemIO, 0x01F0, 0x08)
Field (HDIO, ByteAcc, NoLock, Preserve)
{
Offset (0x01),
Offset (0x02),
Offset (0x03),
Offset (0x04),
Offset (0x05),
Offset (0x06),
HDSL, 8,
HDCM, 8
}
Method (_PS0, 0, NotSerialized)
{
Store (0x00, _PSC)
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
Method (_GTM, 0, NotSerialized)
{
Store ("GTM - Primary Controller", Debug)
Return (Buffer (0x14)
{
0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
0x1F, 0x00, 0x00, 0x00
})
}
Method (_STM, 3, NotSerialized)
{
Store ("STM - Primary Controller", Debug)
Store (^^STM (Arg0, Arg1, Arg2), Local0)
CreateByteField (Local0, 0x00, TM0)
CreateByteField (Local0, 0x01, TM1)
CreateByteField (Local0, 0x02, UDC)
CreateByteField (Local0, 0x03, AST)
CreateByteField (Local0, 0x04, CBT)
CreateByteField (Local0, 0x05, U66)
Store (TM0, ^^PTM0)
Store (TM1, ^^PTM1)
Store (UDC, ^^PUDC)
Store (AST, ^^PAST)
Store (CBT, ^^PCBT)
If (U66)
{
Store (U66, ^^U66E)
}
Store (0x55, ^^PFTH)
}
Device (MAST)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store ("GTF - Primary Master", Debug)
Store (^^^GTF0 (^^^PCHE, ^^^PUDC, ^^^PTM0), Local0)
Return (Local0)
}
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
Store (0x00, _PSC)
}
Method (_PS3, 0, NotSerialized)
{
\_SB.PCI0.ISA.Z000 (0x02)
Store (0x03, _PSC)
Sleep (0x03E8)
}
}
}
Device (SECN)
{
Name (_ADR, 0x01)
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
Store (0x00, _PSC)
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
Method (_GTM, 0, NotSerialized)
{
Store ("GTM - Secondary Controller", Debug)
Return (Buffer (0x14)
{
0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
0x1F, 0x00, 0x00, 0x00
})
}
Method (_STM, 3, NotSerialized)
{
Store ("STM - Secondary Controller", Debug)
Store (^^STM (Arg0, Arg1, Arg2), Local0)
CreateByteField (Local0, 0x00, TM0)
CreateByteField (Local0, 0x01, TM1)
CreateByteField (Local0, 0x02, UDC)
CreateByteField (Local0, 0x03, AST)
CreateByteField (Local0, 0x04, CBT)
CreateByteField (Local0, 0x05, U66)
Store (TM0, ^^STM0)
Store (TM1, ^^STM1)
Store (UDC, ^^SUDC)
Store (AST, ^^SAST)
Store (CBT, ^^SCBT)
If (U66)
{
Store (U66, ^^U66E)
}
Store (0x55, ^^SFTH)
}
Device (MAST)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store ("GTF - Secondary Master", Debug)
Store (^^^GTF0 (^^^SCHE, ^^^SUDC, ^^^STM0), Local0)
Return (Local0)
}
Method (_PS0, 0, NotSerialized)
{
Store (0x00, _PSC)
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
Name (_PSC, 0x00)
}
}
}
Device (MDEM)
{
Name (_ADR, 0x00080000)
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
}
Device (AUDI)
{
Name (_ADR, 0x00060000)
}
Device (LAN)
{
Name (_ADR, 0x00120000)
Name (_PRW, Package (0x02)
{
0x09,
0x05
})
Method (_PSW, 1, NotSerialized)
{
If (\_SB.ECOK ())
{
Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF)
If (Arg0)
{
Store (0x01, \_SB.PCI0.ISA.EC0.WOLE)
}
Else
{
Store (0x00, \_SB.PCI0.ISA.EC0.WOLE)
}
Release (\_SB.PCI0.ISA.EC0.MUT1)
}
}
}
Device (IEEE)
{
Name (_ADR, 0x000C0000)
}
Device (CBUS)
{
Name (_ADR, 0x000A0000)
}
Device (MINI)
{
Name (_ADR, 0x00090000)
}
Device (UB20)
{
Name (_ADR, 0x000B0000)
}
Device (ISA)
{
Name (_ADR, 0x00070000)
OperationRegion (Z001, PCI_Config, 0x44, 0x01)
Field (Z001, ByteAcc, NoLock, Preserve)
{
, 7,
Z002, 1
}
OperationRegion (ISAR, PCI_Config, 0x00, 0x9F)
Field (ISAR, ByteAcc, NoLock, Preserve)
{
Offset (0x77),
, 6,
MDNE, 1,
Offset (0x7E),
, 7,
USB2, 1
}
OperationRegion (MNVS, SystemMemory, 0x1BF7CE1D, 0x10)
Field (MNVS, AnyAcc, Lock, Preserve)
{
TOOS, 8,
LIDS, 8,
ACST, 8,
TV, 1,
FIR, 1,
COMM, 1,
LPT, 1
}
OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002)
Field (SMI0, AnyAcc, NoLock, Preserve)
{
SMIC, 8
}
OperationRegion (SMI1, SystemMemory, 0x1BF7CE2D, 0x00000120)
Field (SMI1, AnyAcc, NoLock, Preserve)
{
BCMD, 8,
DID, 32,
INFO, 2048
}
Field (SMI1, AnyAcc, NoLock, Preserve)
{
AccessAs (ByteAcc, 0x00),
Offset (0x05),
INF, 8
}
Field (SMI1, AnyAcc, NoLock, Preserve)
{
AccessAs (ByteAcc, 0x00),
Offset (0x05),
STSB, 8
}
Field (SMI1, AnyAcc, NoLock, Preserve)
{
Offset (0x05),
PNLR, 32
}
Field (SMI1, AnyAcc, NoLock, Preserve)
{
Offset (0x105),
BDST, 8
}
Field (SMI1, AnyAcc, NoLock, Preserve)
{
Offset (0x106),
DKSN, 32
}
Field (SMI1, AnyAcc, NoLock, Preserve)
{
Offset (0x10A),
DKTP, 8
}
Field (SMI1, AnyAcc, NoLock, Preserve)
{
Offset (0x10B),
VGAB, 32
}
Field (SMI1, AnyAcc, NoLock, Preserve)
{
Offset (0x10F),
WOLE, 1,
DISB, 1,
PA3G, 1,
FDDS, 1,
POPS, 1,
FIRS, 1,
PCPU, 1
}
Mutex (PSMX, 0x00)
Method (HPSS, 2, NotSerialized)
{
Acquire (\_SB.PCI0.ISA.PSMX, 0xFFFF)
Store (Arg1, STSB)
Store (0x80, BCMD)
Store (Arg0, DID)
Store (Zero, SMIC)
Store (STSB, Local0)
Release (\_SB.PCI0.ISA.PSMX)
Return (Local0)
}
Method (Z000, 1, NotSerialized)
{
Acquire (\_SB.PCI0.ISA.PSMX, 0xFFFF)
Store (0x90, BCMD)
Store (Arg0, DID)
Store (Zero, SMIC)
Release (\_SB.PCI0.ISA.PSMX)
}
OperationRegion (PUSB, PCI_Config, 0x74, 0x01)
Field (PUSB, ByteAcc, NoLock, Preserve)
{
PIR8, 4,
Offset (0x01)
}
OperationRegion (PIRX, PCI_Config, 0x48, 0x04)
Field (PIRX, ByteAcc, NoLock, Preserve)
{
PIR0, 4,
PIR1, 4,
PIR2, 4,
PIR3, 4,
PIR4, 4,
PIR5, 4,
PIR6, 4,
PIR7, 4
}
Name (IPRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {7,10}
})
Name (Z003, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {5}
})
Name (Z004, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {7,11}
})
Name (IXLT, Package (0x10)
{
0x00,
0x0200,
0x08,
0x0400,
0x10,
0x20,
0x80,
0x40,
0x02,
0x0800,
0x00,
0x1000,
0x00,
0x4000,
0x00,
0x8000
})
Device (LNK0)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x01)
Method (_STA, 0, NotSerialized)
{
If (PIR0)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (IPRS)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIR0)
}
Method (_CRS, 0, NotSerialized)
{
Store (IPRS, Local0)
CreateWordField (Local0, 0x01, IRA0)
Store (PIR0, Local1)
Store (DerefOf (Index (IXLT, Local1)), IRA0)
Return (Local0)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA0)
Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIR0)
}
}
Device (LNK1)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Method (_STA, 0, NotSerialized)
{
If (PIR1)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (IPRS)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIR1)
}
Method (_CRS, 0, NotSerialized)
{
Store (IPRS, Local0)
CreateWordField (Local0, 0x01, IRA0)
Store (PIR1, Local1)
Store (DerefOf (Index (IXLT, Local1)), IRA0)
Return (Local0)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA0)
Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIR1)
}
}
Device (LNK2)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Method (_STA, 0, NotSerialized)
{
If (PIR2)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (IPRS)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIR2)
}
Method (_CRS, 0, NotSerialized)
{
Store (IPRS, Local0)
CreateWordField (Local0, 0x01, IRA0)
Store (PIR2, Local1)
Store (DerefOf (Index (IXLT, Local1)), IRA0)
Return (Local0)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA0)
Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIR2)
}
}
Device (LNK3)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Method (_STA, 0, NotSerialized)
{
If (PIR3)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (IPRS)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIR3)
}
Method (_CRS, 0, NotSerialized)
{
Store (IPRS, Local0)
CreateWordField (Local0, 0x01, IRA0)
Store (PIR3, Local1)
Store (DerefOf (Index (IXLT, Local1)), IRA0)
Return (Local0)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA0)
Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIR3)
}
}
Device (LNK4)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x05)
Method (_STA, 0, NotSerialized)
{
If (PIR4)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (IPRS)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIR4)
}
Method (_CRS, 0, NotSerialized)
{
Store (IPRS, Local0)
CreateWordField (Local0, 0x01, IRA0)
Store (PIR4, Local1)
Store (DerefOf (Index (IXLT, Local1)), IRA0)
Return (Local0)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA0)
Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIR4)
}
}
Device (LNK5)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x06)
Method (_STA, 0, NotSerialized)
{
If (PIR5)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (Z004)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIR5)
}
Method (_CRS, 0, NotSerialized)
{
Store (Z004, Local0)
CreateWordField (Local0, 0x01, IRA0)
Store (PIR5, Local1)
Store (DerefOf (Index (IXLT, Local1)), IRA0)
Return (Local0)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA0)
Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIR5)
}
}
Device (LNK6)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x07)
Method (_STA, 0, NotSerialized)
{
If (PIR6)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (IPRS)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIR6)
}
Method (_CRS, 0, NotSerialized)
{
Store (IPRS, Local0)
CreateWordField (Local0, 0x01, IRA0)
Store (PIR6, Local1)
Store (DerefOf (Index (IXLT, Local1)), IRA0)
Return (Local0)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA0)
Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIR6)
}
}
Device (LNK7)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Method (_STA, 0, NotSerialized)
{
If (PIR7)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (Z003)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIR7)
}
Method (_CRS, 0, NotSerialized)
{
Store (Z003, Local0)
CreateWordField (Local0, 0x01, IRA0)
Store (PIR7, Local1)
Store (DerefOf (Index (IXLT, Local1)), IRA0)
Return (Local0)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA0)
Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIR7)
}
}
Device (LNK8)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x09)
Method (_STA, 0, NotSerialized)
{
If (PIR8)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (IPRS)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIR8)
}
Method (_CRS, 0, NotSerialized)
{
Store (IPRS, Local0)
CreateWordField (Local0, 0x01, IRA0)
Store (PIR8, Local1)
Store (DerefOf (Index (IXLT, Local1)), IRA0)
Return (Local0)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA0)
Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIR8)
}
}
Device (DMAC)
{
Name (_HID, EisaId ("PNP0200"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x01, 0x10)
IO (Decode16, 0x0081, 0x0081, 0x01, 0x0F)
IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20)
DMA (Compatibility, NotBusMaster, Transfer8_16) {4}
})
}
Device (PIC)
{
Name (_HID, EisaId ("PNP0000"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0020, 0x0020, 0x01, 0x02)
IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02)
IRQ (Edge, ActiveHigh, Exclusive) {2}
})
}
Device (TIME)
{
Name (_HID, EisaId ("PNP0100"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0040, 0x0040, 0x01, 0x04)
IRQ (Edge, ActiveHigh, Exclusive) {0}
})
}
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0070, 0x0070, 0x01, 0x04)
IRQ (Edge, ActiveHigh, Exclusive) {8}
})
}
Device (MATH)
{
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x0F)
IRQ (Edge, ActiveHigh, Exclusive) {13}
})
}
Device (SPKR)
{
Name (_HID, EisaId ("PNP0800"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0061, 0x0061, 0x01, 0x01)
})
}
Device (KBC0)
{
Name (_HID, EisaId ("PNP0303"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
IRQ (Edge, ActiveHigh, Exclusive) {1}
})
Name (KBS3, 0x00)
Name (_PSC, 0x00)
Name (PS2D, 0x044C)
}
Device (MSE0)
{
Name (_HID, "SYN0106")
Name (_CID, Package (0x03)
{
0x00012E4F,
0x02002E4F,
0x130FD041
})
Name (_CRS, ResourceTemplate ()
{
IRQ (Edge, ActiveHigh, Exclusive) {12}
})
}
Device (SYSR)
{
Name (_HID, EisaId ("PNP0C02"))
Name (CRSZ, ResourceTemplate ()
{
IO (Decode16, 0x0080, 0x0080, 0x01, 0x01)
IO (Decode16, 0x00B0, 0x00B0, 0x01, 0x04)
IO (Decode16, 0x0092, 0x0092, 0x01, 0x01)
IO (Decode16, 0x040B, 0x040B, 0x01, 0x01)
IO (Decode16, 0x0480, 0x0480, 0x01, 0x10)
IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02)
IO (Decode16, 0x04D6, 0x04D6, 0x01, 0x01)
IO (Decode16, 0x8000, 0x8000, 0x01, 0x80)
IO (Decode16, 0xFF00, 0xFF00, 0x01, 0x02)
IO (Decode16, 0x8004, 0x8004, 0x01, 0x02)
IO (Decode16, 0x80F0, 0x80F0, 0x01, 0x04)
IO (Decode16, 0xFE00, 0xFE00, 0x01, 0xFF)
Memory32Fixed (ReadWrite, 0xD0000000, 0x00001000)
})
Method (_CRS, 0, NotSerialized)
{
CreateDWordField (CRSZ, 0x64, VGAG)
Store (\_SB.PCI0.ISA.VGAB, VGAG)
Return (CRSZ)
}
}
Device (MEM)
{
Name (_HID, EisaId ("PNP0C01"))
Name (MSRC, ResourceTemplate ()
{
Memory32Fixed (ReadOnly, 0x000DC000, 0x00004000)
Memory32Fixed (ReadOnly, 0x000EC000, 0x00014000)
Memory32Fixed (ReadOnly, 0xFFF80000, 0x00080000)
})
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
}
Device (SIOD)
{
Name (_HID, EisaId ("PNP0A05"))
OperationRegion (SIIO, SystemIO, 0x03F0, 0x02)
Field (SIIO, ByteAcc, NoLock, Preserve)
{
INDX, 8,
DATA, 8
}
IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
{
Offset (0x22),
CR22, 8,
Offset (0x30),
CR30, 8,
Offset (0x60),
CR60, 8,
CR61, 8,
Offset (0x70),
CR70, 8,
Offset (0x74),
CR74, 8,
Offset (0xF0),
CRF0, 8,
CRF1, 8,
CRF2, 8,
Offset (0xF4),
CRF4, 8,
CRF5, 8
}
Method (ENFG, 1, NotSerialized)
{
Acquire (MTIO, 0xFFFF)
Store (0x51, INDX)
Store (0x23, INDX)
Store (0x07, INDX)
Store (Arg0, DATA)
Store (0x22, INDX)
ShiftLeft (0x01, Arg0, Local0)
Return (And (DATA, Local0))
}
Method (EXFG, 0, NotSerialized)
{
Store (0xBB, INDX)
Release (MTIO)
}
Device (FDC)
{
Name (_HID, EisaId ("PNP0700"))
Method (_STA, 0, NotSerialized)
{
ENFG (0x00)
And (CR30, 0x01, Local0)
EXFG ()
If (\_SB.PCI0.ISA.FDDS)
{
If (Local0)
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
Else
{
Return (0x00)
}
}
Method (_DIS, 0, NotSerialized)
{
ENFG (0x00)
Store (0x00, CR30)
Store (0x00, CR60)
Store (0x00, CR61)
Store (0x04, CR74)
Store (0x00, CR70)
EXFG ()
}
Name (RSRC, ResourceTemplate ()
{
IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
IRQNoFlags () {6}
DMA (Compatibility, NotBusMaster, Transfer8) {2}
})
Method (_CRS, 0, NotSerialized)
{
CreateWordField (RSRC, 0x02, IO1L)
CreateWordField (RSRC, 0x04, IO1H)
CreateWordField (RSRC, 0x0A, IO2L)
CreateWordField (RSRC, 0x0C, IO2H)
CreateWordField (RSRC, 0x11, IRQX)
CreateByteField (RSRC, 0x14, DMAX)
Store (Zero, IO1L)
Store (Zero, IO1H)
Store (Zero, IO2L)
Store (Zero, IO2H)
Store (Zero, IRQX)
Store (Zero, DMAX)
ENFG (0x00)
Store (CR30, Local0)
Store (CR60, Local1)
If (LAnd (Local0, Local1))
{
Store (_PRS, RSRC)
}
EXFG ()
Return (RSRC)
}
Name (_PRS, ResourceTemplate ()
{
IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
IRQNoFlags () {6}
DMA (Compatibility, NotBusMaster, Transfer8) {2}
})
Method (_SRS, 1, NotSerialized)
{
Store (Arg0, RSRC)
CreateWordField (RSRC, 0x02, IOX)
CreateWordField (RSRC, 0x11, IRQX)
CreateByteField (RSRC, 0x14, DMAX)
ENFG (0x00)
And (IOX, 0xFF, CR61)
ShiftRight (IOX, 0x08, CR60)
FindSetRightBit (IRQX, Local0)
If (Local0)
{
Decrement (Local0)
}
Store (Local0, CR70)
FindSetRightBit (DMAX, Local0)
If (Local0)
{
Decrement (Local0)
}
Store (Local0, CR74)
Store (0x01, CR30)
EXFG ()
}
}
Method (STAX, 1, NotSerialized)
{
Store (^ENFG (Arg0), Local0)
^EXFG ()
If (Local0)
{
Return (0x00)
}
Else
{
If (And (CR30, 0x01))
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
}
Method (DISX, 1, NotSerialized)
{
^ENFG (Arg0)
And (CR30, 0xFE, CR30)
^EXFG ()
}
Method (PSCX, 1, NotSerialized)
{
Store (LAnd (^ENFG (Arg0), And (CR30, 0x01)), Local0)
^EXFG ()
If (Local0)
{
Return (0x00)
}
Else
{
Return (0x03)
}
}
Method (PS0X, 1, NotSerialized)
{
Store (^ENFG (Arg0), Local0)
And (CR22, Not (Local0), CR22)
Or (CR30, 0x01, CR30)
^EXFG ()
}
Method (PS3X, 1, NotSerialized)
{
Store (^ENFG (Arg0), Local0)
And (CR30, 0xFE, CR30)
Or (CR22, Local0, CR22)
^EXFG ()
}
Name (RSRA, ResourceTemplate ()
{
IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
IRQNoFlags () {4}
})
Method (CRSA, 1, NotSerialized)
{
CreateWordField (RSRA, 0x02, IOAL)
CreateWordField (RSRA, 0x04, IOAH)
CreateByteField (RSRA, 0x07, LENA)
CreateWordField (RSRA, 0x09, INTX)
^ENFG (Arg0)
Store (Add (ShiftLeft (CR60, 0x08), CR61), Local0)
Store (Local0, IOAL)
Store (Local0, IOAH)
If (And (Local0, 0x04))
{
Store (0x04, Local1)
}
Else
{
Store (0x08, Local1)
}
Store (Local1, LENA)
Store (ShiftLeft (0x01, CR70), INTX)
^EXFG ()
Return (RSRA)
}
Method (SRSA, 2, NotSerialized)
{
Store (Arg0, RSRA)
CreateWordField (RSRA, 0x02, IOAL)
CreateWordField (RSRA, 0x09, INTX)
^ENFG (Arg1)
And (IOAL, 0xFF, CR61)
ShiftRight (IOAL, 0x08, CR60)
FindSetRightBit (INTX, Local0)
If (Local0)
{
Decrement (Local0)
}
Store (Local0, CR70)
^EXFG ()
}
Name (RSRC, ResourceTemplate ()
{
IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
IRQNoFlags () {6}
DMA (Compatibility, NotBusMaster, Transfer8) {2}
})
Method (CRSC, 1, NotSerialized)
{
CreateWordField (RSRC, 0x02, IO1L)
CreateWordField (RSRC, 0x04, IO1H)
CreateByteField (RSRC, 0x07, LEN1)
CreateWordField (RSRC, 0x0A, IO2L)
CreateWordField (RSRC, 0x0C, IO2H)
CreateByteField (RSRC, 0x0F, LEN2)
CreateWordField (RSRC, 0x11, IRQX)
CreateByteField (RSRC, 0x14, DMAX)
^ENFG (Arg0)
Store (Add (ShiftLeft (CR60, 0x08), CR61), Local0)
Store (Local0, IO1L)
Store (Local0, IO1H)
Store (0x0400, Local1)
If (And (Local0, 0x04))
{
Store (0x04, Local2)
}
Else
{
If (And (Local0, 0x08))
{
Store (0x08, Local2)
}
Else
{
Store (0x06, Local2)
Store (0x07, Local1)
}
}
Add (Local0, Local1, Local1)
Store (Local1, IO2L)
Store (Local1, IO2H)
Store (Local2, LEN1)
If (LEqual (Local1, 0x03F7))
{
Store (0x01, LEN2)
}
Else
{
Store (Local2, LEN2)
}
Store (ShiftLeft (0x01, CR70), IRQX)
Store (ShiftLeft (0x01, CR74), DMAX)
^EXFG ()
Return (RSRC)
}
Method (SRSC, 2, NotSerialized)
{
Store (Arg0, RSRC)
CreateWordField (RSRC, 0x02, IO1L)
CreateWordField (RSRC, 0x11, IRQX)
CreateByteField (RSRC, 0x14, DMAX)
^ENFG (Arg1)
And (IO1L, 0xFF, CR61)
ShiftRight (IO1L, 0x08, CR60)
FindSetRightBit (IRQX, Local0)
If (Local0)
{
Decrement (Local0)
}
Store (Local0, CR70)
FindSetRightBit (DMAX, Local0)
If (Local0)
{
Decrement (Local0)
}
Store (Local0, CR74)
^EXFG ()
}
Device (LPT)
{
Name (TYPE, 0x00)
Method (IECP, 0, NotSerialized)
{
ENFG (0x03)
And (CRF0, 0x07, ^TYPE)
EXFG ()
Return (And (^TYPE, 0x02))
}
Method (_HID, 0, NotSerialized)
{
If (IECP ())
{
Return (0x0104D041)
}
Else
{
Return (0x0004D041)
}
}
Method (_STA, 0, NotSerialized)
{
Return (^^STAX (0x03))
}
Method (_DIS, 0, NotSerialized)
{
^^DISX (0x03)
}
Method (_PSC, 0, NotSerialized)
{
Return (^^PSCX (0x03))
}
Method (_PS0, 0, NotSerialized)
{
^^PS0X (0x03)
}
Method (_PS3, 0, NotSerialized)
{
^^PS3X (0x03)
}
Method (_CRS, 0, NotSerialized)
{
If (IECP ())
{
Return (^^CRSC (0x03))
}
Else
{
Return (^^CRSA (0x03))
}
}
Method (_SRS, 1, NotSerialized)
{
If (IECP ())
{
^^SRSC (Arg0, 0x03)
}
Else
{
^^SRSA (Arg0, 0x03)
}
}
Name (PRSA, ResourceTemplate ()
{
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IRQNoFlags () {7}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IRQNoFlags () {5}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IRQNoFlags () {7}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IRQNoFlags () {5}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IRQNoFlags () {7}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IRQNoFlags () {5}
}
EndDependentFn ()
})
Name (PRSB, ResourceTemplate ()
{
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IRQNoFlags () {7}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IRQNoFlags () {5}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IRQNoFlags () {7}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IRQNoFlags () {5}
}
EndDependentFn ()
})
Name (PRSC, ResourceTemplate ()
{
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x01, 0x08)
IRQNoFlags () {5}
DMA (Compatibility, NotBusMaster, Transfer8) {0}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x01, 0x08)
IRQNoFlags () {5}
DMA (Compatibility, NotBusMaster, Transfer8) {0}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04)
IRQNoFlags () {5}
DMA (Compatibility, NotBusMaster, Transfer8) {0}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x01, 0x08)
IRQNoFlags () {7}
DMA (Compatibility, NotBusMaster, Transfer8) {0}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x01, 0x08)
IRQNoFlags () {7}
DMA (Compatibility, NotBusMaster, Transfer8) {0}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04)
IRQNoFlags () {7}
DMA (Compatibility, NotBusMaster, Transfer8) {0}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x01, 0x08)
IRQNoFlags () {5}
DMA (Compatibility, NotBusMaster, Transfer8) {1}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x01, 0x08)
IRQNoFlags () {5}
DMA (Compatibility, NotBusMaster, Transfer8) {1}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04)
IRQNoFlags () {5}
DMA (Compatibility, NotBusMaster, Transfer8) {1}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x01, 0x08)
IRQNoFlags () {7}
DMA (Compatibility, NotBusMaster, Transfer8) {1}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x01, 0x08)
IRQNoFlags () {7}
DMA (Compatibility, NotBusMaster, Transfer8) {1}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04)
IRQNoFlags () {7}
DMA (Compatibility, NotBusMaster, Transfer8) {1}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x01, 0x08)
IRQNoFlags () {5}
DMA (Compatibility, NotBusMaster, Transfer8) {3}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x01, 0x08)
IRQNoFlags () {5}
DMA (Compatibility, NotBusMaster, Transfer8) {3}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04)
IRQNoFlags () {5}
DMA (Compatibility, NotBusMaster, Transfer8) {3}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x01, 0x08)
IRQNoFlags () {7}
DMA (Compatibility, NotBusMaster, Transfer8) {3}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x01, 0x08)
IRQNoFlags () {7}
DMA (Compatibility, NotBusMaster, Transfer8) {3}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04)
IRQNoFlags () {7}
DMA (Compatibility, NotBusMaster, Transfer8) {3}
}
EndDependentFn ()
})
Method (_PRS, 0, NotSerialized)
{
If (IECP ())
{
Return (^PRSC)
}
Else
{
If (LEqual (0x01, ^TYPE))
{
Return (^PRSB)
}
Else
{
Return (^PRSA)
}
}
}
}
Name (CPRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
IRQNoFlags () {4}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
IRQNoFlags () {3}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
IRQNoFlags () {4}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
IRQNoFlags () {3}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
IRQNoFlags () {3}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
IRQNoFlags () {4}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
IRQNoFlags () {3}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
IRQNoFlags () {4}
}
EndDependentFn ()
})
Device (FIR)
{
Name (_HID, EisaId ("ALI5123"))
Name (_CID, 0x1005D041)
Method (_STA, 0, NotSerialized)
{
If (LEqual (\_SB.PCI0.ISA.FIRS, 0x00))
{
Return (0x00)
}
ENFG (0x05)
And (CR22, 0x20, Local0)
And (CR30, 0x81, Local1)
EXFG ()
If (Local0)
{
Return (0x00)
}
Else
{
If (And (Local1, 0x80))
{
If (And (Local1, 0x01))
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
Else
{
Return (0x00)
}
}
}
Method (_DIS, 0, NotSerialized)
{
ENFG (0x05)
And (CR30, 0xFE, CR30)
EXFG ()
}
Name (RSRC, ResourceTemplate ()
{
IO (Decode16, 0x0100, 0x0100, 0x01, 0x08)
IRQNoFlags () {}
DMA (Compatibility, NotBusMaster, Transfer8) {}
})
Method (_CRS, 0, NotSerialized)
{
CreateWordField (RSRC, 0x02, IO1L)
CreateWordField (RSRC, 0x04, IO1H)
CreateWordField (RSRC, 0x09, IRQX)
CreateWordField (RSRC, 0x0C, DMAX)
ENFG (0x05)
And (CR30, 0x01, Local0)
If (Local0)
{
Store (CR60, IO1L)
ShiftLeft (IO1L, 0x08, Local1)
Or (CR61, Local1, Local2)
Store (Local2, IO1L)
Store (Local2, IO1H)
Store (CR70, Local1)
ShiftLeft (One, Local1, IRQX)
Store (CR74, Local2)
ShiftLeft (One, Local2, DMAX)
}
Else
{
Store (Zero, IO1L)
Store (Zero, IO1H)
Store (Zero, IRQX)
Store (0x04, DMAX)
}
EXFG ()
Return (RSRC)
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
IRQNoFlags () {3}
DMA (Compatibility, NotBusMaster, Transfer8) {0}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
IRQNoFlags () {3}
DMA (Compatibility, NotBusMaster, Transfer8) {0}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
IRQNoFlags () {4}
DMA (Compatibility, NotBusMaster, Transfer8) {0}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
IRQNoFlags () {3}
DMA (Compatibility, NotBusMaster, Transfer8) {1}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
IRQNoFlags () {3}
DMA (Compatibility, NotBusMaster, Transfer8) {1}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
IRQNoFlags () {4}
DMA (Compatibility, NotBusMaster, Transfer8) {1}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
IRQNoFlags () {3}
DMA (Compatibility, NotBusMaster, Transfer8) {3}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
IRQNoFlags () {3}
DMA (Compatibility, NotBusMaster, Transfer8) {3}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
IRQNoFlags () {4}
DMA (Compatibility, NotBusMaster, Transfer8) {3}
}
EndDependentFn ()
})
Method (_SRS, 1, NotSerialized)
{
Store (Arg0, RSRC)
CreateWordField (RSRC, 0x02, IO1L)
CreateWordField (RSRC, 0x09, IRQX)
CreateWordField (RSRC, 0x0C, DMAX)
ENFG (0x05)
And (IO1L, 0xFF, CR61)
ShiftRight (IO1L, 0x08, CR60)
FindSetRightBit (IRQX, Local0)
If (Local0)
{
Decrement (Local0)
}
Store (Local0, CR70)
FindSetRightBit (DMAX, Local1)
If (Local1)
{
Decrement (Local1)
}
Store (Local1, CR74)
Or (CR30, 0x01, CR30)
EXFG ()
}
}
Device (COM1)
{
Name (_HID, EisaId ("PNP0501"))
Method (_STA, 0, NotSerialized)
{
If (LEqual (\_SB.PRCT, 0x00))
{
ENFG (0x04)
Store (0x00, CR30)
Store (0x00, CR60)
Store (0x00, CR61)
Store (0x00, CR70)
EXFG ()
Return (0x00)
}
ENFG (0x04)
And (CR22, 0x10, Local0)
And (CR30, 0x01, Local1)
And (CRF1, 0x18, Local2)
EXFG ()
If (LEqual (Local2, 0x00))
{
If (And (Local1, 0x01))
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
Else
{
Return (0x00)
}
}
Method (_DIS, 0, NotSerialized)
{
ENFG (0x04)
Store (0x00, CR30)
Store (0x00, CR60)
Store (0x00, CR61)
Store (0x00, CR70)
Or (CR22, 0x10, CR22)
EXFG ()
}
Name (RSRC, ResourceTemplate ()
{
IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
IRQNoFlags () {4}
})
Method (_CRS, 0, NotSerialized)
{
CreateWordField (RSRC, 0x02, IO1L)
CreateWordField (RSRC, 0x04, IO1H)
CreateWordField (RSRC, 0x09, IRQX)
Store (Zero, IO1L)
Store (Zero, IO1H)
Store (Zero, IRQX)
ENFG (0x04)
And (CR30, 0x01, Local0)
If (Local0)
{
Store (CR60, IO1L)
ShiftLeft (IO1L, 0x08, Local1)
Or (CR61, Local1, Local2)
Store (Local2, IO1L)
Store (Local2, IO1H)
Store (CR70, Local1)
ShiftLeft (One, Local1, IRQX)
}
Else
{
Store (Zero, IO1L)
Store (Zero, IO1H)
Store (Zero, IRQX)
}
EXFG ()
Return (RSRC)
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
IRQNoFlags () {4}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
IRQNoFlags () {3}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
IRQNoFlags () {4}
}
StartDependentFn (0x00, 0x01)
{
IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
IRQNoFlags () {3}
}
EndDependentFn ()
})
Method (_SRS, 1, NotSerialized)
{
Store (Arg0, RSRC)
CreateWordField (RSRC, 0x02, IO1L)
CreateWordField (RSRC, 0x09, IRQX)
ENFG (0x04)
And (IO1L, 0xFF, CR61)
ShiftRight (IO1L, 0x08, CR60)
FindSetRightBit (IRQX, Local0)
If (Local0)
{
Decrement (Local0)
}
Store (Local0, CR70)
Store (0x01, CR30)
And (CR22, Not (0x10), CR22)
EXFG ()
}
Name (_PRW, Package (0x02)
{
0x0A,
0x04
})
Name (SV60, 0x00)
Name (SV61, 0x00)
Name (IRQV, 0x00)
Method (SAVE, 0, NotSerialized)
{
ENFG (0x04)
And (CR30, 0x01, Local0)
If (Local0)
{
Store (CR60, SV60)
Store (CR61, SV61)
Store (CR70, IRQV)
}
EXFG ()
}
Method (REST, 0, NotSerialized)
{
If (LNot (LEqual (SV60, Zero)))
{
ENFG (0x04)
Or (CR30, 0x01, CR30)
Store (SV60, CR60)
Store (SV61, CR61)
Store (IRQV, CR70)
EXFG ()
}
}
}
Mutex (MTIO, 0x00)
}
Device (EC0)
{
Name (_HID, EisaId ("PNP0C09"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0062, 0x0062, 0x01, 0x01)
IO (Decode16, 0x0066, 0x0066, 0x01, 0x01)
})
Name (_GPE, 0x18)
Name (SEL0, 0xF0)
Name (BFLG, 0x00)
Method (_REG, 2, NotSerialized)
{
If (LEqual (Arg0, 0x03))
{
Store (Arg1, ECEN)
Acquire (MUT1, 0xFFFF)
Store (ADP, Local0)
Release (MUT1)
If (LEqual (Arg1, 0x01))
{
\_TZ.EOFF ()
}
}
}
OperationRegion (ERAM, EmbeddedControl, 0x00, 0xFF)
Field (ERAM, ByteAcc, Lock, Preserve)
{
Offset (0x04),
CMCM, 8,
CMD1, 8,
CMD2, 8,
CMD3, 8,
Offset (0x18),
SMPR, 8,
SMST, 8,
SMAD, 8,
SMCM, 8,
SMD0, 256,
BCNT, 8,
SMAA, 8,
S1D0, 8,
S1D1, 8,
SM2A, 8,
S2D0, 8,
S2D1, 8,
SM3A, 8,
LIDS, 1,
DV1S, 1,
EXFD, 1,
RFSW, 1,
, 1,
CRTS, 1,
SLPS, 1,
DCKS, 1,
EJBS, 1,
, 1,
, 1,
, 1,
, 1,
, 1,
DV2S, 1,
DV3S, 1,
WK10, 16,
EVTP, 16,
BTM3, 8,
DCID, 8,
DPWR, 1,
UDR0, 1,
UDR5, 1,
EQBF, 1,
LDDS, 1,
CRST, 1,
DCWT, 1,
QVCC, 1,
HP4D, 8,
WAKP, 16,
POLL, 1,
ADP, 1,
ALRT, 1,
B1WE, 1,
B1WS, 1,
B2WE, 1,
B2WS, 1,
BWAK, 1,
PWRE, 1,
ALLB, 1,
AUXB, 1,
S2DR, 1,
F1B4, 1,
F1B5, 1,
F1B6, 1,
RSMA, 1,
S1LD, 1,
S2LD, 1,
ACWR, 1,
PTSV, 3,
PMEE, 1,
ENCB, 1,
F3B0, 1,
F3B1, 1,
RFLD, 1,
F3B3, 1,
SW8B, 1,
WOLE, 1,
WORE, 1,
S4FG, 1,
TMSS, 2,
OSMD, 1,
F4B3, 1,
BANK, 4,
CTMP, 8,
S2DC, 8,
BPD, 8,
BT1I, 16,
BT1C, 16,
BT1V, 16,
BT1S, 8,
Offset (0x60),
TSEC, 8,
TSDN, 8,
Offset (0x63),
Offset (0x64),
Offset (0x65),
Offset (0x66),
Q8CF, 1,
, 3,
KLED, 1,
Offset (0x67),
TTMP, 8,
HPCB, 8,
R69F, 2,
, 1,
Offset (0x6A),
BTEC, 8,
UBDM, 4,
UBPC, 3,
Offset (0x6C),
BTCS, 8,
BMDL, 8,
CBDM, 4,
CBPC, 3,
Offset (0x6F),
HP6F, 8,
HP70, 8,
TRDV, 8,
RSMT, 16,
PWSL, 8,
PWSM, 8,
, 1,
PREF, 1,
, 1,
UPP1, 1,
UPP2, 1,
, 1,
, 1,
BTOF, 1,
SUSB, 1,
SUSC, 1,
CPWR, 1,
CBTN, 1,
FAN, 1,
, 1,
, 1,
S4IN, 1,
FANL, 16,
QU7A, 8,
QU7B, 8,
QU7C, 8,
QU7D, 8,
QU7E, 8,
QU7F, 8
}
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x1C),
SMW0, 16
}
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x1C),
SMB0, 8
}
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x1C),
FLD0, 64
}
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x1C),
FLD1, 128
}
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x1C),
FLD2, 192
}
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x1C),
FLD3, 256
}
Mutex (CMUT, 0x00)
Method (CMC2, 3, NotSerialized)
{
Acquire (CMUT, 0xFFFF)
Store (Arg2, CMD2)
Store (Arg1, CMD1)
Store (Arg0, CMCM)
While (CMCM) {}
Release (CMUT)
}
Mutex (MUT0, 0x00)
Mutex (MUT1, 0x00)
Method (SMRD, 4, NotSerialized)
{
If (LNot (ECOK ()))
{
Return (0xFF)
}
If (LNot (LEqual (Arg0, 0x07)))
{
If (LNot (LEqual (Arg0, 0x09)))
{
If (LNot (LEqual (Arg0, 0x0B)))
{
Return (0x19)
}
}
}
Acquire (MUT0, 0xFFFF)
Store (0x04, Local0)
While (LGreater (Local0, 0x01))
{
And (SMST, 0x40, SMST)
Store (Arg2, SMCM)
Store (Arg1, SMAD)
Store (Arg0, SMPR)
While (LNot (And (SMST, 0xBF, Local1)))
{
Sleep (0x02)
}
If (LEqual (Local1, 0x80))
{
Store (0x00, Local0)
}
Else
{
Decrement (Local0)
}
}
If (Local0)
{
Store (And (Local1, 0x1F), Local0)
}
Else
{
If (LEqual (Arg0, 0x07))
{
Store (SMB0, Arg3)
}
If (LEqual (Arg0, 0x09))
{
Store (SMW0, Arg3)
}
If (LEqual (Arg0, 0x0B))
{
Store (BCNT, Local3)
ShiftRight (0x0100, 0x03, Local2)
If (LGreater (Local3, Local2))
{
Store (Local2, Local3)
}
If (LLess (Local3, 0x09))
{
Store (FLD0, Local2)
}
Else
{
If (LLess (Local3, 0x11))
{
Store (FLD1, Local2)
}
Else
{
If (LLess (Local3, 0x19))
{
Store (FLD2, Local2)
}
Else
{
Store (FLD3, Local2)
}
}
}
Increment (Local3)
Store (Buffer (Local3) {}, Local4)
Decrement (Local3)
Store (Zero, Local5)
While (LGreater (Local3, Local5))
{
GBFE (Local2, Local5, RefOf (Local6))
PBFE (Local4, Local5, Local6)
Increment (Local5)
}
PBFE (Local4, Local5, 0x00)
Store (Local4, Arg3)
}
}
Release (MUT0)
Return (Local0)
}
Method (SMWR, 4, NotSerialized)
{
If (LNot (ECOK ()))
{
Return (0xFF)
}
If (LNot (LEqual (Arg0, 0x06)))
{
If (LNot (LEqual (Arg0, 0x08)))
{
If (LNot (LEqual (Arg0, 0x0A)))
{
Return (0x19)
}
}
}
Acquire (MUT0, 0xFFFF)
Store (0x04, Local0)
While (LGreater (Local0, 0x01))
{
If (LEqual (Arg0, 0x06))
{
Store (Arg3, SMB0)
}
If (LEqual (Arg0, 0x08))
{
Store (Arg3, SMW0)
}
If (LEqual (Arg0, 0x0A))
{
Store (Arg3, SMD0)
}
And (SMST, 0x40, SMST)
Store (Arg2, SMCM)
Store (Arg1, SMAD)
Store (Arg0, SMPR)
While (LNot (And (SMST, 0xBF, Local1)))
{
Sleep (0x02)
}
If (LEqual (Local1, 0x80))
{
Store (0x00, Local0)
}
Else
{
Decrement (Local0)
}
}
If (Local0)
{
Store (And (Local1, 0x1F), Local0)
}
Release (MUT0)
Return (Local0)
}
Name (ACFL, 0x00)
Method (SMSL, 0, NotSerialized)
{
Store ("CMBatt - SMSL", Debug)
If (LNot (ECOK ()))
{
Return (0xFF)
}
Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF)
If (LNot (\_SB.PCI0.ISA.EC0.SMRD (0x09, 0x14, 0x01, RefOf (Local0))))
{
Store (Local0, SEL0)
Store (SEL0, Debug)
If (LEqual (ALRT, 0x01))
{
\_SB.BAT1.IVBI ()
\_SB.BAT1.IVBS ()
Store (0x00, ALRT)
}
Store (\_SB.ACAD.CHAC (SEL0), Local1)
Store (\_SB.BAT1.CHBP (SEL0), Local2)
Or (SEL0, 0x0FFF, Local0)
SMWR (0x08, 0x14, 0x01, Local0)
If (LAnd (Local1, \_SB.ACAD.ACP))
{
Store ("CMBatt - Notify(ACAD,0x80): AC_Inserted", Debug)
\_SB.PCI0.ISA.HPSS (0x16, 0x00)
Notify (\_SB.ACAD, 0x80)
Store (0x02, ACFL)
}
If (And (0x04, Local2))
{
\_SB.BAT1.B1CK ()
}
If (And (0x02, Local2))
{
\_SB.BAT1.B1ST ()
}
If (And (0x01, Local2))
{
\_SB.BAT1.B1IF ()
}
If (LAnd (Local1, LNot (\_SB.ACAD.ACP)))
{
Store ("CMBatt - Notify(ACAD, 0x80): AC_Removed", Debug)
Notify (\_SB.ACAD, 0x80)
Store (0x01, ACFL)
}
Return(0x00)
}
Store (0x3C, Local4)
If (\_SB.BAT1.REPT)
{
Store (0x02, Local4)
}
If (BFLG)
{
Store (0x01, Local5)
While (LNot (And (BFLG, 0x01)))
{
Increment (Local5)
ShiftRight (BFLG, 0x01, BFLG)
}
ShiftRight (BFLG, 0x01, BFLG)
If (LGreater (Local4, Local5))
{
Store (Local5, Local4)
}
}
Store (Local4, BPD)
BPOL ()
Release (\_SB.PCI0.ISA.EC0.MUT1)
If (ACFL)
{
Decrement (ACFL)
Store (\_SB.PCI0.ISA.HPSS (0x12, ACFL), Local0)
CMC2 (0xC4, Local0, 0x82)
Notify (HPCI, 0x8A)
Store (0x00, ACFL)
Store (0x01, \_SB.ACCG)
Notify (\_TZ.THRM, 0x80)
}
}
Name (PSTA, 0x00)
Method (CPOL, 0, NotSerialized)
{
If (LEqual (PSTA, 0x00))
{
If (ECOK ())
{
BPOL ()
Store (0x01, PSTA)
}
}
}
Method (BPOL, 0, NotSerialized)
{
Store (0x01, POLL)
}
Name (PQ8A, 0x00)
Method (_Q09, 0, NotSerialized)
{
Store ("QUERY_09", Debug)
SMSL ()
}
Method (_Q10, 0, NotSerialized)
{
Notify (\_SB.PCI0.ISA.HPCI, 0x90)
}
Method (_Q11, 0, NotSerialized)
{
If (ACWR)
{
Notify (\_SB.PCI0.ISA.HPCI, 0x91)
}
Else
{
Notify (\_SB.PCI0.ISA.HPCI, 0x93)
}
}
Method (_Q12, 0, NotSerialized)
{
Notify (\_SB.PCI0.ISA.HPCI, 0x92)
}
Method (_Q20, 0, NotSerialized)
{
Store ("QUERY_20", Debug)
If (And (SMST, 0x40))
{
And (SMST, 0xBF, SMST)
Store (SMAA, Local0)
If (LEqual (Local0, 0x14))
{
If (PWRE)
{
Store ("CMBatt - PwrEvent", Debug)
Store (0x00, PWRE)
Store (0x12, BFLG)
Store (0x00, BPD)
BPOL ()
}
}
}
}
Method (_Q03, 0, NotSerialized)
{
If (LEqual (\_SB.PCI0.AGPB.VGA.DISW, 0x00))
{
\_SB.PCI0.AGPB.VGA.DRUL (0x01)
}
Else
{
If (LEqual (\_SB.PCI0.AGPB.VGA.DISW, 0x01))
{
\_SB.PCI0.ISA.HPSS (0x01, 0x00)
}
}
}
Method (_Q04, 0, NotSerialized)
{
Store ("Q04 - Fn+F12 Pressed! --- Hibernation ---", Debug)
Notify (\_SB.PCI0.ISA.HPCI, 0x86)
}
Method (_Q0A, 0, NotSerialized)
{
Store ("Brightness Down: _Q0A", Debug)
Store (\_SB.PCI0.ISA.HPSS (0x08, 0x00), Local0)
CMC2 (0xC4, Local0, 0x82)
Notify (HPCI, 0x8A)
}
Method (_Q0B, 0, NotSerialized)
{
Store ("Brightness Up: _Q0B", Debug)
Store (\_SB.PCI0.ISA.HPSS (0x08, 0x01), Local0)
CMC2 (0xC4, Local0, 0x82)
Notify (HPCI, 0x8A)
}
Method (_Q0C, 0, NotSerialized)
{
Store ("Brightness Up: _Q0C", Debug)
Store (\_SB.PCI0.ISA.HPCI.GFPR (), Local0)
Store (Local0, Debug)
}
Method (_Q80, 0, NotSerialized)
{
Store ("THERM: _Q80 - Thermal Change", Debug)
Store ("Notify _TZ.THRM , 0x80", Debug)
Notify (\_TZ.THRM, 0x80)
}
Method (_Q8B, 0, NotSerialized)
{
Notify (\_SB.PCI0.ISA.HPCI, 0x8B)
}
Method (_Q8C, 0, NotSerialized)
{
If (ECOK ())
{
Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF)
Store (TRDV, Local0)
Store (Local0, Q8CD)
Store (PWSL, Local1)
Store (PWSM, Local2)
Release (\_SB.PCI0.ISA.EC0.MUT1)
Store ("_Q8C:Throttle Duty Cycle :", Debug)
Store (Local0, Debug)
Store ("Power Consumption Low Byte Value :", Debug)
Store (Local1, Debug)
Store ("Power Consumption High Byte Value :", Debug)
Store (Local2, Debug)
Store (0x00, Q8CF)
Notify (\_TZ.THRM, 0x80)
}
}
Method (_Q8D, 0, NotSerialized)
{
Store ("_Q8D:Port Replicator Event :", Debug)
Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF)
Store (PREF, Local0)
Release (\_SB.PCI0.ISA.EC0.MUT1)
If (LEqual (\_SB.PCI0.ISA.POPS, 0x01))
{
Store (0x01, Local0)
Store (0x00, \_SB.PCI0.ISA.POPS)
}
If (Not (LEqual (\_SB.PRCT, Local0)))
{
Store (Local0, \_SB.PRCT)
Notify (\_SB.PCI0.ISA.SIOD.COM1, 0x01)
If (LEqual (\_SB.PRCT, 0x01))
{
Store (">>> Docking Plug In ! <<<", Debug)
}
Else
{
Store (">>> Docking Plug Out ! <<<", Debug)
}
}
}
Method (_Q8E, 0, NotSerialized)
{
SMSL ()
Notify (\_SB.BAT1, 0x80)
}
Method (_Q29, 0, NotSerialized)
{
Store ("QUERY_29", Debug)
If (ECOK ())
{
If (And (PQ8A, 0x01))
{
And (PQ8A, Not (0x01), PQ8A)
Notify (\_SB.PCI0.ISA.HPCI, 0x86)
}
}
}
}
Device (HPCI)
{
Name (_HID, EisaId ("HWPC209"))
Name (Z005, 0x00)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Method (STAT, 1, NotSerialized)
{
Store (Arg0, Z005)
}
Method (GKBL, 0, NotSerialized)
{
Return (0x1B)
}
Method (GDCP, 0, NotSerialized)
{
Return (0x0033000F)
}
Method (GDBT, 0, NotSerialized)
{
Return (\_SB.PCI0.ISA.HPSS (0x08, 0x10))
}
Method (SDBT, 1, NotSerialized)
{
If (ECOK ())
{
Store (\_SB.PCI0.ISA.HPSS (0x08, Or (0x20, And (Arg0, 0x0F))), Local0)
\_SB.PCI0.ISA.EC0.CMC2 (0xC4, Local0, 0x82)
}
}
Method (GADP, 0, NotSerialized)
{
Return (\_SB.PCI0.ISA.HPSS (0x0F, 0x00))
}
Method (SADP, 1, NotSerialized)
{
And (Arg0, 0x01, \_SB.PCI0.AGPB.VGA.LCD._DGS)
ShiftRight (And (Arg0, 0x02), 0x01, \_SB.PCI0.AGPB.VGA.CRT._DGS)
ShiftRight (And (Arg0, 0x04), 0x02, \_SB.PCI0.AGPB.VGA.TV._DGS)
If (LEqual (\_SB.PCI0.AGPB.VGA.DISW, 0x00))
{
\_SB.PCI0.AGPB.VGA.DRUL (0x04)
}
Else
{
If (LEqual (\_SB.PCI0.AGPB.VGA.DISW, 0x01))
{
HPSS (0x01, 0x00)
}
}
}
Method (TGAD, 0, NotSerialized)
{
\_SB.PCI0.ISA.EC0._Q03 ()
}
Method (GFPR, 0, NotSerialized)
{
Acquire (\_SB.PCI0.ISA.PSMX, 0xFFFF)
Store (0x80, \_SB.PCI0.ISA.BCMD)
Store (0x14, \_SB.PCI0.ISA.DID)
Store (Zero, \_SB.PCI0.ISA.SMIC)
Store (\_SB.PCI0.ISA.PNLR, Local0)
Release (\_SB.PCI0.ISA.PSMX)
Return (Local0)
}
Method (GTVR, 0, NotSerialized)
{
Store (\_SB.PCI0.ISA.HPSS (0x10, 0x00), Local1)
If (Local1)
{
Store (0x02580320, Local0)
}
Else
{
Store (0x01E00280, Local0)
}
Return (Local0)
}
Method (SRFL, 1, NotSerialized)
{
Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF)
If (Arg0)
{
Store (One, \_SB.PCI0.ISA.EC0.RFLD)
}
Else
{
Store (Zero, \_SB.PCI0.ISA.EC0.RFLD)
}
Release (\_SB.PCI0.ISA.EC0.MUT1)
}
Method (GRFI, 0, NotSerialized)
{
Return (0x03)
}
Method (GSBI, 0, NotSerialized)
{
Store ("USB\\VID_0A12&PID_0001", Local0)
Return (Local0)
}
Method (GSBS, 1, NotSerialized)
{
If (LEqual (Arg0, 0x00))
{
Store (\_SB.PCI0.ISA.HPSS (0x17, 0x00), Local1)
If (LEqual (Local1, 0x00))
{
Return (0x00)
}
Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF)
Store (\_SB.PCI0.ISA.EC0.SW8B, Local0)
Release (\_SB.PCI0.ISA.EC0.MUT1)
If (LEqual (Local1, 0x02))
{
If (Local0)
{
Return (0x03)
}
Else
{
Return (0x01)
}
}
}
}
Method (SRFP, 2, NotSerialized)
{
If (LEqual (Arg0, 0x00))
{
Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF)
If (LEqual (Arg1, 0x01))
{
Store (One, \_SB.PCI0.ISA.EC0.SW8B)
}
Else
{
Store (Zero, \_SB.PCI0.ISA.EC0.SW8B)
}
Release (\_SB.PCI0.ISA.EC0.MUT1)
}
}
Name (MDLS, 0x03)
Name (DEVS, Package (0x09)
{
"01KT",
"BQ2060",
"4x2",
"02KT",
"BQ2060",
"4x2",
"04KT",
"BQ2060",
"4x2"
})
Method (GBID, 1, NotSerialized)
{
Store (0x00, Local0)
While (LGreater (MDLS, Local0))
{
Add (ShiftLeft (Local0, 0x01), Local0, Local1)
Store (S2BF (DerefOf (Index (DEVS, Local1))), Local2)
If (BCMP (Arg0, Local2))
{
Return (Local0)
}
Increment (Local0)
}
Return (0xFF)
}
Method (BCMP, 2, NotSerialized)
{
Store (SizeOf (Arg0), Local0)
If (LNot (LEqual (SizeOf (Arg1), Local0)))
{
Return (Zero)
}
Store (0x00, Local1)
While (LGreater (Local0, Local1))
{
Store (DerefOf (Index (Arg0, Local1)), Local2)
Store (DerefOf (Index (Arg1, Local1)), Local3)
If (LNot (LEqual (Local2, Local3)))
{
Return (Zero)
}
Increment (Local1)
}
Return (Ones)
}
Method (SBDN, 1, NotSerialized)
{
If (LNot (ECOK ()))
{
Store (0xFF, \_SB.PCI0.ISA.EC0.BMDL)
Store (0x06, \_SB.PCI0.ISA.EC0.BTEC)
}
Else
{
Store (Arg0, \_SB.PCI0.ISA.EC0.UBDM)
Store (DerefOf (Index (\_SB.BAT1.PBIF, 0x09)), Local0)
Store (\_SB.PCI0.ISA.HPCI.GBID (Local0), Local1)
Store (Local1, \_SB.PCI0.ISA.EC0.BMDL)
If (LEqual (Local1, 0xFF))
{
Store (0x06, \_SB.PCI0.ISA.EC0.BTEC)
}
}
}
Method (GBDN, 0, NotSerialized)
{
If (LNot (ECOK ()))
{
Return (0xFF)
}
Store (\_SB.PCI0.ISA.EC0.CBDM, Local0)
Store (Local0, Debug)
Return (Local0)
}
Method (GBPN, 0, NotSerialized)
{
If (LNot (ECOK ()))
{
Return (0xFF)
}
Store (And (0x0F, \_SB.PCI0.ISA.EC0.SEL0), Local0)
Store (Local0, Debug)
Return (Local0)
}
Method (SBPC, 1, NotSerialized)
{
If (ECOK ())
{
Store (Arg0, \_SB.PCI0.ISA.EC0.UBPC)
}
}
Method (GBPC, 0, NotSerialized)
{
If (LNot (ECOK ()))
{
Return (0xFF)
}
Store (\_SB.PCI0.ISA.EC0.CBPC, Local0)
Store (Local0, Debug)
Return (Local0)
}
Method (GBEC, 0, NotSerialized)
{
If (LNot (ECOK ()))
{
Return (0xFF)
}
Store (\_SB.PCI0.ISA.EC0.BTEC, Local0)
Store (0x00, \_SB.PCI0.ISA.EC0.BTEC)
Store (Local0, Debug)
Return (Local0)
}
Method (GBCS, 0, NotSerialized)
{
If (LNot (ECOK ()))
{
Return (0xFF)
}
Store (\_SB.PCI0.ISA.EC0.BTCS, Debug)
Return (\_SB.PCI0.ISA.EC0.BTCS)
}
Method (GBSD, 0, NotSerialized)
{
Name (PBSD, Package (0x08)
{
"",
"",
"",
"",
"",
0xFFFF,
0xFFFF,
0xFFFF
})
If (LNot (ECOK ()))
{
Return (PBSD)
}
Store (\_SB.PCI0.ISA.EC0.BMDL, Local0)
If (LNot (LLess (Local0, MDLS)))
{
Return (PBSD)
}
Add (ShiftLeft (Local0, 0x01), Local0, Local0)
Store (\_SB.BAT1.PBIF, Local1)
Store (DerefOf (Index (Local1, 0x0C)), Index (PBSD, 0x00))
Store (DerefOf (Index (DEVS, Add (Local0, 0x01))), Local2)
Store (Local2, Index (PBSD, 0x01))
Store (DerefOf (Index (DEVS, Local0)), Local2)
Store (Local2, Index (PBSD, 0x02))
Store (DerefOf (Index (Local1, 0x0B)), Index (PBSD, 0x03))
Store (DerefOf (Index (DEVS, Add (Local0, 0x02))), Local2)
Store (Local2, Index (PBSD, 0x04))
Store (\_SB.BAT1.BATS, Index (PBSD, 0x05))
Store (DerefOf (Index (Local1, 0x04)), Index (PBSD, 0x06))
Store (DerefOf (Index (Local1, 0x01)), Index (PBSD, 0x07))
Store (PBSD, Debug)
Return (PBSD)
}
Method (GBHD, 0, NotSerialized)
{
Name (DBHD, Package (0x03)
{
0xFFFF,
0xFFFF,
0xFFFF
})
If (LNot (ECOK ()))
{
Return (DBHD)
}
Store (\_SB.BAT1.PBHD, Local0)
Store (Local0, Debug)
Return (Local0)
}
Name (DCNT, 0x00)
Method (GBDD, 0, NotSerialized)
{
Name (PBDD, Package (0x03)
{
0xFFFF,
0xFFFF,
0xFFFF
})
If (LNot (ECOK ()))
{
Return (PBDD)
}
Increment (DCNT)
If (LEqual (DCNT, 0x14))
{
Store (0x00, DCNT)
}
Store (\_SB.BAT1.BATI, Index (PBDD, 0x00))
If (LNot (\_SB.PCI0.ISA.EC0.SMRD (0x09, 0x16, 0x0F, RefOf (Local5))))
{
Store (Local5, Index (PBDD, 0x01))
}
Else
{
Store (\_SB.BAT1.BATC, Index (PBDD, 0x01))
}
Store (\_SB.BAT1.BATV, Index (PBDD, 0x02))
If (LEqual (DCNT, 0x00))
{
Store (0x00, \_SB.BAT1.UBHD)
}
Store (PBDD, Debug)
Return (PBDD)
}
Method (S2BF, 1, Serialized)
{
Add (SizeOf (Arg0), One, Local0)
Name (BUFF, Buffer (Local0) {})
Store (Arg0, BUFF)
Return (BUFF)
}
Name (DDA0, Ones)
Name (DDA1, Ones)
Name (DDA2, Ones)
Name (DDA3, Ones)
Name (DDA4, Ones)
Name (DDA5, Ones)
Name (DDA6, Ones)
Name (DDA7, Ones)
Name (DDA8, Ones)
Name (DDA9, Ones)
}
}
Device (PMU)
{
Name (_ADR, 0x00110000)
OperationRegion (PMIO, SystemIO, 0x8000, 0x38)
Field (PMIO, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
ATMR, 32
}
OperationRegion (PMUR, PCI_Config, 0x00, 0xFF)
Field (PMUR, DWordAcc, NoLock, Preserve)
{
Offset (0x85),
, 4,
, 1,
LLOW, 1,
LHGH, 1,
Offset (0x88),
, 3,
LIDS, 1,
Offset (0x91),
, 1,
CRTF, 1,
CRTR, 1,
Offset (0x97),
, 1,
TVC, 1,
FIRC, 1,
COMC, 1,
Offset (0x98),
Z006, 1,
LPTC, 1,
, 2,
CRTI, 1,
Offset (0xB1),
, 3,
CRUN, 1,
Offset (0xB5)
}
}
}
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
}
Device (LID)
{
Name (_HID, EisaId ("PNP0C0D"))
Name (_PRW, Package (0x02)
{
0x03,
0x03
})
Method (_LID, 0, NotSerialized)
{
If (\_SB.ECOK ())
{
If (\_SB.PCI0.PMU.LIDS)
{
Store (0x00, \_SB.PCI0.PMU.LHGH)
Store (0x01, \_SB.PCI0.PMU.LLOW)
Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF)
Store (0x00, \_SB.PCI0.ISA.EC0.KLED)
Release (\_SB.PCI0.ISA.EC0.MUT1)
Return (0x01)
}
Else
{
Store (0x00, \_SB.PCI0.PMU.LLOW)
Store (0x01, \_SB.PCI0.PMU.LHGH)
Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF)
Store (0x01, \_SB.PCI0.ISA.EC0.KLED)
Release (\_SB.PCI0.ISA.EC0.MUT1)
Return (0x00)
}
}
Else
{
If (\_SB.PCI0.PMU.LIDS)
{
Store (0x00, \_SB.PCI0.PMU.LHGH)
Store (0x01, \_SB.PCI0.PMU.LLOW)
Return (0x01)
}
Else
{
Store (0x00, \_SB.PCI0.PMU.LLOW)
Store (0x01, \_SB.PCI0.PMU.LHGH)
Return (0x00)
}
}
}
}
Device (ACAD)
{
Name (_HID, "ACPI0003")
Name (_PCL, Package (0x01)
{
\_SB
})
Name (ACP, Ones)
Method (_PSR, 0, NotSerialized)
{
Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF)
Store ("CMBatt - _PSR", Debug)
\_SB.PCI0.ISA.EC0.CPOL ()
Store (ACP, Local0)
If (Local0)
{
Store (0x01, Local1)
}
Else
{
Store (0x00, Local1)
}
Release (\_SB.PCI0.ISA.EC0.MUT1)
Store (Local1, \_SB.PCI0.ISA.ACST)
Return (Local1)
}
Method (CHAC, 1, NotSerialized)
{
Store (LGreater (And (Arg0, 0xF0), 0x80), Local0)
If (LNot (LEqual (Local0, ACP)))
{
Store (Local0, ACP)
Return (Ones)
}
Else
{
Return (Zero)
}
}
}
Scope (\_TZ)
{
Name (TPTM, 0x0CA0)
Name (TBSE, 0x0AAC)
Name (PLCY, 0x00)
Name (TPA0, 0x0CF0)
Name (TPA1, 0x0D22)
Name (TPA2, 0x0D36)
Name (TPAC, 0x0D7C)
Name (TPAS, 0x0D68)
Name (TBUF, 0x28)
Name (PTHS, 0x00)
Name (TMPS, 0x00)
Name (Z007, 0x04)
Name (Z008, 0x04)
Name (Z009, 0x04)
Name (Z00A, 0x04)
Name (Z00B, 0x01)
Name (Z00C, 0x01)
Name (Z00D, 0x01)
Name (WTMP, 0x3F)
Name (FPOL, 0x00)
Name (D420, Package (0x0E)
{
0x02DA,
0x02DA,
0x02CD,
0x02CE,
0x02CF,
0x43,
0x04,
0x04,
0x04,
0x04,
0x01,
0x01,
0x01,
0x43
})
Name (D428, Package (0x0E)
{
0x02DA,
0x02DA,
0x02CD,
0x02CE,
0x02CF,
0x43,
0x04,
0x04,
0x04,
0x04,
0x01,
0x01,
0x01,
0x43
})
Name (M430, Package (0x0E)
{
0x02DA,
0x02DA,
0x02CD,
0x02CE,
0x02CF,
0x43,
0x04,
0x04,
0x04,
0x04,
0x01,
0x01,
0x01,
0x43
})
Method (TINI, 0, NotSerialized)
{
If (LAnd (LNot (\_SB.PCI0.ISA.PA3G), LNot (\_SB.PCI0.ISA.PCPU)))
{
Store (D428, Local0)
}
Else
{
If (\_SB.PCI0.ISA.PCPU)
{
Store (M430, Local0)
}
Else
{
Store (D420, Local0)
}
}
Store (CTOK (DerefOf (Index (Local0, 0x00))), TPAC)
Store (CTOK (DerefOf (Index (Local0, 0x01))), TPAS)
Store (CTOK (DerefOf (Index (Local0, 0x02))), TPA0)
Store (CTOK (DerefOf (Index (Local0, 0x03))), TPA1)
Store (CTOK (DerefOf (Index (Local0, 0x04))), TPA2)
Store (DerefOf (Index (Local0, 0x05)), TBUF)
Store (DerefOf (Index (Local0, 0x06)), Z007)
Store (DerefOf (Index (Local0, 0x07)), Z008)
Store (DerefOf (Index (Local0, 0x08)), Z009)
Store (DerefOf (Index (Local0, 0x09)), Z00A)
Store (DerefOf (Index (Local0, 0x0A)), Z00B)
Store (DerefOf (Index (Local0, 0x0B)), Z00C)
Store (DerefOf (Index (Local0, 0x0C)), Z00D)
Store (DerefOf (Index (Local0, 0x0D)), WTMP)
}
Method (CTOK, 1, NotSerialized)
{
Add (Arg0, 0x0AAC, Local0)
Return (Local0)
}
Method (EOFF, 0, NotSerialized)
{
If (\_SB.ECOK ())
{
Store (TPAC, Local0)
Store (Add (Divide (Subtract (Local0, TBSE), 0x0A, ), 0x02), \_SB.PCI0.ISA.EC0.TSDN)
Store (\_SB.PCI0.ISA.EC0.TRDV, \_SB.Q8CD)
Store (0x00, PTHS)
}
}
ThermalZone (THRM)
{
Method (_TMP, 0, NotSerialized)
{
If (\_SB.ECOK ())
{
Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF)
Store (\_SB.PCI0.ISA.EC0.CTMP, Local0)
If (LAnd (LNot (LLess (Local0, WTMP)), LNot (FPOL)))
{
Store (0x01, \_SB.PCI0.ISA.EC0.QU7B)
Store (0x01, \_SB.PCI0.ISA.EC0.TSEC)
Store (0x01, FPOL)
}
Else
{
If (LAnd (LLess (Local0, WTMP), FPOL))
{
Store (0x03, \_SB.PCI0.ISA.EC0.QU7B)
Store (0x03, \_SB.PCI0.ISA.EC0.TSEC)
Store (0x00, FPOL)
}
}
Release (\_SB.PCI0.ISA.EC0.MUT1)
Store ("Current Temperature C is ----------- ", Debug)
Store (Local0, Debug)
Store (Local0, Local2)
Multiply (Local0, 0x0A, Local1)
Add (Local1, TBSE, Local0)
CHTL (Local0)
Return (Local0)
}
Else
{
Return (TPTM)
}
}
Method (CHTL, 1, NotSerialized)
{
Store (Arg0, Local0)
If (LLess (Local0, TPA0))
{
Subtract (TPA0, TBUF, Local2)
If (LNot (LGreater (Local0, Local2)))
{
ETL0 ()
}
Else
{
If (LNot (LLess (TMPS, 0x01)))
{
ETL1 ()
}
Else
{
ETL0 ()
}
}
}
If (LAnd (LNot (LLess (Local0, TPA0)), LLess (Local0, TPA1)))
{
Subtract (TPA1, TBUF, Local2)
If (LNot (LGreater (Local0, Local2)))
{
ETL1 ()
}
Else
{
If (LNot (LLess (TMPS, 0x02)))
{
ETL2 ()
}
Else
{
ETL1 ()
}
}
}
If (LAnd (LNot (LLess (Local0, TPA1)), LLess (Local0, TPA2)))
{
Subtract (TPA2, TBUF, Local2)
If (LNot (LGreater (Local0, Local2)))
{
ETL2 ()
}
Else
{
If (LNot (LLess (TMPS, 0x03)))
{
ETL3 ()
}
Else
{
ETL2 ()
}
}
}
If (LNot (LLess (Local0, TPA2)))
{
ETL3 ()
}
Store (0x00, \_SB.ACCG)
}
Method (ETL0, 0, NotSerialized)
{
Store (0x00, TMPS)
If (\_SB.ACAD.ACP)
{
If (LEqual (\_SB.Q8CD, 0x00))
{
If (LNot (LEqual (PTHS, 0x00)))
{
\_SB.PCI0.ISA.HPSS (0x16, 0x00)
Store (0x00, PTHS)
}
}
Else
{
If (LNot (LEqual (PTHS, \_SB.Q8CD)))
{
\_SB.PCI0.ISA.HPSS (0x15, \_SB.Q8CD)
Store (\_SB.Q8CD, PTHS)
}
}
}
Else
{
If (LOr (LEqual (\_SB.Q8CD, 0x00), LNot (LLess (\_SB.Q8CD, Z00A))))
{
If (LNot (LEqual (PTHS, Z00A)))
{
\_SB.PCI0.ISA.HPSS (0x15, Z00A)
Store (Z00A, PTHS)
}
}
Else
{
If (LNot (LEqual (PTHS, \_SB.Q8CD)))
{
\_SB.PCI0.ISA.HPSS (0x15, \_SB.Q8CD)
Store (\_SB.Q8CD, PTHS)
}
}
}
}
Method (ETL1, 0, NotSerialized)
{
Store (0x01, TMPS)
If (\_SB.ACAD.ACP)
{
If (LOr (LEqual (\_SB.Q8CD, 0x00), LNot (LLess (\_SB.Q8CD, Z007))))
{
If (LNot (LEqual (PTHS, Z007)))
{
\_SB.PCI0.ISA.HPSS (0x15, Z007)
Store (Z007, PTHS)
}
}
Else
{
If (LNot (LEqual (PTHS, \_SB.Q8CD)))
{
\_SB.PCI0.ISA.HPSS (0x15, \_SB.Q8CD)
Store (\_SB.Q8CD, PTHS)
}
}
}
Else
{
If (LOr (LEqual (\_SB.Q8CD, 0x00), LNot (LLess (\_SB.Q8CD, Z00B))))
{
If (LNot (LEqual (PTHS, Z00B)))
{
\_SB.PCI0.ISA.HPSS (0x15, Z00B)
Store (Z00B, PTHS)
}
}
Else
{
If (LNot (LEqual (PTHS, \_SB.Q8CD)))
{
\_SB.PCI0.ISA.HPSS (0x15, \_SB.Q8CD)
Store (\_SB.Q8CD, PTHS)
}
}
}
}
Method (ETL2, 0, NotSerialized)
{
Store (0x02, TMPS)
If (\_SB.ACAD.ACP)
{
If (LOr (LEqual (\_SB.Q8CD, 0x00), LNot (LLess (\_SB.Q8CD, Z008))))
{
If (LNot (LEqual (PTHS, Z008)))
{
\_SB.PCI0.ISA.HPSS (0x15, Z008)
Store (Z008, PTHS)
}
}
Else
{
If (LNot (LEqual (PTHS, \_SB.Q8CD)))
{
\_SB.PCI0.ISA.HPSS (0x15, \_SB.Q8CD)
Store (\_SB.Q8CD, PTHS)
}
}
}
Else
{
If (LOr (LEqual (\_SB.Q8CD, 0x00), LNot (LLess (\_SB.Q8CD, Z00C))))
{
If (LNot (LEqual (PTHS, Z00C)))
{
\_SB.PCI0.ISA.HPSS (0x15, Z00C)
Store (Z00C, PTHS)
}
}
Else
{
If (LNot (LEqual (PTHS, \_SB.Q8CD)))
{
\_SB.PCI0.ISA.HPSS (0x15, \_SB.Q8CD)
Store (\_SB.Q8CD, PTHS)
}
}
}
}
Method (ETL3, 0, NotSerialized)
{
Store (0x03, TMPS)
If (\_SB.ACAD.ACP)
{
If (LOr (LEqual (\_SB.Q8CD, 0x00), LNot (LLess (\_SB.Q8CD, Z009))))
{
If (LNot (LEqual (PTHS, Z009)))
{
\_SB.PCI0.ISA.HPSS (0x15, Z009)
Store (Z009, PTHS)
}
}
Else
{
If (LNot (LEqual (PTHS, \_SB.Q8CD)))
{
\_SB.PCI0.ISA.HPSS (0x15, \_SB.Q8CD)
Store (\_SB.Q8CD, PTHS)
}
}
}
Else
{
If (LOr (LEqual (\_SB.Q8CD, 0x00), LNot (LLess (\_SB.Q8CD, Z00D))))
{
If (LNot (LEqual (PTHS, Z00D)))
{
\_SB.PCI0.ISA.HPSS (0x15, Z00D)
Store (Z00D, PTHS)
}
}
Else
{
If (LNot (LEqual (PTHS, \_SB.Q8CD)))
{
\_SB.PCI0.ISA.HPSS (0x15, \_SB.Q8CD)
Store (\_SB.Q8CD, PTHS)
}
}
}
}
Name (_PSL, Package (0x01)
{
\_PR.CPU0
})
Name (_TC1, 0x04)
Name (_TC2, 0x03)
Name (_TSP, 0x28)
Method (_CRT, 0, NotSerialized)
{
Return (TPAC)
}
Method (_PSV, 0, NotSerialized)
{
Return (TPAS)
}
Method (_SCP, 1, NotSerialized)
{
Store (Arg0, PLCY)
}
}
}
Device (BAT1)
{
Name (_HID, EisaId ("PNP0C0A"))
Name (_UID, 0x01)
Name (_PCL, Package (0x01)
{
\_SB
})
Name (UBHD, 0x00)
Name (BATL, 0x00)
Name (BATT, 0x00)
Name (PBHD, Package (0x03)
{
0xFFFF,
0xFFFF,
0xFFFF
})
Name (BATI, 0xFFFF)
Name (BATC, 0xFFFF)
Name (BATV, 0xFFFF)
Name (BATS, 0xFFFF)
Name (PBIF, Package (0x0D)
{
0x01,
0x0B40,
0x0B40,
0x01,
0x39D0,
0x012C,
0xC8,
0x20,
0x20,
"BAT1",
" ",
" ",
" "
})
Name (PBST, Package (0x04)
{
0x00,
0xFFFFFFFF,
0xFFFFFFFF,
0x2710
})
Name (UBIF, 0x01E9)
Name (BP, 0x00)
Name (REPT, 0x00)
Name (ERRC, 0x00)
Method (_STA, 0, NotSerialized)
{
Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF)
Store ("CMBatt - _STA.BAT1", Debug)
\_SB.PCI0.ISA.EC0.CPOL ()
If (BP)
{
Store (0x1F, Local1)
}
Else
{
Store (0x0F, Local1)
}
Release (\_SB.PCI0.ISA.EC0.MUT1)
Return (Local1)
}
Method (_BIF, 0, NotSerialized)
{
Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF)
Store ("CMBatt - _BIF.BAT1", Debug)
\_SB.PCI0.ISA.EC0.CPOL ()
Release (\_SB.PCI0.ISA.EC0.MUT1)
Return (PBIF)
}
Method (_BST, 0, NotSerialized)
{
Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF)
Store ("CMBatt - _BST.BAT1", Debug)
\_SB.PCI0.ISA.EC0.CPOL ()
Release (\_SB.PCI0.ISA.EC0.MUT1)
Return (PBST)
}
Method (B1CK, 0, NotSerialized)
{
Store ("CMBatt - Notify(BAT1,0x81): B1CK", Debug)
Notify (\_SB.BAT1, 0x81)
}
Method (B1ST, 0, NotSerialized)
{
Store ("CMBatt - Notify(BAT1,0x80): B1ST", Debug)
Notify (\_SB.BAT1, 0x80)
}
Method (B1IF, 0, NotSerialized)
{
Store ("CMBatt - Notify(BAT1,0x81): B1IF", Debug)
Notify (\_SB.BAT1, 0x81)
}
Method (UPBI, 0, NotSerialized)
{
Store ("CMBatt - UPBI.BAT1", Debug)
Store (Zero, Local0)
If (LNot (ECOK ()))
{
Return (Local0)
}
Store (0x0C, Local1)
Store (Buffer (0x0D)
{
0x00, 0x18, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00,
0x00, 0x21, 0x00, 0x22, 0x20
}, Local2)
While (LGreater (Local1, 0x08))
{
If (LNot (And (UBIF, VTOB (Local1))))
{
GBFE (Local2, Local1, RefOf (Local3))
If (Local3)
{
If (LNot (\_SB.PCI0.ISA.EC0.SMRD (0x0B, 0x16, Local3, RefOf (Local4))))
{
Store (\_SB.PCI0.ISA.EC0.BCNT, Local5)
Store (Zero, Local3)
Store (Zero, ERRC)
While (LGreater (Local5, Local3))
{
GBFE (Local4, Local3, RefOf (Local6))
Increment (Local3)
If (And (Local6, 0x80))
{
Increment (ERRC)
}
}
If (LEqual (ERRC, 0x00))
{
Store (Local4, Index (PBIF, Local1))
Or (UBIF, VTOB (Local1), UBIF)
Store (Ones, Local0)
}
}
}
}
Decrement (Local1)
}
While (LGreater (Local1, 0x00))
{
If (LNot (And (UBIF, VTOB (Local1))))
{
GBFE (Local2, Local1, RefOf (Local3))
If (Local3)
{
If (LNot (\_SB.PCI0.ISA.EC0.SMRD (0x09, 0x16, Local3, RefOf (Local5))))
{
If (LAnd (Local5, LNot (And (Local5, 0x8000))))
{
If (LEqual (Local1, 0x02))
{
ShiftRight (Local5, 0x05, Local5)
ShiftLeft (Local5, 0x05, Local5)
ShiftRight (Local5, 0x04, BATL)
Add (BATL, 0x14, BATL)
}
Store (Local5, Index (PBIF, Local1))
Or (UBIF, VTOB (Local1), UBIF)
Store (Ones, Local0)
}
}
}
}
Decrement (Local1)
}
Store (0x0A, Local1)
If (LNot (And (UBIF, VTOB (Local1))))
{
If (LNot (\_SB.PCI0.ISA.EC0.SMRD (0x09, 0x16, 0x1C, RefOf (Local5))))
{
Store (Local5, BATS)
Store (ITOS (ToBCD (Local5)), Index (PBIF, Local1))
Or (UBIF, VTOB (Local1), UBIF)
Store (Ones, Local0)
}
}
Store (PBIF, Debug)
Return (Local0)
}
Method (UPBS, 0, NotSerialized)
{
Store ("CMBatt - UPBS.BAT1", Debug)
Store (Zero, Local0)
If (LNot (ECOK ()))
{
Return (Local0)
}
Store (\_SB.PCI0.ISA.EC0.BT1S, Local5)
Store (Local5, Local1)
And (Local5, 0x07, Local5)
If (LNot (LEqual (Local5, DerefOf (Index (PBST, 0x00)))))
{
Store ("CMBatt - BAT1 STATE CHANGE", Debug)
Store (Local1, Debug)
Store (Local5, Index (PBST, 0x00))
Store (Local5, BATT)
Store (Ones, Local0)
}
Store (\_SB.PCI0.ISA.EC0.BT1C, Local5)
If (LNot (And (Local5, 0x8000)))
{
Store (Local5, BATC)
ShiftRight (Local5, 0x05, Local5)
ShiftLeft (Local5, 0x05, Local5)
If (LNot (LEqual (Local5, DerefOf (Index (PBST, 0x02)))))
{
Store (Local5, Index (PBST, 0x02))
Store (Ones, Local0)
}
If (And (BATT, 0x01))
{
If (LLess (Local5, BATL))
{
Or (\_SB.PCI0.ISA.EC0.PQ8A, 0x01, \_SB.PCI0.ISA.EC0.PQ8A)
Store (0x0780, \_SB.PCI0.ISA.EC0.HPCB)
Store (0x01, \_SB.PCI0.ISA.EC0.ENCB)
}
}
}
Store (\_SB.PCI0.ISA.EC0.BT1V, Local5)
If (LNot (And (Local5, 0x8000)))
{
Store (Local5, BATV)
ShiftRight (Local5, 0x05, Local5)
ShiftLeft (Local5, 0x05, Local5)
If (LNot (LEqual (Local5, DerefOf (Index (PBST, 0x03)))))
{
Store (Local5, Index (PBST, 0x03))
Store (Ones, Local0)
}
}
Store (\_SB.PCI0.ISA.EC0.BT1I, Local5)
Store (Local5, BATI)
If (And (BATI, 0x8000))
{
Or (BATI, 0xFFFF0000, BATI)
}
If (And (Local1, 0x01))
{
Store (\_SB.PCI0.ISA.EC0.BT1V, Local2)
If (LEqual (Local2, Zero))
{
Store (0x39D0, Local2)
}
Divide (0x01036640, Local2, , Local3)
If (And (Local5, 0x8000))
{
Or (Local5, 0xFFFF0000, Local5)
Add (Not (Local5), 0x01, Local5)
If (LGreater (Local3, Local5))
{
Store (Local3, Local5)
}
}
Else
{
Store (Local3, Local5)
}
}
If (And (Local1, 0x02))
{
If (And (Local5, 0x8000))
{
Store (0x00, Local5)
}
If (LGreater (0x64, Local5))
{
Store (0x64, Local5)
}
}
If (LEqual (And (Local1, 0x03), 0x00))
{
Store (0x00, Local5)
}
ShiftRight (Local5, 0x05, Local5)
ShiftLeft (Local5, 0x05, Local5)
If (LNot (LEqual (Local5, DerefOf (Index (PBST, 0x01)))))
{
Store (Local5, Index (PBST, 0x01))
Store (Ones, Local0)
}
If (Local0)
{
Store ("CMBATT - PBST Changed", Debug)
}
Store (PBST, Debug)
Return (Local0)
}
Method (UPBH, 0, NotSerialized)
{
Store ("CMBatt - UPBH.BAT1", Debug)
Store (Zero, Local0)
If (LNot (ECOK ()))
{
Return (Local0)
}
Store (0x00, Local1)
Store (Buffer (0x03)
{
0x17, 0x0C, 0x10
}, Local2)
While (LLess (Local1, 0x03))
{
If (LNot (And (UBHD, VTOB (Local1))))
{
GBFE (Local2, Local1, RefOf (Local3))
If (LNot (\_SB.PCI0.ISA.EC0.SMRD (0x09, 0x16, Local3, RefOf (Local5))))
{
Store (Local5, Index (PBHD, Local1))
Or (UBHD, VTOB (Local1), UBHD)
Store (Ones, Local0)
}
}
Increment (Local1)
}
Store (PBHD, Debug)
Return (Local0)
}
Method (IVBI, 0, NotSerialized)
{
Store (0x01E9, UBIF)
Store (0x0B40, Index (PBIF, 0x01))
Store (0x0B40, Index (PBIF, 0x02))
Store (0x39D0, Index (PBIF, 0x04))
Store ("Bad", Index (PBIF, 0x09))
Store ("Bad", Index (PBIF, 0x0A))
Store ("Bad", Index (PBIF, 0x0B))
Store ("Bad", Index (PBIF, 0x0C))
}
Method (IVBS, 0, NotSerialized)
{
Store (0x00, Index (PBST, 0x00))
Store (0xFFFFFFFF, Index (PBST, 0x01))
Store (0xFFFFFFFF, Index (PBST, 0x02))
Store (0x39D0, Index (PBST, 0x03))
}
Method (IVBH, 0, NotSerialized)
{
Store (0x00, UBHD)
Store (0xFFFF, Index (PBHD, 0x00))
Store (0xFFFF, Index (PBHD, 0x01))
Store (0xFFFF, Index (PBHD, 0x02))
}
Method (CHBP, 1, NotSerialized)
{
Store ("CMBatt - CHBP.BAT1", Debug)
Store (Zero, Local0)
If (LNot (ECOK ()))
{
Return (Local0)
}
Store (VTOB (Subtract (_UID, 0x01)), Local1)
Or (ShiftLeft (Local1, 0x0C), 0x0FFF, Local2)
Store (Zero, Local3)
If (And (Arg0, Local1))
{
If (BP)
{
Store ("CMBatt - BAT1 still present", Debug)
\_SB.PCI0.ISA.EC0.SMWR (0x08, 0x14, 0x01, Local2)
\_SB.PCI0.ISA.EC0.SMRD (0x09, 0x14, 0x01, RefOf (Local3))
If (LEqual (Local2, Or (Local3, 0x0FFF)))
{
If (UPBI ())
{
Or (0x01, Local0, Local0)
}
If (UPBS ())
{
Or (0x02, Local0, Local0)
}
UPBH ()
}
}
Else
{
Store ("CMBatt - BAT1 connected", Debug)
\_SB.PCI0.ISA.EC0.SMWR (0x08, 0x14, 0x01, Local2)
\_SB.PCI0.ISA.EC0.SMRD (0x09, 0x14, 0x01, RefOf (Local3))
If (LEqual (Local2, Or (Local3, 0x0FFF)))
{
UPBI ()
UPBS ()
UPBH ()
}
Store (0x01, BP)
Or (0x05, Local0, Local0)
}
}
Else
{
If (BP)
{
Store ("CMBatt - BAT1 disconnected", Debug)
Store (0x00, BP)
IVBI ()
IVBS ()
IVBH ()
Or (0x04, Local0, Local0)
}
}
If (LAnd (And (Arg0, Local1), LNot (LEqual (UBIF, 0x1FFF))))
{
Store (0x01, REPT)
}
Else
{
Store (0x00, REPT)
}
Return (Local0)
}
}
}
Method (_PTS, 1, NotSerialized)
{
Add (Arg0, 0x50, Local0)
Store (Local0, P80H)
If (LEqual (Arg0, 0x01)) {}
If (LEqual (Arg0, 0x03))
{
If (\_SB.ECOK ())
{
Store (0x01, \_SB.PCI0.ISA.EC0.WORE)
}
Store (0x00, \_SB.PCI0.PMU.LLOW)
Store (0x01, \_SB.PCI0.PMU.LHGH)
\_SB.PCI0.ISA.Z000 (0x00)
Add (Arg0, 0x51, Local0)
}
If (LEqual (Arg0, 0x04))
{
If (\_SB.ECOK ())
{
Store (0x01, \_SB.PCI0.ISA.EC0.S4FG)
Store (0x00, \_SB.PCI0.ISA.EC0.WORE)
}
\_SB.PCI0.ISA.Z000 (0x03)
}
If (LEqual (Arg0, 0x05))
{
If (\_SB.ECOK ())
{
Store (0x00, \_SB.PCI0.ISA.EC0.WORE)
If (\_SB.PCI0.ISA.WOLE)
{
Store (0x01, \_SB.PCI0.ISA.EC0.WOLE)
}
Else
{
Store (0x00, \_SB.PCI0.ISA.EC0.WOLE)
}
}
}
If (LEqual (Arg0, 0x05))
{
\_SB.PCI0.ISA.Z000 (0x02)
Sleep (0x07D0)
Store (0x01, \_SB.PCI0.ISA.Z002)
}
}
Method (_WAK, 1, NotSerialized)
{
Store (0x58, P80H)
Store (0x01, \_SB.PCI0.AGPB.VGA.VRSM)
If (\_SB.ECOK ())
{
Store (\_SB.PCI0.ISA.HPSS (0x08, 0x11), Local0)
\_SB.PCI0.ISA.EC0.CMC2 (0xC4, Local0, 0x82)
\_TZ.EOFF ()
Notify (\_TZ.THRM, 0x80)
}
If (LEqual (Arg0, 0x01)) {}
If (LEqual (Arg0, 0x03))
{
Store (0x01, \_SB.PCI0.ISA.KBC0.KBS3)
If (\_SB.PCI0.PMU.LIDS)
{
Store (0x00, \_SB.PCI0.PMU.LHGH)
Store (0x01, \_SB.PCI0.PMU.LLOW)
}
Else
{
Store (0x00, \_SB.PCI0.PMU.LLOW)
Store (0x01, \_SB.PCI0.PMU.LHGH)
}
\_SB.PCI0.ISA.Z000 (0x01)
If (\_SB.ECOK ())
{
Store (0x00, \_SB.PCI0.ISA.EC0.PWRE)
Store (0x12, \_SB.PCI0.ISA.EC0.BFLG)
Store (0x01, \_SB.PCI0.ISA.EC0.BPD)
\_SB.PCI0.ISA.EC0.BPOL ()
}
}
If (LEqual (Arg0, 0x04))
{
Notify (\_SB.PWRB, 0x02)
}
If (LEqual (Arg0, 0x05)) {}
If (\_SB.PCI0.PMU.CRTI)
{
Store (0x00, \_SB.PCI0.PMU.CRTR)
Store (0x01, \_SB.PCI0.PMU.CRTF)
}
Else
{
Store (0x00, \_SB.PCI0.PMU.CRTF)
Store (0x01, \_SB.PCI0.PMU.CRTR)
}
Return(Package(0x02){0x00, 0x00})
}
Scope (\_SI)
{
Method (_SST, 1, NotSerialized)
{
If (LEqual (Arg0, 0x01)) {}
If (LEqual (Arg0, 0x02)) {}
If (LEqual (Arg0, 0x03)) {}
If (LEqual (Arg0, 0x04)) {}
}
}
Scope (_GPE)
{
Method (_L03, 0, NotSerialized)
{
Notify (\_SB.LID, 0x80)
}
Method (_L09, 0, NotSerialized)
{
Notify (\_SB.PCI0, 0x02)
Sleep (0x01F4)
Notify (\_SB.PWRB, 0x02)
}
Method (_L0A, 0, NotSerialized)
{
Notify (\_SB.PCI0.MDEM, 0x02)
}
Method (_L0B, 0, NotSerialized)
{
Notify (\_SB.PWRB, 0x02)
}
Method (_L0D, 0, NotSerialized)
{
Notify (\_SB.PWRB, 0x02)
}
Method (_L23, 0, NotSerialized)
{
Notify (\_TZ.THRM, 0x80)
}
Method (_L24, 0, NotSerialized)
{
Sleep (0x01F4)
If (\_SB.PCI0.PMU.CRTI)
{
Store (0x00, \_SB.PCI0.PMU.CRTR)
Store (0x01, \_SB.PCI0.PMU.CRTF)
}
Else
{
Store (0x00, \_SB.PCI0.PMU.CRTF)
Store (0x01, \_SB.PCI0.PMU.CRTR)
}
\_SB.PCI0.AGPB.VGA.DRUL (0x02)
}
}
}
next reply other threads:[~2005-10-05 17:13 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-10-05 17:13 Hein-Pieter van Braam [this message]
[not found] ` <1128532406.16313.12.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-11-03 14:50 ` Compaq 2552EA suspend/resume Pavel Machek
-- strict thread matches above, loose matches on Subject: below --
2005-10-06 6:51 Hein-Pieter van Braam
[not found] ` <1128581461.8134.7.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-10-06 9:35 ` Pavel Machek
[not found] ` <20051006093525.GB10865-u08AdweFZfgxtPtxi4kahqVXKuFTiq87@public.gmane.org>
2005-10-09 19:09 ` Hein-Pieter van Braam
[not found] ` <1128884950.12703.3.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-10-10 8:56 ` Pavel Machek
[not found] ` <20051010085625.GC2369-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2005-10-10 10:37 ` Hein-Pieter van Braam
[not found] ` <1128940620.12703.7.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-10-12 11:33 ` Stefan Seyfried
[not found] ` <20051012113309.GB9401-l0tNAEGuAhhzZ8+rp42Dbp9+tswZ0GTaehPwdyo5hKaELgA04lAiVw@public.gmane.org>
2005-10-12 14:20 ` Hein-Pieter van Braam
[not found] ` <1129126825.6202.27.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-10-12 19:53 ` Pavel Machek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1128532406.16313.12.camel@localhost.localdomain \
--to=hp-koxqmzujaklwk0htik3j/w@public.gmane.org \
--cc=acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox