diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-07-03 07:19:00 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-09-06 02:00:00 -0400 |
commit | 84bb65bded92028a6c803fef332586fedbe092b2 (patch) | |
tree | 2da737d5fcb6b415f85aaf5bedc1a33e4f624017 /drivers/gpu/drm/i915/intel_display.c | |
parent | 0a91ca29215a41760cca03999498959d0e05d9b3 (diff) |
drm/i915: rip out intel_crtc->dpms_mode
Afaict this has been used for two things:
- To prevent the crtc enable code from being run twice. We have now
intel_crtc->active to track this in a more precise way.
- To ensure the code copes correctly with the unknown hw state after
boot and resume. Thanks to the hw state readout and sanitize code we
have now a better way to handle this.
The only thing it still does is complicate our modeset state space.
Having outlived its usefullness, let it just die.
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 17 |
1 files changed, 0 insertions, 17 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 15e4a652dee6..ad03db4b7a5b 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -3470,18 +3470,10 @@ void intel_crtc_update_dpms(struct drm_crtc *crtc) | |||
3470 | struct intel_encoder *intel_encoder; | 3470 | struct intel_encoder *intel_encoder; |
3471 | int pipe = intel_crtc->pipe; | 3471 | int pipe = intel_crtc->pipe; |
3472 | bool enabled, enable = false; | 3472 | bool enabled, enable = false; |
3473 | int mode; | ||
3474 | 3473 | ||
3475 | for_each_encoder_on_crtc(dev, crtc, intel_encoder) | 3474 | for_each_encoder_on_crtc(dev, crtc, intel_encoder) |
3476 | enable |= intel_encoder->connectors_active; | 3475 | enable |= intel_encoder->connectors_active; |
3477 | 3476 | ||
3478 | mode = enable ? DRM_MODE_DPMS_ON : DRM_MODE_DPMS_OFF; | ||
3479 | |||
3480 | if (intel_crtc->dpms_mode == mode) | ||
3481 | return; | ||
3482 | |||
3483 | intel_crtc->dpms_mode = mode; | ||
3484 | |||
3485 | if (enable) | 3477 | if (enable) |
3486 | dev_priv->display.crtc_enable(crtc); | 3478 | dev_priv->display.crtc_enable(crtc); |
3487 | else | 3479 | else |
@@ -5037,11 +5029,6 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
5037 | x, y, old_fb); | 5029 | x, y, old_fb); |
5038 | drm_vblank_post_modeset(dev, pipe); | 5030 | drm_vblank_post_modeset(dev, pipe); |
5039 | 5031 | ||
5040 | if (ret) | ||
5041 | intel_crtc->dpms_mode = DRM_MODE_DPMS_OFF; | ||
5042 | else | ||
5043 | intel_crtc->dpms_mode = DRM_MODE_DPMS_ON; | ||
5044 | |||
5045 | return ret; | 5032 | return ret; |
5046 | } | 5033 | } |
5047 | 5034 | ||
@@ -7621,10 +7608,6 @@ static void intel_sanitize_crtc(struct intel_crtc *crtc) | |||
7621 | struct drm_i915_private *dev_priv = dev->dev_private; | 7608 | struct drm_i915_private *dev_priv = dev->dev_private; |
7622 | u32 reg, val; | 7609 | u32 reg, val; |
7623 | 7610 | ||
7624 | /* Clear the dpms state for compatibility with code still using that | ||
7625 | * deprecated state variable. */ | ||
7626 | crtc->dpms_mode = -1; | ||
7627 | |||
7628 | /* Clear any frame start delays used for debugging left by the BIOS */ | 7611 | /* Clear any frame start delays used for debugging left by the BIOS */ |
7629 | reg = PIPECONF(crtc->pipe); | 7612 | reg = PIPECONF(crtc->pipe); |
7630 | I915_WRITE(reg, I915_READ(reg) & ~PIPECONF_FRAME_START_DELAY_MASK); | 7613 | I915_WRITE(reg, I915_READ(reg) & ~PIPECONF_FRAME_START_DELAY_MASK); |