diff options
author | Jani Nikula <jani.nikula@intel.com> | 2013-08-30 12:40:32 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-09-04 11:34:57 -0400 |
commit | 8807e55b3a1bf7b159dcefa4504e204df364d4a1 (patch) | |
tree | ab1b17ea7f47536acdb942c8b91b360199a9ce72 | |
parent | ecbc5cf34068d22cf57bac596809a346576c38a3 (diff) |
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: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index e16b997bfd0b..24c3937999de 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -3427,8 +3427,10 @@ static void haswell_crtc_enable(struct drm_crtc *crtc) | |||
3427 | intel_update_fbc(dev); | 3427 | intel_update_fbc(dev); |
3428 | mutex_unlock(&dev->struct_mutex); | 3428 | mutex_unlock(&dev->struct_mutex); |
3429 | 3429 | ||
3430 | for_each_encoder_on_crtc(dev, crtc, encoder) | 3430 | for_each_encoder_on_crtc(dev, crtc, encoder) { |
3431 | encoder->enable(encoder); | 3431 | encoder->enable(encoder); |
3432 | intel_opregion_notify_encoder(encoder, true); | ||
3433 | } | ||
3432 | 3434 | ||
3433 | /* | 3435 | /* |
3434 | * There seems to be a race in PCH platform hw (at least on some | 3436 | * 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) | |||
3542 | if (!intel_crtc->active) | 3544 | if (!intel_crtc->active) |
3543 | return; | 3545 | return; |
3544 | 3546 | ||
3545 | for_each_encoder_on_crtc(dev, crtc, encoder) | 3547 | for_each_encoder_on_crtc(dev, crtc, encoder) { |
3548 | intel_opregion_notify_encoder(encoder, false); | ||
3546 | encoder->disable(encoder); | 3549 | encoder->disable(encoder); |
3550 | } | ||
3547 | 3551 | ||
3548 | intel_crtc_wait_for_pending_flips(crtc); | 3552 | intel_crtc_wait_for_pending_flips(crtc); |
3549 | drm_vblank_off(dev, pipe); | 3553 | drm_vblank_off(dev, pipe); |