]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/gpu/drm/rcar-du/rcar_du_kms.c
drm/rcar-du: Use for_each_*_in_state
[karo-tx-linux.git] / drivers / gpu / drm / rcar-du / rcar_du_kms.c
index e70a4f33d970883f2dae665dd4d82ab233f26074..86c109b16876bca474f2867a33b43aaa3a205df8 100644 (file)
@@ -288,6 +288,8 @@ static int rcar_du_atomic_commit(struct drm_device *dev,
 {
        struct rcar_du_device *rcdu = dev->dev_private;
        struct rcar_du_commit *commit;
+       struct drm_crtc *crtc;
+       struct drm_crtc_state *crtc_state;
        unsigned int i;
        int ret;
 
@@ -309,10 +311,8 @@ static int rcar_du_atomic_commit(struct drm_device *dev,
        /* Wait until all affected CRTCs have completed previous commits and
         * mark them as pending.
         */
-       for (i = 0; i < dev->mode_config.num_crtc; ++i) {
-               if (state->crtcs[i])
-                       commit->crtcs |= 1 << drm_crtc_index(state->crtcs[i]);
-       }
+       for_each_crtc_in_state(state, crtc, crtc_state, i)
+               commit->crtcs |= drm_crtc_mask(crtc);
 
        spin_lock(&rcdu->commit.wait.lock);
        ret = wait_event_interruptible_locked(rcdu->commit.wait,