• Rob Clark's avatar
    drm/msm/mdp5: rework CTL START signal handling · f9cb8d8d
    Rob Clark authored
    For DSI cmd-mode and writeback, we need to write the CTL's START
    register to kick things off, but we only want to do that once both
    the encoder and the crtc have a chance to write their corresponding
    flush bits.  The difficulty is that when there is a full modeset
    (ie. encoder state has changed) we want to defer the start until
    encoder->enable().  But if only plane's have changed, we want to do
    this from crtc->commit().
    
    The start_mask was a previous attempt to handle this, but it didn't
    really do the right thing since atomic conversion.
    
    Instead track in the crtc state that the start should be deferred,
    set to try from encoder's (or in future writeback's) atomic_check().
    This way the state is part of the atomic state, and rollback can
    work properly if an atomic test fails.
    Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
    f9cb8d8d
mdp5_kms.h 8.9 KB