|
@@ -5558,6 +5558,9 @@ void intel_mark_busy(struct drm_device *dev, struct drm_i915_gem_object *obj)
|
|
|
mod_timer(&dev_priv->idle_timer, jiffies +
|
|
|
msecs_to_jiffies(GPU_IDLE_TIMEOUT));
|
|
|
|
|
|
+ if (obj == NULL)
|
|
|
+ return;
|
|
|
+
|
|
|
list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
|
|
|
if (!crtc->fb)
|
|
|
continue;
|
|
@@ -6007,6 +6010,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
|
|
|
goto cleanup_pending;
|
|
|
|
|
|
intel_disable_fbc(dev);
|
|
|
+ intel_mark_busy(dev, obj);
|
|
|
mutex_unlock(&dev->struct_mutex);
|
|
|
|
|
|
trace_i915_flip_request(intel_crtc->plane, obj);
|