seq_printf(m, " (frontbuffer: 0x%03x)", obj->frontbuffer_bits);
 }
 
-static void describe_ctx(struct seq_file *m, struct intel_context *ctx)
+static void describe_ctx(struct seq_file *m, struct i915_gem_context *ctx)
 {
        seq_putc(m, ctx->legacy_hw_ctx.initialized ? 'I' : 'i');
        seq_putc(m, ctx->remap_slice ? 'R' : 'r');
        struct drm_device *dev = node->minor->dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct intel_engine_cs *engine;
-       struct intel_context *ctx;
+       struct i915_gem_context *ctx;
        enum intel_engine_id id;
        int ret;
 
 }
 
 static void i915_dump_lrc_obj(struct seq_file *m,
-                             struct intel_context *ctx,
+                             struct i915_gem_context *ctx,
                              struct intel_engine_cs *engine)
 {
        struct page *page;
        struct drm_device *dev = node->minor->dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct intel_engine_cs *engine;
-       struct intel_context *ctx;
+       struct i915_gem_context *ctx;
        int ret;
 
        if (!i915.enable_execlists) {
 
 static int per_file_ctx(int id, void *ptr, void *data)
 {
-       struct intel_context *ctx = ptr;
+       struct i915_gem_context *ctx = ptr;
        struct seq_file *m = data;
        struct i915_hw_ppgtt *ppgtt = ctx->ppgtt;
 
 
 
 #define CONTEXT_NO_ZEROMAP (1<<0)
 /**
- * struct intel_context - as the name implies, represents a context.
+ * struct i915_gem_context - as the name implies, represents a context.
  * @ref: reference count.
  * @user_handle: userspace tracking identity for this context.
  * @remap_slice: l3 row remapping information.
  * Contexts are memory images used by the hardware to store copies of their
  * internal state.
  */
-struct intel_context {
+struct i915_gem_context {
        struct kref ref;
        int user_handle;
        uint8_t remap_slice;
        uint64_t                        batch_obj_vm_offset;
        struct intel_engine_cs *engine;
        struct drm_i915_gem_object      *batch_obj;
-       struct intel_context            *ctx;
+       struct i915_gem_context            *ctx;
        struct drm_i915_gem_request     *request;
 };
 
                void (*stop_engine)(struct intel_engine_cs *engine);
        } gt;
 
-       struct intel_context *kernel_context;
+       struct i915_gem_context *kernel_context;
 
        /* perform PHY state sanity checks? */
        bool chv_phy_assert[2];
         * i915_gem_request_free() will then decrement the refcount on the
         * context.
         */
-       struct intel_context *ctx;
+       struct i915_gem_context *ctx;
        struct intel_ringbuffer *ringbuf;
 
        /**
         * we keep the previous context pinned until the following (this)
         * request is retired.
         */
-       struct intel_context *previous_context;
+       struct i915_gem_context *previous_context;
 
        /** Batch buffer related to this request if any (used for
            error state dump only) */
 
 struct drm_i915_gem_request * __must_check
 i915_gem_request_alloc(struct intel_engine_cs *engine,
-                      struct intel_context *ctx);
+                      struct i915_gem_context *ctx);
 void i915_gem_request_free(struct kref *req_ref);
 int i915_gem_request_add_to_client(struct drm_i915_gem_request *req,
                                   struct drm_file *file);
 int i915_gem_context_open(struct drm_device *dev, struct drm_file *file);
 void i915_gem_context_close(struct drm_device *dev, struct drm_file *file);
 int i915_switch_context(struct drm_i915_gem_request *req);
-struct intel_context *
+struct i915_gem_context *
 i915_gem_context_get(struct drm_i915_file_private *file_priv, u32 id);
 void i915_gem_context_free(struct kref *ctx_ref);
 struct drm_i915_gem_object *
 i915_gem_alloc_context_obj(struct drm_device *dev, size_t size);
-static inline void i915_gem_context_reference(struct intel_context *ctx)
+static inline void i915_gem_context_reference(struct i915_gem_context *ctx)
 {
        kref_get(&ctx->ref);
 }
 
-static inline void i915_gem_context_unreference(struct intel_context *ctx)
+static inline void i915_gem_context_unreference(struct i915_gem_context *ctx)
 {
        kref_put(&ctx->ref, i915_gem_context_free);
 }
 
-static inline bool i915_gem_context_is_default(const struct intel_context *c)
+static inline bool i915_gem_context_is_default(const struct i915_gem_context *c)
 {
        return c->user_handle == DEFAULT_CONTEXT_HANDLE;
 }
 
 }
 
 static bool i915_context_is_banned(struct drm_i915_private *dev_priv,
-                                  const struct intel_context *ctx)
+                                  const struct i915_gem_context *ctx)
 {
        unsigned long elapsed;
 
 }
 
 static void i915_set_reset_status(struct drm_i915_private *dev_priv,
-                                 struct intel_context *ctx,
+                                 struct i915_gem_context *ctx,
                                  const bool guilty)
 {
        struct i915_ctx_hang_stats *hs;
 
 static inline int
 __i915_gem_request_alloc(struct intel_engine_cs *engine,
-                        struct intel_context *ctx,
+                        struct i915_gem_context *ctx,
                         struct drm_i915_gem_request **req_out)
 {
        struct drm_i915_private *dev_priv = engine->i915;
  */
 struct drm_i915_gem_request *
 i915_gem_request_alloc(struct intel_engine_cs *engine,
-                      struct intel_context *ctx)
+                      struct i915_gem_context *ctx)
 {
        struct drm_i915_gem_request *req;
        int err;
 
        return ret;
 }
 
-static void i915_gem_context_clean(struct intel_context *ctx)
+static void i915_gem_context_clean(struct i915_gem_context *ctx)
 {
        struct i915_hw_ppgtt *ppgtt = ctx->ppgtt;
        struct i915_vma *vma, *next;
 
 void i915_gem_context_free(struct kref *ctx_ref)
 {
-       struct intel_context *ctx = container_of(ctx_ref, typeof(*ctx), ref);
+       struct i915_gem_context *ctx = container_of(ctx_ref, typeof(*ctx), ref);
 
        trace_i915_context_free(ctx);
 
        return 0;
 }
 
-static struct intel_context *
+static struct i915_gem_context *
 __create_hw_context(struct drm_device *dev,
                    struct drm_i915_file_private *file_priv)
 {
        struct drm_i915_private *dev_priv = dev->dev_private;
-       struct intel_context *ctx;
+       struct i915_gem_context *ctx;
        int ret;
 
        ctx = kzalloc(sizeof(*ctx), GFP_KERNEL);
  * context state of the GPU for applications that don't utilize HW contexts, as
  * well as an idle case.
  */
-static struct intel_context *
+static struct i915_gem_context *
 i915_gem_create_context(struct drm_device *dev,
                        struct drm_i915_file_private *file_priv)
 {
        const bool is_global_default_ctx = file_priv == NULL;
-       struct intel_context *ctx;
+       struct i915_gem_context *ctx;
        int ret = 0;
 
        BUG_ON(!mutex_is_locked(&dev->struct_mutex));
        return ERR_PTR(ret);
 }
 
-static void i915_gem_context_unpin(struct intel_context *ctx,
+static void i915_gem_context_unpin(struct i915_gem_context *ctx,
                                   struct intel_engine_cs *engine)
 {
        if (i915.enable_execlists) {
        struct drm_i915_private *dev_priv = dev->dev_private;
 
        if (i915.enable_execlists) {
-               struct intel_context *ctx;
+               struct i915_gem_context *ctx;
 
                list_for_each_entry(ctx, &dev_priv->context_list, link)
                        intel_lr_context_reset(dev_priv, ctx);
 int i915_gem_context_init(struct drm_device *dev)
 {
        struct drm_i915_private *dev_priv = dev->dev_private;
-       struct intel_context *ctx;
+       struct i915_gem_context *ctx;
 
        /* Init should only be called once per module load. Eventually the
         * restriction on the context_disabled check can be loosened. */
 void i915_gem_context_fini(struct drm_device *dev)
 {
        struct drm_i915_private *dev_priv = dev->dev_private;
-       struct intel_context *dctx = dev_priv->kernel_context;
+       struct i915_gem_context *dctx = dev_priv->kernel_context;
 
        if (dctx->legacy_hw_ctx.rcs_state)
                i915_gem_object_ggtt_unpin(dctx->legacy_hw_ctx.rcs_state);
 
 static int context_idr_cleanup(int id, void *p, void *data)
 {
-       struct intel_context *ctx = p;
+       struct i915_gem_context *ctx = p;
 
        i915_gem_context_unreference(ctx);
        return 0;
 int i915_gem_context_open(struct drm_device *dev, struct drm_file *file)
 {
        struct drm_i915_file_private *file_priv = file->driver_priv;
-       struct intel_context *ctx;
+       struct i915_gem_context *ctx;
 
        idr_init(&file_priv->context_idr);
 
        idr_destroy(&file_priv->context_idr);
 }
 
-struct intel_context *
+struct i915_gem_context *
 i915_gem_context_get(struct drm_i915_file_private *file_priv, u32 id)
 {
-       struct intel_context *ctx;
+       struct i915_gem_context *ctx;
 
-       ctx = (struct intel_context *)idr_find(&file_priv->context_idr, id);
+       ctx = idr_find(&file_priv->context_idr, id);
        if (!ctx)
                return ERR_PTR(-ENOENT);
 
 
 static inline bool skip_rcs_switch(struct i915_hw_ppgtt *ppgtt,
                                   struct intel_engine_cs *engine,
-                                  struct intel_context *to)
+                                  struct i915_gem_context *to)
 {
        if (to->remap_slice)
                return false;
 static bool
 needs_pd_load_pre(struct i915_hw_ppgtt *ppgtt,
                  struct intel_engine_cs *engine,
-                 struct intel_context *to)
+                 struct i915_gem_context *to)
 {
        if (!ppgtt)
                return false;
 
 static bool
 needs_pd_load_post(struct i915_hw_ppgtt *ppgtt,
-                  struct intel_context *to,
+                  struct i915_gem_context *to,
                   u32 hw_flags)
 {
        if (!ppgtt)
 
 static int do_rcs_switch(struct drm_i915_gem_request *req)
 {
-       struct intel_context *to = req->ctx;
+       struct i915_gem_context *to = req->ctx;
        struct intel_engine_cs *engine = req->engine;
        struct i915_hw_ppgtt *ppgtt = to->ppgtt ?: req->i915->mm.aliasing_ppgtt;
-       struct intel_context *from;
+       struct i915_gem_context *from;
        u32 hw_flags;
        int ret, i;
 
 
        if (engine->id != RCS ||
            req->ctx->legacy_hw_ctx.rcs_state == NULL) {
-               struct intel_context *to = req->ctx;
+               struct i915_gem_context *to = req->ctx;
                struct i915_hw_ppgtt *ppgtt =
                        to->ppgtt ?: req->i915->mm.aliasing_ppgtt;
 
 {
        struct drm_i915_gem_context_create *args = data;
        struct drm_i915_file_private *file_priv = file->driver_priv;
-       struct intel_context *ctx;
+       struct i915_gem_context *ctx;
        int ret;
 
        if (!contexts_enabled(dev))
 {
        struct drm_i915_gem_context_destroy *args = data;
        struct drm_i915_file_private *file_priv = file->driver_priv;
-       struct intel_context *ctx;
+       struct i915_gem_context *ctx;
        int ret;
 
        if (args->pad != 0)
 {
        struct drm_i915_file_private *file_priv = file->driver_priv;
        struct drm_i915_gem_context_param *args = data;
-       struct intel_context *ctx;
+       struct i915_gem_context *ctx;
        int ret;
 
        ret = i915_mutex_lock_interruptible(dev);
 {
        struct drm_i915_file_private *file_priv = file->driver_priv;
        struct drm_i915_gem_context_param *args = data;
-       struct intel_context *ctx;
+       struct i915_gem_context *ctx;
        int ret;
 
        ret = i915_mutex_lock_interruptible(dev);
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct drm_i915_reset_stats *args = data;
        struct i915_ctx_hang_stats *hs;
-       struct intel_context *ctx;
+       struct i915_gem_context *ctx;
        int ret;
 
        if (args->flags || args->pad)
 
 static int
 i915_gem_execbuffer_reserve(struct intel_engine_cs *engine,
                            struct list_head *vmas,
-                           struct intel_context *ctx,
+                           struct i915_gem_context *ctx,
                            bool *need_relocs)
 {
        struct drm_i915_gem_object *obj;
                                  struct intel_engine_cs *engine,
                                  struct eb_vmas *eb,
                                  struct drm_i915_gem_exec_object2 *exec,
-                                 struct intel_context *ctx)
+                                 struct i915_gem_context *ctx)
 {
        struct drm_i915_gem_relocation_entry *reloc;
        struct i915_address_space *vm;
        return 0;
 }
 
-static struct intel_context *
+static struct i915_gem_context *
 i915_gem_validate_context(struct drm_device *dev, struct drm_file *file,
                          struct intel_engine_cs *engine, const u32 ctx_id)
 {
-       struct intel_context *ctx = NULL;
+       struct i915_gem_context *ctx = NULL;
        struct i915_ctx_hang_stats *hs;
 
        if (engine->id != RCS && ctx_id != DEFAULT_CONTEXT_HANDLE)
        struct drm_i915_gem_object *batch_obj;
        struct drm_i915_gem_exec_object2 shadow_exec_entry;
        struct intel_engine_cs *engine;
-       struct intel_context *ctx;
+       struct i915_gem_context *ctx;
        struct i915_address_space *vm;
        struct i915_execbuffer_params params_master; /* XXX: will be removed later */
        struct i915_execbuffer_params *params = ¶ms_master;
 
        struct drm_i915_gem_object *client_obj = client->client_obj;
        struct drm_i915_private *dev_priv = guc_to_i915(guc);
        struct intel_engine_cs *engine;
-       struct intel_context *ctx = client->owner;
+       struct i915_gem_context *ctx = client->owner;
        struct guc_context_desc desc;
        struct sg_table *sg;
        enum intel_engine_id id;
        desc.wq_size = client->wq_size;
 
        /*
-        * XXX: Take LRCs from an existing intel_context if this is not an
+        * XXX: Take LRCs from an existing context if this is not an
         * IsKMDCreatedContext client
         */
        desc.desc_private = (uintptr_t)client;
  */
 static struct i915_guc_client *guc_client_alloc(struct drm_device *dev,
                                                uint32_t priority,
-                                               struct intel_context *ctx)
+                                               struct i915_gem_context *ctx)
 {
        struct i915_guc_client *client;
        struct drm_i915_private *dev_priv = dev->dev_private;
 {
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct intel_guc *guc = &dev_priv->guc;
-       struct intel_context *ctx = dev_priv->kernel_context;
+       struct i915_gem_context *ctx = dev_priv->kernel_context;
        struct i915_guc_client *client;
 
        /* client for execbuf submission */
 {
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct intel_guc *guc = &dev_priv->guc;
-       struct intel_context *ctx;
+       struct i915_gem_context *ctx;
        u32 data[3];
 
        if (guc->guc_fw.guc_fw_load_status != GUC_FIRMWARE_SUCCESS)
 {
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct intel_guc *guc = &dev_priv->guc;
-       struct intel_context *ctx;
+       struct i915_gem_context *ctx;
        u32 data[3];
 
        if (guc->guc_fw.guc_fw_load_status != GUC_FIRMWARE_SUCCESS)
 
        struct drm_minor *dminor = dev_to_drm_minor(dev);
        struct drm_device *drm_dev = dminor->dev;
        struct drm_i915_private *dev_priv = drm_dev->dev_private;
-       struct intel_context *ctx;
+       struct i915_gem_context *ctx;
        u32 *temp = NULL; /* Just here to make handling failures easy */
        int slice = (int)(uintptr_t)attr->private;
        int ret;
 
  * the context.
  */
 DECLARE_EVENT_CLASS(i915_context,
-       TP_PROTO(struct intel_context *ctx),
+       TP_PROTO(struct i915_gem_context *ctx),
        TP_ARGS(ctx),
 
        TP_STRUCT__entry(
                        __field(u32, dev)
-                       __field(struct intel_context *, ctx)
+                       __field(struct i915_gem_context *, ctx)
                        __field(struct i915_address_space *, vm)
        ),
 
 )
 
 DEFINE_EVENT(i915_context, i915_context_create,
-       TP_PROTO(struct intel_context *ctx),
+       TP_PROTO(struct i915_gem_context *ctx),
        TP_ARGS(ctx)
 );
 
 DEFINE_EVENT(i915_context, i915_context_free,
-       TP_PROTO(struct intel_context *ctx),
+       TP_PROTO(struct i915_gem_context *ctx),
        TP_ARGS(ctx)
 );
 
  * called only if full ppgtt is enabled.
  */
 TRACE_EVENT(switch_mm,
-       TP_PROTO(struct intel_engine_cs *engine, struct intel_context *to),
+       TP_PROTO(struct intel_engine_cs *engine, struct i915_gem_context *to),
 
        TP_ARGS(engine, to),
 
        TP_STRUCT__entry(
                        __field(u32, ring)
-                       __field(struct intel_context *, to)
+                       __field(struct i915_gem_context *, to)
                        __field(struct i915_address_space *, vm)
                        __field(u32, dev)
        ),
 
 struct i915_guc_client {
        struct drm_i915_gem_object *client_obj;
        void *client_base;              /* first page (only) of above   */
-       struct intel_context *owner;
+       struct i915_gem_context *owner;
        struct intel_guc *guc;
        uint32_t priority;
        uint32_t ctx_index;
 
 /* Typical size of the average request (2 pipecontrols and a MI_BB) */
 #define EXECLISTS_REQUEST_SIZE 64 /* bytes */
 
-static int execlists_context_deferred_alloc(struct intel_context *ctx,
+static int execlists_context_deferred_alloc(struct i915_gem_context *ctx,
                                            struct intel_engine_cs *engine);
-static int intel_lr_context_pin(struct intel_context *ctx,
+static int intel_lr_context_pin(struct i915_gem_context *ctx,
                                struct intel_engine_cs *engine);
 
 /**
  *    bits 55-63:    group ID, currently unused and set to 0
  */
 static void
-intel_lr_context_descriptor_update(struct intel_context *ctx,
+intel_lr_context_descriptor_update(struct i915_gem_context *ctx,
                                   struct intel_engine_cs *engine)
 {
        u64 desc;
        ctx->engine[engine->id].lrc_desc = desc;
 }
 
-uint64_t intel_lr_context_descriptor(struct intel_context *ctx,
+uint64_t intel_lr_context_descriptor(struct i915_gem_context *ctx,
                                     struct intel_engine_cs *engine)
 {
        return ctx->engine[engine->id].lrc_desc;
        return 0;
 }
 
-static int intel_lr_context_pin(struct intel_context *ctx,
+static int intel_lr_context_pin(struct i915_gem_context *ctx,
                                struct intel_engine_cs *engine)
 {
        struct drm_i915_private *dev_priv = ctx->i915;
        return ret;
 }
 
-void intel_lr_context_unpin(struct intel_context *ctx,
+void intel_lr_context_unpin(struct i915_gem_context *ctx,
                            struct intel_engine_cs *engine)
 {
        struct drm_i915_gem_object *ctx_obj;
 static int
 logical_ring_init(struct intel_engine_cs *engine)
 {
-       struct intel_context *dctx = engine->i915->kernel_context;
+       struct i915_gem_context *dctx = engine->i915->kernel_context;
        int ret;
 
        ret = i915_cmd_parser_init_ring(engine);
 }
 
 static int
-populate_lr_context(struct intel_context *ctx,
+populate_lr_context(struct i915_gem_context *ctx,
                    struct drm_i915_gem_object *ctx_obj,
                    struct intel_engine_cs *engine,
                    struct intel_ringbuffer *ringbuf)
  * takes care of the bits that are LRC related: the per-engine backing
  * objects and the logical ringbuffer.
  */
-void intel_lr_context_free(struct intel_context *ctx)
+void intel_lr_context_free(struct i915_gem_context *ctx)
 {
        int i;
 
  *
  * Return: non-zero on error.
  */
-static int execlists_context_deferred_alloc(struct intel_context *ctx,
+static int execlists_context_deferred_alloc(struct i915_gem_context *ctx,
                                            struct intel_engine_cs *engine)
 {
        struct drm_i915_gem_object *ctx_obj;
 }
 
 void intel_lr_context_reset(struct drm_i915_private *dev_priv,
-                           struct intel_context *ctx)
+                           struct i915_gem_context *ctx)
 {
        struct intel_engine_cs *engine;
 
 
 #define LRC_PPHWSP_PN  (LRC_GUCSHR_PN + 1)
 #define LRC_STATE_PN   (LRC_PPHWSP_PN + 1)
 
-void intel_lr_context_free(struct intel_context *ctx);
+struct i915_gem_context;
+
+void intel_lr_context_free(struct i915_gem_context *ctx);
 uint32_t intel_lr_context_size(struct intel_engine_cs *engine);
-void intel_lr_context_unpin(struct intel_context *ctx,
+void intel_lr_context_unpin(struct i915_gem_context *ctx,
                            struct intel_engine_cs *engine);
 
 struct drm_i915_private;
 
 void intel_lr_context_reset(struct drm_i915_private *dev_priv,
-                           struct intel_context *ctx);
-uint64_t intel_lr_context_descriptor(struct intel_context *ctx,
+                           struct i915_gem_context *ctx);
+uint64_t intel_lr_context_descriptor(struct i915_gem_context *ctx,
                                     struct intel_engine_cs *engine);
 
 /* Execlists */
 
        u32 last_retired_head;
 };
 
-struct intel_context;
+struct i915_gem_context;
 struct drm_i915_reg_table;
 
 /*
 
        wait_queue_head_t irq_queue;
 
-       struct intel_context *last_context;
+       struct i915_gem_context *last_context;
 
        struct intel_ring_hangcheck hangcheck;