XilinxProcessorIPLib/drivers/vphy/src/xvphy_hdmi_intr.c
void XVphy_HdmiGtTxResetDoneLockHandler(XVphy *InstancePtr)
{
	u8 Id, Id0, Id1;

	XVphy_LogWrite(InstancePtr, XVPHY_LOG_EVT_TX_RST_DONE, 0);

	if ((InstancePtr->Config.XcvrType == XVPHY_GT_TYPE_GTHE3) ||
            (InstancePtr->Config.XcvrType == XVPHY_GT_TYPE_GTHE4) ||
            (InstancePtr->Config.XcvrType == XVPHY_GT_TYPE_GTYE4)) {
		XVphy_TxAlignReset(InstancePtr, XVPHY_CHANNEL_ID_CHA, TRUE);
		XVphy_TxAlignReset(InstancePtr, XVPHY_CHANNEL_ID_CHA, FALSE);
	}

	/* GT alignment. */
	XVphy_TxAlignStart(InstancePtr, XVPHY_CHANNEL_ID_CHA, TRUE);
	XVphy_TxAlignStart(InstancePtr, XVPHY_CHANNEL_ID_CHA, FALSE);

	XVphy_Ch2Ids(InstancePtr, XVPHY_CHANNEL_ID_CHA, &Id0, &Id1);
	for (Id = Id0; Id <= Id1; Id++) {
		if (InstancePtr->Config.XcvrType == XVPHY_GT_TYPE_GTPE2) {
			InstancePtr->Quads[0].Plls[XVPHY_CH2IDX(Id)].TxState =
				XVPHY_GT_STATE_READY;

			/* TX ready callback. */
			if (InstancePtr->HdmiTxReadyCallback) {
				InstancePtr->HdmiTxReadyCallback(
						InstancePtr->HdmiTxReadyRef);
			}
		} else {
#if (XPAR_VPHY_0_TRANSCEIVER == XVPHY_GTXE2)
			XVphy_ClkDetTimerLoad(InstancePtr, 0, XVPHY_DIR_TX,
							InstancePtr->Config.AxiLiteClkFreq/100);
#endif

			InstancePtr->Quads[0].Plls[XVPHY_CH2IDX(Id)].TxState =
				XVPHY_GT_STATE_ALIGN;
		}
	}
}
/*****************************************************************************/
/**
* This function is the handler for events triggered by GT TX reset lock done.
*
* @param	InstancePtr is a pointer to the VPHY instance.
*
* @return	None.
*
* @note		None.
*
******************************************************************************/
This function is the handler for events triggered by GT TX reset lock done.
This function is the handler for events triggered by GT TX reset lock done .
void XVphy_HdmiGtTxResetDoneLockHandler(XVphy *InstancePtr)
{
	u8 Id, Id0, Id1;
	XVphy_LogWrite(InstancePtr, XVPHY_LOG_EVT_TX_RST_DONE, 0);
	if ((InstancePtr->Config.XcvrType == XVPHY_GT_TYPE_GTHE3) ||
            (InstancePtr->Config.XcvrType == XVPHY_GT_TYPE_GTHE4) ||
            (InstancePtr->Config.XcvrType == XVPHY_GT_TYPE_GTYE4)) {
		XVphy_TxAlignReset(InstancePtr, XVPHY_CHANNEL_ID_CHA, TRUE);
		XVphy_TxAlignReset(InstancePtr, XVPHY_CHANNEL_ID_CHA, FALSE);
	}
	XVphy_TxAlignStart(InstancePtr, XVPHY_CHANNEL_ID_CHA, TRUE);
	XVphy_TxAlignStart(InstancePtr, XVPHY_CHANNEL_ID_CHA, FALSE);
	XVphy_Ch2Ids(InstancePtr, XVPHY_CHANNEL_ID_CHA, &Id0, &Id1);
	for (Id = Id0; Id <= Id1; Id++) {
		if (InstancePtr->Config.XcvrType == XVPHY_GT_TYPE_GTPE2) {
			InstancePtr->Quads[0].Plls[XVPHY_CH2IDX(Id)].TxState =
				XVPHY_GT_STATE_READY;
			if (InstancePtr->HdmiTxReadyCallback) {
				InstancePtr->HdmiTxReadyCallback(
						InstancePtr->HdmiTxReadyRef);
			}
		} else {
#if (XPAR_VPHY_0_TRANSCEIVER == XVPHY_GTXE2)
			XVphy_ClkDetTimerLoad(InstancePtr, 0, XVPHY_DIR_TX,
							InstancePtr->Config.AxiLiteClkFreq/100);
#endif
			InstancePtr->Quads[0].Plls[XVPHY_CH2IDX(Id)].TxState =
				XVPHY_GT_STATE_ALIGN;
		}
	}
}
void XVphy_HdmiGtTxResetDoneLockHandler ( XVphy * InstancePtr ) { u8 Id , Id0 , Id1 ; XVphy_LogWrite ( InstancePtr , XVPHY_LOG_EVT_TX_RST_DONE , 0 ) ; if ( ( InstancePtr -> Config . XcvrType == XVPHY_GT_TYPE_GTHE3 ) || ( InstancePtr -> Config . XcvrType == XVPHY_GT_TYPE_GTHE4 ) || ( InstancePtr -> Config . XcvrType == XVPHY_GT_TYPE_GTYE4 ) ) { XVphy_TxAlignReset ( InstancePtr , XVPHY_CHANNEL_ID_CHA , TRUE ) ; XVphy_TxAlignReset ( InstancePtr , XVPHY_CHANNEL_ID_CHA , FALSE ) ; } XVphy_TxAlignStart ( InstancePtr , XVPHY_CHANNEL_ID_CHA , TRUE ) ; XVphy_TxAlignStart ( InstancePtr , XVPHY_CHANNEL_ID_CHA , FALSE ) ; XVphy_Ch2Ids ( InstancePtr , XVPHY_CHANNEL_ID_CHA , & Id0 , & Id1 ) ; for ( Id = Id0 ; Id <= Id1 ; Id ++ ) { if ( InstancePtr -> Config . XcvrType == XVPHY_GT_TYPE_GTPE2 ) { InstancePtr -> Quads [ 0 ] . Plls [ XVPHY_CH2IDX ( Id ) ] . TxState = XVPHY_GT_STATE_READY ; if ( InstancePtr -> HdmiTxReadyCallback ) { InstancePtr -> HdmiTxReadyCallback ( InstancePtr -> HdmiTxReadyRef ) ; } } else { #if ( XPAR_VPHY_0_TRANSCEIVER == XVPHY_GTXE2 ) XVphy_ClkDetTimerLoad ( InstancePtr , 0 , XVPHY_DIR_TX , InstancePtr -> Config . AxiLiteClkFreq / 100 ) ; #endif InstancePtr -> Quads [ 0 ] . Plls [ XVPHY_CH2IDX ( Id ) ] . TxState = XVPHY_GT_STATE_ALIGN ; } } }
This function is the handler for events triggered by GT TX reset lock done.
This function is the handler for events triggered by GT TX reset lock done .
/* GT alignment. */ /* TX ready callback. */