1 /******************************************************************************
2 *
3 * Name: acevents.h - Event subcomponent prototypes and defines
4 *
5 *****************************************************************************/
6
7 /*
8 * Copyright (C) 2000 - 2011, Intel Corp.
9 * All rights reserved.
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions, and the following disclaimer,
16 * without modification.
17 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18 * substantially similar to the "NO WARRANTY" disclaimer below
19 * ("Disclaimer") and any redistribution must be conditioned upon
20 * including a substantially similar Disclaimer requirement for further
21 * binary redistribution.
22 * 3. Neither the names of the above-listed copyright holders nor the names
23 * of any contributors may be used to endorse or promote products derived
24 * from this software without specific prior written permission.
25 *
26 * Alternatively, this software may be distributed under the terms of the
27 * GNU General Public License ("GPL") version 2 as published by the Free
28 * Software Foundation.
68 AcpiEvIsNotifyObject (
69 ACPI_NAMESPACE_NODE *Node);
70
71 UINT32
72 AcpiEvGetGpeNumberIndex (
73 UINT32 GpeNumber);
74
75 ACPI_STATUS
76 AcpiEvQueueNotifyRequest (
77 ACPI_NAMESPACE_NODE *Node,
78 UINT32 NotifyValue);
79
80
81 /*
82 * evglock - Global Lock support
83 */
84 ACPI_STATUS
85 AcpiEvInitGlobalLockHandler (
86 void);
87
88 ACPI_STATUS
89 AcpiEvAcquireGlobalLock(
90 UINT16 Timeout);
91
92 ACPI_STATUS
93 AcpiEvReleaseGlobalLock(
94 void);
95
96 ACPI_STATUS
97 AcpiEvRemoveGlobalLockHandler (
98 void);
99
100
101 /*
102 * evgpe - Low-level GPE support
103 */
104 UINT32
105 AcpiEvGpeDetect (
106 ACPI_GPE_XRUPT_INFO *GpeXruptList);
107
108 ACPI_STATUS
109 AcpiEvUpdateGpeEnableMask (
110 ACPI_GPE_EVENT_INFO *GpeEventInfo);
111
112 ACPI_STATUS
113 AcpiEvEnableGpe (
114 ACPI_GPE_EVENT_INFO *GpeEventInfo);
137
138
139 /*
140 * evgpeblk - Upper-level GPE block support
141 */
142 ACPI_STATUS
143 AcpiEvCreateGpeBlock (
144 ACPI_NAMESPACE_NODE *GpeDevice,
145 ACPI_GENERIC_ADDRESS *GpeBlockAddress,
146 UINT32 RegisterCount,
147 UINT8 GpeBlockBaseNumber,
148 UINT32 InterruptNumber,
149 ACPI_GPE_BLOCK_INFO **ReturnGpeBlock);
150
151 ACPI_STATUS
152 AcpiEvInitializeGpeBlock (
153 ACPI_GPE_XRUPT_INFO *GpeXruptInfo,
154 ACPI_GPE_BLOCK_INFO *GpeBlock,
155 void *Context);
156
157 ACPI_STATUS
158 AcpiEvDeleteGpeBlock (
159 ACPI_GPE_BLOCK_INFO *GpeBlock);
160
161 UINT32
162 AcpiEvGpeDispatch (
163 ACPI_NAMESPACE_NODE *GpeDevice,
164 ACPI_GPE_EVENT_INFO *GpeEventInfo,
165 UINT32 GpeNumber);
166
167 /*
168 * evgpeinit - GPE initialization and update
169 */
170 ACPI_STATUS
171 AcpiEvGpeInitialize (
172 void);
173
174 void
175 AcpiEvUpdateGpes (
176 ACPI_OWNER_ID TableOwnerId);
177
178 ACPI_STATUS
179 AcpiEvMatchGpeMethod (
180 ACPI_HANDLE ObjHandle,
181 UINT32 Level,
182 void *Context,
183 void **ReturnValue);
184
185 /*
186 * evgpeutil - GPE utilities
187 */
188 ACPI_STATUS
189 AcpiEvWalkGpeList (
190 ACPI_GPE_CALLBACK GpeWalkCallback,
191 void *Context);
192
193 BOOLEAN
194 AcpiEvValidGpeEvent (
195 ACPI_GPE_EVENT_INFO *GpeEventInfo);
196
197 ACPI_STATUS
198 AcpiEvGetGpeDevice (
199 ACPI_GPE_XRUPT_INFO *GpeXruptInfo,
200 ACPI_GPE_BLOCK_INFO *GpeBlock,
201 void *Context);
202
203 ACPI_GPE_XRUPT_INFO *
204 AcpiEvGetGpeXruptBlock (
205 UINT32 InterruptNumber);
206
207 ACPI_STATUS
208 AcpiEvDeleteGpeXrupt (
209 ACPI_GPE_XRUPT_INFO *GpeXrupt);
210
211 ACPI_STATUS
212 AcpiEvDeleteGpeHandlers (
213 ACPI_GPE_XRUPT_INFO *GpeXruptInfo,
214 ACPI_GPE_BLOCK_INFO *GpeBlock,
215 void *Context);
216
217
218 /*
219 * evregion - Address Space handling
220 */
221 ACPI_STATUS
222 AcpiEvInstallRegionHandlers (
223 void);
224
225 ACPI_STATUS
226 AcpiEvInitializeOpRegions (
227 void);
228
229 ACPI_STATUS
230 AcpiEvAddressSpaceDispatch (
231 ACPI_OPERAND_OBJECT *RegionObj,
232 UINT32 Function,
233 UINT32 RegionOffset,
234 UINT32 BitWidth,
235 UINT64 *Value);
236
237 ACPI_STATUS
238 AcpiEvAttachRegion (
239 ACPI_OPERAND_OBJECT *HandlerObj,
240 ACPI_OPERAND_OBJECT *RegionObj,
241 BOOLEAN AcpiNsIsLocked);
242
243 void
244 AcpiEvDetachRegion (
245 ACPI_OPERAND_OBJECT *RegionObj,
246 BOOLEAN AcpiNsIsLocked);
247
248 ACPI_STATUS
249 AcpiEvInstallSpaceHandler (
250 ACPI_NAMESPACE_NODE *Node,
251 ACPI_ADR_SPACE_TYPE SpaceId,
252 ACPI_ADR_SPACE_HANDLER Handler,
253 ACPI_ADR_SPACE_SETUP Setup,
254 void *Context);
255
256 ACPI_STATUS
257 AcpiEvExecuteRegMethods (
258 ACPI_NAMESPACE_NODE *Node,
259 ACPI_ADR_SPACE_TYPE SpaceId);
260
261 ACPI_STATUS
262 AcpiEvExecuteRegMethod (
263 ACPI_OPERAND_OBJECT *RegionObj,
264 UINT32 Function);
265
266
267 /*
268 * evregini - Region initialization and setup
269 */
270 ACPI_STATUS
271 AcpiEvSystemMemoryRegionSetup (
272 ACPI_HANDLE Handle,
273 UINT32 Function,
274 void *HandlerContext,
275 void **RegionContext);
276
306 AcpiEvDefaultRegionSetup (
307 ACPI_HANDLE Handle,
308 UINT32 Function,
309 void *HandlerContext,
310 void **RegionContext);
311
312 ACPI_STATUS
313 AcpiEvInitializeRegion (
314 ACPI_OPERAND_OBJECT *RegionObj,
315 BOOLEAN AcpiNsLocked);
316
317
318 /*
319 * evsci - SCI (System Control Interrupt) handling/dispatch
320 */
321 UINT32 ACPI_SYSTEM_XFACE
322 AcpiEvGpeXruptHandler (
323 void *Context);
324
325 UINT32
326 AcpiEvInstallSciHandler (
327 void);
328
329 ACPI_STATUS
330 AcpiEvRemoveSciHandler (
331 void);
332
333 UINT32
334 AcpiEvInitializeSCI (
335 UINT32 ProgramSCI);
336
337 void
338 AcpiEvTerminate (
339 void);
340
341
342 #endif /* __ACEVENTS_H__ */
|
1 /******************************************************************************
2 *
3 * Name: acevents.h - Event subcomponent prototypes and defines
4 *
5 *****************************************************************************/
6
7 /*
8 * Copyright (C) 2000 - 2014, Intel Corp.
9 * All rights reserved.
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions, and the following disclaimer,
16 * without modification.
17 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18 * substantially similar to the "NO WARRANTY" disclaimer below
19 * ("Disclaimer") and any redistribution must be conditioned upon
20 * including a substantially similar Disclaimer requirement for further
21 * binary redistribution.
22 * 3. Neither the names of the above-listed copyright holders nor the names
23 * of any contributors may be used to endorse or promote products derived
24 * from this software without specific prior written permission.
25 *
26 * Alternatively, this software may be distributed under the terms of the
27 * GNU General Public License ("GPL") version 2 as published by the Free
28 * Software Foundation.
68 AcpiEvIsNotifyObject (
69 ACPI_NAMESPACE_NODE *Node);
70
71 UINT32
72 AcpiEvGetGpeNumberIndex (
73 UINT32 GpeNumber);
74
75 ACPI_STATUS
76 AcpiEvQueueNotifyRequest (
77 ACPI_NAMESPACE_NODE *Node,
78 UINT32 NotifyValue);
79
80
81 /*
82 * evglock - Global Lock support
83 */
84 ACPI_STATUS
85 AcpiEvInitGlobalLockHandler (
86 void);
87
88 ACPI_HW_DEPENDENT_RETURN_OK (
89 ACPI_STATUS
90 AcpiEvAcquireGlobalLock(
91 UINT16 Timeout))
92
93 ACPI_HW_DEPENDENT_RETURN_OK (
94 ACPI_STATUS
95 AcpiEvReleaseGlobalLock(
96 void))
97
98 ACPI_STATUS
99 AcpiEvRemoveGlobalLockHandler (
100 void);
101
102
103 /*
104 * evgpe - Low-level GPE support
105 */
106 UINT32
107 AcpiEvGpeDetect (
108 ACPI_GPE_XRUPT_INFO *GpeXruptList);
109
110 ACPI_STATUS
111 AcpiEvUpdateGpeEnableMask (
112 ACPI_GPE_EVENT_INFO *GpeEventInfo);
113
114 ACPI_STATUS
115 AcpiEvEnableGpe (
116 ACPI_GPE_EVENT_INFO *GpeEventInfo);
139
140
141 /*
142 * evgpeblk - Upper-level GPE block support
143 */
144 ACPI_STATUS
145 AcpiEvCreateGpeBlock (
146 ACPI_NAMESPACE_NODE *GpeDevice,
147 ACPI_GENERIC_ADDRESS *GpeBlockAddress,
148 UINT32 RegisterCount,
149 UINT8 GpeBlockBaseNumber,
150 UINT32 InterruptNumber,
151 ACPI_GPE_BLOCK_INFO **ReturnGpeBlock);
152
153 ACPI_STATUS
154 AcpiEvInitializeGpeBlock (
155 ACPI_GPE_XRUPT_INFO *GpeXruptInfo,
156 ACPI_GPE_BLOCK_INFO *GpeBlock,
157 void *Context);
158
159 ACPI_HW_DEPENDENT_RETURN_OK (
160 ACPI_STATUS
161 AcpiEvDeleteGpeBlock (
162 ACPI_GPE_BLOCK_INFO *GpeBlock))
163
164 UINT32
165 AcpiEvGpeDispatch (
166 ACPI_NAMESPACE_NODE *GpeDevice,
167 ACPI_GPE_EVENT_INFO *GpeEventInfo,
168 UINT32 GpeNumber);
169
170
171 /*
172 * evgpeinit - GPE initialization and update
173 */
174 ACPI_STATUS
175 AcpiEvGpeInitialize (
176 void);
177
178 ACPI_HW_DEPENDENT_RETURN_VOID (
179 void
180 AcpiEvUpdateGpes (
181 ACPI_OWNER_ID TableOwnerId))
182
183 ACPI_STATUS
184 AcpiEvMatchGpeMethod (
185 ACPI_HANDLE ObjHandle,
186 UINT32 Level,
187 void *Context,
188 void **ReturnValue);
189
190
191 /*
192 * evgpeutil - GPE utilities
193 */
194 ACPI_STATUS
195 AcpiEvWalkGpeList (
196 ACPI_GPE_CALLBACK GpeWalkCallback,
197 void *Context);
198
199 BOOLEAN
200 AcpiEvValidGpeEvent (
201 ACPI_GPE_EVENT_INFO *GpeEventInfo);
202
203 ACPI_STATUS
204 AcpiEvGetGpeDevice (
205 ACPI_GPE_XRUPT_INFO *GpeXruptInfo,
206 ACPI_GPE_BLOCK_INFO *GpeBlock,
207 void *Context);
208
209 ACPI_STATUS
210 AcpiEvGetGpeXruptBlock (
211 UINT32 InterruptNumber,
212 ACPI_GPE_XRUPT_INFO **GpeXruptBlock);
213
214 ACPI_STATUS
215 AcpiEvDeleteGpeXrupt (
216 ACPI_GPE_XRUPT_INFO *GpeXrupt);
217
218 ACPI_STATUS
219 AcpiEvDeleteGpeHandlers (
220 ACPI_GPE_XRUPT_INFO *GpeXruptInfo,
221 ACPI_GPE_BLOCK_INFO *GpeBlock,
222 void *Context);
223
224
225 /*
226 * evhandler - Address space handling
227 */
228 BOOLEAN
229 AcpiEvHasDefaultHandler (
230 ACPI_NAMESPACE_NODE *Node,
231 ACPI_ADR_SPACE_TYPE SpaceId);
232
233 ACPI_STATUS
234 AcpiEvInstallRegionHandlers (
235 void);
236
237 ACPI_STATUS
238 AcpiEvInstallSpaceHandler (
239 ACPI_NAMESPACE_NODE *Node,
240 ACPI_ADR_SPACE_TYPE SpaceId,
241 ACPI_ADR_SPACE_HANDLER Handler,
242 ACPI_ADR_SPACE_SETUP Setup,
243 void *Context);
244
245
246 /*
247 * evregion - Operation region support
248 */
249 ACPI_STATUS
250 AcpiEvInitializeOpRegions (
251 void);
252
253 ACPI_STATUS
254 AcpiEvAddressSpaceDispatch (
255 ACPI_OPERAND_OBJECT *RegionObj,
256 ACPI_OPERAND_OBJECT *FieldObj,
257 UINT32 Function,
258 UINT32 RegionOffset,
259 UINT32 BitWidth,
260 UINT64 *Value);
261
262 ACPI_STATUS
263 AcpiEvAttachRegion (
264 ACPI_OPERAND_OBJECT *HandlerObj,
265 ACPI_OPERAND_OBJECT *RegionObj,
266 BOOLEAN AcpiNsIsLocked);
267
268 void
269 AcpiEvDetachRegion (
270 ACPI_OPERAND_OBJECT *RegionObj,
271 BOOLEAN AcpiNsIsLocked);
272
273 ACPI_STATUS
274 AcpiEvExecuteRegMethods (
275 ACPI_NAMESPACE_NODE *Node,
276 ACPI_ADR_SPACE_TYPE SpaceId);
277
278 ACPI_STATUS
279 AcpiEvExecuteRegMethod (
280 ACPI_OPERAND_OBJECT *RegionObj,
281 UINT32 Function);
282
283
284 /*
285 * evregini - Region initialization and setup
286 */
287 ACPI_STATUS
288 AcpiEvSystemMemoryRegionSetup (
289 ACPI_HANDLE Handle,
290 UINT32 Function,
291 void *HandlerContext,
292 void **RegionContext);
293
323 AcpiEvDefaultRegionSetup (
324 ACPI_HANDLE Handle,
325 UINT32 Function,
326 void *HandlerContext,
327 void **RegionContext);
328
329 ACPI_STATUS
330 AcpiEvInitializeRegion (
331 ACPI_OPERAND_OBJECT *RegionObj,
332 BOOLEAN AcpiNsLocked);
333
334
335 /*
336 * evsci - SCI (System Control Interrupt) handling/dispatch
337 */
338 UINT32 ACPI_SYSTEM_XFACE
339 AcpiEvGpeXruptHandler (
340 void *Context);
341
342 UINT32
343 AcpiEvSciDispatch (
344 void);
345
346 UINT32
347 AcpiEvInstallSciHandler (
348 void);
349
350 ACPI_STATUS
351 AcpiEvRemoveAllSciHandlers (
352 void);
353
354 ACPI_HW_DEPENDENT_RETURN_VOID (
355 void
356 AcpiEvTerminate (
357 void))
358
359 #endif /* __ACEVENTS_H__ */
|