drm/vmwgfx: Remove explicit and broken vblank handling
[sfrench/cifs-2.6.git] / drivers / gpu / drm / vmwgfx / vmwgfx_stdu.c
index 8650c3aea8f0a9bc6bdb3794826b74ba3d9719f8..0090abe8925484cbd27db98e45ae8678ec87d927 100644 (file)
@@ -29,7 +29,6 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_damage_helper.h>
 #include <drm/drm_fourcc.h>
-#include <drm/drm_vblank.h>
 
 #include "vmwgfx_kms.h"
 #include "vmw_surface_cache.h"
@@ -925,9 +924,6 @@ static const struct drm_crtc_funcs vmw_stdu_crtc_funcs = {
        .atomic_destroy_state = vmw_du_crtc_destroy_state,
        .set_config = drm_atomic_helper_set_config,
        .page_flip = drm_atomic_helper_page_flip,
-       .get_vblank_counter = vmw_get_vblank_counter,
-       .enable_vblank = vmw_enable_vblank,
-       .disable_vblank = vmw_disable_vblank,
 };
 
 
@@ -1591,7 +1587,6 @@ vmw_stdu_primary_plane_atomic_update(struct drm_plane *plane,
        struct vmw_plane_state *vps = vmw_plane_state_to_vps(new_state);
        struct drm_crtc *crtc = new_state->crtc;
        struct vmw_screen_target_display_unit *stdu;
-       struct drm_pending_vblank_event *event;
        struct vmw_fence_obj *fence = NULL;
        struct vmw_private *dev_priv;
        int ret;
@@ -1640,23 +1635,6 @@ vmw_stdu_primary_plane_atomic_update(struct drm_plane *plane,
                return;
        }
 
-       /* In case of error, vblank event is send in vmw_du_crtc_atomic_flush */
-       event = crtc->state->event;
-       if (event && fence) {
-               struct drm_file *file_priv = event->base.file_priv;
-
-               ret = vmw_event_fence_action_queue(file_priv,
-                                                  fence,
-                                                  &event->base,
-                                                  &event->event.vbl.tv_sec,
-                                                  &event->event.vbl.tv_usec,
-                                                  true);
-               if (ret)
-                       DRM_ERROR("Failed to queue event on fence.\n");
-               else
-                       crtc->state->event = NULL;
-       }
-
        if (fence)
                vmw_fence_obj_unreference(&fence);
 }
@@ -1883,10 +1861,6 @@ int vmw_kms_stdu_init_display(struct vmw_private *dev_priv)
        if (!(dev_priv->capabilities & SVGA_CAP_GBOBJECTS))
                return -ENOSYS;
 
-       ret = drm_vblank_init(dev, VMWGFX_NUM_DISPLAY_UNITS);
-       if (unlikely(ret != 0))
-               return ret;
-
        dev_priv->active_display_unit = vmw_du_screen_target;
 
        for (i = 0; i < VMWGFX_NUM_DISPLAY_UNITS; ++i) {