v_sdirx
Xilinx SDK Drivers API Documentation
xv_sdirx_intr.c File Reference

Overview

This file contains interrupt related functions for Xilinx SDI RX core.

Please see xv_sdirx.h for more details of the driver.

MODIFICATION HISTORY:
Ver     Who        Date         Changes

1.0 jsr 07/17/17 Initial release. 1.3 jsr 07/03/18 corrected XVIDC_VM_720x480_60_I as XVIDC_VM_720x486_60_I jsr 10/05/18 Moved 3GB specific video modes timing parameters from video common library to SDI common driver
 

Functions

u32 XV_SdiRx_GetIntrEnable (XV_SdiRx *InstancePtr)
 This function will get the interrupt mask set (enabled) in the SDI Rx core. More...
 
u32 XV_SdiRx_GetIntrStatus (XV_SdiRx *InstancePtr)
 This function will get the list of interrupts pending in the Interrupt Status Register of the SDI Rx core. More...
 
void XV_SdiRx_InterruptClear (XV_SdiRx *InstancePtr, u32 Mask)
 This function will clear the interrupts set in the Interrupt Status Register of the SDI Rx core. More...
 
void XV_SdiRx_IntrHandler (void *InstancePtr)
 This function is the interrupt handler for the SDI RX driver. More...
 
int XV_SdiRx_SetCallback (XV_SdiRx *InstancePtr, u32 HandlerType, void *CallbackFunc, void *CallbackRef)
 This function installs an asynchronous callback function for the given HandlerType: More...
 
void XV_SdiRx_IntrEnable (XV_SdiRx *InstancePtr, u32 Mask)
 This function enables the selected interrupt. More...
 
void XV_SdiRx_IntrDisable (XV_SdiRx *InstancePtr, u32 Mask)
 This function disables the selected interrupt. More...
 

Function Documentation

◆ XV_SdiRx_GetIntrEnable()

u32 XV_SdiRx_GetIntrEnable ( XV_SdiRx InstancePtr)

This function will get the interrupt mask set (enabled) in the SDI Rx core.

Parameters
InstancePtris the XV_SdiRx instance to operate on
Returns
Interrupt Mask with bits set for corresponding interrupt in Interrupt enable register
Note
None

References XV_SdiRx_Config::BaseAddress, XV_SdiRx::Config, and XV_SdiRx_ReadReg.

◆ XV_SdiRx_GetIntrStatus()

u32 XV_SdiRx_GetIntrStatus ( XV_SdiRx InstancePtr)

This function will get the list of interrupts pending in the Interrupt Status Register of the SDI Rx core.

Parameters
InstancePtris the XV_SdiRx instance to operate on
Returns
Interrupt Mask with bits set for corresponding interrupt in Interrupt Status register
Note
None

References XV_SdiRx_Config::BaseAddress, XV_SdiRx::Config, and XV_SdiRx_ReadReg.

Referenced by XV_SdiRx_IntrHandler().

◆ XV_SdiRx_InterruptClear()

void XV_SdiRx_InterruptClear ( XV_SdiRx InstancePtr,
u32  Mask 
)

This function will clear the interrupts set in the Interrupt Status Register of the SDI Rx core.

Parameters
InstancePtris the XV_SdiRx instance to operate on
Maskis Interrupt Mask with bits set for corresponding interrupt to be cleared in the Interrupt Status register
Returns
None
Note
None

◆ XV_SdiRx_IntrDisable()

void XV_SdiRx_IntrDisable ( XV_SdiRx InstancePtr,
u32  Mask 
)

This function disables the selected interrupt.

Parameters
InstancePtris a pointer to the XV_SdiRx core instance.
Maskis the interrupt mask which need to be disabled in core.
Returns
None.
Note
None.

◆ XV_SdiRx_IntrEnable()

void XV_SdiRx_IntrEnable ( XV_SdiRx InstancePtr,
u32  Mask 
)

This function enables the selected interrupt.

Parameters
InstancePtris a pointer to the XV_SdiRx core instance.
Maskis the interrupt mask which need to be enabled in core.
Returns
None.
Note
None.

◆ XV_SdiRx_IntrHandler()

void XV_SdiRx_IntrHandler ( void *  InstancePtr)

This function is the interrupt handler for the SDI RX driver.

This handler reads the pending interrupt for video lock or video unlock interrupts, determines the source of the interrupts, clears the interrupts and calls callbacks accordingly.

The application is responsible for connecting this function to the interrupt system. Application beyond this driver is also responsible for providing callbacks to handle interrupts and installing the callbacks using XV_SdiRx_SetCallback() during initialization phase. An example delivered with this driver demonstrates how this could be done.

Parameters
InstancePtris a pointer to the XV_SdiRx instance that just interrupted.
Returns
None.
Note
None.

References XV_SdiRx::IsReady, and XV_SdiRx_GetIntrStatus().

◆ XV_SdiRx_SetCallback()

int XV_SdiRx_SetCallback ( XV_SdiRx InstancePtr,
u32  HandlerType,
void *  CallbackFunc,
void *  CallbackRef 
)

This function installs an asynchronous callback function for the given HandlerType:

HandlerType                             Callback Function Type
-------------------------               ---------------------------------------
(XV_SDIRX_HANDLER_STREAM_DOWN)  StreamDownCallback
(XV_SDIRX_HANDLER_STREAM_UP)            StreamUpCallback
(XV_SDIRX_HANDLER_OVERFLOW)             OverFlowCallback
(XV_SDIRX_HANDLER_UNDERFLOW)            UnderFlowCallback
Parameters
InstancePtris a pointer to the SDI RX core instance.
HandlerTypespecifies the type of handler.
CallbackFuncis the address of the callback function.
CallbackRefis a user data item that will be passed to the callback function when it is invoked.
Returns
  • XST_SUCCESS if callback function installed successfully.
  • XST_INVALID_PARAM when HandlerType is invalid.
Note
Invoking this function for a handler that already has been installed replaces it with the new handler.