diff --git a/drivers/gpu/drm/vkms/vkms_crtc.c b/drivers/gpu/drm/vkms/vkms_crtc.c index ac85e17428f8..d071c517480d 100644 --- a/drivers/gpu/drm/vkms/vkms_crtc.c +++ b/drivers/gpu/drm/vkms/vkms_crtc.c @@ -15,10 +15,17 @@ static enum hrtimer_restart vkms_vblank_simulate(struct hrtimer *timer) struct vkms_crtc_state *state; u64 ret_overrun; bool ret; + const ktime_t interval = output->period_ns; + const ktime_t now = output->vblank_hrtimer.base->get_time(); ret_overrun = hrtimer_forward_now(&output->vblank_hrtimer, - output->period_ns); - WARN_ON(ret_overrun != 1); + interval); + if (ret_overrun != 1) { + printk(KERN_INFO "now=%llu interval=%llu ret_overrun=%llu\n", + (unsigned long long) now, (unsigned long long) interval, + (unsigned long long) ret_overrun); + WARN_ON(1); + } spin_lock(&output->lock); ret = drm_crtc_handle_vblank(crtc);