XilinxProcessorIPLib/drivers/dp12txss/src/xdptxss_intr.c
void XDpTxSs_HpdPulseProcess(void *InstancePtr)
{
	u32 Status = XST_SUCCESS;
	XDpTxSs *XDpTxSsPtr = (XDpTxSs *)InstancePtr;

	/* Verify arguments. */
	Xil_AssertVoid(XDpTxSsPtr != NULL);
	Xil_AssertVoid(XDpTxSsPtr->IsReady == XIL_COMPONENT_IS_READY);
	XDpTxSs_UsrHpdPulseData *UsrHpdPulseData = &XDpTxSsPtr->UsrHpdPulseData;

	//reading the first block of EDID
	Status |= XDp_TxAuxRead(XDpTxSsPtr->DpPtr,
			 XDP_DPCD_SINK_COUNT, 6, UsrHpdPulseData->AuxValues);
	Status |= XDp_TxAuxRead(XDpTxSsPtr->DpPtr,
			 XDP_DPCD_STATUS_LANE_0_1, 1,
			 &UsrHpdPulseData->Lane0Sts);
	Status |= XDp_TxAuxRead(XDpTxSsPtr->DpPtr,
			 XDP_DPCD_STATUS_LANE_2_3, 1,
			 &UsrHpdPulseData->Lane2Sts);
	Status |= XDp_TxAuxRead(XDpTxSsPtr->DpPtr,
			 XDP_DPCD_LANE_ALIGN_STATUS_UPDATED, 1,
			 &UsrHpdPulseData->LaneAlignStatus);
	Status |= XDp_TxAuxRead(XDpTxSsPtr->DpPtr,
			 XDP_DPCD_LANE_COUNT_SET, 1,
			 &UsrHpdPulseData->LaneSet);
	Status |= XDp_TxAuxRead(XDpTxSsPtr->DpPtr,
			 XDP_DPCD_LINK_BW_SET, 1, &UsrHpdPulseData->BwSet);
	Status |= XDp_TxAuxRead(XDpTxSsPtr->DpPtr,
			XDP_DPCD_LINK_BW_SET, 1, &UsrHpdPulseData->BwSet);
	Status |= XDp_TxAuxRead(XDpTxSsPtr->DpPtr,
			XDP_DPCD_LANE_COUNT_SET, 1, &UsrHpdPulseData->LaneSet);
	Status |= XDp_TxGetEdidBlock(XDpTxSsPtr->DpPtr, UsrHpdPulseData->Edid,
		  0);
	if(Status != XST_SUCCESS){
		xdbg_printf(XDBG_DEBUG_GENERAL, "AUX access had trouble!\r\n");
	}
}
/*****************************************************************************/
/**
*
* This function is process some DP driver read as per DP spec on HPD Pulse.
*
* @param	InstancePtr is a pointer to the XDpTxSs core instance that
*		just interrupted.
*
* @return	None.
*
* @note		None.
*
******************************************************************************/
This function is process some DP driver read as per DP spec on HPD Pulse.
This function is process some DP driver read as per DP spec on HPD Pulse .
void XDpTxSs_HpdPulseProcess(void *InstancePtr)
{
	u32 Status = XST_SUCCESS;
	XDpTxSs *XDpTxSsPtr = (XDpTxSs *)InstancePtr;
	Xil_AssertVoid(XDpTxSsPtr != NULL);
	Xil_AssertVoid(XDpTxSsPtr->IsReady == XIL_COMPONENT_IS_READY);
	XDpTxSs_UsrHpdPulseData *UsrHpdPulseData = &XDpTxSsPtr->UsrHpdPulseData;
	Status |= XDp_TxAuxRead(XDpTxSsPtr->DpPtr,
			 XDP_DPCD_SINK_COUNT, 6, UsrHpdPulseData->AuxValues);
	Status |= XDp_TxAuxRead(XDpTxSsPtr->DpPtr,
			 XDP_DPCD_STATUS_LANE_0_1, 1,
			 &UsrHpdPulseData->Lane0Sts);
	Status |= XDp_TxAuxRead(XDpTxSsPtr->DpPtr,
			 XDP_DPCD_STATUS_LANE_2_3, 1,
			 &UsrHpdPulseData->Lane2Sts);
	Status |= XDp_TxAuxRead(XDpTxSsPtr->DpPtr,
			 XDP_DPCD_LANE_ALIGN_STATUS_UPDATED, 1,
			 &UsrHpdPulseData->LaneAlignStatus);
	Status |= XDp_TxAuxRead(XDpTxSsPtr->DpPtr,
			 XDP_DPCD_LANE_COUNT_SET, 1,
			 &UsrHpdPulseData->LaneSet);
	Status |= XDp_TxAuxRead(XDpTxSsPtr->DpPtr,
			 XDP_DPCD_LINK_BW_SET, 1, &UsrHpdPulseData->BwSet);
	Status |= XDp_TxAuxRead(XDpTxSsPtr->DpPtr,
			XDP_DPCD_LINK_BW_SET, 1, &UsrHpdPulseData->BwSet);
	Status |= XDp_TxAuxRead(XDpTxSsPtr->DpPtr,
			XDP_DPCD_LANE_COUNT_SET, 1, &UsrHpdPulseData->LaneSet);
	Status |= XDp_TxGetEdidBlock(XDpTxSsPtr->DpPtr, UsrHpdPulseData->Edid,
		  0);
	if(Status != XST_SUCCESS){
		xdbg_printf(XDBG_DEBUG_GENERAL, "AUX access had trouble!\r\n");
	}
}
void XDpTxSs_HpdPulseProcess ( void * InstancePtr ) { u32 Status = XST_SUCCESS ; XDpTxSs * XDpTxSsPtr = ( XDpTxSs * ) InstancePtr ; Xil_AssertVoid ( XDpTxSsPtr != NULL ) ; Xil_AssertVoid ( XDpTxSsPtr -> IsReady == XIL_COMPONENT_IS_READY ) ; XDpTxSs_UsrHpdPulseData * UsrHpdPulseData = & XDpTxSsPtr -> UsrHpdPulseData ; Status |= XDp_TxAuxRead ( XDpTxSsPtr -> DpPtr , XDP_DPCD_SINK_COUNT , 6 , UsrHpdPulseData -> AuxValues ) ; Status |= XDp_TxAuxRead ( XDpTxSsPtr -> DpPtr , XDP_DPCD_STATUS_LANE_0_1 , 1 , & UsrHpdPulseData -> Lane0Sts ) ; Status |= XDp_TxAuxRead ( XDpTxSsPtr -> DpPtr , XDP_DPCD_STATUS_LANE_2_3 , 1 , & UsrHpdPulseData -> Lane2Sts ) ; Status |= XDp_TxAuxRead ( XDpTxSsPtr -> DpPtr , XDP_DPCD_LANE_ALIGN_STATUS_UPDATED , 1 , & UsrHpdPulseData -> LaneAlignStatus ) ; Status |= XDp_TxAuxRead ( XDpTxSsPtr -> DpPtr , XDP_DPCD_LANE_COUNT_SET , 1 , & UsrHpdPulseData -> LaneSet ) ; Status |= XDp_TxAuxRead ( XDpTxSsPtr -> DpPtr , XDP_DPCD_LINK_BW_SET , 1 , & UsrHpdPulseData -> BwSet ) ; Status |= XDp_TxAuxRead ( XDpTxSsPtr -> DpPtr , XDP_DPCD_LINK_BW_SET , 1 , & UsrHpdPulseData -> BwSet ) ; Status |= XDp_TxAuxRead ( XDpTxSsPtr -> DpPtr , XDP_DPCD_LANE_COUNT_SET , 1 , & UsrHpdPulseData -> LaneSet ) ; Status |= XDp_TxGetEdidBlock ( XDpTxSsPtr -> DpPtr , UsrHpdPulseData -> Edid , 0 ) ; if ( Status != XST_SUCCESS ) { xdbg_printf ( XDBG_DEBUG_GENERAL , " \r \n " ) ; } }
This function is process some DP driver read as per DP spec on HPD Pulse.
This function is process some DP driver read as per DP spec on HPD Pulse .
/* Verify arguments. */ //reading the first block of EDID