Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 245e2708 authored by Keith Packard's avatar Keith Packard
Browse files

drm/i915: Ensure panel is on during DPMS off



If the panel is already off, we'll need to turn VDD on to execute the
(useless) DPMS off code. Yes, it would be better to just not do any of
this, but correctness, and *then* performance.

Signed-off-by: default avatarKeith Packard <keithp@keithp.com>
parent bee7eb2d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1073,6 +1073,7 @@ intel_dp_dpms(struct drm_encoder *encoder, int mode)
	uint32_t dp_reg = I915_READ(intel_dp->output_reg);

	if (mode != DRM_MODE_DPMS_ON) {
		ironlake_edp_panel_vdd_on(intel_dp);
		if (is_edp(intel_dp))
			ironlake_edp_backlight_off(dev);
		intel_dp_sink_dpms(intel_dp, mode);
@@ -1080,6 +1081,7 @@ intel_dp_dpms(struct drm_encoder *encoder, int mode)
		ironlake_edp_panel_off(dev);
		if (is_edp(intel_dp) && !is_pch_edp(intel_dp))
			ironlake_edp_pll_off(encoder);
		ironlake_edp_panel_vdd_off(intel_dp);
	} else {
		ironlake_edp_panel_vdd_on(intel_dp);
		intel_dp_sink_dpms(intel_dp, mode);