lkml.org 
[lkml]   [2022]   [Jun]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.18 093/181] drm/amd: Revert "drm/amd/display: keep eDP Vdd on when eDP stream is already enabled"
    Date
    From: Mario Limonciello <mario.limonciello@amd.com>

    [ Upstream commit 937e24b7f5595566a64e0f856ebab9147f2e4d1b ]

    A variety of Lenovo machines with Rembrandt APUs and OLED panels have
    stopped showing the display at login. This behavior clears up after
    leaving it idle and moving the mouse or touching keyboard.

    It was bisected to be caused by commit 559e2655220d ("drm/amd/display:
    keep eDP Vdd on when eDP stream is already enabled"). Revert this commit
    to fix the issue.

    Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2047
    Reported-by: Aaron Ma <aaron.ma@canonical.com>
    Fixes: 559e2655220d ("drm/amd/display: keep eDP Vdd on when eDP stream is already enabled")
    Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
    Tested-by: Mark Pearson <markpearson@lenovo.com>
    Acked-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    .../display/dc/dce110/dce110_hw_sequencer.c | 24 ++-----------------
    1 file changed, 2 insertions(+), 22 deletions(-)

    diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
    index 248602c15f3a..6007b847b54f 100644
    --- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
    +++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
    @@ -1771,29 +1771,9 @@ void dce110_enable_accelerated_mode(struct dc *dc, struct dc_state *context)
    break;
    }
    }
    -
    - /*
    - * TO-DO: So far the code logic below only addresses single eDP case.
    - * For dual eDP case, there are a few things that need to be
    - * implemented first:
    - *
    - * 1. Change the fastboot logic above, so eDP link[0 or 1]'s
    - * stream[0 or 1] will all be checked.
    - *
    - * 2. Change keep_edp_vdd_on to an array, and maintain keep_edp_vdd_on
    - * for each eDP.
    - *
    - * Once above 2 things are completed, we can then change the logic below
    - * correspondingly, so dual eDP case will be fully covered.
    - */
    -
    - // We are trying to enable eDP, don't power down VDD if eDP stream is existing
    - if ((edp_stream_num == 1 && edp_streams[0] != NULL) || can_apply_edp_fast_boot) {
    + // We are trying to enable eDP, don't power down VDD
    + if (can_apply_edp_fast_boot)
    keep_edp_vdd_on = true;
    - DC_LOG_EVENT_LINK_TRAINING("Keep eDP Vdd on\n");
    - } else {
    - DC_LOG_EVENT_LINK_TRAINING("No eDP stream enabled, turn eDP Vdd off\n");
    - }
    }

    // Check seamless boot support
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-06-27 13:59    [W:4.049 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site