From 1f3dfdfb97eb65706d9b023cd19914f32b2f830b Mon Sep 17 00:00:00 2001 From: Daniel Kurtz Date: Thu, 27 Dec 2012 01:01:46 +0000 Subject: [PATCH] --- yaml --- r: 358155 b: refs/heads/master c: 85a7ce67f3ebfd5975ffd1febcabfe4999ca911d h: refs/heads/master i: 358153: 13b678062f7ad962f24a22f1c0f81008d341775c 358151: 9e982bbe419a2b3fb1f5cebaed30acffab828d6e v: v3 --- [refs] | 2 +- trunk/drivers/gpu/drm/drm_irq.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 0e40896ccd2e..98931e764f5c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: dd66cc2e1f4765d0e6f39eb1e7d8d64d3f1cc522 +refs/heads/master: 85a7ce67f3ebfd5975ffd1febcabfe4999ca911d diff --git a/trunk/drivers/gpu/drm/drm_irq.c b/trunk/drivers/gpu/drm/drm_irq.c index 71f820565637..38e79927b2d7 100644 --- a/trunk/drivers/gpu/drm/drm_irq.c +++ b/trunk/drivers/gpu/drm/drm_irq.c @@ -505,6 +505,7 @@ void drm_calc_timestamping_constants(struct drm_crtc *crtc) /* Valid dotclock? */ if (dotclock > 0) { + int frame_size; /* Convert scanline length in pixels and video dot clock to * line duration, frame duration and pixel duration in * nanoseconds: @@ -512,7 +513,10 @@ void drm_calc_timestamping_constants(struct drm_crtc *crtc) pixeldur_ns = (s64) div64_u64(1000000000, dotclock); linedur_ns = (s64) div64_u64(((u64) crtc->hwmode.crtc_htotal * 1000000000), dotclock); - framedur_ns = (s64) crtc->hwmode.crtc_vtotal * linedur_ns; + frame_size = crtc->hwmode.crtc_htotal * + crtc->hwmode.crtc_vtotal; + framedur_ns = (s64) div64_u64((u64) frame_size * 1000000000, + dotclock); } else DRM_ERROR("crtc %d: Can't calculate constants, dotclock = 0!\n", crtc->base.id);