diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-07-02 05:18:29 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-09-06 01:57:40 -0400 |
commit | dbf2b54e78c6976af1f92cd370055a777ae99208 (patch) | |
tree | aec5626fb1f169f4b4dc649ad7b3a3233f77ed1f /drivers/gpu/drm/i915/intel_display.c | |
parent | c9deac9776b0a95b876bd845ea359d5975c3ba80 (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.c | 15 |
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 | ||
6580 | static struct drm_crtc_helper_funcs intel_helper_funcs = { | 6580 | static 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 | ||