Commit dbf2b54e authored by Daniel Vetter's avatar Daniel Vetter

drm/i915: call crtc functions directly

Instead of going through the crtc helper function tables.
Reviewed-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent c9deac97
...@@ -6578,8 +6578,6 @@ static void intel_crtc_reset(struct drm_crtc *crtc) ...@@ -6578,8 +6578,6 @@ static void intel_crtc_reset(struct drm_crtc *crtc)
} }
static struct drm_crtc_helper_funcs intel_helper_funcs = { 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, .mode_set_base_atomic = intel_pipe_set_base_atomic,
.load_lut = intel_crtc_load_lut, .load_lut = intel_crtc_load_lut,
.disable = intel_crtc_disable, .disable = intel_crtc_disable,
...@@ -6648,8 +6646,8 @@ bool intel_set_mode(struct drm_crtc *crtc, ...@@ -6648,8 +6646,8 @@ bool intel_set_mode(struct drm_crtc *crtc,
int x, int y, struct drm_framebuffer *old_fb) int x, int y, struct drm_framebuffer *old_fb)
{ {
struct drm_device *dev = crtc->dev; 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_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; struct drm_encoder_helper_funcs *encoder_funcs;
int saved_x, saved_y; int saved_x, saved_y;
struct drm_encoder *encoder; struct drm_encoder *encoder;
...@@ -6691,7 +6689,7 @@ bool intel_set_mode(struct drm_crtc *crtc, ...@@ -6691,7 +6689,7 @@ bool intel_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"); DRM_DEBUG_KMS("CRTC fixup failed\n");
goto done; goto done;
} }
...@@ -6699,12 +6697,12 @@ bool intel_set_mode(struct drm_crtc *crtc, ...@@ -6699,12 +6697,12 @@ bool intel_set_mode(struct drm_crtc *crtc,
intel_crtc_prepare_encoders(dev); 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 /* Set up the DPLL and any encoders state that needs to adjust or depend
* on the DPLL. * 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) if (!ret)
goto done; goto done;
...@@ -6721,7 +6719,7 @@ bool intel_set_mode(struct drm_crtc *crtc, ...@@ -6721,7 +6719,7 @@ bool intel_set_mode(struct drm_crtc *crtc,
} }
/* Now enable the clocks, plane, pipe, and connectors that we set up. */ /* 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. */ /* Store real post-adjustment hardware mode. */
crtc->hwmode = *adjusted_mode; crtc->hwmode = *adjusted_mode;
...@@ -7055,9 +7053,6 @@ static void intel_crtc_init(struct drm_device *dev, int pipe) ...@@ -7055,9 +7053,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->active = true; /* force the pipe off on setup_init_config */
intel_crtc->bpp = 24; /* default for pre-Ironlake */ 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); drm_crtc_helper_add(&intel_crtc->base, &intel_helper_funcs);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment