Lines Matching defs:engine

39 void intel_engine_add_user(struct intel_engine_cs *engine)
41 llist_add(&engine->uabi_llist, &engine->i915->uabi_engines_llist);
87 struct intel_engine_cs *engine =
88 container_of(pos, typeof(*engine), uabi_llist);
89 list_add(&engine->uabi_list, engines);
97 u8 engine;
106 struct intel_engine_cs *engine;
111 for_each_uabi_engine(engine, i915) { /* all engines must agree! */
114 if (engine->sched_engine->schedule)
121 if (intel_uc_uses_guc_submission(&engine->gt->uc))
125 if (engine->flags & BIT(map[i].engine))
182 struct intel_engine_cs *engine)
184 if (engine->gt != ring->gt || engine->class != ring->class) {
185 ring->gt = engine->gt;
186 ring->class = engine->class;
190 engine->legacy_idx = legacy_ring_idx(ring);
191 if (engine->legacy_idx != INVALID_ENGINE)
195 static void engine_rename(struct intel_engine_cs *engine, const char *name, u16 instance)
197 char old[sizeof(engine->name)];
199 memcpy(old, engine->name, sizeof(engine->name));
200 scnprintf(engine->name, sizeof(engine->name), "%s%u", name, instance);
201 drm_dbg(&engine->i915->drm, "renamed %s to %s\n", old, engine->name);
217 struct intel_engine_cs *engine =
218 container_of(it, typeof(*engine), uabi_list);
220 if (intel_gt_has_unrecoverable_error(engine->gt))
223 GEM_BUG_ON(engine->class >= ARRAY_SIZE(uabi_classes));
224 engine->uabi_class = uabi_classes[engine->class];
225 if (engine->uabi_class == I915_NO_UABI_CLASS) {
228 GEM_BUG_ON(engine->uabi_class >=
231 i915->engine_uabi_class_count[engine->uabi_class]++;
233 engine->uabi_instance = name_instance;
239 engine_rename(engine,
240 intel_engine_class_repr(engine->class),
243 if (engine->uabi_class == I915_NO_UABI_CLASS)
246 rb_link_node(&engine->uabi_node, prev, p);
247 rb_insert_color(&engine->uabi_node, &i915->uabi_engines);
250 engine->uabi_class,
251 engine->uabi_instance) != engine);
254 add_legacy_ring(&ring, engine);
256 prev = &engine->uabi_node;
262 struct intel_engine_cs *engine;
269 engine = intel_engine_lookup_user(i915,
271 if (!engine) {
272 pr_err("UABI engine not found for { class:%d, instance:%d }\n",
278 if (engine->uabi_class != class ||
279 engine->uabi_instance != inst) {
280 pr_err("Wrong UABI engine:%s { class:%d, instance:%d } found for { class:%d, instance:%d }\n",
281 engine->name,
282 engine->uabi_class,
283 engine->uabi_instance,
292 * Make sure that classes with multiple engine instances all
296 for_each_uabi_engine(engine, i915) {
297 unsigned int bit = BIT(engine->uabi_class);
298 unsigned int expected = engine->default_state ? bit : 0;
301 pr_err("mismatching default context state for class %d on engine %s\n",
302 engine->uabi_class, engine->name);
308 "Invalid UABI engine mapping found"))
317 struct intel_engine_cs *engine;
321 for_each_uabi_engine(engine, i915)
322 if (engine->default_state)
323 which |= BIT(engine->uabi_class);