Lines Matching refs:seqno

1033  * Compare seqno against outstanding lazy request. Emit a request if they are
1037 i915_gem_check_olr(struct intel_ring_buffer *ring, u32 seqno)
1044 if (seqno == ring->outstanding_lazy_request)
1051 * __wait_seqno - wait until execution of seqno has finished
1052 * @ring: the ring expected to report seqno
1053 * @seqno: duh!
1057 * Returns 0 if the seqno was found within the alloted time. Else returns the
1060 static int __wait_seqno(struct intel_ring_buffer *ring, u32 seqno,
1070 if (i915_seqno_passed(ring->get_seqno(ring, true), seqno))
1073 CTR2(KTR_DRM, "request_wait_begin %s %d", ring->name, seqno);
1089 (i915_seqno_passed(ring->get_seqno(ring, false), seqno) || \
1132 CTR3(KTR_DRM, "request_wait_end %s %d %d", ring->name, seqno, end);
1159 i915_wait_seqno(struct intel_ring_buffer *ring, uint32_t seqno)
1167 BUG_ON(seqno == 0);
1173 ret = i915_gem_check_olr(ring, seqno);
1177 return __wait_seqno(ring, seqno, interruptible, NULL);
1189 u32 seqno;
1192 seqno = readonly ? obj->last_write_seqno : obj->last_read_seqno;
1193 if (seqno == 0)
1196 ret = i915_wait_seqno(ring, seqno);
1206 i915_seqno_passed(seqno, obj->last_write_seqno)) {
1224 u32 seqno;
1230 seqno = readonly ? obj->last_write_seqno : obj->last_read_seqno;
1231 if (seqno == 0)
1238 ret = i915_gem_check_olr(ring, seqno);
1243 ret = __wait_seqno(ring, seqno, true, NULL);
1253 i915_seqno_passed(seqno, obj->last_write_seqno)) {
2151 u32 seqno = intel_ring_get_seqno(ring);
2166 obj->last_read_seqno = seqno;
2169 obj->last_fenced_seqno = seqno;
2242 i915_gem_get_seqno(struct drm_device *dev, u32 *seqno)
2246 /* reserve 0 for non-seqno */
2255 *seqno = dev_priv->next_seqno++;
2287 * should we detect the updated seqno part-way through the
2299 request->seqno = intel_ring_get_seqno(ring);
2317 CTR2(KTR_DRM, "request_add %s %d", ring->name, request->seqno);
2333 *out_seqno = request->seqno;
2433 uint32_t seqno;
2440 seqno = ring->get_seqno(ring, true);
2441 CTR2(KTR_DRM, "retire_request_ring %s %d", ring->name, seqno);
2450 if (!i915_seqno_passed(seqno, request->seqno))
2454 ring->name, seqno);
2456 * sent us the seqno + interrupt, so use the position
2477 if (!i915_seqno_passed(seqno, obj->last_read_seqno))
2484 i915_seqno_passed(seqno, ring->trace_irq_seqno))) {
2596 u32 seqno = 0;
2621 seqno = obj->last_read_seqno;
2625 if (seqno == 0)
2639 ret = __wait_seqno(ring, seqno, true, timeout);
2668 u32 seqno;
2679 seqno = obj->last_read_seqno;
2680 if (seqno <= from->sync_seqno[idx])
2683 ret = i915_gem_check_olr(obj->ring, seqno);
2687 ret = to->sync_to(to, from, seqno);
2690 * might have just caused seqno wrap under
3730 u32 seqno = 0;
3742 seqno = request->seqno;
3746 if (seqno == 0)
3749 ret = __wait_seqno(ring, seqno, true, NULL);