/* Copyright (c) 2006 NVIDIA Corporation. All rights reserved. * * NVIDIA Corporation and its licensors retain all intellectual property * and proprietary rights in and to this software, related documentation * and any modifications thereto. Any use, reproduction, disclosure or * distribution of this software and related documentation without an * express license agreement from NVIDIA Corporation is strictly prohibited. */ /** @file GFINTx.h GFSDK Interrupt API header file. */ #ifndef __GFINTx_H__ #define __GFINTx_H__ #include "GFRmOEM.h" #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ /** @addtogroup groupINTx INTxAPI Interrupt API */ /*@{*/ #define GF_INTR_START 0 #define GF_INTR_END 15 /* Embedded memory controller interrupt */ #define GF_EMC_INTR (15) /* MC interrupt. */ #define GF_MC_INTR (14) /* SD interrupt. */ #define GF_SD_INTR (13) /* I2C interrupt. */ #define GF_IC_INTR (12) /* I2s interrupt. */ #define GF_I2S_INTR (11) /* Display interrupt. */ #define GF_DISPLAY_INTR (10) /* 3d interrupt. */ #define GF_GR3D_INTR (9) /* 2d interrupt. */ #define GF_GR2D_INTR (8) /* DSP interrupt. */ #define GF_DSP_INTR (7) /* ISP interrupt. */ #define GF_ISP_INTR (6) /* SDGP1 input falling edge interrupt. */ #define GF_EPP_INTR (5) /* VI interrupt. */ #define GF_VI_INTR (4) /* JPEG Encoder interrupt. */ #define GF_JPEGE_INTR (3) /* Mpeg Encoder interrupt. */ #define GF_ME_INTR (2) /* Graphics MPD interrupt. */ #define GF_GRMPD_INTR (1) /* Host interface interrupt. */ #define GF_HOST_INTR (0) // Typesafe functions for opening and closing this component GF_RETTYPE GFINTxOpen(GFRmHandle hRm, GFINTxHandle *phINTx, GF_STATE_TYPE state, GFRmChHandle hCh); void GFINTxClose(GFINTxHandle *phINTx); /* ### Helper Macros ### */ GF_RETTYPE GFINTxGetProperty(GFINTxHandle INTxHandle, PGFPROPERTY pINTxProp); GF_RETTYPE GFINTxDisable(GFINTxHandle INTxHandle, NvU32 idInt); GF_RETTYPE GFINTxEnable(GFINTxHandle INTxHandle, NvU32 idInt); /** Wait for system level interrupt request. @param handle Handle to INTx API @param idInt System level interrupt ID @param timeout Timeout in miliseconds, or 0 to wait endlessly @retval GF_SUCCESS Interrupt request received @retval GF_WAIT_TIME_OUT Timeout without interrupt request received */ GF_RETTYPE GFINTxWaitForIRQ(GFINTxHandle INTxHandle, NvU32 idInt, NvU32 timeout); /*@}*/ #ifdef __cplusplus } #endif #endif // __GFINTx_H__ /* End of file. */