aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Widawsky <ben@bwidawsk.net>2012-04-20 14:50:01 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-04-23 03:30:14 -0400
commita85d4bcb8a0cd5b3c754f98ff91ef2b9b3a73bc5 (patch)
tree0c1f195ce4d6ef024c5933c162710c80fb44bbd1
parent3801a7fd8615365a58960561d3bd3479b485ed3e (diff)
drm/i915: rc6 residency (fix the fix)
Chris' fix for my 32b breakage was incorrect. do_div returns a remainder. Go back to a divide macro which is more 32b friendly. Tested on x86-64. This has only been compile tested on 32b systems. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48756 Cc: Chris Wilson <chris@chris-wilson.co.uk> Sincere-apologies: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com> [danvet: fixup 32bit compile-fail.] Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/i915_sysfs.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_sysfs.c b/drivers/gpu/drm/i915/i915_sysfs.c
index f1b5108931fe..79f83445afa0 100644
--- a/drivers/gpu/drm/i915/i915_sysfs.c
+++ b/drivers/gpu/drm/i915/i915_sysfs.c
@@ -39,8 +39,8 @@ static u32 calc_residency(struct drm_device *dev, const u32 reg)
39 if (!intel_enable_rc6(dev)) 39 if (!intel_enable_rc6(dev))
40 return 0; 40 return 0;
41 41
42 raw_time = I915_READ(reg) * 128ULL + 500; 42 raw_time = I915_READ(reg) * 128ULL;
43 return do_div(raw_time, 100000); 43 return DIV_ROUND_UP_ULL(raw_time, 100000);
44} 44}
45 45
46static ssize_t 46static ssize_t