|
@@ -1071,7 +1071,7 @@ void intel_fbc_choose_crtc(struct drm_i915_private *dev_priv,
|
|
|
struct drm_plane *plane;
|
|
|
struct drm_plane_state *plane_state;
|
|
|
bool fbc_crtc_present = false;
|
|
|
- int i, j;
|
|
|
+ int i;
|
|
|
|
|
|
mutex_lock(&fbc->lock);
|
|
|
|
|
@@ -1092,6 +1092,7 @@ void intel_fbc_choose_crtc(struct drm_i915_private *dev_priv,
|
|
|
for_each_plane_in_state(state, plane, plane_state, i) {
|
|
|
struct intel_plane_state *intel_plane_state =
|
|
|
to_intel_plane_state(plane_state);
|
|
|
+ struct intel_crtc_state *intel_crtc_state;
|
|
|
|
|
|
if (!intel_plane_state->base.visible)
|
|
|
continue;
|
|
@@ -1099,16 +1100,12 @@ void intel_fbc_choose_crtc(struct drm_i915_private *dev_priv,
|
|
|
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);
|
|
|
-
|
|
|
- if (plane_state->crtc != crtc)
|
|
|
- continue;
|
|
|
+ intel_crtc_state = to_intel_crtc_state(
|
|
|
+ drm_atomic_get_existing_crtc_state(state,
|
|
|
+ plane_state->crtc));
|
|
|
|
|
|
- intel_crtc_state->enable_fbc = true;
|
|
|
- goto out;
|
|
|
- }
|
|
|
+ intel_crtc_state->enable_fbc = true;
|
|
|
+ break;
|
|
|
}
|
|
|
|
|
|
out:
|