XilinxProcessorIPLib/drivers/hdcp22_tx_dp/src/xhdcp22_tx.c
static XHdcp22_Tx_StateType XHdcp22Tx_StateA0(XHdcp22_Tx *InstancePtr)
{
	XHdcp22Tx_LogWr(InstancePtr, XHDCP22_TX_LOG_EVT_STATE, (u16)XHDCP22_TX_STATE_A0);

	/* Check if HDCP2Capable flag is true */
	if (!InstancePtr->IsReceiverHDCP2Capable) {
		InstancePtr->Info.AuthenticationStatus = XHDCP22_TX_INCOMPATIBLE_RX;
		return XHDCP22_TX_STATE_H1;
	}

	/* Content protection not desired; go back to H1 state */
	if (InstancePtr->Info.IsEnabled == (FALSE))
		return XHDCP22_TX_STATE_H1;

	/* Authentication starts, set status as BUSY */
	InstancePtr->Info.AuthenticationStatus = XHDCP22_TX_AUTHENTICATION_BUSY;

	/* Disable encryption */
	XHdcp22Tx_DisableEncryption(InstancePtr);

	/* Start the timer for authentication.
        This is required to ensure that encryption is disabled before
        authentication is requested */
	XHdcp22Tx_StartTimer(InstancePtr, 100, XHDCP22_TX_AKE_INIT);

	return XHDCP22_TX_STATE_A1;
}
/*****************************************************************************/
/**
*
* This function is the implementation of the HDCP transmit A0 state.
* If content protection not desired, return to H1 state.
*
* @param  InstancePtr is a pointer to the XHDCP22 TX core instance.
*
* @return
*         - XHDCP22_TX_STATE_H1 if state machine is set to disabled (content protection
*           NOT desired).
*         - XHDCP22_TX_STATE_A1 if authentication must start.
*
* @note   None.
*
******************************************************************************/
This function is the implementation of the HDCP transmit A0 state.
If content protection not desired, return to H1 state.
This function is the implementation of the HDCP transmit A0 state . If content protection not desired return to H1 state .
static XHdcp22_Tx_StateType XHdcp22Tx_StateA0(XHdcp22_Tx *InstancePtr)
{
	XHdcp22Tx_LogWr(InstancePtr, XHDCP22_TX_LOG_EVT_STATE, (u16)XHDCP22_TX_STATE_A0);
	if (!InstancePtr->IsReceiverHDCP2Capable) {
		InstancePtr->Info.AuthenticationStatus = XHDCP22_TX_INCOMPATIBLE_RX;
		return XHDCP22_TX_STATE_H1;
	}
	if (InstancePtr->Info.IsEnabled == (FALSE))
		return XHDCP22_TX_STATE_H1;
	InstancePtr->Info.AuthenticationStatus = XHDCP22_TX_AUTHENTICATION_BUSY;
	XHdcp22Tx_DisableEncryption(InstancePtr);
	XHdcp22Tx_StartTimer(InstancePtr, 100, XHDCP22_TX_AKE_INIT);
	return XHDCP22_TX_STATE_A1;
}
static XHdcp22_Tx_StateType XHdcp22Tx_StateA0 ( XHdcp22_Tx * InstancePtr ) { XHdcp22Tx_LogWr ( InstancePtr , XHDCP22_TX_LOG_EVT_STATE , ( u16 ) XHDCP22_TX_STATE_A0 ) ; if ( ! InstancePtr -> IsReceiverHDCP2Capable ) { InstancePtr -> Info . AuthenticationStatus = XHDCP22_TX_INCOMPATIBLE_RX ; return XHDCP22_TX_STATE_H1 ; } if ( InstancePtr -> Info . IsEnabled == ( FALSE ) ) return XHDCP22_TX_STATE_H1 ; InstancePtr -> Info . AuthenticationStatus = XHDCP22_TX_AUTHENTICATION_BUSY ; XHdcp22Tx_DisableEncryption ( InstancePtr ) ; XHdcp22Tx_StartTimer ( InstancePtr , 100 , XHDCP22_TX_AKE_INIT ) ; return XHDCP22_TX_STATE_A1 ; }
This function is the implementation of the HDCP transmit A0 state.
This function is the implementation of the HDCP transmit A0 state .
/* Check if HDCP2Capable flag is true */ /* Content protection not desired; go back to H1 state */ /* Authentication starts, set status as BUSY */ /* Disable encryption */ /* Start the timer for authentication.
        This is required to ensure that encryption is disabled before
        authentication is requested */