Lines Matching refs:engine

189 static void gen8_ctx_workarounds_init(struct intel_engine_cs *engine,  in gen8_ctx_workarounds_init()  argument
237 static void bdw_ctx_workarounds_init(struct intel_engine_cs *engine, in bdw_ctx_workarounds_init() argument
240 struct drm_i915_private *i915 = engine->i915; in bdw_ctx_workarounds_init()
242 gen8_ctx_workarounds_init(engine, wal); in bdw_ctx_workarounds_init()
265 static void chv_ctx_workarounds_init(struct intel_engine_cs *engine, in chv_ctx_workarounds_init() argument
268 gen8_ctx_workarounds_init(engine, wal); in chv_ctx_workarounds_init()
277 static void gen9_ctx_workarounds_init(struct intel_engine_cs *engine, in gen9_ctx_workarounds_init() argument
280 struct drm_i915_private *i915 = engine->i915; in gen9_ctx_workarounds_init()
370 static void skl_tune_iz_hashing(struct intel_engine_cs *engine, in skl_tune_iz_hashing() argument
373 struct drm_i915_private *i915 = engine->i915; in skl_tune_iz_hashing()
410 static void skl_ctx_workarounds_init(struct intel_engine_cs *engine, in skl_ctx_workarounds_init() argument
413 gen9_ctx_workarounds_init(engine, wal); in skl_ctx_workarounds_init()
414 skl_tune_iz_hashing(engine, wal); in skl_ctx_workarounds_init()
417 static void bxt_ctx_workarounds_init(struct intel_engine_cs *engine, in bxt_ctx_workarounds_init() argument
420 gen9_ctx_workarounds_init(engine, wal); in bxt_ctx_workarounds_init()
431 static void kbl_ctx_workarounds_init(struct intel_engine_cs *engine, in kbl_ctx_workarounds_init() argument
434 struct drm_i915_private *i915 = engine->i915; in kbl_ctx_workarounds_init()
436 gen9_ctx_workarounds_init(engine, wal); in kbl_ctx_workarounds_init()
448 static void glk_ctx_workarounds_init(struct intel_engine_cs *engine, in glk_ctx_workarounds_init() argument
451 gen9_ctx_workarounds_init(engine, wal); in glk_ctx_workarounds_init()
458 static void cfl_ctx_workarounds_init(struct intel_engine_cs *engine, in cfl_ctx_workarounds_init() argument
461 gen9_ctx_workarounds_init(engine, wal); in cfl_ctx_workarounds_init()
472 static void cnl_ctx_workarounds_init(struct intel_engine_cs *engine, in cnl_ctx_workarounds_init() argument
475 struct drm_i915_private *i915 = engine->i915; in cnl_ctx_workarounds_init()
512 static void icl_ctx_workarounds_init(struct intel_engine_cs *engine, in icl_ctx_workarounds_init() argument
515 struct drm_i915_private *i915 = engine->i915; in icl_ctx_workarounds_init()
520 intel_uncore_read(engine->uncore, GEN8_L3CNTLREG) | in icl_ctx_workarounds_init()
567 static void tgl_ctx_workarounds_init(struct intel_engine_cs *engine, in tgl_ctx_workarounds_init() argument
573 __intel_engine_init_ctx_wa(struct intel_engine_cs *engine, in __intel_engine_init_ctx_wa() argument
577 struct drm_i915_private *i915 = engine->i915; in __intel_engine_init_ctx_wa()
579 if (engine->class != RENDER_CLASS) in __intel_engine_init_ctx_wa()
582 wa_init_start(wal, name, engine->name); in __intel_engine_init_ctx_wa()
585 tgl_ctx_workarounds_init(engine, wal); in __intel_engine_init_ctx_wa()
587 icl_ctx_workarounds_init(engine, wal); in __intel_engine_init_ctx_wa()
589 cnl_ctx_workarounds_init(engine, wal); in __intel_engine_init_ctx_wa()
591 cfl_ctx_workarounds_init(engine, wal); in __intel_engine_init_ctx_wa()
593 glk_ctx_workarounds_init(engine, wal); in __intel_engine_init_ctx_wa()
595 kbl_ctx_workarounds_init(engine, wal); in __intel_engine_init_ctx_wa()
597 bxt_ctx_workarounds_init(engine, wal); in __intel_engine_init_ctx_wa()
599 skl_ctx_workarounds_init(engine, wal); in __intel_engine_init_ctx_wa()
601 chv_ctx_workarounds_init(engine, wal); in __intel_engine_init_ctx_wa()
603 bdw_ctx_workarounds_init(engine, wal); in __intel_engine_init_ctx_wa()
612 void intel_engine_init_ctx_wa(struct intel_engine_cs *engine) in intel_engine_init_ctx_wa() argument
614 __intel_engine_init_ctx_wa(engine, &engine->ctx_wa_list, "context"); in intel_engine_init_ctx_wa()
619 struct i915_wa_list *wal = &rq->engine->ctx_wa_list; in intel_engine_emit_ctx_wa()
628 ret = rq->engine->emit_flush(rq, EMIT_BARRIER); in intel_engine_emit_ctx_wa()
645 ret = rq->engine->emit_flush(rq, EMIT_BARRIER); in intel_engine_emit_ctx_wa()
1071 static void skl_whitelist_build(struct intel_engine_cs *engine) in skl_whitelist_build() argument
1073 struct i915_wa_list *w = &engine->whitelist; in skl_whitelist_build()
1075 if (engine->class != RENDER_CLASS) in skl_whitelist_build()
1084 static void bxt_whitelist_build(struct intel_engine_cs *engine) in bxt_whitelist_build() argument
1086 if (engine->class != RENDER_CLASS) in bxt_whitelist_build()
1089 gen9_whitelist_build(&engine->whitelist); in bxt_whitelist_build()
1092 static void kbl_whitelist_build(struct intel_engine_cs *engine) in kbl_whitelist_build() argument
1094 struct i915_wa_list *w = &engine->whitelist; in kbl_whitelist_build()
1096 if (engine->class != RENDER_CLASS) in kbl_whitelist_build()
1105 static void glk_whitelist_build(struct intel_engine_cs *engine) in glk_whitelist_build() argument
1107 struct i915_wa_list *w = &engine->whitelist; in glk_whitelist_build()
1109 if (engine->class != RENDER_CLASS) in glk_whitelist_build()
1118 static void cfl_whitelist_build(struct intel_engine_cs *engine) in cfl_whitelist_build() argument
1120 struct i915_wa_list *w = &engine->whitelist; in cfl_whitelist_build()
1122 if (engine->class != RENDER_CLASS) in cfl_whitelist_build()
1141 static void cnl_whitelist_build(struct intel_engine_cs *engine) in cnl_whitelist_build() argument
1143 struct i915_wa_list *w = &engine->whitelist; in cnl_whitelist_build()
1145 if (engine->class != RENDER_CLASS) in cnl_whitelist_build()
1152 static void icl_whitelist_build(struct intel_engine_cs *engine) in icl_whitelist_build() argument
1154 struct i915_wa_list *w = &engine->whitelist; in icl_whitelist_build()
1156 switch (engine->class) { in icl_whitelist_build()
1183 whitelist_reg_ext(w, _MMIO(0x2000 + engine->mmio_base), in icl_whitelist_build()
1186 whitelist_reg_ext(w, _MMIO(0x2014 + engine->mmio_base), in icl_whitelist_build()
1189 whitelist_reg_ext(w, _MMIO(0x23B0 + engine->mmio_base), in icl_whitelist_build()
1198 static void tgl_whitelist_build(struct intel_engine_cs *engine) in tgl_whitelist_build() argument
1202 void intel_engine_init_whitelist(struct intel_engine_cs *engine) in intel_engine_init_whitelist() argument
1204 struct drm_i915_private *i915 = engine->i915; in intel_engine_init_whitelist()
1205 struct i915_wa_list *w = &engine->whitelist; in intel_engine_init_whitelist()
1207 wa_init_start(w, "whitelist", engine->name); in intel_engine_init_whitelist()
1210 tgl_whitelist_build(engine); in intel_engine_init_whitelist()
1212 icl_whitelist_build(engine); in intel_engine_init_whitelist()
1214 cnl_whitelist_build(engine); in intel_engine_init_whitelist()
1216 cfl_whitelist_build(engine); in intel_engine_init_whitelist()
1218 glk_whitelist_build(engine); in intel_engine_init_whitelist()
1220 kbl_whitelist_build(engine); in intel_engine_init_whitelist()
1222 bxt_whitelist_build(engine); in intel_engine_init_whitelist()
1224 skl_whitelist_build(engine); in intel_engine_init_whitelist()
1233 void intel_engine_apply_whitelist(struct intel_engine_cs *engine) in intel_engine_apply_whitelist() argument
1235 const struct i915_wa_list *wal = &engine->whitelist; in intel_engine_apply_whitelist()
1236 struct intel_uncore *uncore = engine->uncore; in intel_engine_apply_whitelist()
1237 const u32 base = engine->mmio_base; in intel_engine_apply_whitelist()
1257 rcs_engine_wa_init(struct intel_engine_cs *engine, struct i915_wa_list *wal) in rcs_engine_wa_init() argument
1259 struct drm_i915_private *i915 = engine->i915; in rcs_engine_wa_init()
1374 xcs_engine_wa_init(struct intel_engine_cs *engine, struct i915_wa_list *wal) in xcs_engine_wa_init() argument
1376 struct drm_i915_private *i915 = engine->i915; in xcs_engine_wa_init()
1381 RING_SEMA_WAIT_POLL(engine->mmio_base), in xcs_engine_wa_init()
1387 engine_init_workarounds(struct intel_engine_cs *engine, struct i915_wa_list *wal) in engine_init_workarounds() argument
1389 if (I915_SELFTEST_ONLY(INTEL_GEN(engine->i915) < 8)) in engine_init_workarounds()
1392 if (engine->class == RENDER_CLASS) in engine_init_workarounds()
1393 rcs_engine_wa_init(engine, wal); in engine_init_workarounds()
1395 xcs_engine_wa_init(engine, wal); in engine_init_workarounds()
1398 void intel_engine_init_workarounds(struct intel_engine_cs *engine) in intel_engine_init_workarounds() argument
1400 struct i915_wa_list *wal = &engine->wa_list; in intel_engine_init_workarounds()
1402 if (INTEL_GEN(engine->i915) < 8) in intel_engine_init_workarounds()
1405 wa_init_start(wal, "engine", engine->name); in intel_engine_init_workarounds()
1406 engine_init_workarounds(engine, wal); in intel_engine_init_workarounds()
1410 void intel_engine_apply_workarounds(struct intel_engine_cs *engine) in intel_engine_apply_workarounds() argument
1412 wa_list_apply(engine->uncore, &engine->wa_list); in intel_engine_apply_workarounds()
1514 vma = create_scratch(&ce->engine->gt->ggtt->vm, wal->count); in engine_wa_list_verify()
1557 int intel_engine_verify_workarounds(struct intel_engine_cs *engine, in intel_engine_verify_workarounds() argument
1560 return engine_wa_list_verify(engine->kernel_context, in intel_engine_verify_workarounds()
1561 &engine->wa_list, in intel_engine_verify_workarounds()