@@ -9374,15 +9374,15 @@ void intel_notify_mmio_flip(struct intel_engine_cs *ring)
struct intel_mmio_flip *mmio_flip;
mmio_flip = &intel_crtc->mmio_flip;
- if (mmio_flip->seqno == 0)
+ if (mmio_flip->req == NULL)
continue;
if (ring->id != mmio_flip->ring_id)
continue;
- if (i915_seqno_passed(seqno, mmio_flip->seqno)) {
+ if (i915_seqno_passed(seqno, i915_gem_request_get_seqno(mmio_flip->req))) {
intel_do_mmio_flip(intel_crtc);
- mmio_flip->seqno = 0;
+ i915_gem_request_assign(&mmio_flip->req, NULL);
ring->irq_put(ring);
}
}
@@ -9400,7 +9400,7 @@ static int intel_queue_mmio_flip(struct drm_device *dev,
struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
int ret;
- if (WARN_ON(intel_crtc->mmio_flip.seqno))
+ if (WARN_ON(intel_crtc->mmio_flip.req))
return -EBUSY;
ret = intel_postpone_flip(obj);
@@ -9412,7 +9412,8 @@ static int intel_queue_mmio_flip(struct drm_device *dev,
}
spin_lock_irq(&dev_priv->mmio_flip_lock);
- intel_crtc->mmio_flip.seqno = i915_gem_request_get_seqno(obj->last_write_req);
+ i915_gem_request_assign(&intel_crtc->mmio_flip.req,
+ obj->last_write_req);
intel_crtc->mmio_flip.ring_id = obj->ring->id;
spin_unlock_irq(&dev_priv->mmio_flip_lock);
@@ -400,7 +400,7 @@ struct intel_pipe_wm {
};
struct intel_mmio_flip {
- u32 seqno;
+ struct drm_i915_gem_request *req;
u32 ring_id;
};