Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 228795
b: refs/heads/master
c: ff7ea4c
h: refs/heads/master
i:
  228793: 06081cc
  228791: 3aefbd5
v: v3
  • Loading branch information
Chris Wilson committed Dec 9, 2010
1 parent 841a51e commit 84849e6
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c57802706aad9f179f2219415717896b3c177845
refs/heads/master: ff7ea4c04012e01a9a50c5e42dabdaf0794734ce
18 changes: 16 additions & 2 deletions trunk/drivers/gpu/drm/i915/intel_display.c
Original file line number Diff line number Diff line change
Expand Up @@ -4758,8 +4758,14 @@ static void intel_gpu_idle_timer(unsigned long arg)
struct drm_device *dev = (struct drm_device *)arg;
drm_i915_private_t *dev_priv = dev->dev_private;

dev_priv->busy = false;
if (!list_empty(&dev_priv->mm.active_list)) {
/* Still processing requests, so just re-arm the timer. */
mod_timer(&dev_priv->idle_timer, jiffies +
msecs_to_jiffies(GPU_IDLE_TIMEOUT));
return;
}

dev_priv->busy = false;
queue_work(dev_priv->wq, &dev_priv->idle_work);
}

Expand All @@ -4770,9 +4776,17 @@ static void intel_crtc_idle_timer(unsigned long arg)
struct intel_crtc *intel_crtc = (struct intel_crtc *)arg;
struct drm_crtc *crtc = &intel_crtc->base;
drm_i915_private_t *dev_priv = crtc->dev->dev_private;
struct intel_framebuffer *intel_fb;

intel_crtc->busy = false;
intel_fb = to_intel_framebuffer(crtc->fb);
if (intel_fb && intel_fb->obj->active) {
/* The framebuffer is still being accessed by the GPU. */
mod_timer(&intel_crtc->idle_timer, jiffies +
msecs_to_jiffies(CRTC_IDLE_TIMEOUT));
return;
}

intel_crtc->busy = false;
queue_work(dev_priv->wq, &dev_priv->idle_work);
}

Expand Down

0 comments on commit 84849e6

Please sign in to comment.