diff options
Diffstat (limited to 'drivers/gpu/drm/tilcdc/tilcdc_crtc.c')
| -rw-r--r-- | drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 13 | 
1 files changed, 13 insertions, 0 deletions
| diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c index e9dd5e5cb4e7..1856962411c7 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c @@ -537,6 +537,18 @@ static void tilcdc_crtc_atomic_disable(struct drm_crtc *crtc,  	tilcdc_crtc_disable(crtc);  } +static void tilcdc_crtc_atomic_flush(struct drm_crtc *crtc, +				     struct drm_crtc_state *old_state) +{ +	if (!crtc->state->event) +		return; + +	spin_lock_irq(&crtc->dev->event_lock); +	drm_crtc_send_vblank_event(crtc, crtc->state->event); +	crtc->state->event = NULL; +	spin_unlock_irq(&crtc->dev->event_lock); +} +  void tilcdc_crtc_shutdown(struct drm_crtc *crtc)  {  	tilcdc_crtc_off(crtc, true); @@ -822,6 +834,7 @@ static const struct drm_crtc_helper_funcs tilcdc_crtc_helper_funcs = {  	.atomic_check	= tilcdc_crtc_atomic_check,  	.atomic_enable	= tilcdc_crtc_atomic_enable,  	.atomic_disable	= tilcdc_crtc_atomic_disable, +	.atomic_flush	= tilcdc_crtc_atomic_flush,  };  void tilcdc_crtc_set_panel_info(struct drm_crtc *crtc, | 
