Lines Matching full:q
34 void xe_exec_queue_fini(struct xe_exec_queue *q);
36 void xe_exec_queue_assign_name(struct xe_exec_queue *q, u32 instance);
39 xe_exec_queue_get_unless_zero(struct xe_exec_queue *q) in xe_exec_queue_get_unless_zero() argument
41 if (kref_get_unless_zero(&q->refcount)) in xe_exec_queue_get_unless_zero()
42 return q; in xe_exec_queue_get_unless_zero()
49 static inline struct xe_exec_queue *xe_exec_queue_get(struct xe_exec_queue *q) in xe_exec_queue_get() argument
51 kref_get(&q->refcount); in xe_exec_queue_get()
52 return q; in xe_exec_queue_get()
55 static inline void xe_exec_queue_put(struct xe_exec_queue *q) in xe_exec_queue_put() argument
57 kref_put(&q->refcount, xe_exec_queue_destroy); in xe_exec_queue_put()
60 static inline bool xe_exec_queue_is_parallel(struct xe_exec_queue *q) in xe_exec_queue_is_parallel() argument
62 return q->width > 1; in xe_exec_queue_is_parallel()
65 static inline bool xe_exec_queue_uses_pxp(struct xe_exec_queue *q) in xe_exec_queue_uses_pxp() argument
67 return q->pxp.type; in xe_exec_queue_uses_pxp()
72 * @q: The exec_queue
76 static inline bool xe_exec_queue_is_multi_queue(struct xe_exec_queue *q) in xe_exec_queue_is_multi_queue() argument
78 return q->multi_queue.valid; in xe_exec_queue_is_multi_queue()
84 * @q: The exec_queue
86 * Return: True if @q is primary queue of a queue group, false otherwise.
88 static inline bool xe_exec_queue_is_multi_queue_primary(struct xe_exec_queue *q) in xe_exec_queue_is_multi_queue_primary() argument
90 return q->multi_queue.is_primary; in xe_exec_queue_is_multi_queue_primary()
96 * @q: The exec_queue
98 * Return: True if @q is secondary queue of a queue group, false otherwise.
100 static inline bool xe_exec_queue_is_multi_queue_secondary(struct xe_exec_queue *q) in xe_exec_queue_is_multi_queue_secondary() argument
102 return xe_exec_queue_is_multi_queue(q) && !xe_exec_queue_is_multi_queue_primary(q); in xe_exec_queue_is_multi_queue_secondary()
107 * @q: The exec_queue
109 * If @q belongs to a multi queue group, then the primary queue of the group will
110 * be returned. Otherwise, @q will be returned.
112 static inline struct xe_exec_queue *xe_exec_queue_multi_queue_primary(struct xe_exec_queue *q) in xe_exec_queue_multi_queue_primary() argument
114 return xe_exec_queue_is_multi_queue(q) ? q->multi_queue.group->primary : q; in xe_exec_queue_multi_queue_primary()
117 bool xe_exec_queue_is_lr(struct xe_exec_queue *q);
119 bool xe_exec_queue_is_idle(struct xe_exec_queue *q);
121 void xe_exec_queue_kill(struct xe_exec_queue *q);
142 void xe_exec_queue_tlb_inval_last_fence_put(struct xe_exec_queue *q,
146 void xe_exec_queue_tlb_inval_last_fence_put_unlocked(struct xe_exec_queue *q,
149 struct dma_fence *xe_exec_queue_tlb_inval_last_fence_get(struct xe_exec_queue *q,
153 void xe_exec_queue_tlb_inval_last_fence_set(struct xe_exec_queue *q,
158 void xe_exec_queue_update_run_ticks(struct xe_exec_queue *q);
160 int xe_exec_queue_contexts_hwsp_rebase(struct xe_exec_queue *q, void *scratch);
162 struct xe_lrc *xe_exec_queue_lrc(struct xe_exec_queue *q);
166 * @q: The exec_queue
176 static inline bool xe_exec_queue_idle_skip_suspend(struct xe_exec_queue *q) in xe_exec_queue_idle_skip_suspend() argument
178 return !xe_exec_queue_is_parallel(q) && xe_exec_queue_is_idle(q); in xe_exec_queue_idle_skip_suspend()