• Daniel Vetter's avatar
    drm/fb-helper: Split dpms handling into legacy and atomic paths · 6b7dc6e9
    Daniel Vetter authored
    Like with panning and modesetting, and like with those, stick with
    simple drm_modeset_locking_all for the legacy path, and the full
    atomic dance for atomic drivers.
    
    This means a bit more boilerplate since setting up the atomic state
    machinery is rather verbose, but then this is shared code for 30+
    drivers or so, so meh.
    
    After this patch there's only the LUT/cmap path which is still using
    drm_modeset_lock_all for an atomic driver. But Peter is already
    locking into reworking that, so I'll leave that code as-is for now.
    
    v2: Squash in patches from Maarten to unify all the various atomic
    paths into just one atomic update function for fbdev overall. On top
    do one s/restore_fbdev_mode/restore_fbdev_mode_atomic/ so that we have
    all-atomic callchains after the first check.
    
    Cc: Peter Rosin <peda@axentia.se>
    Cc: John Stultz <john.stultz@linaro.org>
    Cc: Thierry Reding <treding@nvidia.com>
    Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Reviewed-by: default avatarMaarten Lankhorst <maarten.lankhorst@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
    Link: http://patchwork.freedesktop.org/patch/msgid/20170704151833.17304-10-daniel.vetter@ffwll.ch
    6b7dc6e9
drm_fb_helper.c 68.4 KB