XilinxProcessorIPLib/drivers/dp14txss/examples/src/zcu_pt_dp14_hdcp/rx.c
void DpRxSs_VerticalBlankHandler(void *InstancePtr)
{
//	xil_printf("inside DpRxSs_VerticalBlankHandler\n\r");

	DpRxSsInst.VBlankCount++;
	if (DpRxSsInst.VBlankCount > 200) {
		//when Vblank is received, HDCP is put in enabled state and the
		// timer is started. TX is not setup until the timer is done.
		// This ensures that certain sources like MacBook gets
		//  time to Authenticate.
		#if ENABLE_HDCP_IN_DESIGN
				XDp_RxInterruptEnable(DpRxSsInst.DpPtr, 0x01F80000);
				XDpRxSs_StartTimer(&DpRxSsInst);
		#endif

	} //end of (vblank_count >= 100)
	else if (DpRxSsInst.VBlankCount == 80)
	{

#if ENABLE_HDCP_IN_DESIGN
		XDp_RxInterruptEnable(DpRxSsInst.DpPtr, 0x01F80000);
//		XDpRxSs_SetLane(&DpRxSsInst, DpRxSsInst.UsrOpt.LaneCount);
#if ENABLE_HDCP1x_IN_RX
	    XDpRxSs_SetPhysicalState(&DpRxSsInst, hdcp_capable_org); //TRUE)
#endif
#if (ENABLE_HDCP1x_IN_RX | ENABLE_HDCP1x_IN_TX)
	    XHdcp1xExample_Poll();
#endif

#if ENABLE_HDCP1x_IN_TX
	    XDpTxSs_SetPhysicalState(&DpTxSsInst, hdcp_capable_org);
#endif

#if (ENABLE_HDCP1x_IN_RX | ENABLE_HDCP1x_IN_TX)
	    XHdcp1xExample_Poll();
		XHdcp1xExample_Enable();
		XHdcp1xExample_Poll();
#endif
#endif

	}
}
/*****************************************************************************/
/**
*
* This function is the callback function for when a vertical blank interrupt
* occurs.
*
* @param    InstancePtr is a pointer to the XDpRxSs instance.
*
* @return    None.
*
* @note        None.
*
******************************************************************************/
This function is the callback function for when a vertical blank interrupt
occurs.
This function is the callback function for when a vertical blank interrupt occurs .
void DpRxSs_VerticalBlankHandler(void *InstancePtr)
{
	DpRxSsInst.VBlankCount++;
	if (DpRxSsInst.VBlankCount > 200) {
		#if ENABLE_HDCP_IN_DESIGN
				XDp_RxInterruptEnable(DpRxSsInst.DpPtr, 0x01F80000);
				XDpRxSs_StartTimer(&DpRxSsInst);
		#endif
	} 
	else if (DpRxSsInst.VBlankCount == 80)
	{
#if ENABLE_HDCP_IN_DESIGN
		XDp_RxInterruptEnable(DpRxSsInst.DpPtr, 0x01F80000);
#if ENABLE_HDCP1x_IN_RX
	    XDpRxSs_SetPhysicalState(&DpRxSsInst, hdcp_capable_org); 
#endif
#if (ENABLE_HDCP1x_IN_RX | ENABLE_HDCP1x_IN_TX)
	    XHdcp1xExample_Poll();
#endif
#if ENABLE_HDCP1x_IN_TX
	    XDpTxSs_SetPhysicalState(&DpTxSsInst, hdcp_capable_org);
#endif
#if (ENABLE_HDCP1x_IN_RX | ENABLE_HDCP1x_IN_TX)
	    XHdcp1xExample_Poll();
		XHdcp1xExample_Enable();
		XHdcp1xExample_Poll();
#endif
#endif
	}
}
void DpRxSs_VerticalBlankHandler ( void * InstancePtr ) { DpRxSsInst . VBlankCount ++ ; if ( DpRxSsInst . VBlankCount > 200 ) { #if ENABLE_HDCP_IN_DESIGN XDp_RxInterruptEnable ( DpRxSsInst . DpPtr , 0x01F80000 ) ; XDpRxSs_StartTimer ( & DpRxSsInst ) ; #endif } else if ( DpRxSsInst . VBlankCount == 80 ) { #if ENABLE_HDCP_IN_DESIGN XDp_RxInterruptEnable ( DpRxSsInst . DpPtr , 0x01F80000 ) ; #if ENABLE_HDCP1x_IN_RX XDpRxSs_SetPhysicalState ( & DpRxSsInst , hdcp_capable_org ) ; #endif #if ( ENABLE_HDCP1x_IN_RX | ENABLE_HDCP1x_IN_TX ) XHdcp1xExample_Poll ( ) ; #endif #if ENABLE_HDCP1x_IN_TX XDpTxSs_SetPhysicalState ( & DpTxSsInst , hdcp_capable_org ) ; #endif #if ( ENABLE_HDCP1x_IN_RX | ENABLE_HDCP1x_IN_TX ) XHdcp1xExample_Poll ( ) ; XHdcp1xExample_Enable ( ) ; XHdcp1xExample_Poll ( ) ; #endif #endif } }
This function is the callback function for when a vertical blank interrupt
occurs.
This function is the callback function for when a vertical blank interrupt occurs .
//	xil_printf("inside DpRxSs_VerticalBlankHandler\n\r"); //when Vblank is received, HDCP is put in enabled state and the // timer is started. TX is not setup until the timer is done. // This ensures that certain sources like MacBook gets //  time to Authenticate. //end of (vblank_count >= 100) //		XDpRxSs_SetLane(&DpRxSsInst, DpRxSsInst.UsrOpt.LaneCount); //TRUE)