XilinxProcessorIPLib/drivers/v_hdmiphy1/src/xhdmiphy1_hdmi_intr.c
void XHdmiphy1_HdmiLcpllLockHandler(XHdmiphy1 *InstancePtr)
{
	XHdmiphy1_PllType TxPllType;
	u8 Id, Id0, Id1;
	XHdmiphy1_ChannelId ChId;

	/* Determine PLL type. */
	TxPllType = XHdmiphy1_GetPllType(InstancePtr, 0, XHDMIPHY1_DIR_TX,
					 XHDMIPHY1_CHANNEL_ID_CH1);

	/* Determine which channel(s) to operate on. */
	ChId = XHdmiphy1_GetRcfgChId(InstancePtr, 0,
				     XHDMIPHY1_DIR_NONE, XHDMIPHY1_PLL_TYPE_LCPLL);

	if (XHdmiphy1_IsPllLocked(InstancePtr, 0, ChId) == XST_SUCCESS) {
		/* Log, lock */
		XHdmiphy1_LogWrite(InstancePtr, XHDMIPHY1_LOG_EVT_LCPLL_LOCK, 1);

		XHdmiphy1_Ch2Ids(InstancePtr, XHDMIPHY1_CHANNEL_ID_CHA, &Id0,
				 &Id1);
		for (Id = Id0; Id <= Id1; Id++) {
			if (TxPllType == XHDMIPHY1_PLL_TYPE_LCPLL) {
				InstancePtr->Quads[0].Plls[XHDMIPHY1_CH2IDX(Id)].
					TxState = XHDMIPHY1_GT_STATE_RESET;
			}
			else {
				InstancePtr->Quads[0].Plls[XHDMIPHY1_CH2IDX(Id)].
					RxState = XHDMIPHY1_GT_STATE_RESET;
			}
		}
	}
	else {
		/* Log, Lost lock */
		XHdmiphy1_LogWrite(InstancePtr, XHDMIPHY1_LOG_EVT_LCPLL_LOCK, 0);
	}

}
/*****************************************************************************/
/**
* This function is the handler for events triggered by LCPLL lock done.
*
* @param    InstancePtr is a pointer to the HDMIPHY instance.
*
* @return   None.
*
* @note     None.
*
******************************************************************************/
This function is the handler for events triggered by LCPLL lock done.
This function is the handler for events triggered by LCPLL lock done .
void XHdmiphy1_HdmiLcpllLockHandler(XHdmiphy1 *InstancePtr)
{
	XHdmiphy1_PllType TxPllType;
	u8 Id, Id0, Id1;
	XHdmiphy1_ChannelId ChId;
	TxPllType = XHdmiphy1_GetPllType(InstancePtr, 0, XHDMIPHY1_DIR_TX,
					 XHDMIPHY1_CHANNEL_ID_CH1);
	ChId = XHdmiphy1_GetRcfgChId(InstancePtr, 0,
				     XHDMIPHY1_DIR_NONE, XHDMIPHY1_PLL_TYPE_LCPLL);
	if (XHdmiphy1_IsPllLocked(InstancePtr, 0, ChId) == XST_SUCCESS) {
		XHdmiphy1_LogWrite(InstancePtr, XHDMIPHY1_LOG_EVT_LCPLL_LOCK, 1);
		XHdmiphy1_Ch2Ids(InstancePtr, XHDMIPHY1_CHANNEL_ID_CHA, &Id0,
				 &Id1);
		for (Id = Id0; Id <= Id1; Id++) {
			if (TxPllType == XHDMIPHY1_PLL_TYPE_LCPLL) {
				InstancePtr->Quads[0].Plls[XHDMIPHY1_CH2IDX(Id)].
					TxState = XHDMIPHY1_GT_STATE_RESET;
			}
			else {
				InstancePtr->Quads[0].Plls[XHDMIPHY1_CH2IDX(Id)].
					RxState = XHDMIPHY1_GT_STATE_RESET;
			}
		}
	}
	else {
		XHdmiphy1_LogWrite(InstancePtr, XHDMIPHY1_LOG_EVT_LCPLL_LOCK, 0);
	}
}
void XHdmiphy1_HdmiLcpllLockHandler ( XHdmiphy1 * InstancePtr ) { XHdmiphy1_PllType TxPllType ; u8 Id , Id0 , Id1 ; XHdmiphy1_ChannelId ChId ; TxPllType = XHdmiphy1_GetPllType ( InstancePtr , 0 , XHDMIPHY1_DIR_TX , XHDMIPHY1_CHANNEL_ID_CH1 ) ; ChId = XHdmiphy1_GetRcfgChId ( InstancePtr , 0 , XHDMIPHY1_DIR_NONE , XHDMIPHY1_PLL_TYPE_LCPLL ) ; if ( XHdmiphy1_IsPllLocked ( InstancePtr , 0 , ChId ) == XST_SUCCESS ) { XHdmiphy1_LogWrite ( InstancePtr , XHDMIPHY1_LOG_EVT_LCPLL_LOCK , 1 ) ; XHdmiphy1_Ch2Ids ( InstancePtr , XHDMIPHY1_CHANNEL_ID_CHA , & Id0 , & Id1 ) ; for ( Id = Id0 ; Id <= Id1 ; Id ++ ) { if ( TxPllType == XHDMIPHY1_PLL_TYPE_LCPLL ) { InstancePtr -> Quads [ 0 ] . Plls [ XHDMIPHY1_CH2IDX ( Id ) ] . TxState = XHDMIPHY1_GT_STATE_RESET ; } else { InstancePtr -> Quads [ 0 ] . Plls [ XHDMIPHY1_CH2IDX ( Id ) ] . RxState = XHDMIPHY1_GT_STATE_RESET ; } } } else { XHdmiphy1_LogWrite ( InstancePtr , XHDMIPHY1_LOG_EVT_LCPLL_LOCK , 0 ) ; } }
This function is the handler for events triggered by LCPLL lock done.
This function is the handler for events triggered by LCPLL lock done .
/* Determine PLL type. */ /* Determine which channel(s) to operate on. */ /* Log, lock */ /* Log, Lost lock */