diff options
Diffstat (limited to 'drivers/gpu/drm/virtio/virtgpu_display.c')
| -rw-r--r-- | drivers/gpu/drm/virtio/virtgpu_display.c | 12 | 
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/gpu/drm/virtio/virtgpu_display.c b/drivers/gpu/drm/virtio/virtgpu_display.c index 0966208ec30d..2b7e6ae65546 100644 --- a/drivers/gpu/drm/virtio/virtgpu_display.c +++ b/drivers/gpu/drm/virtio/virtgpu_display.c @@ -30,7 +30,6 @@  #include <drm/drm_fourcc.h>  #include <drm/drm_gem_framebuffer_helper.h>  #include <drm/drm_probe_helper.h> -#include <drm/drm_vblank.h>  #include "virtgpu_drv.h" @@ -91,6 +90,7 @@ static void virtio_gpu_crtc_mode_set_nofb(struct drm_crtc *crtc)  	virtio_gpu_cmd_set_scanout(vgdev, output->index, 0,  				   crtc->mode.hdisplay,  				   crtc->mode.vdisplay, 0, 0); +	virtio_gpu_notify(vgdev);  }  static void virtio_gpu_crtc_atomic_enable(struct drm_crtc *crtc, @@ -109,6 +109,7 @@ static void virtio_gpu_crtc_atomic_disable(struct drm_crtc *crtc,  	struct virtio_gpu_output *output = drm_crtc_to_virtio_gpu_output(crtc);  	virtio_gpu_cmd_set_scanout(vgdev, output->index, 0, 0, 0, 0, 0); +	virtio_gpu_notify(vgdev);  	output->enabled = false;  } @@ -121,13 +122,6 @@ static int virtio_gpu_crtc_atomic_check(struct drm_crtc *crtc,  static void virtio_gpu_crtc_atomic_flush(struct drm_crtc *crtc,  					 struct drm_crtc_state *old_state)  { -	unsigned long flags; - -	spin_lock_irqsave(&crtc->dev->event_lock, flags); -	if (crtc->state->event) -		drm_crtc_send_vblank_event(crtc, crtc->state->event); -	crtc->state->event = NULL; -	spin_unlock_irqrestore(&crtc->dev->event_lock, flags);  }  static const struct drm_crtc_helper_funcs virtio_gpu_crtc_helper_funcs = { @@ -332,6 +326,7 @@ static void vgdev_atomic_commit_tail(struct drm_atomic_state *state)  	drm_atomic_helper_commit_modeset_enables(dev, state);  	drm_atomic_helper_commit_planes(dev, state, 0); +	drm_atomic_helper_fake_vblank(state);  	drm_atomic_helper_commit_hw_done(state);  	drm_atomic_helper_wait_for_vblanks(dev, state); @@ -375,6 +370,5 @@ void virtio_gpu_modeset_fini(struct virtio_gpu_device *vgdev)  	for (i = 0 ; i < vgdev->num_scanouts; ++i)  		kfree(vgdev->outputs[i].edid); -	drm_atomic_helper_shutdown(vgdev->ddev);  	drm_mode_config_cleanup(vgdev->ddev);  }  |