drm/i915: Don't update the render-clock for every bo.

Only update the render-clock on transition from busy to idle and vice
versa, or else we burn a significant percentage of the cpu just rewriting
the register -- not quite as power-friendly as intended ;-)

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Chris Wilson 2009-11-30 01:08:56 +00:00 committed by Eric Anholt
parent 38b3037ee4
commit 28cf798f5a
1 changed files with 7 additions and 2 deletions

View File

@ -4052,8 +4052,13 @@ void intel_mark_busy(struct drm_device *dev, struct drm_gem_object *obj)
if (!drm_core_check_feature(dev, DRIVER_MODESET))
return;
dev_priv->busy = true;
intel_increase_renderclock(dev, true);
if (!dev_priv->busy) {
dev_priv->busy = true;
intel_increase_renderclock(dev, true);
} else {
mod_timer(&dev_priv->idle_timer, jiffies +
msecs_to_jiffies(GPU_IDLE_TIMEOUT));
}
list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
if (!crtc->fb)