diff --git a/XilinxProcessorIPLib/drivers/hdcp1x/src/xhdcp1x.c b/XilinxProcessorIPLib/drivers/hdcp1x/src/xhdcp1x.c index 60255a9d..bce1e94f 100644 --- a/XilinxProcessorIPLib/drivers/hdcp1x/src/xhdcp1x.c +++ b/XilinxProcessorIPLib/drivers/hdcp1x/src/xhdcp1x.c @@ -552,6 +552,25 @@ u64 XHdcp1x_GetEncryption(const XHdcp1x *InstancePtr) return (StreamMap); } +/*****************************************************************************/ +/** +* This function determines if the video stream is encrypted. +* The traffic is encrypted if the encryption bit map is non-zero and the +* interface is authenticated. +* +* @param InstancePtr is a pointer to the HDCP instance. +* +* @return Truth value indicating encrypted (TRUE) or not (FALSE). +* +* @note None. +* +******************************************************************************/ +int XHdcp1x_IsEncrypted(const XHdcp1x *InstancePtr) +{ + return (XHdcp1x_GetEncryption(InstancePtr) && + XHdcp1x_IsAuthenticated(InstancePtr)); +} + /*****************************************************************************/ /** * This function enables encryption on a series of streams within an HDCP diff --git a/XilinxProcessorIPLib/drivers/hdcp1x/src/xhdcp1x.h b/XilinxProcessorIPLib/drivers/hdcp1x/src/xhdcp1x.h index 15c7dc0a..8798f475 100644 --- a/XilinxProcessorIPLib/drivers/hdcp1x/src/xhdcp1x.h +++ b/XilinxProcessorIPLib/drivers/hdcp1x/src/xhdcp1x.h @@ -252,6 +252,7 @@ int XHdcp1x_IsInProgress(const XHdcp1x *InstancePtr); int XHdcp1x_IsAuthenticated(const XHdcp1x *InstancePtr); u64 XHdcp1x_GetEncryption(const XHdcp1x *InstancePtr); +int XHdcp1x_IsEncrypted(const XHdcp1x *InstancePtr); int XHdcp1x_EnableEncryption(XHdcp1x *InstancePtr, u64 StreamMap); int XHdcp1x_DisableEncryption(XHdcp1x *InstancePtr, u64 StreamMap); diff --git a/XilinxProcessorIPLib/drivers/hdcp1x/src/xhdcp1x_rx.c b/XilinxProcessorIPLib/drivers/hdcp1x/src/xhdcp1x_rx.c index 93e1e19c..e3aeb1f0 100644 --- a/XilinxProcessorIPLib/drivers/hdcp1x/src/xhdcp1x_rx.c +++ b/XilinxProcessorIPLib/drivers/hdcp1x/src/xhdcp1x_rx.c @@ -421,6 +421,8 @@ int XHdcp1x_RxInfo(const XHdcp1x *InstancePtr) XHdcp1x_RxStateToString(InstancePtr->Rx.CurrentState)); XHDCP1X_DEBUG_PRINTF("Previous State: %s\r\n", XHdcp1x_RxStateToString(InstancePtr->Rx.PreviousState)); + XHDCP1X_DEBUG_PRINTF("Encrypted?: %s\r\n", + XHdcp1x_IsEncrypted(InstancePtr) ? "Yes" : "No"); XHDCP1X_DEBUG_PRINTF("Flags: %04X\r\n", InstancePtr->Rx.Flags); Version = XHdcp1x_GetDriverVersion(); diff --git a/XilinxProcessorIPLib/drivers/hdcp1x/src/xhdcp1x_tx.c b/XilinxProcessorIPLib/drivers/hdcp1x/src/xhdcp1x_tx.c index ba2b4898..cd607ea1 100644 --- a/XilinxProcessorIPLib/drivers/hdcp1x/src/xhdcp1x_tx.c +++ b/XilinxProcessorIPLib/drivers/hdcp1x/src/xhdcp1x_tx.c @@ -590,6 +590,8 @@ int XHdcp1x_TxInfo(const XHdcp1x *InstancePtr) XHdcp1x_TxStateToString(InstancePtr->Tx.CurrentState)); XHDCP1X_DEBUG_PRINTF("Previous State: %s\r\n", XHdcp1x_TxStateToString(InstancePtr->Tx.PreviousState)); + XHDCP1X_DEBUG_PRINTF("Encrypted?: %s\r\n", + XHdcp1x_IsEncrypted(InstancePtr) ? "Yes" : "No"); XHDCP1X_DEBUG_PRINTF("State Helper: %016llX\r\n", InstancePtr->Tx.StateHelper); XHDCP1X_DEBUG_PRINTF("Flags: %04X\r\n",