int i;
        uint64_t wait_seqno = 0;
        struct vc4_commit *c;
+       struct drm_plane *plane;
+       struct drm_plane_state *new_state;
 
        c = commit_init(state);
        if (!c)
                return ret;
        }
 
-       for (i = 0; i < dev->mode_config.num_total_plane; i++) {
-               struct drm_plane *plane = state->planes[i];
-               struct drm_plane_state *new_state = state->plane_states[i];
-
-               if (!plane)
-                       continue;
-
+       for_each_plane_in_state(state, plane, new_state, i) {
                if ((plane->state->fb != new_state->fb) && new_state->fb) {
                        struct drm_gem_cma_object *cma_bo =
                                drm_fb_cma_get_gem_obj(new_state->fb, 0);