[Intel-gfx] [PATCH 32/43] drm/i915: call crtc functions directly
Daniel Vetter
daniel.vetter at ffwll.ch
Tue Jul 3 11:28:24 CEST 2012
Instead of going through the crtc helper function tables.
Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
---
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 4d31b30..0c4eca5 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -6540,8 +6540,6 @@ static void intel_crtc_reset(struct drm_crtc *crtc)
}
static struct drm_crtc_helper_funcs intel_helper_funcs = {
- .mode_fixup = intel_crtc_mode_fixup,
- .mode_set = intel_crtc_mode_set,
.mode_set_base_atomic = intel_pipe_set_base_atomic,
.load_lut = intel_crtc_load_lut,
.disable = intel_crtc_disable,
@@ -6611,8 +6609,8 @@ bool intel_crtc_set_mode(struct drm_crtc *crtc,
struct drm_framebuffer *old_fb)
{
struct drm_device *dev = crtc->dev;
+ drm_i915_private_t *dev_priv = dev->dev_private;
struct drm_display_mode *adjusted_mode, saved_mode, saved_hwmode;
- struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private;
struct drm_encoder_helper_funcs *encoder_funcs;
int saved_x, saved_y;
struct drm_encoder *encoder;
@@ -6654,7 +6652,7 @@ bool intel_crtc_set_mode(struct drm_crtc *crtc,
}
}
- if (!(ret = crtc_funcs->mode_fixup(crtc, mode, adjusted_mode))) {
+ if (!(ret = intel_crtc_mode_fixup(crtc, mode, adjusted_mode))) {
DRM_DEBUG_KMS("CRTC fixup failed\n");
goto done;
}
@@ -6662,12 +6660,12 @@ bool intel_crtc_set_mode(struct drm_crtc *crtc,
intel_crtc_prepare_encoders(dev);
- crtc_funcs->prepare(crtc);
+ dev_priv->display.crtc_disable(crtc);
/* Set up the DPLL and any encoders state that needs to adjust or depend
* on the DPLL.
*/
- ret = !crtc_funcs->mode_set(crtc, mode, adjusted_mode, x, y, old_fb);
+ ret = !intel_crtc_mode_set(crtc, mode, adjusted_mode, x, y, old_fb);
if (!ret)
goto done;
@@ -6684,7 +6682,7 @@ bool intel_crtc_set_mode(struct drm_crtc *crtc,
}
/* Now enable the clocks, plane, pipe, and connectors that we set up. */
- crtc_funcs->commit(crtc);
+ dev_priv->display.crtc_enable(crtc);
/* Store real post-adjustment hardware mode. */
crtc->hwmode = *adjusted_mode;
@@ -7019,9 +7017,6 @@ static void intel_crtc_init(struct drm_device *dev, int pipe)
intel_crtc->active = true; /* force the pipe off on setup_init_config */
intel_crtc->bpp = 24; /* default for pre-Ironlake */
- intel_helper_funcs.prepare = dev_priv->display.crtc_disable;
- intel_helper_funcs.commit = dev_priv->display.crtc_enable;
-
drm_crtc_helper_add(&intel_crtc->base, &intel_helper_funcs);
intel_crtc->busy = false;
--
1.7.7.6
More information about the Intel-gfx
mailing list