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

Limonciello, Mario Mario.Limonciello at amd.com
Thu Jun 16 15:48:38 UTC 2022


[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