XilinxProcessorIPLib/drivers/hdcp22_rx_dp/src/xhdcp22_rx.c
static int XHdcp22Rx_ProcessMessageRepeaterAuthSendAck(XHdcp22_Rx *InstancePtr)
{
	/* Verify arguments */
	Xil_AssertNonvoid(InstancePtr != NULL);

	int Status;
	XHdcp22_Rx_Message *MsgPtr = (XHdcp22_Rx_Message*)InstancePtr->MessageBuffer;

	/* Stop the timer */
	XHdcp22Rx_StopTimer(InstancePtr);

	/* Log message read completion */
	XHdcp22Rx_LogWr(InstancePtr,
		XHDCP22_RX_LOG_EVT_INFO_MESSAGE,
		XHDCP22_RX_MSG_ID_REPEATERAUTHSENDACK);

	/* Check message size */
	if(InstancePtr->MessageSize != sizeof(XHdcp22_Rx_RepeaterAuthSendAck))
	{
		XHdcp22Rx_LogWr(InstancePtr, XHDCP22_RX_LOG_EVT_ERROR, XHDCP22_RX_ERROR_FLAG_MESSAGE_SIZE);
		return XST_FAILURE;
	}

	/* Compare LSb's of V and VPrime */
	Status = memcmp(MsgPtr->RepeaterAuthSendAck.V, InstancePtr->Params.VPrime+16, 16);

	return (Status == 0) ? XST_SUCCESS : XST_FAILURE;
}
/*****************************************************************************/
/**
* This function processes the RepeaterAuth_Send_Ack message received from
* the upstream transmitter. The least significant 128-bits of the value
* V are compared against VPrime. The timer is stopped.
*
* @param    InstancePtr is a pointer to the XHdcp22_Rx core instance.
*
* @return   - XST_SUCCESS when V and VPrime match.
*           - XST_FAILURE when V and VPrime do not match.
*
* @note     The RepeaterAuth_Send_Ack message must be available for the
*           repeater upstream interface within 2 seconds after asserting
*           the READY bit in the RxStatus register.
******************************************************************************/
This function processes the RepeaterAuth_Send_Ack message received from
the upstream transmitter. The least significant 128-bits of the value
V are compared against VPrime. The timer is stopped.
This function processes the RepeaterAuth_Send_Ack message received from the upstream transmitter . The least significant 128 - bits of the value V are compared against VPrime . The timer is stopped .
static int XHdcp22Rx_ProcessMessageRepeaterAuthSendAck(XHdcp22_Rx *InstancePtr)
{
	Xil_AssertNonvoid(InstancePtr != NULL);
	int Status;
	XHdcp22_Rx_Message *MsgPtr = (XHdcp22_Rx_Message*)InstancePtr->MessageBuffer;
	XHdcp22Rx_StopTimer(InstancePtr);
	XHdcp22Rx_LogWr(InstancePtr,
		XHDCP22_RX_LOG_EVT_INFO_MESSAGE,
		XHDCP22_RX_MSG_ID_REPEATERAUTHSENDACK);
	if(InstancePtr->MessageSize != sizeof(XHdcp22_Rx_RepeaterAuthSendAck))
	{
		XHdcp22Rx_LogWr(InstancePtr, XHDCP22_RX_LOG_EVT_ERROR, XHDCP22_RX_ERROR_FLAG_MESSAGE_SIZE);
		return XST_FAILURE;
	}
	Status = memcmp(MsgPtr->RepeaterAuthSendAck.V, InstancePtr->Params.VPrime+16, 16);
	return (Status == 0) ? XST_SUCCESS : XST_FAILURE;
}
static int XHdcp22Rx_ProcessMessageRepeaterAuthSendAck ( XHdcp22_Rx * InstancePtr ) { Xil_AssertNonvoid ( InstancePtr != NULL ) ; int Status ; XHdcp22_Rx_Message * MsgPtr = ( XHdcp22_Rx_Message * ) InstancePtr -> MessageBuffer ; XHdcp22Rx_StopTimer ( InstancePtr ) ; XHdcp22Rx_LogWr ( InstancePtr , XHDCP22_RX_LOG_EVT_INFO_MESSAGE , XHDCP22_RX_MSG_ID_REPEATERAUTHSENDACK ) ; if ( InstancePtr -> MessageSize != sizeof ( XHdcp22_Rx_RepeaterAuthSendAck ) ) { XHdcp22Rx_LogWr ( InstancePtr , XHDCP22_RX_LOG_EVT_ERROR , XHDCP22_RX_ERROR_FLAG_MESSAGE_SIZE ) ; return XST_FAILURE ; } Status = memcmp ( MsgPtr -> RepeaterAuthSendAck . V , InstancePtr -> Params . VPrime + 16 , 16 ) ; return ( Status == 0 ) ? XST_SUCCESS : XST_FAILURE ; }
This function processes the RepeaterAuth_Send_Ack message received from
the upstream transmitter.
This function processes the RepeaterAuth_Send_Ack message received from the upstream transmitter .
/* Verify arguments */ /* Stop the timer */ /* Log message read completion */ /* Check message size */ /* Compare LSb's of V and VPrime */