115 lines
3.2 KiB
C
Executable File
115 lines
3.2 KiB
C
Executable File
/* 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. */
|
|
|