drm/i915/fbc: move the intel_fbc_can_choose() call out of the loop
authorPaulo Zanoni <paulo.r.zanoni@intel.com>
Fri, 11 Nov 2016 16:57:35 +0000 (14:57 -0200)
committerPaulo Zanoni <paulo.r.zanoni@intel.com>
Mon, 14 Nov 2016 16:00:29 +0000 (14:00 -0200)
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 <paulo.r.zanoni@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: http://patchwork.freedesktop.org/patch/msgid/1478883461-20201-2-git-send-email-paulo.r.zanoni@intel.com
drivers/gpu/drm/i915/intel_fbc.c

index e230d480c5e66966c87b006bb8b88b0c5ea31fd6..ded77bda1e0394a7b8ee140f8b495a78212a9955 100644 (file)
@@ -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;
                }