123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- #ifndef _HV_VOS_IRQ_H
- #define _HV_VOS_IRQ_H
- #include "hv_vos_Types.h"
- VOS_EXTERN_C_BEGIN
- void Hv_Vos_InterruptRecord(UINT32 dwIntFlag,UINT32 dwAddr);
- void Hv_Vos_InitIrq(void);
- void Hv_Vos_ConfigIrq(UINT32 irqNum, BOOL enable, UINT32 channel);
- void Hv_Vos_CleanupIrq(void);
- void Hv_Vos_MaskIrq(UINT32 irqNum);
- void Hv_Vos_UnmaskIrq(UINT32 irqNum);
- void Hv_Vos_DisableIrq(HV_VOS_IRQ_T *mask);
- void Hv_Vos_RestoreIrq(const HV_VOS_IRQ_T *mask);
- HV_VOS_IRQ_T Hv_Vos_GetIrqMask();
- BOOL Hv_Vos_TriggerIrq(UINT32 irqNum);
- typedef enum _HV_VOS_ISR_RESULT_E {
- HV_VOS_ISR_HANDLED,
- HV_VOS_ISR_NOT_HANDLED,
- } HV_VOS_ISR_RESULT_E;
- typedef HV_VOS_ISR_RESULT_E (*HV_VOS_ISR_HANDLER)(UINT32 irqNum, void *arg);
- void Hv_Vos_AttachIsr(UINT32 irqNum, HV_VOS_ISR_HANDLER handler, void *arg);
- void Hv_Vos_ISR_Detach(UINT32 irqNum, HV_VOS_ISR_HANDLER handler);
- void Hv_Vos_DetachIsr(UINT32 irqNum, HV_VOS_ISR_HANDLER handler);
- void Hv_Vos_SetIrqPrio(UINT32 IRQn, UINT32 priority);
- void Hv_Vos_IRQ_SetThreshold(UINT32 VectThreshold, UINT32 PrioThreshold);
- void Hv_Vos_IRQ_SetWakeup(UINT32 IRQn);
- void Hv_Vos_IRQ_ClearWakeup(UINT32 IRQn);
- void Hv_Vos_WClrMiscInt(UINT32 irqNum);
- VOS_EXTERN_C_END
- #endif
|