Lines Matching full:request
65 * I915_FENCE_FLAG_ACTIVE - this request is currently submitted to HW.
68 * by __i915_request_unsubmit() if we preempt this request.
70 * Finally cleared for consistency on retiring the request, when
71 * we know the HW is no longer running this request.
78 * I915_FENCE_FLAG_PQUEUE - this request is ready for execution
80 * Using the scheduler, when a request is ready for execution it is put
90 * I915_FENCE_FLAG_HOLD - this request is currently on hold
92 * This request has been suspended, pending an ongoing investigation.
97 * I915_FENCE_FLAG_INITIAL_BREADCRUMB - this request has the initial
104 * I915_FENCE_FLAG_SIGNAL - this request is currently on signal_list
107 * a request is on the various signal_list.
112 * I915_FENCE_FLAG_NOPREEMPT - this request should not be preempted
115 * a sensitive operation as it makes the request super important,
122 * I915_FENCE_FLAG_SENTINEL - this request should be last in the queue
124 * A high priority sentinel request may be submitted to clear the
125 * submission queue. As it will be the only request in-flight, upon
134 * I915_FENCE_FLAG_BOOST - upclock the gpu for this request
137 * request that the user is waiting on is typically required for
139 * the GPU. Here we track such boost requests on a per-request basis.
145 * Request queue structure.
147 * The request queue allows us to note sequence numbers that have been emitted
152 * emission time to be associated with the request for tracking how far ahead
169 * Context and ring buffer related to this request
170 * Contexts are refcounted, so when this request is associated with a
172 * it persists while any request is linked to it. Requests themselves
173 * are also refcounted, so the request will only be freed when the last
187 * The rcu epoch of when this request was allocated. Used to judiciously
195 * We pin the timeline->mutex while constructing the request to
204 * Fences for the various phases in the request's lifetime.
206 * The submit fence is used to await upon all of the request's
207 * dependencies. When it is signaled, the request is ready to run.
208 * It is used by the driver to then queue the request for execution.
227 * dependency tree for the lifetime of the request (from execbuf
229 * request not tied to individual fences.
242 /** Position in the ring of the start of the request */
255 /** Position in the ring of the end of the whole request */
261 /** Preallocate space in the ring for the emitting the request */
264 /** Batch buffer related to this request if any (used for
272 * on the active_list (of their final request).
276 /** Time at which this request was emitted, in jiffies. */
279 /** timeline->request entry for this request */
297 * Priority level while the request is inflight. Differs from i915
331 struct i915_request *__i915_request_commit(struct i915_request *request);
342 /* We assume that NULL fence/request are interoperable */ in to_request()
376 bool __i915_request_submit(struct i915_request *request);
377 void i915_request_submit(struct i915_request *request);
379 void __i915_request_unsubmit(struct i915_request *request);
380 void i915_request_unsubmit(struct i915_request *request);
389 #define I915_WAIT_PRIORITY BIT(1) /* small priority bump for the request */
399 /* The request may live longer than its HWSP, so check flags first! */ in i915_request_signaled()
436 * @rq: the request, to chase the relevant HW status page
439 * request, but an indication of the current HW state (associated with this
440 * request). Its value will change as the GPU executes more requests.
443 * the local timeline's equivalent) for this request. The request itself
445 * status page has that breadcrumb or later, this request is complete.
464 * i915_request_started - check if the request has begun being executed
465 * @rq: the request
467 * If the timeline is not using initial breadcrumbs, a request is
468 * considered started if the previous request on its timeline (i.e.
473 * it began executing the user payload. A request can therefore be active
477 * If the request has started, its dependencies will have been signaled
481 * However, even if a request has started, it may have been preempted and
486 * Returns true if the request has begun executing the user payload, or
507 * i915_request_is_running - check if the request may actually be executing
508 * @rq: the request
510 * Returns true if the request is currently submitted to hardware, has passed
529 * i915_request_is_ready - check if the request is ready for execution
530 * @rq: the request
532 * Upon construction, the request is instructed to wait upon various
537 * request into its queue and from there submit it for execution. So we
538 * can detect when a request is eligible for execution (and is under control
541 * Returns true if the request is ready for execution (it may be inflight),
610 /* Valid only while the request is being constructed (or retired). */ in i915_request_timeline()
618 /* Valid only while the request is being constructed (or retired). */ in i915_request_gem_context()
648 * when the request isn't signaled yet, but at that point you in i915_request_active_seqno()