Lines Matching refs:ctx
138 struct intel_context *ctx = container_of(ctx_ref, in i915_gem_context_free() local
139 typeof(*ctx), ref); in i915_gem_context_free()
141 trace_i915_context_free(ctx); in i915_gem_context_free()
144 intel_lr_context_free(ctx); in i915_gem_context_free()
146 i915_ppgtt_put(ctx->ppgtt); in i915_gem_context_free()
148 if (ctx->legacy_hw_ctx.rcs_state) in i915_gem_context_free()
149 drm_gem_object_unreference(&ctx->legacy_hw_ctx.rcs_state->base); in i915_gem_context_free()
150 list_del(&ctx->link); in i915_gem_context_free()
151 kfree(ctx); in i915_gem_context_free()
189 struct intel_context *ctx; in __create_hw_context() local
192 ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); in __create_hw_context()
193 if (ctx == NULL) in __create_hw_context()
196 kref_init(&ctx->ref); in __create_hw_context()
197 list_add_tail(&ctx->link, &dev_priv->context_list); in __create_hw_context()
206 ctx->legacy_hw_ctx.rcs_state = obj; in __create_hw_context()
211 ret = idr_alloc(&file_priv->context_idr, ctx, in __create_hw_context()
218 ctx->file_priv = file_priv; in __create_hw_context()
219 ctx->user_handle = ret; in __create_hw_context()
223 ctx->remap_slice = (1 << NUM_L3_SLICES(dev)) - 1; in __create_hw_context()
225 ctx->hang_stats.ban_period_seconds = DRM_I915_CTX_BAN_PERIOD; in __create_hw_context()
227 return ctx; in __create_hw_context()
230 i915_gem_context_unreference(ctx); in __create_hw_context()
244 struct intel_context *ctx; in i915_gem_create_context() local
249 ctx = __create_hw_context(dev, file_priv); in i915_gem_create_context()
250 if (IS_ERR(ctx)) in i915_gem_create_context()
251 return ctx; in i915_gem_create_context()
253 if (is_global_default_ctx && ctx->legacy_hw_ctx.rcs_state) { in i915_gem_create_context()
261 ret = i915_gem_obj_ggtt_pin(ctx->legacy_hw_ctx.rcs_state, in i915_gem_create_context()
279 ctx->ppgtt = ppgtt; in i915_gem_create_context()
282 trace_i915_context_create(ctx); in i915_gem_create_context()
284 return ctx; in i915_gem_create_context()
287 if (is_global_default_ctx && ctx->legacy_hw_ctx.rcs_state) in i915_gem_create_context()
288 i915_gem_object_ggtt_unpin(ctx->legacy_hw_ctx.rcs_state); in i915_gem_create_context()
290 i915_gem_context_unreference(ctx); in i915_gem_create_context()
300 struct intel_context *ctx; in i915_gem_context_reset() local
302 list_for_each_entry(ctx, &dev_priv->context_list, link) { in i915_gem_context_reset()
303 intel_lr_context_reset(dev, ctx); in i915_gem_context_reset()
330 struct intel_context *ctx; in i915_gem_context_init() local
351 ctx = i915_gem_create_context(dev, NULL); in i915_gem_context_init()
352 if (IS_ERR(ctx)) { in i915_gem_context_init()
354 PTR_ERR(ctx)); in i915_gem_context_init()
355 return PTR_ERR(ctx); in i915_gem_context_init()
362 ring->default_context = ctx; in i915_gem_context_init()
446 struct intel_context *ctx = p; in context_idr_cleanup() local
448 i915_gem_context_unreference(ctx); in context_idr_cleanup()
455 struct intel_context *ctx; in i915_gem_context_open() local
460 ctx = i915_gem_create_context(dev, file_priv); in i915_gem_context_open()
463 if (IS_ERR(ctx)) { in i915_gem_context_open()
465 return PTR_ERR(ctx); in i915_gem_context_open()
482 struct intel_context *ctx; in i915_gem_context_get() local
484 ctx = (struct intel_context *)idr_find(&file_priv->context_idr, id); in i915_gem_context_get()
485 if (!ctx) in i915_gem_context_get()
488 return ctx; in i915_gem_context_get()
851 struct intel_context *ctx; in i915_gem_context_create_ioctl() local
861 ctx = i915_gem_create_context(dev, file_priv); in i915_gem_context_create_ioctl()
863 if (IS_ERR(ctx)) in i915_gem_context_create_ioctl()
864 return PTR_ERR(ctx); in i915_gem_context_create_ioctl()
866 args->ctx_id = ctx->user_handle; in i915_gem_context_create_ioctl()
877 struct intel_context *ctx; in i915_gem_context_destroy_ioctl() local
887 ctx = i915_gem_context_get(file_priv, args->ctx_id); in i915_gem_context_destroy_ioctl()
888 if (IS_ERR(ctx)) { in i915_gem_context_destroy_ioctl()
890 return PTR_ERR(ctx); in i915_gem_context_destroy_ioctl()
893 idr_remove(&ctx->file_priv->context_idr, ctx->user_handle); in i915_gem_context_destroy_ioctl()
894 i915_gem_context_unreference(ctx); in i915_gem_context_destroy_ioctl()
906 struct intel_context *ctx; in i915_gem_context_getparam_ioctl() local
913 ctx = i915_gem_context_get(file_priv, args->ctx_id); in i915_gem_context_getparam_ioctl()
914 if (IS_ERR(ctx)) { in i915_gem_context_getparam_ioctl()
916 return PTR_ERR(ctx); in i915_gem_context_getparam_ioctl()
922 args->value = ctx->hang_stats.ban_period_seconds; in i915_gem_context_getparam_ioctl()
938 struct intel_context *ctx; in i915_gem_context_setparam_ioctl() local
945 ctx = i915_gem_context_get(file_priv, args->ctx_id); in i915_gem_context_setparam_ioctl()
946 if (IS_ERR(ctx)) { in i915_gem_context_setparam_ioctl()
948 return PTR_ERR(ctx); in i915_gem_context_setparam_ioctl()
955 else if (args->value < ctx->hang_stats.ban_period_seconds && in i915_gem_context_setparam_ioctl()
959 ctx->hang_stats.ban_period_seconds = args->value; in i915_gem_context_setparam_ioctl()