Ben Widawsky 46ddf19477 drm/i915: Add setters for min/max frequency
Provide a standardized sysfs interface for setting min, and max
frequencies.  The code which reads the limits were lifted from the
debugfs files. As a brief explanation, the limits are similar to the CPU
p-states. We have 3 states:

RP0 - ie. max frequency
RP1 - ie. "preferred min" frequency
RPn - seriously lowest frequency

Initially Daniel asked me to clamp the writes to supported values, but
in conforming to the way the cpufreq drivers seem to work, instead
return -EINVAL (noticed by Jesse in discussion).
The values can be used by userspace wishing to control the limits of the
GPU (see the CC list for people who care).

v4: Make exceeding the soft limits return -EINVAL as well (Daniel)

v3: bug fix (Ben) -  was passing the MHz value to gen6_set_rps instead of
the step value. To fix, deal only with step values by doing the divide
at the top.

v2: add the dropped mutex_unlock in error cases (Chris)
EINVAL on both too min, or too max (Daniel)

v2 Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
CC: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-09-20 14:23:06 +02:00
..
2012-08-20 13:13:47 -07:00
2012-08-02 13:51:46 -04:00
2012-08-13 10:15:22 +05:30
2012-07-29 21:11:05 -03:00
2012-07-30 09:32:39 -07:00
2012-08-16 20:24:38 +01:00
2012-08-13 14:34:02 +08:00
2012-08-20 13:14:22 -07:00
2012-08-12 21:31:44 +03:00
2012-07-09 16:42:24 -04:00
2012-08-20 11:58:43 +02:00
2012-08-20 13:14:22 -07:00
2012-08-25 17:31:59 -07:00
2012-07-31 08:16:22 -06:00
2012-07-31 08:16:22 -06:00