goto out_no_fifo;
 
        DRM_INFO("DX: %s\n", dev_priv->has_dx ? "yes." : "no.");
+       DRM_INFO("Atomic: %s\n",
+                (dev->driver->driver_features & DRIVER_ATOMIC) ? "yes" : "no");
 
        snprintf(host_log, sizeof(host_log), "vmwgfx: %s-%s",
                VMWGFX_REPO, VMWGFX_GIT_VERSION);
 
 static struct drm_driver driver = {
        .driver_features = DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED |
-       DRIVER_MODESET | DRIVER_PRIME | DRIVER_RENDER,
+       DRIVER_MODESET | DRIVER_PRIME | DRIVER_RENDER | DRIVER_ATOMIC,
        .load = vmw_driver_load,
        .unload = vmw_driver_unload,
        .lastclose = vmw_lastclose,
 
        .prepare = vmw_ldu_crtc_helper_prepare,
        .commit = vmw_ldu_crtc_helper_commit,
        .disable = vmw_ldu_crtc_helper_disable,
-       .mode_set = drm_helper_crtc_mode_set,
        .mode_set_nofb = vmw_ldu_crtc_mode_set_nofb,
        .atomic_check = vmw_du_crtc_atomic_check,
        .atomic_begin = vmw_du_crtc_atomic_begin,
 
        .prepare = vmw_sou_crtc_helper_prepare,
        .commit = vmw_sou_crtc_helper_commit,
        .disable = vmw_sou_crtc_helper_disable,
-       .mode_set = drm_helper_crtc_mode_set,
        .mode_set_nofb = vmw_sou_crtc_mode_set_nofb,
        .atomic_check = vmw_du_crtc_atomic_check,
        .atomic_begin = vmw_du_crtc_atomic_begin,
 
        .prepare = vmw_stdu_crtc_helper_prepare,
        .commit = vmw_stdu_crtc_helper_commit,
        .disable = vmw_stdu_crtc_helper_disable,
-       .mode_set = drm_helper_crtc_mode_set,
        .mode_set_nofb = vmw_stdu_crtc_mode_set_nofb,
        .atomic_check = vmw_du_crtc_atomic_check,
        .atomic_begin = vmw_du_crtc_atomic_begin,