1a9f12690SJung-uk Kim /****************************************************************************** 2a9f12690SJung-uk Kim * 3a9f12690SJung-uk Kim * Name: acevents.h - Event subcomponent prototypes and defines 4a9f12690SJung-uk Kim * 5a9f12690SJung-uk Kim *****************************************************************************/ 6a9f12690SJung-uk Kim 7d244b227SJung-uk Kim /* 8d244b227SJung-uk Kim * Copyright (C) 2000 - 2011, Intel Corp. 9a9f12690SJung-uk Kim * All rights reserved. 10a9f12690SJung-uk Kim * 11d244b227SJung-uk Kim * Redistribution and use in source and binary forms, with or without 12d244b227SJung-uk Kim * modification, are permitted provided that the following conditions 13d244b227SJung-uk Kim * are met: 14d244b227SJung-uk Kim * 1. Redistributions of source code must retain the above copyright 15d244b227SJung-uk Kim * notice, this list of conditions, and the following disclaimer, 16d244b227SJung-uk Kim * without modification. 17d244b227SJung-uk Kim * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18d244b227SJung-uk Kim * substantially similar to the "NO WARRANTY" disclaimer below 19d244b227SJung-uk Kim * ("Disclaimer") and any redistribution must be conditioned upon 20d244b227SJung-uk Kim * including a substantially similar Disclaimer requirement for further 21d244b227SJung-uk Kim * binary redistribution. 22d244b227SJung-uk Kim * 3. Neither the names of the above-listed copyright holders nor the names 23d244b227SJung-uk Kim * of any contributors may be used to endorse or promote products derived 24d244b227SJung-uk Kim * from this software without specific prior written permission. 25a9f12690SJung-uk Kim * 26d244b227SJung-uk Kim * Alternatively, this software may be distributed under the terms of the 27d244b227SJung-uk Kim * GNU General Public License ("GPL") version 2 as published by the Free 28d244b227SJung-uk Kim * Software Foundation. 29a9f12690SJung-uk Kim * 30d244b227SJung-uk Kim * NO WARRANTY 31d244b227SJung-uk Kim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32d244b227SJung-uk Kim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33d244b227SJung-uk Kim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34d244b227SJung-uk Kim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35d244b227SJung-uk Kim * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36d244b227SJung-uk Kim * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37d244b227SJung-uk Kim * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38d244b227SJung-uk Kim * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39d244b227SJung-uk Kim * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40d244b227SJung-uk Kim * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41d244b227SJung-uk Kim * POSSIBILITY OF SUCH DAMAGES. 42d244b227SJung-uk Kim */ 43a9f12690SJung-uk Kim 44a9f12690SJung-uk Kim #ifndef __ACEVENTS_H__ 45a9f12690SJung-uk Kim #define __ACEVENTS_H__ 46a9f12690SJung-uk Kim 47a9f12690SJung-uk Kim 48a9f12690SJung-uk Kim /* 49a9f12690SJung-uk Kim * evevent 50a9f12690SJung-uk Kim */ 51a9f12690SJung-uk Kim ACPI_STATUS 52a9f12690SJung-uk Kim AcpiEvInitializeEvents ( 53a9f12690SJung-uk Kim void); 54a9f12690SJung-uk Kim 55a9f12690SJung-uk Kim ACPI_STATUS 56a9f12690SJung-uk Kim AcpiEvInstallXruptHandlers ( 57a9f12690SJung-uk Kim void); 58a9f12690SJung-uk Kim 59a9f12690SJung-uk Kim UINT32 60a9f12690SJung-uk Kim AcpiEvFixedEventDetect ( 61a9f12690SJung-uk Kim void); 62a9f12690SJung-uk Kim 63a9f12690SJung-uk Kim 64a9f12690SJung-uk Kim /* 65a9f12690SJung-uk Kim * evmisc 66a9f12690SJung-uk Kim */ 67a9f12690SJung-uk Kim BOOLEAN 68a9f12690SJung-uk Kim AcpiEvIsNotifyObject ( 69a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 70a9f12690SJung-uk Kim 71*d052a1ccSJung-uk Kim UINT32 72*d052a1ccSJung-uk Kim AcpiEvGetGpeNumberIndex ( 73*d052a1ccSJung-uk Kim UINT32 GpeNumber); 74*d052a1ccSJung-uk Kim 75*d052a1ccSJung-uk Kim ACPI_STATUS 76*d052a1ccSJung-uk Kim AcpiEvQueueNotifyRequest ( 77*d052a1ccSJung-uk Kim ACPI_NAMESPACE_NODE *Node, 78*d052a1ccSJung-uk Kim UINT32 NotifyValue); 79*d052a1ccSJung-uk Kim 80*d052a1ccSJung-uk Kim 81*d052a1ccSJung-uk Kim /* 82*d052a1ccSJung-uk Kim * evglock - Global Lock support 83*d052a1ccSJung-uk Kim */ 84*d052a1ccSJung-uk Kim ACPI_STATUS 85*d052a1ccSJung-uk Kim AcpiEvInitGlobalLockHandler ( 86*d052a1ccSJung-uk Kim void); 87*d052a1ccSJung-uk Kim 88a9f12690SJung-uk Kim ACPI_STATUS 89a9f12690SJung-uk Kim AcpiEvAcquireGlobalLock( 90a9f12690SJung-uk Kim UINT16 Timeout); 91a9f12690SJung-uk Kim 92a9f12690SJung-uk Kim ACPI_STATUS 93a9f12690SJung-uk Kim AcpiEvReleaseGlobalLock( 94a9f12690SJung-uk Kim void); 95a9f12690SJung-uk Kim 96a9f12690SJung-uk Kim ACPI_STATUS 97*d052a1ccSJung-uk Kim AcpiEvRemoveGlobalLockHandler ( 98a9f12690SJung-uk Kim void); 99a9f12690SJung-uk Kim 100a9f12690SJung-uk Kim 101a9f12690SJung-uk Kim /* 1023f5e024cSJung-uk Kim * evgpe - Low-level GPE support 103a9f12690SJung-uk Kim */ 1043f5e024cSJung-uk Kim UINT32 1053f5e024cSJung-uk Kim AcpiEvGpeDetect ( 1063f5e024cSJung-uk Kim ACPI_GPE_XRUPT_INFO *GpeXruptList); 1073f5e024cSJung-uk Kim 108a9f12690SJung-uk Kim ACPI_STATUS 109a88e22b7SJung-uk Kim AcpiEvUpdateGpeEnableMask ( 1108c8be05fSJung-uk Kim ACPI_GPE_EVENT_INFO *GpeEventInfo); 111a9f12690SJung-uk Kim 112a9f12690SJung-uk Kim ACPI_STATUS 113a9f12690SJung-uk Kim AcpiEvEnableGpe ( 1148c8be05fSJung-uk Kim ACPI_GPE_EVENT_INFO *GpeEventInfo); 115a9f12690SJung-uk Kim 1165a77b11bSJung-uk Kim ACPI_STATUS 1175a77b11bSJung-uk Kim AcpiEvAddGpeReference ( 1185a77b11bSJung-uk Kim ACPI_GPE_EVENT_INFO *GpeEventInfo); 1195a77b11bSJung-uk Kim 1205a77b11bSJung-uk Kim ACPI_STATUS 1215a77b11bSJung-uk Kim AcpiEvRemoveGpeReference ( 1225a77b11bSJung-uk Kim ACPI_GPE_EVENT_INFO *GpeEventInfo); 1235a77b11bSJung-uk Kim 124a9f12690SJung-uk Kim ACPI_GPE_EVENT_INFO * 125a9f12690SJung-uk Kim AcpiEvGetGpeEventInfo ( 126a9f12690SJung-uk Kim ACPI_HANDLE GpeDevice, 127a9f12690SJung-uk Kim UINT32 GpeNumber); 128a9f12690SJung-uk Kim 1298c8be05fSJung-uk Kim ACPI_GPE_EVENT_INFO * 1308c8be05fSJung-uk Kim AcpiEvLowGetGpeInfo ( 1318c8be05fSJung-uk Kim UINT32 GpeNumber, 1328c8be05fSJung-uk Kim ACPI_GPE_BLOCK_INFO *GpeBlock); 1338c8be05fSJung-uk Kim 1345a77b11bSJung-uk Kim ACPI_STATUS 1355a77b11bSJung-uk Kim AcpiEvFinishGpe ( 1365a77b11bSJung-uk Kim ACPI_GPE_EVENT_INFO *GpeEventInfo); 1375a77b11bSJung-uk Kim 138a9f12690SJung-uk Kim 139a9f12690SJung-uk Kim /* 1403f5e024cSJung-uk Kim * evgpeblk - Upper-level GPE block support 141a9f12690SJung-uk Kim */ 142a9f12690SJung-uk Kim ACPI_STATUS 143a9f12690SJung-uk Kim AcpiEvCreateGpeBlock ( 144a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *GpeDevice, 145a9f12690SJung-uk Kim ACPI_GENERIC_ADDRESS *GpeBlockAddress, 146a9f12690SJung-uk Kim UINT32 RegisterCount, 147a9f12690SJung-uk Kim UINT8 GpeBlockBaseNumber, 148a9f12690SJung-uk Kim UINT32 InterruptNumber, 149a9f12690SJung-uk Kim ACPI_GPE_BLOCK_INFO **ReturnGpeBlock); 150a9f12690SJung-uk Kim 151a9f12690SJung-uk Kim ACPI_STATUS 152a9f12690SJung-uk Kim AcpiEvInitializeGpeBlock ( 1535a77b11bSJung-uk Kim ACPI_GPE_XRUPT_INFO *GpeXruptInfo, 1545a77b11bSJung-uk Kim ACPI_GPE_BLOCK_INFO *GpeBlock, 1555a77b11bSJung-uk Kim void *Context); 156a9f12690SJung-uk Kim 157a9f12690SJung-uk Kim ACPI_STATUS 158a9f12690SJung-uk Kim AcpiEvDeleteGpeBlock ( 159a9f12690SJung-uk Kim ACPI_GPE_BLOCK_INFO *GpeBlock); 160a9f12690SJung-uk Kim 161a9f12690SJung-uk Kim UINT32 162a9f12690SJung-uk Kim AcpiEvGpeDispatch ( 1635a77b11bSJung-uk Kim ACPI_NAMESPACE_NODE *GpeDevice, 164a9f12690SJung-uk Kim ACPI_GPE_EVENT_INFO *GpeEventInfo, 165a9f12690SJung-uk Kim UINT32 GpeNumber); 166a9f12690SJung-uk Kim 1673f5e024cSJung-uk Kim /* 1683f5e024cSJung-uk Kim * evgpeinit - GPE initialization and update 1693f5e024cSJung-uk Kim */ 170a9f12690SJung-uk Kim ACPI_STATUS 171a9f12690SJung-uk Kim AcpiEvGpeInitialize ( 172a9f12690SJung-uk Kim void); 173a9f12690SJung-uk Kim 1743f5e024cSJung-uk Kim void 1753f5e024cSJung-uk Kim AcpiEvUpdateGpes ( 1763f5e024cSJung-uk Kim ACPI_OWNER_ID TableOwnerId); 1773f5e024cSJung-uk Kim 1783f5e024cSJung-uk Kim ACPI_STATUS 1793f5e024cSJung-uk Kim AcpiEvMatchGpeMethod ( 1803f5e024cSJung-uk Kim ACPI_HANDLE ObjHandle, 1813f5e024cSJung-uk Kim UINT32 Level, 1823f5e024cSJung-uk Kim void *Context, 1833f5e024cSJung-uk Kim void **ReturnValue); 1843f5e024cSJung-uk Kim 1853f5e024cSJung-uk Kim /* 1863f5e024cSJung-uk Kim * evgpeutil - GPE utilities 1873f5e024cSJung-uk Kim */ 1883f5e024cSJung-uk Kim ACPI_STATUS 1893f5e024cSJung-uk Kim AcpiEvWalkGpeList ( 1903f5e024cSJung-uk Kim ACPI_GPE_CALLBACK GpeWalkCallback, 1913f5e024cSJung-uk Kim void *Context); 1923f5e024cSJung-uk Kim 1933f5e024cSJung-uk Kim BOOLEAN 1943f5e024cSJung-uk Kim AcpiEvValidGpeEvent ( 1953f5e024cSJung-uk Kim ACPI_GPE_EVENT_INFO *GpeEventInfo); 1963f5e024cSJung-uk Kim 1975a77b11bSJung-uk Kim ACPI_STATUS 1985a77b11bSJung-uk Kim AcpiEvGetGpeDevice ( 1995a77b11bSJung-uk Kim ACPI_GPE_XRUPT_INFO *GpeXruptInfo, 2005a77b11bSJung-uk Kim ACPI_GPE_BLOCK_INFO *GpeBlock, 2015a77b11bSJung-uk Kim void *Context); 2025a77b11bSJung-uk Kim 2033f5e024cSJung-uk Kim ACPI_GPE_XRUPT_INFO * 2043f5e024cSJung-uk Kim AcpiEvGetGpeXruptBlock ( 2053f5e024cSJung-uk Kim UINT32 InterruptNumber); 2063f5e024cSJung-uk Kim 2073f5e024cSJung-uk Kim ACPI_STATUS 2083f5e024cSJung-uk Kim AcpiEvDeleteGpeXrupt ( 2093f5e024cSJung-uk Kim ACPI_GPE_XRUPT_INFO *GpeXrupt); 2103f5e024cSJung-uk Kim 2113f5e024cSJung-uk Kim ACPI_STATUS 2123f5e024cSJung-uk Kim AcpiEvDeleteGpeHandlers ( 2133f5e024cSJung-uk Kim ACPI_GPE_XRUPT_INFO *GpeXruptInfo, 2143f5e024cSJung-uk Kim ACPI_GPE_BLOCK_INFO *GpeBlock, 2153f5e024cSJung-uk Kim void *Context); 2163f5e024cSJung-uk Kim 217a9f12690SJung-uk Kim 218a9f12690SJung-uk Kim /* 219a9f12690SJung-uk Kim * evregion - Address Space handling 220a9f12690SJung-uk Kim */ 221a9f12690SJung-uk Kim ACPI_STATUS 222a9f12690SJung-uk Kim AcpiEvInstallRegionHandlers ( 223a9f12690SJung-uk Kim void); 224a9f12690SJung-uk Kim 225a9f12690SJung-uk Kim ACPI_STATUS 226a9f12690SJung-uk Kim AcpiEvInitializeOpRegions ( 227a9f12690SJung-uk Kim void); 228a9f12690SJung-uk Kim 229a9f12690SJung-uk Kim ACPI_STATUS 230a9f12690SJung-uk Kim AcpiEvAddressSpaceDispatch ( 231a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *RegionObj, 232a9f12690SJung-uk Kim UINT32 Function, 233a9f12690SJung-uk Kim UINT32 RegionOffset, 234a9f12690SJung-uk Kim UINT32 BitWidth, 2359a179dd8SJung-uk Kim UINT64 *Value); 236a9f12690SJung-uk Kim 237a9f12690SJung-uk Kim ACPI_STATUS 238a9f12690SJung-uk Kim AcpiEvAttachRegion ( 239a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *HandlerObj, 240a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *RegionObj, 241a9f12690SJung-uk Kim BOOLEAN AcpiNsIsLocked); 242a9f12690SJung-uk Kim 243a9f12690SJung-uk Kim void 244a9f12690SJung-uk Kim AcpiEvDetachRegion ( 245a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *RegionObj, 246a9f12690SJung-uk Kim BOOLEAN AcpiNsIsLocked); 247a9f12690SJung-uk Kim 248a9f12690SJung-uk Kim ACPI_STATUS 249a9f12690SJung-uk Kim AcpiEvInstallSpaceHandler ( 250a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 251a9f12690SJung-uk Kim ACPI_ADR_SPACE_TYPE SpaceId, 252a9f12690SJung-uk Kim ACPI_ADR_SPACE_HANDLER Handler, 253a9f12690SJung-uk Kim ACPI_ADR_SPACE_SETUP Setup, 254a9f12690SJung-uk Kim void *Context); 255a9f12690SJung-uk Kim 256a9f12690SJung-uk Kim ACPI_STATUS 257a9f12690SJung-uk Kim AcpiEvExecuteRegMethods ( 258a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 259a9f12690SJung-uk Kim ACPI_ADR_SPACE_TYPE SpaceId); 260a9f12690SJung-uk Kim 261a9f12690SJung-uk Kim ACPI_STATUS 262a9f12690SJung-uk Kim AcpiEvExecuteRegMethod ( 263a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *RegionObj, 264a9f12690SJung-uk Kim UINT32 Function); 265a9f12690SJung-uk Kim 266a9f12690SJung-uk Kim 267a9f12690SJung-uk Kim /* 268a9f12690SJung-uk Kim * evregini - Region initialization and setup 269a9f12690SJung-uk Kim */ 270a9f12690SJung-uk Kim ACPI_STATUS 271a9f12690SJung-uk Kim AcpiEvSystemMemoryRegionSetup ( 272a9f12690SJung-uk Kim ACPI_HANDLE Handle, 273a9f12690SJung-uk Kim UINT32 Function, 274a9f12690SJung-uk Kim void *HandlerContext, 275a9f12690SJung-uk Kim void **RegionContext); 276a9f12690SJung-uk Kim 277a9f12690SJung-uk Kim ACPI_STATUS 278a9f12690SJung-uk Kim AcpiEvIoSpaceRegionSetup ( 279a9f12690SJung-uk Kim ACPI_HANDLE Handle, 280a9f12690SJung-uk Kim UINT32 Function, 281a9f12690SJung-uk Kim void *HandlerContext, 282a9f12690SJung-uk Kim void **RegionContext); 283a9f12690SJung-uk Kim 284a9f12690SJung-uk Kim ACPI_STATUS 285a9f12690SJung-uk Kim AcpiEvPciConfigRegionSetup ( 286a9f12690SJung-uk Kim ACPI_HANDLE Handle, 287a9f12690SJung-uk Kim UINT32 Function, 288a9f12690SJung-uk Kim void *HandlerContext, 289a9f12690SJung-uk Kim void **RegionContext); 290a9f12690SJung-uk Kim 291a9f12690SJung-uk Kim ACPI_STATUS 292a9f12690SJung-uk Kim AcpiEvCmosRegionSetup ( 293a9f12690SJung-uk Kim ACPI_HANDLE Handle, 294a9f12690SJung-uk Kim UINT32 Function, 295a9f12690SJung-uk Kim void *HandlerContext, 296a9f12690SJung-uk Kim void **RegionContext); 297a9f12690SJung-uk Kim 298a9f12690SJung-uk Kim ACPI_STATUS 299a9f12690SJung-uk Kim AcpiEvPciBarRegionSetup ( 300a9f12690SJung-uk Kim ACPI_HANDLE Handle, 301a9f12690SJung-uk Kim UINT32 Function, 302a9f12690SJung-uk Kim void *HandlerContext, 303a9f12690SJung-uk Kim void **RegionContext); 304a9f12690SJung-uk Kim 305a9f12690SJung-uk Kim ACPI_STATUS 306a9f12690SJung-uk Kim AcpiEvDefaultRegionSetup ( 307a9f12690SJung-uk Kim ACPI_HANDLE Handle, 308a9f12690SJung-uk Kim UINT32 Function, 309a9f12690SJung-uk Kim void *HandlerContext, 310a9f12690SJung-uk Kim void **RegionContext); 311a9f12690SJung-uk Kim 312a9f12690SJung-uk Kim ACPI_STATUS 313a9f12690SJung-uk Kim AcpiEvInitializeRegion ( 314a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *RegionObj, 315a9f12690SJung-uk Kim BOOLEAN AcpiNsLocked); 316a9f12690SJung-uk Kim 317a9f12690SJung-uk Kim 318a9f12690SJung-uk Kim /* 319a9f12690SJung-uk Kim * evsci - SCI (System Control Interrupt) handling/dispatch 320a9f12690SJung-uk Kim */ 321a9f12690SJung-uk Kim UINT32 ACPI_SYSTEM_XFACE 322a9f12690SJung-uk Kim AcpiEvGpeXruptHandler ( 323a9f12690SJung-uk Kim void *Context); 324a9f12690SJung-uk Kim 325a9f12690SJung-uk Kim UINT32 326a9f12690SJung-uk Kim AcpiEvInstallSciHandler ( 327a9f12690SJung-uk Kim void); 328a9f12690SJung-uk Kim 329a9f12690SJung-uk Kim ACPI_STATUS 330a9f12690SJung-uk Kim AcpiEvRemoveSciHandler ( 331a9f12690SJung-uk Kim void); 332a9f12690SJung-uk Kim 333a9f12690SJung-uk Kim UINT32 334a9f12690SJung-uk Kim AcpiEvInitializeSCI ( 335a9f12690SJung-uk Kim UINT32 ProgramSCI); 336a9f12690SJung-uk Kim 337a9f12690SJung-uk Kim void 338a9f12690SJung-uk Kim AcpiEvTerminate ( 339a9f12690SJung-uk Kim void); 340a9f12690SJung-uk Kim 341a9f12690SJung-uk Kim 342a9f12690SJung-uk Kim #endif /* __ACEVENTS_H__ */ 343