Skip to content
  • Adam Jackson's avatar
    modesetting: Use atomic instead of per-crtc walks where we can · cb58fc2f
    Adam Jackson authored
    
    
    drmmode_set_desired_modes (reachable from CreateScreenResources,
    EnterVT, etc.) currently works by doing ->set_mode_major on each CRTC.
    This means initialization and VT switch are more flickery than they need
    to be. It also means they're more fragile than they need to be, as
    (especially for EnterVT) we're not trying very hard to ensure the
    intermediate states are valid.
    
    This patch introduces drmmode_set_mode_atomic, which blasts the entire
    RANDR state into the kernel. We change drmmode_set_desired_modes and
    drmmode_xf86crtc_resize to use this instead of walking each CRTC. We
    also change drmmode_crtc_set_mode to use this, so that client RANDR
    requests (operating CRTC-at-a-time, since RANDR doesn't have atomic
    changes yet) use the same code paths.
    
    Signed-off-by: default avatarAdam Jackson <ajax@redhat.com>
    cb58fc2f