if (work->flip_queued_req)
i915_gem_request_unreference(work->flip_queued_req);
work->flip_queued_req = NULL;
- work->flip_queued_ring = NULL;
mutex_unlock(&dev->struct_mutex);
intel_frontbuffer_flip_complete(dev, INTEL_FRONTBUFFER_PRIMARY(pipe));
return false;
if (work->flip_ready_vblank == 0) {
- if (work->flip_queued_ring) {
- if (!i915_gem_request_completed(work->flip_queued_req, true))
- return false;
- }
+ if (work->flip_queued_req &&
+ !i915_gem_request_completed(work->flip_queued_req, true))
+ return false;
work->flip_ready_vblank = drm_vblank_count(dev, intel_crtc->pipe);
}
i915_gem_request_assign(&work->flip_queued_req,
obj->last_write_req);
- work->flip_queued_ring =
- i915_gem_request_get_ring(obj->last_write_req);
} else {
ret = dev_priv->display.queue_flip(dev, crtc, fb, obj, ring,
page_flip_flags);
i915_gem_request_assign(&work->flip_queued_req,
intel_ring_get_request(ring));
- work->flip_queued_ring = ring;
}
work->flip_queued_vblank = drm_vblank_count(dev, intel_crtc->pipe);