Nico Huber has uploaded this change for review. ( https://review.coreboot.org/c/libgfxinit/+/32731
Change subject: dp training: Always end with normal output ......................................................................
dp training: Always end with normal output
The DP spec mandates that we return to normal output when we abandon a failed training, before we disable the output. However, the sequence suggested by Intel always disables the output, even if we try another time or another frequency. So we also always return to normal frame delivery.
Change-Id: Ie1f19f2e1d1af62b402ad1dc41373d3d4437e976 Signed-off-by: Nico Huber nico.huber@secunet.com --- M common/hw-gfx-dp_training.adb 1 file changed, 8 insertions(+), 14 deletions(-)
git pull ssh://review.coreboot.org:29418/libgfxinit refs/changes/31/32731/1
diff --git a/common/hw-gfx-dp_training.adb b/common/hw-gfx-dp_training.adb index a2d00a7..079d49c 100644 --- a/common/hw-gfx-dp_training.adb +++ b/common/hw-gfx-dp_training.adb @@ -1,5 +1,5 @@ -- --- Copyright (C) 2015-2016 secunet Security Networks AG +-- Copyright (C) 2015-2016, 2019 secunet Security Networks AG -- Copyright (C) 2017 Nico Huber nico.h@gmx.de -- -- This program is free software; you can redistribute it and/or modify @@ -382,20 +382,14 @@ end loop; end if;
- if Success then - if EQ_Done then - -- Set_Pattern (TP_None) includes sending the Idle Pattern, - -- so tell sink first. - Sink_Set_Training_Pattern - (DP, Link, DP_Info.TP_None, Success); - else - Success := False; - end if; - end if; + -- Set_Pattern (TP_None) includes sending the Idle Pattern, + -- so tell sink first. + Sink_Set_Training_Pattern + (DP, Link, DP_Info.TP_None, Success); + Set_Pattern (Port, Link, DP_Info.TP_None);
- if Success then - Set_Pattern (Port, Link, DP_Info.TP_None); - else + Success := Success and then EQ_Done; + if not Success then Off (Port); end if; end Train_DP;