XilinxProcessorIPLib/drivers/v_hdmirxss/src/xv_hdmirxss_hdcp.c
static int XV_HdmiRxSs_HdcpSetTopologyDepth(XV_HdmiRxSs *InstancePtr, u32 Depth)
{
  /* Verify argument. */
  Xil_AssertNonvoid(InstancePtr != NULL);

  int Status = XST_SUCCESS;

  switch (InstancePtr->HdcpProtocol)
  {
    // None
    case XV_HDMIRXSS_HDCP_NONE:
      Status = XST_FAILURE;
      break;

#ifdef XPAR_XHDCP_NUM_INSTANCES
    // HDCP 1.4
    case XV_HDMIRXSS_HDCP_14:
      if (InstancePtr->Hdcp14Ptr) {
        XHdcp1x_SetTopologyField(InstancePtr->Hdcp14Ptr,
          XHDCP1X_TOPOLOGY_DEPTH, Depth);
      } else {
        Status = XST_FAILURE;
      }
      break;
#endif

#ifdef XPAR_XHDCP22_RX_NUM_INSTANCES
    // HDCP 2.2
    case XV_HDMIRXSS_HDCP_22:
      if (InstancePtr->Hdcp22Ptr) {
        XHdcp22Rx_SetTopologyField(InstancePtr->Hdcp22Ptr,
          XHDCP22_RX_TOPOLOGY_DEPTH, Depth);
      } else {
        Status = XST_FAILURE;
      }
      break;
#endif

    default:
      Status = XST_FAILURE;
      break;
  }

  return Status;
}
/*****************************************************************************/
/**
*
* This function sets the HDCP repeater topology depth for the active
* protocol.
*
* @param InstancePtr is a pointer to the XV_HdmiRxSs instance.
* @param Depth is the Repeater cascade depth.
*
* @return XST_SUCCESS or XST_FAILURE.
*
* @note   None.
*
******************************************************************************/
This function sets the HDCP repeater topology depth for the active
protocol.
This function sets the HDCP repeater topology depth for the active protocol .
static int XV_HdmiRxSs_HdcpSetTopologyDepth(XV_HdmiRxSs *InstancePtr, u32 Depth)
{
  Xil_AssertNonvoid(InstancePtr != NULL);
  int Status = XST_SUCCESS;
  switch (InstancePtr->HdcpProtocol)
  {
    case XV_HDMIRXSS_HDCP_NONE:
      Status = XST_FAILURE;
      break;
#ifdef XPAR_XHDCP_NUM_INSTANCES
    case XV_HDMIRXSS_HDCP_14:
      if (InstancePtr->Hdcp14Ptr) {
        XHdcp1x_SetTopologyField(InstancePtr->Hdcp14Ptr,
          XHDCP1X_TOPOLOGY_DEPTH, Depth);
      } else {
        Status = XST_FAILURE;
      }
      break;
#endif
#ifdef XPAR_XHDCP22_RX_NUM_INSTANCES
    case XV_HDMIRXSS_HDCP_22:
      if (InstancePtr->Hdcp22Ptr) {
        XHdcp22Rx_SetTopologyField(InstancePtr->Hdcp22Ptr,
          XHDCP22_RX_TOPOLOGY_DEPTH, Depth);
      } else {
        Status = XST_FAILURE;
      }
      break;
#endif
    default:
      Status = XST_FAILURE;
      break;
  }
  return Status;
}
static int XV_HdmiRxSs_HdcpSetTopologyDepth ( XV_HdmiRxSs * InstancePtr , u32 Depth ) { Xil_AssertNonvoid ( InstancePtr != NULL ) ; int Status = XST_SUCCESS ; switch ( InstancePtr -> HdcpProtocol ) { case XV_HDMIRXSS_HDCP_NONE : Status = XST_FAILURE ; break ; #ifdef XPAR_XHDCP_NUM_INSTANCES case XV_HDMIRXSS_HDCP_14 : if ( InstancePtr -> Hdcp14Ptr ) { XHdcp1x_SetTopologyField ( InstancePtr -> Hdcp14Ptr , XHDCP1X_TOPOLOGY_DEPTH , Depth ) ; } else { Status = XST_FAILURE ; } break ; #endif #ifdef XPAR_XHDCP22_RX_NUM_INSTANCES case XV_HDMIRXSS_HDCP_22 : if ( InstancePtr -> Hdcp22Ptr ) { XHdcp22Rx_SetTopologyField ( InstancePtr -> Hdcp22Ptr , XHDCP22_RX_TOPOLOGY_DEPTH , Depth ) ; } else { Status = XST_FAILURE ; } break ; #endif default : Status = XST_FAILURE ; break ; } return Status ; }
This function sets the HDCP repeater topology depth for the active
protocol.
This function sets the HDCP repeater topology depth for the active protocol .
/* Verify argument. */ // None // HDCP 1.4 // HDCP 2.2