diff -uNrp a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c --- a/drivers/gpu/drm/i915/i915_gem.c 2012-12-21 20:19:00.000000000 -0500 +++ b/drivers/gpu/drm/i915/i915_gem.c 2012-12-30 21:44:04.269555216 -0500 @@ -1905,9 +1905,6 @@ i915_gem_object_move_to_inactive(struct BUG_ON(obj->base.write_domain & ~I915_GEM_GPU_DOMAINS); BUG_ON(!obj->active); - if (obj->pin_count) /* are we a framebuffer? */ - intel_mark_fb_idle(obj); - list_move_tail(&obj->mm_list, &dev_priv->mm.inactive_list); list_del_init(&obj->ring_list); diff -uNrp a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c --- a/drivers/gpu/drm/i915/intel_display.c 2012-12-21 20:19:00.000000000 -0500 +++ b/drivers/gpu/drm/i915/intel_display.c 2012-12-30 21:50:26.525776355 -0500 @@ -6993,11 +6993,6 @@ void intel_mark_busy(struct drm_device * void intel_mark_idle(struct drm_device *dev) { -} - -void intel_mark_fb_busy(struct drm_i915_gem_object *obj) -{ - struct drm_device *dev = obj->base.dev; struct drm_crtc *crtc; if (!i915_powersave) @@ -7007,12 +7002,11 @@ void intel_mark_fb_busy(struct drm_i915_ if (!crtc->fb) continue; - if (to_intel_framebuffer(crtc->fb)->obj == obj) - intel_increase_pllclock(crtc); + intel_decrease_pllclock(crtc); } } -void intel_mark_fb_idle(struct drm_i915_gem_object *obj) +void intel_mark_fb_busy(struct drm_i915_gem_object *obj) { struct drm_device *dev = obj->base.dev; struct drm_crtc *crtc; @@ -7025,7 +7019,7 @@ void intel_mark_fb_idle(struct drm_i915_ continue; if (to_intel_framebuffer(crtc->fb)->obj == obj) - intel_decrease_pllclock(crtc); + intel_increase_pllclock(crtc); } } diff -uNrp a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h --- a/drivers/gpu/drm/i915/intel_drv.h 2012-12-21 20:19:00.000000000 -0500 +++ b/drivers/gpu/drm/i915/intel_drv.h 2012-12-30 21:38:53.771436976 -0500 @@ -439,9 +439,8 @@ extern bool intel_sdvo_init(struct drm_d extern void intel_dvo_init(struct drm_device *dev); extern void intel_tv_init(struct drm_device *dev); extern void intel_mark_busy(struct drm_device *dev); -extern void intel_mark_idle(struct drm_device *dev); extern void intel_mark_fb_busy(struct drm_i915_gem_object *obj); -extern void intel_mark_fb_idle(struct drm_i915_gem_object *obj); +extern void intel_mark_idle(struct drm_device *dev); extern bool intel_lvds_init(struct drm_device *dev); extern void intel_dp_init(struct drm_device *dev, int output_reg, enum port port);