This reverts commit 3fd20292c2352660155bbc11736dd014b2fc6e98.

Fixes a display corruption issue on resume and undetected
modes on some monitors.

Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1424
Bug: https://bugzilla.kernel.org/show_bug.cgi?id=208947
Cc: Martin Tsai <[email protected]>
Cc: Aric Cyr <[email protected]>
Cc: Eryk Brol <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
---
 .../gpu/drm/amd/display/dc/core/dc_link_dp.c  | 49 -------------------
 .../amd/display/include/link_service_types.h  |  2 -
 2 files changed, 51 deletions(-)

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 c1391bfb7a9b..4aed57ce69e0 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
@@ -1165,44 +1165,6 @@ static inline enum link_training_result 
perform_link_training_int(
        return status;
 }
 
-static enum link_training_result check_link_loss_status(
-       struct dc_link *link,
-       const struct link_training_settings *link_training_setting)
-{
-       enum link_training_result status = LINK_TRAINING_SUCCESS;
-       union lane_status lane_status;
-       uint8_t dpcd_buf[6] = {0};
-       uint32_t lane;
-
-       core_link_read_dpcd(
-                       link,
-                       DP_SINK_COUNT,
-                       (uint8_t *)(dpcd_buf),
-                       sizeof(dpcd_buf));
-
-       /*parse lane status*/
-       for (lane = 0; lane < link->cur_link_settings.lane_count; lane++) {
-               /*
-                * check lanes status
-                */
-               lane_status.raw = get_nibble_at_index(&dpcd_buf[2], lane);
-
-               if (!lane_status.bits.CHANNEL_EQ_DONE_0 ||
-                       !lane_status.bits.CR_DONE_0 ||
-                       !lane_status.bits.SYMBOL_LOCKED_0) {
-                       /* if one of the channel equalization, clock
-                        * recovery or symbol lock is dropped
-                        * consider it as (link has been
-                        * dropped) dp sink status has changed
-                        */
-                       status = LINK_TRAINING_LINK_LOSS;
-                       break;
-               }
-       }
-
-       return status;
-}
-
 static void initialize_training_settings(
         struct dc_link *link,
        const struct dc_link_settings *link_setting,
@@ -1455,9 +1417,6 @@ static void print_status_message(
        case LINK_TRAINING_LQA_FAIL:
                lt_result = "LQA failed";
                break;
-       case LINK_TRAINING_LINK_LOSS:
-               lt_result = "Link loss";
-               break;
        default:
                break;
        }
@@ -1616,14 +1575,6 @@ enum link_training_result 
dc_link_dp_perform_link_training(
                                status);
        }
 
-       /* delay 5ms after Main Link output idle pattern and then check
-        * DPCD 0202h.
-        */
-       if (link->connector_signal != SIGNAL_TYPE_EDP && status == 
LINK_TRAINING_SUCCESS) {
-               msleep(5);
-               status = check_link_loss_status(link, &lt_settings);
-       }
-
        /* 6. print status message*/
        print_status_message(link, &lt_settings, status);
 
diff --git a/drivers/gpu/drm/amd/display/include/link_service_types.h 
b/drivers/gpu/drm/amd/display/include/link_service_types.h
index 7392a89e771f..50720bbbbaf6 100644
--- a/drivers/gpu/drm/amd/display/include/link_service_types.h
+++ b/drivers/gpu/drm/amd/display/include/link_service_types.h
@@ -66,8 +66,6 @@ enum link_training_result {
        /* other failure during EQ step */
        LINK_TRAINING_EQ_FAIL_EQ,
        LINK_TRAINING_LQA_FAIL,
-       /* one of the CR,EQ or symbol lock is dropped */
-       LINK_TRAINING_LINK_LOSS,
 };
 
 struct link_training_settings {
-- 
2.29.2

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to