From: Paulo Zanoni Date: Fri, 11 Nov 2016 16:57:35 +0000 (-0200) Subject: drm/i915/fbc: move the intel_fbc_can_choose() call out of the loop X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=03e39104d9fd72238264576462138ed4b011b24b;p=linux.git drm/i915/fbc: move the intel_fbc_can_choose() call out of the loop We can just call it earlier, so do it. The goal of the loop is to get the plane's CRTC state, and we don't need it in order to call intel_fbc_can_choose(). Signed-off-by: Paulo Zanoni Reviewed-by: Chris Wilson Link: http://patchwork.freedesktop.org/patch/msgid/1478883461-20201-2-git-send-email-paulo.r.zanoni@intel.com --- diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c index e230d480c5e66..ded77bda1e039 100644 --- a/drivers/gpu/drm/i915/intel_fbc.c +++ b/drivers/gpu/drm/i915/intel_fbc.c @@ -1096,6 +1096,9 @@ void intel_fbc_choose_crtc(struct drm_i915_private *dev_priv, if (!intel_plane_state->base.visible) continue; + if (!intel_fbc_can_choose(to_intel_crtc(plane_state->crtc))) + continue; + for_each_crtc_in_state(state, crtc, crtc_state, j) { struct intel_crtc_state *intel_crtc_state = to_intel_crtc_state(crtc_state); @@ -1103,9 +1106,6 @@ void intel_fbc_choose_crtc(struct drm_i915_private *dev_priv, if (plane_state->crtc != crtc) continue; - if (!intel_fbc_can_choose(to_intel_crtc(crtc))) - break; - intel_crtc_state->enable_fbc = true; goto out; }