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

Commit 8807e55b authored by Jani Nikula's avatar Jani Nikula Committed by Daniel Vetter
Browse files

drm/i915: do display power state notification on crtc enable/disable



The spec says to notify prior to power down and after power up. It is
unclear whether it makes a difference.

Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Reviewed-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent ecbc5cf3
Loading
Loading
Loading
Loading
+6 −2
Original line number Original line Diff line number Diff line
@@ -3427,8 +3427,10 @@ static void haswell_crtc_enable(struct drm_crtc *crtc)
	intel_update_fbc(dev);
	intel_update_fbc(dev);
	mutex_unlock(&dev->struct_mutex);
	mutex_unlock(&dev->struct_mutex);


	for_each_encoder_on_crtc(dev, crtc, encoder)
	for_each_encoder_on_crtc(dev, crtc, encoder) {
		encoder->enable(encoder);
		encoder->enable(encoder);
		intel_opregion_notify_encoder(encoder, true);
	}


	/*
	/*
	 * There seems to be a race in PCH platform hw (at least on some
	 * There seems to be a race in PCH platform hw (at least on some
@@ -3542,8 +3544,10 @@ static void haswell_crtc_disable(struct drm_crtc *crtc)
	if (!intel_crtc->active)
	if (!intel_crtc->active)
		return;
		return;


	for_each_encoder_on_crtc(dev, crtc, encoder)
	for_each_encoder_on_crtc(dev, crtc, encoder) {
		intel_opregion_notify_encoder(encoder, false);
		encoder->disable(encoder);
		encoder->disable(encoder);
	}


	intel_crtc_wait_for_pending_flips(crtc);
	intel_crtc_wait_for_pending_flips(crtc);
	drm_vblank_off(dev, pipe);
	drm_vblank_off(dev, pipe);