• Rob Clark's avatar
    drm/msm: fix fallout of atomic dpms changes · 0b776d45
    Rob Clark authored
    As a result of atomic DPMS support, the various prepare/commit hooks get
    called in a way that msm dislikes.  We were expecting prepare/commit to
    bracket a modeset, which is no longer the case.  This was needed to hold
    various extra clk's (such as interface clks) on while we are touching
    registers, and in the case of mdp4 holding vblank enabled.
    
    The most straightforward way to deal with this, since we already have
    our own atomic_commit(), is to just handle prepare/commit internally to
    the driver (with some additional vfuncs for mdp4 vs mdp5), and switch
    everything over to instead use the new enable/disable hooks.  It doesn't
    really change too much, despite the code motion.  What used to be in the
    encoder/crtc dpms() fxns is split out into enable/disable.
    
    We should be able to drop our own enable-state tracking, as the atomic
    helpers should do this for us.  But keeping that for the short term for
    extra debugging as atomic stablizes.
    Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
    0b776d45
mdp4_kms.c 14 KB