XilinxProcessorIPLib/drivers/hdcp22_tx_dp/src/xhdcp22_tx.c
static XHdcp22_Tx_StateType XHdcp22Tx_StateH1(XHdcp22_Tx *InstancePtr)
{
	/* Avoid polluting */
	if (InstancePtr->Info.PrvState != InstancePtr->Info.CurrentState) {
		XHdcp22Tx_LogWr(InstancePtr, XHDCP22_TX_LOG_EVT_STATE, (u16)XHDCP22_TX_STATE_H1);
	}

	/* Stay in this state until XHdcp22Tx_Authenticate is called and the status
	 * is set to XHDCP22_TX_AUTHENTICATION_BUSY */
	if (InstancePtr->Info.AuthenticationStatus != XHDCP22_TX_AUTHENTICATION_BUSY) {
		return XHDCP22_TX_STATE_H1;
	}

	/* HDCP2Version */
	InstancePtr->IsReceiverHDCP2Capable = XHdcp22Tx_IsDwnstrmCapable(InstancePtr);

	if (InstancePtr->IsReceiverHDCP2Capable) {
		return XHDCP22_TX_STATE_A0;
	}

	InstancePtr->Info.AuthenticationStatus = XHDCP22_TX_INCOMPATIBLE_RX;
	return XHDCP22_TX_STATE_H1;
}
/*****************************************************************************/
/**
*
* This function is the implementation of the HDCP transmit H1 state.
* As soon as hot plug is detected and Rx is available, a transisition to
* this state is performed. Hotplug detection if controlled by the user of this core.
* This means that this state is practically the entry state.
*
* @param  InstancePtr is a pointer to the XHDCP22 TX core instance.
*
* @return
*         - XHDCP22_TX_STATE_A0 if the attached receiver is HDCP2 capable.
*         - XHDCP22_TX_STATE_H1 if the attached receiver is NOT HDCP2 capable.
*
* @note   None.
*
******************************************************************************/
This function is the implementation of the HDCP transmit H1 state.
As soon as hot plug is detected and Rx is available, a transisition to
this state is performed. Hotplug detection if controlled by the user of this core.
This means that this state is practically the entry state.
This function is the implementation of the HDCP transmit H1 state . As soon as hot plug is detected and Rx is available a transisition to this state is performed . Hotplug detection if controlled by the user of this core . This means that this state is practically the entry state .
static XHdcp22_Tx_StateType XHdcp22Tx_StateH1(XHdcp22_Tx *InstancePtr)
{
	if (InstancePtr->Info.PrvState != InstancePtr->Info.CurrentState) {
		XHdcp22Tx_LogWr(InstancePtr, XHDCP22_TX_LOG_EVT_STATE, (u16)XHDCP22_TX_STATE_H1);
	}
	if (InstancePtr->Info.AuthenticationStatus != XHDCP22_TX_AUTHENTICATION_BUSY) {
		return XHDCP22_TX_STATE_H1;
	}
	InstancePtr->IsReceiverHDCP2Capable = XHdcp22Tx_IsDwnstrmCapable(InstancePtr);
	if (InstancePtr->IsReceiverHDCP2Capable) {
		return XHDCP22_TX_STATE_A0;
	}
	InstancePtr->Info.AuthenticationStatus = XHDCP22_TX_INCOMPATIBLE_RX;
	return XHDCP22_TX_STATE_H1;
}
static XHdcp22_Tx_StateType XHdcp22Tx_StateH1 ( XHdcp22_Tx * InstancePtr ) { if ( InstancePtr -> Info . PrvState != InstancePtr -> Info . CurrentState ) { XHdcp22Tx_LogWr ( InstancePtr , XHDCP22_TX_LOG_EVT_STATE , ( u16 ) XHDCP22_TX_STATE_H1 ) ; } if ( InstancePtr -> Info . AuthenticationStatus != XHDCP22_TX_AUTHENTICATION_BUSY ) { return XHDCP22_TX_STATE_H1 ; } InstancePtr -> IsReceiverHDCP2Capable = XHdcp22Tx_IsDwnstrmCapable ( InstancePtr ) ; if ( InstancePtr -> IsReceiverHDCP2Capable ) { return XHDCP22_TX_STATE_A0 ; } InstancePtr -> Info . AuthenticationStatus = XHDCP22_TX_INCOMPATIBLE_RX ; return XHDCP22_TX_STATE_H1 ; }
This function is the implementation of the HDCP transmit H1 state.
This function is the implementation of the HDCP transmit H1 state .
/* Avoid polluting */ /* Stay in this state until XHdcp22Tx_Authenticate is called and the status
	 * is set to XHDCP22_TX_AUTHENTICATION_BUSY */ /* HDCP2Version */