Commit ad787771 authored by Zhan Liu's avatar Zhan Liu Committed by Alex Deucher
Browse files

drm/amd/display: keep eDP Vdd on when eDP stream is already enabled



[Why]
Even if can_apply_edp_fast_boot is set to 1 at boot, this flag will
be cleared to 0 at S3 resume.

[How]
Keep eDP Vdd on when eDP stream is already enabled.

Reviewed-by: default avatarCharlene Liu <Charlene.Liu@amd.com>
Acked-by: default avatarJasdeep Dhillon <jdhillon@amd.com>
Signed-off-by: default avatarZhan Liu <Zhan.Liu@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 60fdf98a
Loading
Loading
Loading
Loading
+22 −2
Original line number Diff line number Diff line
@@ -1834,9 +1834,29 @@ void dce110_enable_accelerated_mode(struct dc *dc, struct dc_state *context)
				break;
			}
		}
		// We are trying to enable eDP, don't power down VDD
		if (can_apply_edp_fast_boot)

		/*
		 * 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) {
			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