]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/atomic: use drm_crtc_vblank_waitqueue()
authorJani Nikula <jani.nikula@intel.com>
Fri, 7 Nov 2025 11:04:56 +0000 (13:04 +0200)
committerJani Nikula <jani.nikula@intel.com>
Mon, 10 Nov 2025 13:41:30 +0000 (15:41 +0200)
We have drm_crtc_vblank_waitqueue() to get the wait_queue_head_t pointer
for a vblank. Use it instead of poking at dev->vblank[] directly.

Due to the macro maze of wait_event_timeout() that uses the address-of
operator on the argument, we have to pass it in with the indirection
operator.

Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patch.msgid.link/1097348197acea9110da8baebbbc189890d01660.1762513240.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/drm_atomic_helper.c

index 5a473a274ff06d7ab83039e0a6328e1372b80a00..e641fcf8c5683734667d7944057f6859aaa314e9 100644 (file)
@@ -1831,10 +1831,12 @@ drm_atomic_helper_wait_for_vblanks(struct drm_device *dev,
        }
 
        for_each_old_crtc_in_state(state, crtc, old_crtc_state, i) {
+               wait_queue_head_t *queue = drm_crtc_vblank_waitqueue(crtc);
+
                if (!(crtc_mask & drm_crtc_mask(crtc)))
                        continue;
 
-               ret = wait_event_timeout(dev->vblank[i].queue,
+               ret = wait_event_timeout(*queue,
                                         state->crtcs[i].last_vblank_count !=
                                                drm_crtc_vblank_count(crtc),
                                         msecs_to_jiffies(100));