Back to home page

Quest Cross Reference

 
 

    


Warning, cross-references for /kernel/include/drivers/acpi/acevents.h need to be fixed.

0001 /******************************************************************************
0002  *
0003  * Name: acevents.h - Event subcomponent prototypes and defines
0004  *
0005  *****************************************************************************/
0006 
0007 /******************************************************************************
0008  *
0009  * 1. Copyright Notice
0010  *
0011  * Some or all of this work - Copyright (c) 1999 - 2009, Intel Corp.
0012  * All rights reserved.
0013  *
0014  * 2. License
0015  *
0016  * 2.1. This is your license from Intel Corp. under its intellectual property
0017  * rights.  You may have additional license terms from the party that provided
0018  * you this software, covering your right to use that party's intellectual
0019  * property rights.
0020  *
0021  * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
0022  * copy of the source code appearing in this file ("Covered Code") an
0023  * irrevocable, perpetual, worldwide license under Intel's copyrights in the
0024  * base code distributed originally by Intel ("Original Intel Code") to copy,
0025  * make derivatives, distribute, use and display any portion of the Covered
0026  * Code in any form, with the right to sublicense such rights; and
0027  *
0028  * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
0029  * license (with the right to sublicense), under only those claims of Intel
0030  * patents that are infringed by the Original Intel Code, to make, use, sell,
0031  * offer to sell, and import the Covered Code and derivative works thereof
0032  * solely to the minimum extent necessary to exercise the above copyright
0033  * license, and in no event shall the patent license extend to any additions
0034  * to or modifications of the Original Intel Code.  No other license or right
0035  * is granted directly or by implication, estoppel or otherwise;
0036  *
0037  * The above copyright and patent license is granted only if the following
0038  * conditions are met:
0039  *
0040  * 3. Conditions
0041  *
0042  * 3.1. Redistribution of Source with Rights to Further Distribute Source.
0043  * Redistribution of source code of any substantial portion of the Covered
0044  * Code or modification with rights to further distribute source must include
0045  * the above Copyright Notice, the above License, this list of Conditions,
0046  * and the following Disclaimer and Export Compliance provision.  In addition,
0047  * Licensee must cause all Covered Code to which Licensee contributes to
0048  * contain a file documenting the changes Licensee made to create that Covered
0049  * Code and the date of any change.  Licensee must include in that file the
0050  * documentation of any changes made by any predecessor Licensee.  Licensee
0051  * must include a prominent statement that the modification is derived,
0052  * directly or indirectly, from Original Intel Code.
0053  *
0054  * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
0055  * Redistribution of source code of any substantial portion of the Covered
0056  * Code or modification without rights to further distribute source must
0057  * include the following Disclaimer and Export Compliance provision in the
0058  * documentation and/or other materials provided with distribution.  In
0059  * addition, Licensee may not authorize further sublicense of source of any
0060  * portion of the Covered Code, and must include terms to the effect that the
0061  * license from Licensee to its licensee is limited to the intellectual
0062  * property embodied in the software Licensee provides to its licensee, and
0063  * not to intellectual property embodied in modifications its licensee may
0064  * make.
0065  *
0066  * 3.3. Redistribution of Executable. Redistribution in executable form of any
0067  * substantial portion of the Covered Code or modification must reproduce the
0068  * above Copyright Notice, and the following Disclaimer and Export Compliance
0069  * provision in the documentation and/or other materials provided with the
0070  * distribution.
0071  *
0072  * 3.4. Intel retains all right, title, and interest in and to the Original
0073  * Intel Code.
0074  *
0075  * 3.5. Neither the name Intel nor any other trademark owned or controlled by
0076  * Intel shall be used in advertising or otherwise to promote the sale, use or
0077  * other dealings in products derived from or relating to the Covered Code
0078  * without prior written authorization from Intel.
0079  *
0080  * 4. Disclaimer and Export Compliance
0081  *
0082  * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
0083  * HERE.  ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
0084  * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT,  ASSISTANCE,
0085  * INSTALLATION, TRAINING OR OTHER SERVICES.  INTEL WILL NOT PROVIDE ANY
0086  * UPDATES, ENHANCEMENTS OR EXTENSIONS.  INTEL SPECIFICALLY DISCLAIMS ANY
0087  * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
0088  * PARTICULAR PURPOSE.
0089  *
0090  * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
0091  * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
0092  * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
0093  * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
0094  * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
0095  * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.  THESE LIMITATIONS
0096  * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
0097  * LIMITED REMEDY.
0098  *
0099  * 4.3. Licensee shall not export, either directly or indirectly, any of this
0100  * software or system incorporating such software without first obtaining any
0101  * required license or other approval from the U. S. Department of Commerce or
0102  * any other agency or department of the United States Government.  In the
0103  * event Licensee exports any such software from the United States or
0104  * re-exports any such software from a foreign destination, Licensee shall
0105  * ensure that the distribution and export/re-export of the software is in
0106  * compliance with all laws, regulations, orders, or other restrictions of the
0107  * U.S. Export Administration Regulations. Licensee agrees that neither it nor
0108  * any of its subsidiaries will export/re-export any technical data, process,
0109  * software, or service, directly or indirectly, to any country for which the
0110  * United States government or any agency thereof requires an export license,
0111  * other governmental approval, or letter of assurance, without first obtaining
0112  * such license, approval or letter.
0113  *
0114  *****************************************************************************/
0115 
0116 #ifndef __ACEVENTS_H__
0117 #define __ACEVENTS_H__
0118 
0119 
0120 /*
0121  * evevent
0122  */
0123 ACPI_STATUS
0124 AcpiEvInitializeEvents (
0125     void);
0126 
0127 ACPI_STATUS
0128 AcpiEvInstallXruptHandlers (
0129     void);
0130 
0131 ACPI_STATUS
0132 AcpiEvInstallFadtGpes (
0133     void);
0134 
0135 UINT32
0136 AcpiEvFixedEventDetect (
0137     void);
0138 
0139 
0140 /*
0141  * evmisc
0142  */
0143 BOOLEAN
0144 AcpiEvIsNotifyObject (
0145     ACPI_NAMESPACE_NODE     *Node);
0146 
0147 ACPI_STATUS
0148 AcpiEvAcquireGlobalLock(
0149     UINT16                  Timeout);
0150 
0151 ACPI_STATUS
0152 AcpiEvReleaseGlobalLock(
0153     void);
0154 
0155 ACPI_STATUS
0156 AcpiEvInitGlobalLockHandler (
0157     void);
0158 
0159 UINT32
0160 AcpiEvGetGpeNumberIndex (
0161     UINT32                  GpeNumber);
0162 
0163 ACPI_STATUS
0164 AcpiEvQueueNotifyRequest (
0165     ACPI_NAMESPACE_NODE     *Node,
0166     UINT32                  NotifyValue);
0167 
0168 
0169 /*
0170  * evgpe - GPE handling and dispatch
0171  */
0172 ACPI_STATUS
0173 AcpiEvUpdateGpeEnableMasks (
0174     ACPI_GPE_EVENT_INFO     *GpeEventInfo,
0175     UINT8                   Type);
0176 
0177 ACPI_STATUS
0178 AcpiEvEnableGpe (
0179     ACPI_GPE_EVENT_INFO     *GpeEventInfo,
0180     BOOLEAN                 WriteToHardware);
0181 
0182 ACPI_STATUS
0183 AcpiEvDisableGpe (
0184     ACPI_GPE_EVENT_INFO     *GpeEventInfo);
0185 
0186 ACPI_GPE_EVENT_INFO *
0187 AcpiEvGetGpeEventInfo (
0188     ACPI_HANDLE             GpeDevice,
0189     UINT32                  GpeNumber);
0190 
0191 
0192 /*
0193  * evgpeblk
0194  */
0195 BOOLEAN
0196 AcpiEvValidGpeEvent (
0197     ACPI_GPE_EVENT_INFO     *GpeEventInfo);
0198 
0199 ACPI_STATUS
0200 AcpiEvWalkGpeList (
0201     ACPI_GPE_CALLBACK       GpeWalkCallback,
0202     void                    *Context);
0203 
0204 ACPI_STATUS
0205 AcpiEvDeleteGpeHandlers (
0206     ACPI_GPE_XRUPT_INFO     *GpeXruptInfo,
0207     ACPI_GPE_BLOCK_INFO     *GpeBlock,
0208     void                    *Context);
0209 
0210 ACPI_STATUS
0211 AcpiEvCreateGpeBlock (
0212     ACPI_NAMESPACE_NODE     *GpeDevice,
0213     ACPI_GENERIC_ADDRESS    *GpeBlockAddress,
0214     UINT32                  RegisterCount,
0215     UINT8                   GpeBlockBaseNumber,
0216     UINT32                  InterruptNumber,
0217     ACPI_GPE_BLOCK_INFO     **ReturnGpeBlock);
0218 
0219 ACPI_STATUS
0220 AcpiEvInitializeGpeBlock (
0221     ACPI_NAMESPACE_NODE     *GpeDevice,
0222     ACPI_GPE_BLOCK_INFO     *GpeBlock);
0223 
0224 ACPI_STATUS
0225 AcpiEvDeleteGpeBlock (
0226     ACPI_GPE_BLOCK_INFO     *GpeBlock);
0227 
0228 UINT32
0229 AcpiEvGpeDispatch (
0230     ACPI_GPE_EVENT_INFO     *GpeEventInfo,
0231     UINT32                  GpeNumber);
0232 
0233 UINT32
0234 AcpiEvGpeDetect (
0235     ACPI_GPE_XRUPT_INFO     *GpeXruptList);
0236 
0237 ACPI_STATUS
0238 AcpiEvSetGpeType (
0239     ACPI_GPE_EVENT_INFO     *GpeEventInfo,
0240     UINT8                   Type);
0241 
0242 ACPI_STATUS
0243 AcpiEvCheckForWakeOnlyGpe (
0244     ACPI_GPE_EVENT_INFO     *GpeEventInfo);
0245 
0246 ACPI_STATUS
0247 AcpiEvGpeInitialize (
0248     void);
0249 
0250 
0251 /*
0252  * evregion - Address Space handling
0253  */
0254 ACPI_STATUS
0255 AcpiEvInstallRegionHandlers (
0256     void);
0257 
0258 ACPI_STATUS
0259 AcpiEvInitializeOpRegions (
0260     void);
0261 
0262 ACPI_STATUS
0263 AcpiEvAddressSpaceDispatch (
0264     ACPI_OPERAND_OBJECT    *RegionObj,
0265     UINT32                  Function,
0266     UINT32                  RegionOffset,
0267     UINT32                  BitWidth,
0268     ACPI_INTEGER            *Value);
0269 
0270 ACPI_STATUS
0271 AcpiEvAttachRegion (
0272     ACPI_OPERAND_OBJECT     *HandlerObj,
0273     ACPI_OPERAND_OBJECT     *RegionObj,
0274     BOOLEAN                 AcpiNsIsLocked);
0275 
0276 void
0277 AcpiEvDetachRegion (
0278     ACPI_OPERAND_OBJECT    *RegionObj,
0279     BOOLEAN                 AcpiNsIsLocked);
0280 
0281 ACPI_STATUS
0282 AcpiEvInstallSpaceHandler (
0283     ACPI_NAMESPACE_NODE     *Node,
0284     ACPI_ADR_SPACE_TYPE     SpaceId,
0285     ACPI_ADR_SPACE_HANDLER  Handler,
0286     ACPI_ADR_SPACE_SETUP    Setup,
0287     void                    *Context);
0288 
0289 ACPI_STATUS
0290 AcpiEvExecuteRegMethods (
0291     ACPI_NAMESPACE_NODE     *Node,
0292     ACPI_ADR_SPACE_TYPE     SpaceId);
0293 
0294 ACPI_STATUS
0295 AcpiEvExecuteRegMethod (
0296     ACPI_OPERAND_OBJECT    *RegionObj,
0297     UINT32                  Function);
0298 
0299 
0300 /*
0301  * evregini - Region initialization and setup
0302  */
0303 ACPI_STATUS
0304 AcpiEvSystemMemoryRegionSetup (
0305     ACPI_HANDLE             Handle,
0306     UINT32                  Function,
0307     void                    *HandlerContext,
0308     void                    **RegionContext);
0309 
0310 ACPI_STATUS
0311 AcpiEvIoSpaceRegionSetup (
0312     ACPI_HANDLE             Handle,
0313     UINT32                  Function,
0314     void                    *HandlerContext,
0315     void                    **RegionContext);
0316 
0317 ACPI_STATUS
0318 AcpiEvPciConfigRegionSetup (
0319     ACPI_HANDLE             Handle,
0320     UINT32                  Function,
0321     void                    *HandlerContext,
0322     void                    **RegionContext);
0323 
0324 ACPI_STATUS
0325 AcpiEvCmosRegionSetup (
0326     ACPI_HANDLE             Handle,
0327     UINT32                  Function,
0328     void                    *HandlerContext,
0329     void                    **RegionContext);
0330 
0331 ACPI_STATUS
0332 AcpiEvPciBarRegionSetup (
0333     ACPI_HANDLE             Handle,
0334     UINT32                  Function,
0335     void                    *HandlerContext,
0336     void                    **RegionContext);
0337 
0338 ACPI_STATUS
0339 AcpiEvDefaultRegionSetup (
0340     ACPI_HANDLE             Handle,
0341     UINT32                  Function,
0342     void                    *HandlerContext,
0343     void                    **RegionContext);
0344 
0345 ACPI_STATUS
0346 AcpiEvInitializeRegion (
0347     ACPI_OPERAND_OBJECT     *RegionObj,
0348     BOOLEAN                 AcpiNsLocked);
0349 
0350 
0351 /*
0352  * evsci - SCI (System Control Interrupt) handling/dispatch
0353  */
0354 UINT32 ACPI_SYSTEM_XFACE
0355 AcpiEvGpeXruptHandler (
0356     void                    *Context);
0357 
0358 UINT32
0359 AcpiEvInstallSciHandler (
0360     void);
0361 
0362 ACPI_STATUS
0363 AcpiEvRemoveSciHandler (
0364     void);
0365 
0366 UINT32
0367 AcpiEvInitializeSCI (
0368     UINT32                  ProgramSCI);
0369 
0370 void
0371 AcpiEvTerminate (
0372     void);
0373 
0374 
0375 #endif  /* __ACEVENTS_H__  */