From: Maarten Lankhorst Date: Wed, 23 Sep 2015 14:29:39 +0000 (+0200) Subject: drm/i915: Only call commit_planes when there are things to commit. X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=6173ee2886ca46e00ba3d8f0b4a9a1cd6f8a76ce;p=linux-beck.git drm/i915: Only call commit_planes when there are things to commit. The atomic helpers set planes_changed on a crtc_state if there is any plane_state bound to that crtc. If there's none and there is no pipe update required the crtc has nothing to update, so vblank evasion can be skipped. Signed-off-by: Maarten Lankhorst Reviewed-by: Ville Syrjälä Signed-off-by: Daniel Vetter --- diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index d5d00e929da2..b918802b1a42 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -13153,7 +13153,8 @@ static int intel_atomic_commit(struct drm_device *dev, if (!modeset) intel_pre_plane_update(intel_crtc); - if (crtc->state->active) + if (crtc->state->active && + (crtc->state->planes_changed || update_pipe)) drm_atomic_helper_commit_planes_on_crtc(crtc_state); if (put_domains)