From 0572fea2ca55a7220690946100cec731d3f756dd Mon Sep 17 00:00:00 2001 From: Andrei-Liviu Simion Date: Mon, 22 Sep 2014 21:01:49 -0700 Subject: [PATCH] dptx: MST: Minor tweaks to sideband messaging. Signed-off-by: Andrei-Liviu Simion --- XilinxProcessorIPLib/drivers/dptx/src/xdptx_mst.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/XilinxProcessorIPLib/drivers/dptx/src/xdptx_mst.c b/XilinxProcessorIPLib/drivers/dptx/src/xdptx_mst.c index 0f2002af..69ef1f60 100644 --- a/XilinxProcessorIPLib/drivers/dptx/src/xdptx_mst.c +++ b/XilinxProcessorIPLib/drivers/dptx/src/xdptx_mst.c @@ -39,7 +39,8 @@ * * Ver Who Date Changes * ----- ---- -------- ----------------------------------------------- - * 1.00a als 08/03/14 Initial release. + * 1.0 als 08/03/14 Initial release. + * 2.0 als 09/21/14 Improvements to topology discovery and sideband messages. * * *******************************************************************************/ @@ -570,8 +571,7 @@ void XDptx_SetStreamSinkRad(XDptx *InstancePtr, u8 Stream, u8 LinkCountTotal, *******************************************************************************/ u32 XDptx_DiscoverTopology(XDptx *InstancePtr) { - XDptx_SbMsgLinkAddressReplyDeviceInfo DeviceInfo; - u8 RelativeAddress[16]; + u8 RelativeAddress[15]; return XDptx_FindAccessibleDpDevices(InstancePtr, 1, RelativeAddress); } @@ -923,11 +923,13 @@ u32 XDptx_ClearPayloadVcIdTable(XDptx *InstancePtr) Xil_AssertNonvoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY); /* Clear the payload table in the transmitter. */ - for (Index = 0; Index < 63; Index++) { + for (Index = 0; Index < 64; Index++) { XDptx_WriteReg(InstancePtr->Config.BaseAddr, (XDPTX_VC_PAYLOAD_BUFFER_ADDR + (4 * Index)), 0); } + XDptx_WaitUs(InstancePtr, 1000); + /* Clear the payload table in the immediate downstream branch device. */ /* Clear the VCP table update bit. */ @@ -1566,7 +1568,7 @@ u32 XDptx_SendSbMsgClearPayloadIdTable(XDptx *InstancePtr) /* Prepare the sideband message header. */ Msg.Header.LinkCountTotal = 1; - Msg.Header.LinkCountRemaining = 6; + Msg.Header.LinkCountRemaining = 0; Msg.Header.BroadcastMsg = 1; Msg.Header.PathMsg = 1; Msg.Header.MsgBodyLength = 2; @@ -2008,6 +2010,8 @@ static u32 XDptx_SendActTrigger(XDptx *InstancePtr) u8 AuxData; u8 TimeoutCount = 0; + XDptx_WaitUs(InstancePtr, 10000); + XDptx_WriteReg(InstancePtr->Config.BaseAddr, XDPTX_TX_MST_CONFIG, 0x3); do {