1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
/**************************************************************************;
;* *;
;* *;
;* Intel Corporation - ACPI Reference Code for the Baytrail *;
;* Family of Customer Reference Boards. *;
;* *;
;* *;
;* Copyright (c) 2012 - 2014, Intel Corporation. All rights reserved *;
;
; This program and the accompanying materials are licensed and made available under
; the terms and conditions of the BSD License that accompanies this distribution.
; The full text of the license may be found at
; http://opensource.org/licenses/bsd-license.php.
;
; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
;
;* *;
;* *;
;**************************************************************************/
// General Purpose Events. This Scope handles the Run-time and
// Wake-time SCIs. The specific method called will be determined by
// the _Lxx value, where xx equals the bit location in the General
// Purpose Event register(s).
Scope(\_GPE)
{
//
// Software GPE caused the event.
//
Method(_L02)
{
// Clear GPE status bit.
Store(0,GPEC)
//
// Handle DTS Thermal Events.
//
External(DTSE, IntObj)
If(CondRefOf(DTSE))
{
If(LGreaterEqual(DTSE, 0x01))
{
Notify(\_TZ.TZ01,0x80)
}
}
}
//
// PUNIT SCI event.
//
Method(_L04)
{
// Clear the PUNIT Status Bit.
Store(1, PSCI)
}
//
// IGD OpRegion SCI event (see IGD OpRegion/Software SCI BIOS SPEC).
//
Method(_L05)
{
If(LAnd(\_SB.PCI0.GFX0.GSSE, LNot(GSMI))) // Graphics software SCI event?
{
\_SB.PCI0.GFX0.GSCI() // Handle the SWSCI
}
}
//
// This PME event (PCH's GPE #13) is received when any PCH internal device with PCI Power Management capabilities
// on bus 0 asserts the equivalent of the PME# signal.
//
Method(_L0D, 0)
{
If(LAnd(\_SB.PCI0.EHC1.PMEE, \_SB.PCI0.EHC1.PMES))
{
If(LNotEqual(OSEL, 1))
{
Store(1, \_SB.PCI0.EHC1.PMES) //Clear PME status
Store(0, \_SB.PCI0.EHC1.PMEE) //Disable PME
}
Notify(\_SB.PCI0.EHC1, 0x02)
}
If(LAnd(\_SB.PCI0.XHC1.PMEE, \_SB.PCI0.XHC1.PMES))
{
If(LNotEqual(OSEL, 1))
{
Store(1, \_SB.PCI0.XHC1.PMES) //Clear PME status
Store(0, \_SB.PCI0.XHC1.PMEE) //Disable PME
}
Notify(\_SB.PCI0.XHC1, 0x02)
}
If(LAnd(\_SB.PCI0.HDEF.PMEE, \_SB.PCI0.HDEF.PMES))
{
If(LNotEqual(OSEL, 1))
{
Store(1, \_SB.PCI0.HDEF.PMES) //Clear PME status
Store(0, \_SB.PCI0.HDEF.PMEE) //Disable PME
}
Notify(\_SB.PCI0.HDEF, 0x02)
}
}
}
|