v_hdmirx1
Vitis Drivers API Documentation
xv_hdmirx1_intr.c File Reference

Overview

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

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

MODIFICATION HISTORY:
Ver   Who    Date     Changes


1.00 EB 02/05/19 Initial release.

Functions

void XV_HdmiRx1_IntrHandler (void *InstancePtr)
 This function is the interrupt handler for the HDMI RX driver. More...
 
int XV_HdmiRx1_SetCallback (XV_HdmiRx1 *InstancePtr, XV_HdmiRx1_HandlerType HandlerType, void *CallbackFunc, void *CallbackRef)
 This function installs an asynchronous callback function for the given HandlerType: More...
 

Function Documentation

void XV_HdmiRx1_IntrHandler ( void *  InstancePtr)

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

This handler reads the pending interrupt from PIO, DDC, TIMDET, AUX, AUD and LNKSTA peripherals, 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_HdmiRx1_SetCallback() during initialization phase. An example delivered with this driver demonstrates how this could be done.

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

References XV_HdmiRx1_Config::BaseAddress, XV_HdmiRx1::Config, XV_HdmiRx1::IsReady, XV_HDMIRX1_AUD_STA_IRQ_MASK, XV_HDMIRX1_AUD_STA_OFFSET, XV_HDMIRX1_AUX_STA_IRQ_MASK, XV_HDMIRX1_AUX_STA_OFFSET, XV_HDMIRX1_DDC_STA_IRQ_MASK, XV_HDMIRX1_DDC_STA_OFFSET, XV_HDMIRX1_FRL_STA_IRQ_MASK, XV_HDMIRX1_FRL_STA_OFFSET, XV_HDMIRX1_LNKSTA_STA_IRQ_MASK, XV_HDMIRX1_LNKSTA_STA_OFFSET, XV_HDMIRX1_PIO_STA_IRQ_MASK, XV_HDMIRX1_PIO_STA_OFFSET, XV_HdmiRx1_ReadReg, XV_HDMIRX1_TMR_STA_IRQ_MASK, XV_HDMIRX1_TMR_STA_OFFSET, XV_HDMIRX1_VTD_STA_IRQ_MASK, and XV_HDMIRX1_VTD_STA_OFFSET.

int XV_HdmiRx1_SetCallback ( XV_HdmiRx1 InstancePtr,
XV_HdmiRx1_HandlerType  HandlerType,
void *  CallbackFunc,
void *  CallbackRef 
)

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

HandlerType                 Callback Function Type
-------------------------   -----------------------------------------------
(XV_HDMIRX1_HANDLER_VTD)      VtdCallback
(XV_HDMIRX1_HANDLER_AUX)      AuxCallback
(XV_HDMIRX1_HANDLER_AUD)      AudCallback
(XV_HDMIRX1_HANDLER_LNKSTA)   LnkStaCallback
(XV_HDMIRX1_HANDLER_PIO)      PioCallback
Parameters
InstancePtris a pointer to the HDMI 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.

References XV_HdmiRx1::AudCallback, XV_HdmiRx1::AudRef, XV_HdmiRx1::AuxCallback, XV_HdmiRx1::AuxRef, XV_HdmiRx1::BrdgOverflowCallback, XV_HdmiRx1::BrdgOverflowRef, XV_HdmiRx1::ConnectCallback, XV_HdmiRx1::ConnectRef, XV_HdmiRx1::DdcCallback, XV_HdmiRx1::DdcRef, XV_HdmiRx1::DSCPktErrCallback, XV_HdmiRx1::DSCPktErrRef, XV_HdmiRx1::DSCStreamChangeEventCallback, XV_HdmiRx1::DSCStrmChgEvtRef, XV_HdmiRx1::DSCStsUpdtEvtCallback, XV_HdmiRx1::DSCStsUpdtEvtRef, XV_HdmiRx1::DynHdrCallback, XV_HdmiRx1::DynHdrRef, XV_HdmiRx1::FrlConfigCallback, XV_HdmiRx1::FrlConfigRef, XV_HdmiRx1::FrlLts1Callback, XV_HdmiRx1::FrlLts1Ref, XV_HdmiRx1::FrlLts2Callback, XV_HdmiRx1::FrlLts2Ref, XV_HdmiRx1::FrlLts3Callback, XV_HdmiRx1::FrlLts3Ref, XV_HdmiRx1::FrlLts4Callback, XV_HdmiRx1::FrlLts4Ref, XV_HdmiRx1::FrlLtsLCallback, XV_HdmiRx1::FrlLtsLRef, XV_HdmiRx1::FrlLtsPCallback, XV_HdmiRx1::FrlLtsPRef, XV_HdmiRx1::FrlStartCallback, XV_HdmiRx1::FrlStartRef, XV_HdmiRx1::Hdcp14ProtEvtCallback, XV_HdmiRx1::Hdcp14ProtEvtRef, XV_HdmiRx1::Hdcp22ProtEvtCallback, XV_HdmiRx1::Hdcp22ProtEvtRef, XV_HdmiRx1::HdcpCallback, XV_HdmiRx1::HdcpRef, XV_HdmiRx1::LinkErrorCallback, XV_HdmiRx1::LinkErrorRef, XV_HdmiRx1::LnkRdyErrorCallback, XV_HdmiRx1::LnkRdyErrorRef, XV_HdmiRx1::LnkStaCallback, XV_HdmiRx1::LnkStaRef, XV_HdmiRx1::ModeCallback, XV_HdmiRx1::ModeRef, XV_HdmiRx1::PhyResetCallback, XV_HdmiRx1::PhyResetRef, XV_HdmiRx1::SkewLockErrorCallback, XV_HdmiRx1::SkewLockErrorRef, XV_HdmiRx1::StreamDownCallback, XV_HdmiRx1::StreamDownRef, XV_HdmiRx1::StreamInitCallback, XV_HdmiRx1::StreamInitRef, XV_HdmiRx1::StreamUpCallback, XV_HdmiRx1::StreamUpRef, XV_HdmiRx1::SyncLossCallback, XV_HdmiRx1::SyncLossRef, XV_HdmiRx1::TmdsClkRatioCallback, XV_HdmiRx1::TmdsClkRatioRef, XV_HdmiRx1::TmdsConfigCallback, XV_HdmiRx1::TmdsConfigRef, XV_HdmiRx1::VfpChangeCallback, XV_HdmiRx1::VfpChangeRef, XV_HdmiRx1::VicErrorCallback, XV_HdmiRx1::VicErrorRef, XV_HdmiRx1::VidRdyErrorCallback, XV_HdmiRx1::VidRdyErrorRef, XV_HdmiRx1::VrrRdyCallback, XV_HdmiRx1::VrrRdyRef, XV_HDMIRX1_HANDLER_AUD, XV_HDMIRX1_HANDLER_AUX, XV_HDMIRX1_HANDLER_BRDG_OVERFLOW, XV_HDMIRX1_HANDLER_CONNECT, XV_HDMIRX1_HANDLER_DDC, XV_HDMIRX1_HANDLER_DDC_HDCP_14_PROT, XV_HDMIRX1_HANDLER_DDC_HDCP_22_PROT, XV_HDMIRX1_HANDLER_DSC_PKT_ERR, XV_HDMIRX1_HANDLER_DSC_STRM_CH, XV_HDMIRX1_HANDLER_DSC_STS_UPDT, XV_HDMIRX1_HANDLER_DYN_HDR, XV_HDMIRX1_HANDLER_FRL_CONFIG, XV_HDMIRX1_HANDLER_FRL_START, XV_HDMIRX1_HANDLER_HDCP, XV_HDMIRX1_HANDLER_LINK_ERROR, XV_HDMIRX1_HANDLER_LNK_RDY_ERR, XV_HDMIRX1_HANDLER_LNKSTA, XV_HDMIRX1_HANDLER_MODE, XV_HDMIRX1_HANDLER_PHY_RESET, XV_HDMIRX1_HANDLER_SKEW_LOCK_ERR, XV_HDMIRX1_HANDLER_STREAM_DOWN, XV_HDMIRX1_HANDLER_STREAM_INIT, XV_HDMIRX1_HANDLER_STREAM_UP, XV_HDMIRX1_HANDLER_SYNC_LOSS, XV_HDMIRX1_HANDLER_TMDS_CLK_RATIO, XV_HDMIRX1_HANDLER_TMDS_CONFIG, XV_HDMIRX1_HANDLER_VFP_CHANGE, XV_HDMIRX1_HANDLER_VIC_ERROR, XV_HDMIRX1_HANDLER_VID_RDY_ERR, and XV_HDMIRX1_HANDLER_VRR_RDY.