• Daniel Vetter's avatar
    drm/tilcdc: Use standard drm_atomic_helper_commit · cb345dec
    Daniel Vetter authored
    Gives us proper nonblocking support for free, and a pile of other
    things. The tilcdc code is simply old enough that it was never
    converted over, but was stuck forever with the copypasta from when it
    was initially merged.
    
    The riskiest thing with this conversion is maybe that there's an issue
    with the vblank handling or vblank event handling, which will upset
    the modern commit support in atomic helpers. But from a cursory review
    drm_crtc_vblank_on/off is called in the right places, and the event
    handling also seems to exist (albeit with much hand-rolling and
    probably some races, could perhaps be converted over to
    drm_crtc_arm_vblank_event without any real loss).
    
    Motivated by me not having to hand-roll the dma-fence annotations for
    this.
    
    v2: Clear out crtc_state->event when we're handling the event, to
    avoid upsetting the helpers (reported by Jyri).
    
    v3: Also send out even whent the crtc is getting disabled. Tilcdc looks a
    bit like conversion to simple display helpers would work out really
    nice.
    Tested-by: default avatarJyri Sarha <jsarha@ti.com>
    Reviewed-by: default avatarJyri Sarha <jsarha@ti.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
    Cc: Jyri Sarha <jsarha@ti.com>
    Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200708142050.530240-1-daniel.vetter@ffwll.ch
    cb345dec
tilcdc_crtc.c 27.7 KB