Lines Matching refs:wa_ctx

1182 static inline uint32_t wa_ctx_start(struct i915_wa_ctx_bb *wa_ctx,  in wa_ctx_start()  argument
1186 return wa_ctx->offset = ALIGN(offset, start_alignment); in wa_ctx_start()
1189 static inline int wa_ctx_end(struct i915_wa_ctx_bb *wa_ctx, in wa_ctx_end() argument
1193 wa_ctx->size = offset - wa_ctx->offset; in wa_ctx_end()
1195 WARN(wa_ctx->size % size_alignment, in wa_ctx_end()
1197 wa_ctx->size, size_alignment); in wa_ctx_end()
1230 struct i915_wa_ctx_bb *wa_ctx, in gen8_init_indirectctx_bb() argument
1235 uint32_t index = wa_ctx_start(wa_ctx, *offset, CACHELINE_DWORDS); in gen8_init_indirectctx_bb()
1272 return wa_ctx_end(wa_ctx, *offset = index, CACHELINE_DWORDS); in gen8_init_indirectctx_bb()
1293 struct i915_wa_ctx_bb *wa_ctx, in gen8_init_perctx_bb() argument
1297 uint32_t index = wa_ctx_start(wa_ctx, *offset, CACHELINE_DWORDS); in gen8_init_perctx_bb()
1304 return wa_ctx_end(wa_ctx, *offset = index, 1); in gen8_init_perctx_bb()
1308 struct i915_wa_ctx_bb *wa_ctx, in gen9_init_indirectctx_bb() argument
1314 uint32_t index = wa_ctx_start(wa_ctx, *offset, CACHELINE_DWORDS); in gen9_init_indirectctx_bb()
1331 return wa_ctx_end(wa_ctx, *offset = index, CACHELINE_DWORDS); in gen9_init_indirectctx_bb()
1335 struct i915_wa_ctx_bb *wa_ctx, in gen9_init_perctx_bb() argument
1340 uint32_t index = wa_ctx_start(wa_ctx, *offset, CACHELINE_DWORDS); in gen9_init_perctx_bb()
1359 return wa_ctx_end(wa_ctx, *offset = index, 1); in gen9_init_perctx_bb()
1366 ring->wa_ctx.obj = i915_gem_alloc_object(ring->dev, PAGE_ALIGN(size)); in lrc_setup_wa_ctx_obj()
1367 if (!ring->wa_ctx.obj) { in lrc_setup_wa_ctx_obj()
1372 ret = i915_gem_obj_ggtt_pin(ring->wa_ctx.obj, PAGE_SIZE, 0); in lrc_setup_wa_ctx_obj()
1376 drm_gem_object_unreference(&ring->wa_ctx.obj->base); in lrc_setup_wa_ctx_obj()
1385 if (ring->wa_ctx.obj) { in lrc_destroy_wa_ctx_obj()
1386 i915_gem_object_ggtt_unpin(ring->wa_ctx.obj); in lrc_destroy_wa_ctx_obj()
1387 drm_gem_object_unreference(&ring->wa_ctx.obj->base); in lrc_destroy_wa_ctx_obj()
1388 ring->wa_ctx.obj = NULL; in lrc_destroy_wa_ctx_obj()
1398 struct i915_ctx_workarounds *wa_ctx = &ring->wa_ctx; in intel_init_workaround_bb() local
1421 page = i915_gem_object_get_page(wa_ctx->obj, 0); in intel_init_workaround_bb()
1427 &wa_ctx->indirect_ctx, in intel_init_workaround_bb()
1434 &wa_ctx->per_ctx, in intel_init_workaround_bb()
1441 &wa_ctx->indirect_ctx, in intel_init_workaround_bb()
1448 &wa_ctx->per_ctx, in intel_init_workaround_bb()
2307 if (ring->wa_ctx.obj) { in populate_lr_context()
2308 struct i915_ctx_workarounds *wa_ctx = &ring->wa_ctx; in populate_lr_context() local
2309 uint32_t ggtt_offset = i915_gem_obj_ggtt_offset(wa_ctx->obj); in populate_lr_context()
2312 (ggtt_offset + wa_ctx->indirect_ctx.offset * sizeof(uint32_t)) | in populate_lr_context()
2313 (wa_ctx->indirect_ctx.size / CACHELINE_DWORDS); in populate_lr_context()
2319 (ggtt_offset + wa_ctx->per_ctx.offset * sizeof(uint32_t)) | in populate_lr_context()