drm/i915: Fix RC6VIDS encode/decode
authorBen Widawsky <ben@bwidawsk.net>
Sat, 2 Feb 2013 00:41:14 +0000 (16:41 -0800)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 13 Feb 2013 23:47:51 +0000 (00:47 +0100)
commit7083e05072b88d503d257b6f012ce56367f3ac97
treecd33252d4f459d9465ae61e8f584516c5af1e92b
parentdb3985e5ca8f50fc17606855ba394783d11683a5
drm/i915: Fix RC6VIDS encode/decode

The RC6 VIDS has a linear ramp starting at 250mv, which means any values
below 250 are invalid. The old buggy macros tried to adjust for this to
be more flexible, but there is no need. As Dan pointed out the ENCODE
only ever has one value. The only invalid value for decode is an input
of 0 which means something is really wonky, and the cases where DECODE
are used either don't matter (debug values), or would be implicitly
correct (the check for less than 450).

This patch makes simpler, easier to read macros which are actually
correct. Maybe this patch can actually fix some bugs now.

Thanks to Dan for catching this. /me hides

Cc: stable@kernel.org
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_reg.h