Patch "drm/amd/display: Link training retry fix for abort case" has been added to the 5.14-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    drm/amd/display: Link training retry fix for abort case

to the 5.14-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     drm-amd-display-link-training-retry-fix-for-abort-ca.patch
and it can be found in the queue-5.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 6ab81c0ca7d6d1363fe5c48aa95720c166114eee
Author: Meenakshikumar Somasundaram <meenakshikumar.somasundaram@xxxxxxx>
Date:   Mon Aug 30 14:01:10 2021 -0400

    drm/amd/display: Link training retry fix for abort case
    
    [ Upstream commit 71ae30997a8f1791835167d3ceb8d1fab32407db ]
    
    [Why]
    If link training is aborted, it shall be retried if sink is present.
    
    [How]
    Check hpd status to find out whether sink is present or not. If sink is
    present, then link training shall be tried again with same settings.
    Otherwise, link training shall be aborted.
    
    Reviewed-by: Jimmy Kizito <Jimmy.Kizito@xxxxxxx>
    Acked-by: Mikita Lipski <mikita.lipski@xxxxxxx>
    Signed-off-by: Meenakshikumar Somasundaram <meenakshikumar.somasundaram@xxxxxxx>
    Tested-by: Daniel Wheeler <daniel.wheeler@xxxxxxx>
    Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
index a6d0fd24fd02..83ef72a3ebf4 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
@@ -1849,9 +1849,13 @@ bool perform_link_training_with_retries(
 		dp_disable_link_phy(link, signal);
 
 		/* Abort link training if failure due to sink being unplugged. */
-		if (status == LINK_TRAINING_ABORT)
-			break;
-		else if (do_fallback) {
+		if (status == LINK_TRAINING_ABORT) {
+			enum dc_connection_type type = dc_connection_none;
+
+			dc_link_detect_sink(link, &type);
+			if (type == dc_connection_none)
+				break;
+		} else if (do_fallback) {
 			decide_fallback_link_setting(*link_setting, &current_setting, status);
 			/* Fail link training if reduced link bandwidth no longer meets
 			 * stream requirements.



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux