[PATCH] drm/amd: Revert "drm/amd/display: keep eDP Vdd on when eDP stream is already enabled"

Alex Deucher alexdeucher at gmail.com
Mon Jun 20 19:04:00 UTC 2022


Acked-by: Alex Deucher <alexander.deucher at amd.com>

On Thu, Jun 16, 2022 at 11:48 AM Limonciello, Mario
<Mario.Limonciello at amd.com> wrote:
>
> [Public]
>
> + people associated with original patch being reverted for comments
>
> > -----Original Message-----
> > From: Limonciello, Mario <Mario.Limonciello at amd.com>
> > Sent: Wednesday, June 15, 2022 17:30
> > To: amd-gfx at lists.freedesktop.org
> > Cc: Limonciello, Mario <Mario.Limonciello at amd.com>; Aaron Ma
> > <aaron.ma at canonical.com>
> > Subject: [PATCH] drm/amd: Revert "drm/amd/display: keep eDP Vdd on
> > when eDP stream is already enabled"
> >
> > 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 at canonical.com>
> > Fixes: 559e2655220d ("drm/amd/display: keep eDP Vdd on when eDP stream
> > is already enabled")
> > Signed-off-by: Mario Limonciello <mario.limonciello at amd.com>
> > ---
> >  .../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 7eff7811769d..5f2afa5b4814 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
> > @@ -1766,29 +1766,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.34.1


More information about the amd-gfx mailing list