aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2012-07-02 05:18:29 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-09-06 01:57:40 -0400
commitdbf2b54e78c6976af1f92cd370055a777ae99208 (patch)
treeaec5626fb1f169f4b4dc649ad7b3a3233f77ed1f /drivers/gpu/drm/i915/intel_display.c
parentc9deac9776b0a95b876bd845ea359d5975c3ba80 (diff)
drm/i915: call crtc functions directly
Instead of going through the crtc helper function tables. 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.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index d37a851d0b2d..ca1701081c56 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -6578,8 +6578,6 @@ static void intel_crtc_reset(struct drm_crtc *crtc)
6578} 6578}
6579 6579
6580static struct drm_crtc_helper_funcs intel_helper_funcs = { 6580static struct drm_crtc_helper_funcs intel_helper_funcs = {
6581 .mode_fixup = intel_crtc_mode_fixup,
6582 .mode_set = intel_crtc_mode_set,
6583 .mode_set_base_atomic = intel_pipe_set_base_atomic, 6581 .mode_set_base_atomic = intel_pipe_set_base_atomic,
6584 .load_lut = intel_crtc_load_lut, 6582 .load_lut = intel_crtc_load_lut,
6585 .disable = intel_crtc_disable, 6583 .disable = intel_crtc_disable,
@@ -6648,8 +6646,8 @@ bool intel_set_mode(struct drm_crtc *crtc,
6648 int x, int y, struct drm_framebuffer *old_fb) 6646 int x, int y, struct drm_framebuffer *old_fb)
6649{ 6647{
6650 struct drm_device *dev = crtc->dev; 6648 struct drm_device *dev = crtc->dev;
6649 drm_i915_private_t *dev_priv = dev->dev_private;
6651 struct drm_display_mode *adjusted_mode, saved_mode, saved_hwmode; 6650 struct drm_display_mode *adjusted_mode, saved_mode, saved_hwmode;
6652 struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private;
6653 struct drm_encoder_helper_funcs *encoder_funcs; 6651 struct drm_encoder_helper_funcs *encoder_funcs;
6654 int saved_x, saved_y; 6652 int saved_x, saved_y;
6655 struct drm_encoder *encoder; 6653 struct drm_encoder *encoder;
@@ -6691,7 +6689,7 @@ bool intel_set_mode(struct drm_crtc *crtc,
6691 } 6689 }
6692 } 6690 }
6693 6691
6694 if (!(ret = crtc_funcs->mode_fixup(crtc, mode, adjusted_mode))) { 6692 if (!(ret = intel_crtc_mode_fixup(crtc, mode, adjusted_mode))) {
6695 DRM_DEBUG_KMS("CRTC fixup failed\n"); 6693 DRM_DEBUG_KMS("CRTC fixup failed\n");
6696 goto done; 6694 goto done;
6697 } 6695 }
@@ -6699,12 +6697,12 @@ bool intel_set_mode(struct drm_crtc *crtc,
6699 6697
6700 intel_crtc_prepare_encoders(dev); 6698 intel_crtc_prepare_encoders(dev);
6701 6699
6702 crtc_funcs->prepare(crtc); 6700 dev_priv->display.crtc_disable(crtc);
6703 6701
6704 /* Set up the DPLL and any encoders state that needs to adjust or depend 6702 /* Set up the DPLL and any encoders state that needs to adjust or depend
6705 * on the DPLL. 6703 * on the DPLL.
6706 */ 6704 */
6707 ret = !crtc_funcs->mode_set(crtc, mode, adjusted_mode, x, y, old_fb); 6705 ret = !intel_crtc_mode_set(crtc, mode, adjusted_mode, x, y, old_fb);
6708 if (!ret) 6706 if (!ret)
6709 goto done; 6707 goto done;
6710 6708
@@ -6721,7 +6719,7 @@ bool intel_set_mode(struct drm_crtc *crtc,
6721 } 6719 }
6722 6720
6723 /* Now enable the clocks, plane, pipe, and connectors that we set up. */ 6721 /* Now enable the clocks, plane, pipe, and connectors that we set up. */
6724 crtc_funcs->commit(crtc); 6722 dev_priv->display.crtc_enable(crtc);
6725 6723
6726 /* Store real post-adjustment hardware mode. */ 6724 /* Store real post-adjustment hardware mode. */
6727 crtc->hwmode = *adjusted_mode; 6725 crtc->hwmode = *adjusted_mode;
@@ -7055,9 +7053,6 @@ static void intel_crtc_init(struct drm_device *dev, int pipe)
7055 intel_crtc->active = true; /* force the pipe off on setup_init_config */ 7053 intel_crtc->active = true; /* force the pipe off on setup_init_config */
7056 intel_crtc->bpp = 24; /* default for pre-Ironlake */ 7054 intel_crtc->bpp = 24; /* default for pre-Ironlake */
7057 7055
7058 intel_helper_funcs.prepare = dev_priv->display.crtc_disable;
7059 intel_helper_funcs.commit = dev_priv->display.crtc_enable;
7060
7061 drm_crtc_helper_add(&intel_crtc->base, &intel_helper_funcs); 7056 drm_crtc_helper_add(&intel_crtc->base, &intel_helper_funcs);
7062} 7057}
7063 7058