[Intel-gfx] [PATCH] drm/i915: rc6 residency (fix the fix)

Chris Wilson chris at chris-wilson.co.uk
Sun Apr 22 19:39:23 CEST 2012


On Sun, 22 Apr 2012 10:35:29 -0700, Ben Widawsky <ben at bwidawsk.net> wrote:
> On Sun, 22 Apr 2012 16:49:53 +0100
> Chris Wilson <chris at chris-wilson.co.uk> wrote:
> 
> > On Fri, 20 Apr 2012 11:50:01 -0700, Ben Widawsky <ben at bwidawsk.net>
> > wrote:
> > > 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.
> > Doesn't compile on my 32-bit systems.
> > 
> > Still does a 64-bit divide.
> 
> This is weird. I don't understand what's broken exactly. It should be
> dividing an unsigned long long, which the 32b compiler should have no
> issue with. The macro itself expands to do_div which was your original
> fix.
> 
> What is the error message you get?
Undefined reference to __udivid3.

The reason is that the result of DIV_ROUND_UP_ULL is a 64-bit value,
which we then proceed to divide by 100.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list