struct drm_plane *plane;
struct drm_plane_state *plane_state;
bool fbc_crtc_present = false;
- int i, j;
+ int i;
mutex_lock(&fbc->lock);
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;
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: