#include "gem/i915_gem_context.h"
#include "gem/i915_gem_pm.h"
#include "i915_drm_client.h"
#include "i915_drv.h"
#include "i915_trace.h"
#include "intel_context.h"
#include "intel_engine.h"
#include "intel_engine_pm.h"
#include "intel_ring.h"
static struct kmem_cache *slab_ce;
static struct intel_context *intel_context_alloc(void)
{ … }
static void rcu_context_free(struct rcu_head *rcu)
{ … }
void intel_context_free(struct intel_context *ce)
{ … }
struct intel_context *
intel_context_create(struct intel_engine_cs *engine)
{ … }
int intel_context_alloc_state(struct intel_context *ce)
{ … }
static int intel_context_active_acquire(struct intel_context *ce)
{ … }
static void intel_context_active_release(struct intel_context *ce)
{ … }
static int __context_pin_state(struct i915_vma *vma, struct i915_gem_ww_ctx *ww)
{ … }
static void __context_unpin_state(struct i915_vma *vma)
{ … }
static int __ring_active(struct intel_ring *ring,
struct i915_gem_ww_ctx *ww)
{ … }
static void __ring_retire(struct intel_ring *ring)
{ … }
static int intel_context_pre_pin(struct intel_context *ce,
struct i915_gem_ww_ctx *ww)
{ … }
static void intel_context_post_unpin(struct intel_context *ce)
{ … }
int __intel_context_do_pin_ww(struct intel_context *ce,
struct i915_gem_ww_ctx *ww)
{ … }
int __intel_context_do_pin(struct intel_context *ce)
{ … }
void __intel_context_do_unpin(struct intel_context *ce, int sub)
{ … }
static void __intel_context_retire(struct i915_active *active)
{ … }
static int __intel_context_active(struct i915_active *active)
{ … }
static int
sw_fence_dummy_notify(struct i915_sw_fence *sf,
enum i915_sw_fence_notify state)
{ … }
void
intel_context_init(struct intel_context *ce, struct intel_engine_cs *engine)
{ … }
void intel_context_fini(struct intel_context *ce)
{ … }
void i915_context_module_exit(void)
{ … }
int __init i915_context_module_init(void)
{ … }
void intel_context_enter_engine(struct intel_context *ce)
{ … }
void intel_context_exit_engine(struct intel_context *ce)
{ … }
int intel_context_prepare_remote_request(struct intel_context *ce,
struct i915_request *rq)
{ … }
struct i915_request *intel_context_create_request(struct intel_context *ce)
{ … }
struct i915_request *intel_context_get_active_request(struct intel_context *ce)
{ … }
void intel_context_bind_parent_child(struct intel_context *parent,
struct intel_context *child)
{ … }
u64 intel_context_get_total_runtime_ns(struct intel_context *ce)
{ … }
u64 intel_context_get_avg_runtime_ns(struct intel_context *ce)
{ … }
bool intel_context_ban(struct intel_context *ce, struct i915_request *rq)
{ … }
bool intel_context_revoke(struct intel_context *ce)
{ … }
#if IS_ENABLED(CONFIG_DRM_I915_SELFTEST)
#include "selftest_context.c"
#endif