aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_irq.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/drm_irq.c')
-rw-r--r--drivers/gpu/drm/drm_irq.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index 80ff94ada75e..5ef03c216a27 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -126,6 +126,9 @@ static void drm_update_vblank_count(struct drm_device *dev, int crtc)
126 DRM_DEBUG("updating vblank count on crtc %d, missed %d\n", 126 DRM_DEBUG("updating vblank count on crtc %d, missed %d\n",
127 crtc, diff); 127 crtc, diff);
128 128
129 if (diff == 0)
130 return;
131
129 /* Reinitialize corresponding vblank timestamp if high-precision query 132 /* Reinitialize corresponding vblank timestamp if high-precision query
130 * available. Skip this step if query unsupported or failed. Will 133 * available. Skip this step if query unsupported or failed. Will
131 * reinitialize delayed at next vblank interrupt in that case. 134 * reinitialize delayed at next vblank interrupt in that case.
@@ -1074,7 +1077,7 @@ void drm_wait_one_vblank(struct drm_device *dev, int crtc)
1074 u32 last; 1077 u32 last;
1075 1078
1076 ret = drm_vblank_get(dev, crtc); 1079 ret = drm_vblank_get(dev, crtc);
1077 if (WARN_ON(ret)) 1080 if (WARN(ret, "vblank not available on crtc %i, ret=%i\n", crtc, ret))
1078 return; 1081 return;
1079 1082
1080 last = drm_vblank_count(dev, crtc); 1083 last = drm_vblank_count(dev, crtc);
@@ -1083,7 +1086,7 @@ void drm_wait_one_vblank(struct drm_device *dev, int crtc)
1083 last != drm_vblank_count(dev, crtc), 1086 last != drm_vblank_count(dev, crtc),
1084 msecs_to_jiffies(100)); 1087 msecs_to_jiffies(100));
1085 1088
1086 WARN_ON(ret == 0); 1089 WARN(ret == 0, "vblank wait timed out on crtc %i\n", crtc);
1087 1090
1088 drm_vblank_put(dev, crtc); 1091 drm_vblank_put(dev, crtc);
1089} 1092}