XilinxProcessorIPLib/drivers/v_hdmirx/src/xv_hdmirx_intr.c
void XV_HdmiRx_IntrHandler(void *InstancePtr)
{
    u32 Data;
    XV_HdmiRx *HdmiRxPtr = (XV_HdmiRx *)InstancePtr;

    /* Verify arguments */
    Xil_AssertVoid(HdmiRxPtr != NULL);
    Xil_AssertVoid(HdmiRxPtr->IsReady == XIL_COMPONENT_IS_READY);

    /* PIO */
    Data = XV_HdmiRx_ReadReg(HdmiRxPtr->Config.BaseAddress, (XV_HDMIRX_PIO_STA_OFFSET)) & (XV_HDMIRX_PIO_STA_IRQ_MASK);

    /* Check for IRQ flag set */
    if (Data) {
        /* Jump to PIO handler */
        HdmiRx_PioIntrHandler(HdmiRxPtr);
    }

    /* Timer */
    Data = XV_HdmiRx_ReadReg(HdmiRxPtr->Config.BaseAddress, (XV_HDMIRX_TMR_STA_OFFSET)) & (XV_HDMIRX_TMR_STA_IRQ_MASK);

    /* Check for IRQ flag set */
    if (Data) {
        /* Jump to PIO handler */
        HdmiRx_TmrIntrHandler(HdmiRxPtr);
    }

    /* Video Timing detector */
    Data = XV_HdmiRx_ReadReg(HdmiRxPtr->Config.BaseAddress, (XV_HDMIRX_VTD_STA_OFFSET)) & (XV_HDMIRX_VTD_STA_IRQ_MASK);

    /* Check for IRQ flag set */
    if (Data) {
        /* Jump to video timing detector handler */
        HdmiRx_VtdIntrHandler(HdmiRxPtr);
    }

    /* DDC */
    Data = XV_HdmiRx_ReadReg(HdmiRxPtr->Config.BaseAddress, (XV_HDMIRX_DDC_STA_OFFSET)) & (XV_HDMIRX_DDC_STA_IRQ_MASK);

    /* Is the IRQ flag set */
    if (Data) {
        /* Jump to DDC handler */
        HdmiRx_DdcIntrHandler(HdmiRxPtr);
    }

    /* AUX */
    Data = XV_HdmiRx_ReadReg(HdmiRxPtr->Config.BaseAddress, (XV_HDMIRX_AUX_STA_OFFSET)) & (XV_HDMIRX_AUX_STA_IRQ_MASK);

    /* Check for IRQ flag set */
    if (Data) {
        /* Jump to AUX handler */
        HdmiRx_AuxIntrHandler(HdmiRxPtr);
    }

    /* Audio */
    Data = XV_HdmiRx_ReadReg(HdmiRxPtr->Config.BaseAddress, (XV_HDMIRX_AUD_STA_OFFSET)) & (XV_HDMIRX_AUD_STA_IRQ_MASK);

    /* Check for IRQ flag set */
    if (Data) {
        /* Jump to Audio handler */
        HdmiRx_AudIntrHandler(HdmiRxPtr);
    }

    /* Link status */
    Data = XV_HdmiRx_ReadReg(HdmiRxPtr->Config.BaseAddress, (XV_HDMIRX_LNKSTA_STA_OFFSET)) & (XV_HDMIRX_LNKSTA_STA_IRQ_MASK);

    /* Check for IRQ flag set */
    if (Data) {
        /* Jump to Link Status handler */
        HdmiRx_LinkStatusIntrHandler(HdmiRxPtr);
    }
}
/*****************************************************************************/
/**
*
* 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_HdmiRx_SetCallback() during initialization phase. An example delivered
* with this driver demonstrates how this could be done.
*
* @param    InstancePtr is a pointer to the XV_HdmiRx instance that just
*       interrupted.
*
* @return   None.
*
* @note     None.
*
******************************************************************************/
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_HdmiRx_SetCallback() during initialization phase. An example delivered
with this driver demonstrates how this could be done.
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_HdmiRx_SetCallback () during initialization phase . An example delivered with this driver demonstrates how this could be done .
void XV_HdmiRx_IntrHandler(void *InstancePtr)
{
    u32 Data;
    XV_HdmiRx *HdmiRxPtr = (XV_HdmiRx *)InstancePtr;
    Xil_AssertVoid(HdmiRxPtr != NULL);
    Xil_AssertVoid(HdmiRxPtr->IsReady == XIL_COMPONENT_IS_READY);
    Data = XV_HdmiRx_ReadReg(HdmiRxPtr->Config.BaseAddress, (XV_HDMIRX_PIO_STA_OFFSET)) & (XV_HDMIRX_PIO_STA_IRQ_MASK);
    if (Data) {
        HdmiRx_PioIntrHandler(HdmiRxPtr);
    }
    Data = XV_HdmiRx_ReadReg(HdmiRxPtr->Config.BaseAddress, (XV_HDMIRX_TMR_STA_OFFSET)) & (XV_HDMIRX_TMR_STA_IRQ_MASK);
    if (Data) {
        HdmiRx_TmrIntrHandler(HdmiRxPtr);
    }
    Data = XV_HdmiRx_ReadReg(HdmiRxPtr->Config.BaseAddress, (XV_HDMIRX_VTD_STA_OFFSET)) & (XV_HDMIRX_VTD_STA_IRQ_MASK);
    if (Data) {
        HdmiRx_VtdIntrHandler(HdmiRxPtr);
    }
    Data = XV_HdmiRx_ReadReg(HdmiRxPtr->Config.BaseAddress, (XV_HDMIRX_DDC_STA_OFFSET)) & (XV_HDMIRX_DDC_STA_IRQ_MASK);
    if (Data) {
        HdmiRx_DdcIntrHandler(HdmiRxPtr);
    }
    Data = XV_HdmiRx_ReadReg(HdmiRxPtr->Config.BaseAddress, (XV_HDMIRX_AUX_STA_OFFSET)) & (XV_HDMIRX_AUX_STA_IRQ_MASK);
    if (Data) {
        HdmiRx_AuxIntrHandler(HdmiRxPtr);
    }
    Data = XV_HdmiRx_ReadReg(HdmiRxPtr->Config.BaseAddress, (XV_HDMIRX_AUD_STA_OFFSET)) & (XV_HDMIRX_AUD_STA_IRQ_MASK);
    if (Data) {
        HdmiRx_AudIntrHandler(HdmiRxPtr);
    }
    Data = XV_HdmiRx_ReadReg(HdmiRxPtr->Config.BaseAddress, (XV_HDMIRX_LNKSTA_STA_OFFSET)) & (XV_HDMIRX_LNKSTA_STA_IRQ_MASK);
    if (Data) {
        HdmiRx_LinkStatusIntrHandler(HdmiRxPtr);
    }
}
void XV_HdmiRx_IntrHandler ( void * InstancePtr ) { u32 Data ; XV_HdmiRx * HdmiRxPtr = ( XV_HdmiRx * ) InstancePtr ; Xil_AssertVoid ( HdmiRxPtr != NULL ) ; Xil_AssertVoid ( HdmiRxPtr -> IsReady == XIL_COMPONENT_IS_READY ) ; Data = XV_HdmiRx_ReadReg ( HdmiRxPtr -> Config . BaseAddress , ( XV_HDMIRX_PIO_STA_OFFSET ) ) & ( XV_HDMIRX_PIO_STA_IRQ_MASK ) ; if ( Data ) { HdmiRx_PioIntrHandler ( HdmiRxPtr ) ; } Data = XV_HdmiRx_ReadReg ( HdmiRxPtr -> Config . BaseAddress , ( XV_HDMIRX_TMR_STA_OFFSET ) ) & ( XV_HDMIRX_TMR_STA_IRQ_MASK ) ; if ( Data ) { HdmiRx_TmrIntrHandler ( HdmiRxPtr ) ; } Data = XV_HdmiRx_ReadReg ( HdmiRxPtr -> Config . BaseAddress , ( XV_HDMIRX_VTD_STA_OFFSET ) ) & ( XV_HDMIRX_VTD_STA_IRQ_MASK ) ; if ( Data ) { HdmiRx_VtdIntrHandler ( HdmiRxPtr ) ; } Data = XV_HdmiRx_ReadReg ( HdmiRxPtr -> Config . BaseAddress , ( XV_HDMIRX_DDC_STA_OFFSET ) ) & ( XV_HDMIRX_DDC_STA_IRQ_MASK ) ; if ( Data ) { HdmiRx_DdcIntrHandler ( HdmiRxPtr ) ; } Data = XV_HdmiRx_ReadReg ( HdmiRxPtr -> Config . BaseAddress , ( XV_HDMIRX_AUX_STA_OFFSET ) ) & ( XV_HDMIRX_AUX_STA_IRQ_MASK ) ; if ( Data ) { HdmiRx_AuxIntrHandler ( HdmiRxPtr ) ; } Data = XV_HdmiRx_ReadReg ( HdmiRxPtr -> Config . BaseAddress , ( XV_HDMIRX_AUD_STA_OFFSET ) ) & ( XV_HDMIRX_AUD_STA_IRQ_MASK ) ; if ( Data ) { HdmiRx_AudIntrHandler ( HdmiRxPtr ) ; } Data = XV_HdmiRx_ReadReg ( HdmiRxPtr -> Config . BaseAddress , ( XV_HDMIRX_LNKSTA_STA_OFFSET ) ) & ( XV_HDMIRX_LNKSTA_STA_IRQ_MASK ) ; if ( Data ) { HdmiRx_LinkStatusIntrHandler ( HdmiRxPtr ) ; } }
This function is the interrupt handler for the HDMI RX driver.
This function is the interrupt handler for the HDMI RX driver .
/* Verify arguments */ /* PIO */ /* Check for IRQ flag set */ /* Jump to PIO handler */ /* Timer */ /* Check for IRQ flag set */ /* Jump to PIO handler */ /* Video Timing detector */ /* Check for IRQ flag set */ /* Jump to video timing detector handler */ /* DDC */ /* Is the IRQ flag set */ /* Jump to DDC handler */ /* AUX */ /* Check for IRQ flag set */ /* Jump to AUX handler */ /* Audio */ /* Check for IRQ flag set */ /* Jump to Audio handler */ /* Link status */ /* Check for IRQ flag set */ /* Jump to Link Status handler */