for_each_power_well_rev(__dev_priv, __power_well)                       \
                for_each_if ((__power_well)->domains & (__domain_mask))
 
-#define for_each_intel_plane_in_state(__state, plane, plane_state, __i) \
+#define for_each_new_intel_plane_in_state(__state, plane, new_plane_state, __i) \
        for ((__i) = 0; \
             (__i) < (__state)->base.dev->mode_config.num_total_plane && \
                     ((plane) = to_intel_plane((__state)->base.planes[__i].ptr), \
-                     (plane_state) = to_intel_plane_state((__state)->base.planes[__i].state), 1); \
+                     (new_plane_state) = to_intel_plane_state((__state)->base.planes[__i].new_state), 1); \
             (__i)++) \
-               for_each_if (plane_state)
+               for_each_if (plane)
 
 #define for_each_new_intel_crtc_in_state(__state, crtc, new_crtc_state, __i) \
        for ((__i) = 0; \
             (__i)++) \
                for_each_if (crtc)
 
-
 #define for_each_oldnew_intel_plane_in_state(__state, plane, old_plane_state, new_plane_state, __i) \
        for ((__i) = 0; \
             (__i) < (__state)->base.dev->mode_config.num_total_plane && \
 
  * enable FBC for the chosen CRTC. If it does, it will set dev_priv->fbc.crtc.
  */
 void intel_fbc_choose_crtc(struct drm_i915_private *dev_priv,
-                          struct drm_atomic_state *state)
+                          struct intel_atomic_state *state)
 {
        struct intel_fbc *fbc = &dev_priv->fbc;
-       struct drm_plane *plane;
-       struct drm_plane_state *plane_state;
+       struct intel_plane *plane;
+       struct intel_plane_state *plane_state;
        bool crtc_chosen = false;
        int i;
 
 
        /* Does this atomic commit involve the CRTC currently tied to FBC? */
        if (fbc->crtc &&
-           !drm_atomic_get_existing_crtc_state(state, &fbc->crtc->base))
+           !intel_atomic_get_new_crtc_state(state, fbc->crtc))
                goto out;
 
        if (!intel_fbc_can_enable(dev_priv))
         * plane. We could go for fancier schemes such as checking the plane
         * size, but this would just affect the few platforms that don't tie FBC
         * to pipe or plane A. */
-       for_each_new_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;
-               struct intel_crtc *crtc = to_intel_crtc(plane_state->crtc);
+       for_each_new_intel_plane_in_state(state, plane, plane_state, i) {
+               struct intel_crtc_state *crtc_state;
+               struct intel_crtc *crtc = to_intel_crtc(plane_state->base.crtc);
 
-               if (!intel_plane_state->base.visible)
+               if (!plane_state->base.visible)
                        continue;
 
                if (fbc_on_pipe_a_only(dev_priv) && crtc->pipe != PIPE_A)
                if (fbc_on_plane_a_only(dev_priv) && crtc->i9xx_plane != PLANE_A)
                        continue;
 
-               intel_crtc_state = to_intel_crtc_state(
-                       drm_atomic_get_existing_crtc_state(state, &crtc->base));
+               crtc_state = intel_atomic_get_new_crtc_state(state, crtc);
 
-               intel_crtc_state->enable_fbc = true;
+               crtc_state->enable_fbc = true;
                crtc_chosen = true;
                break;
        }