Lines Matching refs:file_priv
352 i915_gem_vm_lookup(struct drm_i915_file_private *file_priv, u32 id)
356 xa_lock(&file_priv->vm_xa);
357 vm = xa_load(&file_priv->vm_xa, id);
360 xa_unlock(&file_priv->vm_xa);
1538 ctx->file_priv = ERR_PTR(-EBADF);
1722 ctx->file_priv = fpriv;
1746 struct drm_i915_file_private *file_priv = file->driver_priv;
1751 mutex_init(&file_priv->proto_context_lock);
1752 xa_init_flags(&file_priv->proto_context_xa, XA_FLAGS_ALLOC);
1755 xa_init_flags(&file_priv->context_xa, XA_FLAGS_ALLOC1);
1758 xa_init_flags(&file_priv->vm_xa, XA_FLAGS_ALLOC1);
1760 pc = proto_context_create(file_priv, i915, 0);
1773 gem_context_register(ctx, file_priv, 0);
1778 xa_destroy(&file_priv->vm_xa);
1779 xa_destroy(&file_priv->context_xa);
1780 xa_destroy(&file_priv->proto_context_xa);
1781 mutex_destroy(&file_priv->proto_context_lock);
1787 struct drm_i915_file_private *file_priv = file->driver_priv;
1793 xa_for_each(&file_priv->proto_context_xa, idx, pc)
1794 proto_context_close(file_priv->i915, pc);
1795 xa_destroy(&file_priv->proto_context_xa);
1796 mutex_destroy(&file_priv->proto_context_lock);
1798 xa_for_each(&file_priv->context_xa, idx, ctx)
1800 xa_destroy(&file_priv->context_xa);
1802 xa_for_each(&file_priv->vm_xa, idx, vm)
1804 xa_destroy(&file_priv->vm_xa);
1812 struct drm_i915_file_private *file_priv = file->driver_priv;
1835 err = xa_alloc(&file_priv->vm_xa, &id, &ppgtt->vm,
1842 ppgtt->vm.fpriv = file_priv;
1853 struct drm_i915_file_private *file_priv = file->driver_priv;
1863 vm = xa_erase(&file_priv->vm_xa, args->vm_id);
1871 static int get_ppgtt(struct drm_i915_file_private *file_priv,
1893 err = xa_alloc(&file_priv->vm_xa, &id, vm, xa_limit_32b, GFP_KERNEL);
2296 static bool client_is_banned(struct drm_i915_file_private *file_priv)
2298 return atomic_read(&file_priv->ban_score) >= I915_CLIENT_SCORE_BANNED;
2302 __context_lookup(struct drm_i915_file_private *file_priv, u32 id)
2307 ctx = xa_load(&file_priv->context_xa, id);
2316 finalize_create_context_locked(struct drm_i915_file_private *file_priv,
2322 lockdep_assert_held(&file_priv->proto_context_lock);
2324 ctx = i915_gem_create_context(file_priv->i915, pc);
2337 gem_context_register(ctx, file_priv, id);
2339 old = xa_erase(&file_priv->proto_context_xa, id);
2341 proto_context_close(file_priv->i915, pc);
2347 i915_gem_context_lookup(struct drm_i915_file_private *file_priv, u32 id)
2352 ctx = __context_lookup(file_priv, id);
2356 mutex_lock(&file_priv->proto_context_lock);
2358 ctx = __context_lookup(file_priv, id);
2360 pc = xa_load(&file_priv->proto_context_xa, id);
2364 ctx = finalize_create_context_locked(file_priv, pc, id);
2366 mutex_unlock(&file_priv->proto_context_lock);
2448 struct drm_i915_file_private *file_priv = file->driver_priv;
2461 mutex_lock(&file_priv->proto_context_lock);
2462 ctx = xa_erase(&file_priv->context_xa, args->ctx_id);
2463 pc = xa_erase(&file_priv->proto_context_xa, args->ctx_id);
2464 mutex_unlock(&file_priv->proto_context_lock);
2471 proto_context_close(file_priv->i915, pc);
2537 struct drm_i915_file_private *file_priv = file->driver_priv;
2543 ctx = i915_gem_context_lookup(file_priv, args->ctx_id);
2581 ret = get_ppgtt(file_priv, ctx, args);
2610 struct drm_i915_file_private *file_priv = file->driver_priv;
2616 mutex_lock(&file_priv->proto_context_lock);
2617 ctx = __context_lookup(file_priv, args->ctx_id);
2619 pc = xa_load(&file_priv->proto_context_xa, args->ctx_id);
2625 WARN_ON(GRAPHICS_VER(file_priv->i915) > 12);
2626 ret = set_proto_ctx_param(file_priv, pc, args);
2631 mutex_unlock(&file_priv->proto_context_lock);
2634 ret = ctx_setparam(file_priv, ctx, args);