[Intel-gfx] [PATCH v2 16/20] drm/i915: Call plane update functions directly from intel_atomic_commit.
Maarten Lankhorst
maarten.lankhorst at linux.intel.com
Tue Jul 7 00:08:27 PDT 2015
Now that there's only a single path for all atomic updates we can call
intel_(pre/post)_plane_update from intel_atomic_commit directly. This
makes the intention more clear.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
---
drivers/gpu/drm/i915/intel_display.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 44fa189e9f88..9bfabbf84ab1 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -13279,12 +13279,19 @@ static int intel_atomic_commit(struct drm_device *dev,
/* Now enable the clocks, plane, pipe, and connectors that we set up. */
for_each_crtc_in_state(state, crtc, crtc_state, i) {
- if (needs_modeset(crtc->state) && crtc->state->active) {
+ struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
+ bool modeset = needs_modeset(crtc->state);
+
+ if (modeset && crtc->state->active) {
update_scanline_offset(to_intel_crtc(crtc));
dev_priv->display.crtc_enable(crtc);
}
+ if (!modeset)
+ intel_pre_plane_update(intel_crtc);
+
drm_atomic_helper_commit_planes_on_crtc(crtc_state);
+ intel_post_plane_update(intel_crtc);
}
/* FIXME: add subpixel order */
@@ -13620,10 +13627,6 @@ static void intel_begin_crtc_commit(struct drm_crtc *crtc,
struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
struct intel_crtc_state *old_intel_state =
to_intel_crtc_state(old_crtc_state);
- bool modeset = needs_modeset(crtc->state);
-
- if (!modeset)
- intel_pre_plane_update(intel_crtc);
if (intel_crtc->atomic.update_wm_pre)
intel_update_watermarks(crtc);
@@ -13636,7 +13639,7 @@ static void intel_begin_crtc_commit(struct drm_crtc *crtc,
intel_pipe_update_start(intel_crtc,
&intel_crtc->atomic.start_vbl_count);
- if (modeset)
+ if (needs_modeset(crtc->state))
return;
if (to_intel_crtc_state(crtc->state)->update_pipe)
@@ -13657,8 +13660,6 @@ static void intel_finish_crtc_commit(struct drm_crtc *crtc,
intel_crtc->atomic.start_vbl_count);
intel_runtime_pm_put(dev_priv);
-
- intel_post_plane_update(intel_crtc);
}
/**
--
2.1.0
More information about the Intel-gfx
mailing list