• Thomas Zimmermann's avatar
    drm: Initialize struct drm_crtc_state.no_vblank from device settings · 7beb691f
    Thomas Zimmermann authored
    At the end of a commit, atomic helpers can generate a fake VBLANK event
    automatically. Originally implemented for writeback connectors, the
    functionality can be used by any driver and/or hardware without proper
    VBLANK interrupt.
    
    The patch updates the documentation to make this behaviour official:
    settings struct drm_crtc_state.no_vblank to true enables automatic
    generation of fake VBLANK events.
    
    The new interface drm_dev_has_vblank() returns true if vblanking has
    been initialized for a device, or false otherwise. Atomic helpers use
    this function when initializing no_vblank in the CRTC state in
    drm_atomic_helper_check_modeset(). If vblanking has been initialized
    for a device, no_blank is disabled. Otherwise it's enabled. Hence,
    atomic helpers will automatically send out fake VBLANK events with any
    driver that did not initialize vblanking.
    
    v5:
    	* more precise documentation and commit message
    v4:
    	* replace drm_crtc_has_vblank() with drm_dev_has_vblank()
    	* add drm_dev_has_vblank() in this patch
    	* move driver changes into separate patches
    v3:
    	* squash all related changes patches into this patch
    Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
    Acked-by: default avatarGerd Hoffmann <kraxel@redhat.com>
    Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200129120531.6891-2-tzimmermann@suse.de
    7beb691f
drm_vblank.c 61.2 KB