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.cdn.openwrt.org/?a=commitdiff_plain;h=03e39104d9fd72238264576462138ed4b011b24b;p=openwrt%2Fstaging%2Fblogic.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 e230d480c5e6..ded77bda1e03 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; }