Lines Matching full:request
73 * I915_FENCE_FLAG_ACTIVE - this request is currently submitted to HW.
76 * by __i915_request_unsubmit() if we preempt this request.
78 * Finally cleared for consistency on retiring the request, when
79 * we know the HW is no longer running this request.
86 * I915_FENCE_FLAG_PQUEUE - this request is ready for execution
88 * Using the scheduler, when a request is ready for execution it is put
98 * I915_FENCE_FLAG_HOLD - this request is currently on hold
100 * This request has been suspended, pending an ongoing investigation.
105 * I915_FENCE_FLAG_INITIAL_BREADCRUMB - this request has the initial
112 * I915_FENCE_FLAG_SIGNAL - this request is currently on signal_list
115 * a request is on the various signal_list.
120 * I915_FENCE_FLAG_NOPREEMPT - this request should not be preempted
123 * a sensitive operation as it makes the request super important,
130 * I915_FENCE_FLAG_SENTINEL - this request should be last in the queue
132 * A high priority sentinel request may be submitted to clear the
133 * submission queue. As it will be the only request in-flight, upon
142 * I915_FENCE_FLAG_BOOST - upclock the gpu for this request
145 * request that the user is waiting on is typically required for
147 * the GPU. Here we track such boost requests on a per-request basis.
152 * I915_FENCE_FLAG_SUBMIT_PARALLEL - request with a context in a
160 * I915_FENCE_FLAG_SKIP_PARALLEL - request with a context in a
163 * Indicates this request should be skipped as another request in
176 * Request queue structure.
178 * The request queue allows us to note sequence numbers that have been emitted
183 * emission time to be associated with the request for tracking how far ahead
202 * Context and ring buffer related to this request
203 * Contexts are refcounted, so when this request is associated with a
205 * it persists while any request is linked to it. Requests themselves
206 * are also refcounted, so the request will only be freed when the last
220 * The rcu epoch of when this request was allocated. Used to judiciously
228 * We pin the timeline->mutex while constructing the request to
237 * Fences for the various phases in the request's lifetime.
239 * The submit fence is used to await upon all of the request's
240 * dependencies. When it is signaled, the request is ready to run.
241 * It is used by the driver to then queue the request for execution.
265 * dependency tree for the lifetime of the request (from execbuf
267 * request not tied to individual fences.
280 /* Position in the ring of the start of the request */
293 /* Position in the ring of the end of the whole request */
299 /* Preallocate space in the ring for the emitting the request */
312 * on the active_list (of their final request).
317 /* Time at which this request was emitted, in jiffies. */
320 /* timeline->request entry for this request */
339 * Priority level while the request is in flight. Differs
345 * are possible because the request has completed.
382 struct i915_request *__i915_request_commit(struct i915_request *request);
393 /* We assume that NULL fence/request are interoperable */ in to_request()
428 bool __i915_request_submit(struct i915_request *request);
429 void i915_request_submit(struct i915_request *request);
431 void __i915_request_unsubmit(struct i915_request *request);
432 void i915_request_unsubmit(struct i915_request *request);
446 #define I915_WAIT_PRIORITY BIT(1) /* small priority bump for the request */
456 /* The request may live longer than its HWSP, so check flags first! */ in i915_request_signaled()
493 * @rq: the request, to chase the relevant HW status page
496 * request, but an indication of the current HW state (associated with this
497 * request). Its value will change as the GPU executes more requests.
500 * the local timeline's equivalent) for this request. The request itself
502 * status page has that breadcrumb or later, this request is complete.
521 * i915_request_started - check if the request has begun being executed
522 * @rq: the request
524 * If the timeline is not using initial breadcrumbs, a request is
525 * considered started if the previous request on its timeline (i.e.
530 * it began executing the user payload. A request can therefore be active
534 * If the request has started, its dependencies will have been signaled
538 * However, even if a request has started, it may have been preempted and
543 * Returns true if the request has begun executing the user payload, or
564 * i915_request_is_running - check if the request may actually be executing
565 * @rq: the request
567 * Returns true if the request is currently submitted to hardware, has passed
586 * i915_request_is_ready - check if the request is ready for execution
587 * @rq: the request
589 * Upon construction, the request is instructed to wait upon various
594 * request into its queue and from there submit it for execution. So we
595 * can detect when a request is eligible for execution (and is under control
598 * Returns true if the request is ready for execution (it may be inflight),
667 /* Valid only while the request is being constructed (or retired). */ in i915_request_timeline()
676 /* Valid only while the request is being constructed (or retired). */ in i915_request_gem_context()
706 * when the request isn't signaled yet, but at that point you in i915_request_active_seqno()