From 87692a423ddde34e78444c78d4df852fc3d0a3ab Mon Sep 17 00:00:00 2001 From: Andrei-Liviu Simion Date: Sat, 8 Nov 2014 12:00:03 -0800 Subject: [PATCH] dptx: Improved sink reordering. The sink reordering would fail on retrieval of tiling information from a sink that does not have a Tiled Display Topology (TDT) data block. This behavior is incorrect since subsequent sinks may be a part of a tiled display. Modified the function to be void. Signed-off-by: Andrei-Liviu Simion --- XilinxProcessorIPLib/drivers/dptx/src/xdptx.h | 2 +- XilinxProcessorIPLib/drivers/dptx/src/xdptx_mst.c | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/XilinxProcessorIPLib/drivers/dptx/src/xdptx.h b/XilinxProcessorIPLib/drivers/dptx/src/xdptx.h index 863d0c39..6f3c1477 100644 --- a/XilinxProcessorIPLib/drivers/dptx/src/xdptx.h +++ b/XilinxProcessorIPLib/drivers/dptx/src/xdptx.h @@ -832,7 +832,7 @@ u32 XDptx_DiscoverTopology(XDptx *InstancePtr); u32 XDptx_FindAccessibleDpDevices(XDptx *InstancePtr, u8 LinkCountTotal, u8 *RelativeAddress); void XDptx_TopologySwapSinks(XDptx *InstancePtr, u8 Index0, u8 Index1); -u32 XDptx_TopologySortSinksByTiling(XDptx *InstancePtr); +void XDptx_TopologySortSinksByTiling(XDptx *InstancePtr); /* xdptx_mst.c: Multi-stream transport (MST) functions for communicating * with downstream DisplayPort devices. */ diff --git a/XilinxProcessorIPLib/drivers/dptx/src/xdptx_mst.c b/XilinxProcessorIPLib/drivers/dptx/src/xdptx_mst.c index 92d7034d..a482711c 100644 --- a/XilinxProcessorIPLib/drivers/dptx/src/xdptx_mst.c +++ b/XilinxProcessorIPLib/drivers/dptx/src/xdptx_mst.c @@ -756,7 +756,7 @@ void XDptx_TopologySwapSinks(XDptx *InstancePtr, u8 Index0, u8 Index1) * @note None. * *******************************************************************************/ -u32 XDptx_TopologySortSinksByTiling(XDptx *InstancePtr) +void XDptx_TopologySortSinksByTiling(XDptx *InstancePtr) { u32 Status; XDptx_TopologyNode *CurrSink, *CmpSink; @@ -775,7 +775,7 @@ u32 XDptx_TopologySortSinksByTiling(XDptx *InstancePtr) CurrSink->RelativeAddress, &CurrTdt); if (Status != XST_SUCCESS) { /* No Tiled Display Topology (TDT) data block exists. */ - return XST_FAILURE; + continue; } /* Start by using the tiling parameters of the current sink @@ -801,7 +801,7 @@ u32 XDptx_TopologySortSinksByTiling(XDptx *InstancePtr) CmpSink->RelativeAddress, &CmpTdt); if (Status != XST_SUCCESS) { /* No TDT data block. */ - return XST_FAILURE; + continue; } if (!XDptx_IsSameTileDisplay(CurrTdt, CmpTdt)) { @@ -829,8 +829,6 @@ u32 XDptx_TopologySortSinksByTiling(XDptx *InstancePtr) NewIndex); } } - - return XST_SUCCESS; } /******************************************************************************/