From 57a0c64dd0051ae0666686f0615f43be2b62d33b Mon Sep 17 00:00:00 2001 From: Andrei-Liviu Simion Date: Mon, 26 Jan 2015 12:57:37 -0800 Subject: [PATCH] dp: tx: Don't write voltage swing and pre-emphasis values when writing TP0. For compliance, training pattern 0 should be written without using a burst write for voltage swing and pre-emphasis values. Signed-off-by: Andrei-Liviu Simion --- XilinxProcessorIPLib/drivers/dp/src/xdp.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/XilinxProcessorIPLib/drivers/dp/src/xdp.c b/XilinxProcessorIPLib/drivers/dp/src/xdp.c index 184209f9..15adf80f 100644 --- a/XilinxProcessorIPLib/drivers/dp/src/xdp.c +++ b/XilinxProcessorIPLib/drivers/dp/src/xdp.c @@ -2714,10 +2714,16 @@ static u32 XDp_TxSetTrainingPattern(XDp *InstancePtr, u32 Pattern) /* Make the adjustments to both the DisplayPort TX core and the RX * device. */ XDp_TxSetVswingPreemp(InstancePtr, &AuxData[1]); - /* Write the voltage swing and pre-emphasis levels for each lane to the - * RX device. */ - Status = XDp_TxAuxWrite(InstancePtr, XDP_DPCD_TP_SET, - 5, AuxData); + if (Pattern == XDP_TX_TRAINING_PATTERN_SET_OFF) { + Status = XDp_TxAuxWrite(InstancePtr, XDP_DPCD_TP_SET, 1, + AuxData); + } + else { + /* Write the voltage swing and pre-emphasis levels for each lane + * to the RX device. */ + Status = XDp_TxAuxWrite(InstancePtr, XDP_DPCD_TP_SET, 5, + AuxData); + } if (Status != XST_SUCCESS) { return XST_FAILURE; }