Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e2efd130 authored by Chris Wilson's avatar Chris Wilson
Browse files

drm/i915: Rename struct intel_context



Our goal is to rename the anonymous per-engine struct beneath the
current intel_context. However, after a lively debate resolving around
the confusion between intel_context_engine and intel_engine_context, the
realisation is that the two structs target different users. The outer
struct is API / user facing, and so carries the higher level GEM
information. The inner struct is hw facing. Thus we want to name the
inner struct intel_context and the outer one i915_gem_context. As the
first step, we need to rename the current struct:

	s/struct intel_context/struct i915_gem_context/

which fits much better with its constructors already conveying the
i915_gem_context prefix!

Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Cc: Dave Gordon <david.s.gordon@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1464098023-3294-1-git-send-email-chris@chris-wilson.co.uk
parent 2335986d
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -199,7 +199,7 @@ describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj)
		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');
@@ -2000,7 +2000,7 @@ static int i915_context_status(struct seq_file *m, void *unused)
	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;

@@ -2046,7 +2046,7 @@ static int i915_context_status(struct seq_file *m, void *unused)
}

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;
@@ -2094,7 +2094,7 @@ static int i915_dump_lrc(struct seq_file *m, void *unused)
	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) {
@@ -2274,7 +2274,7 @@ static int i915_swizzle_info(struct seq_file *m, void *data)

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;

+11 −11
Original line number Diff line number Diff line
@@ -831,7 +831,7 @@ struct i915_ctx_hang_stats {

#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.
@@ -849,7 +849,7 @@ struct i915_ctx_hang_stats {
 * 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;
@@ -1710,7 +1710,7 @@ struct i915_execbuffer_params {
	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;
};

@@ -2017,7 +2017,7 @@ struct drm_i915_private {
		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];
@@ -2385,7 +2385,7 @@ struct drm_i915_gem_request {
	 * 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;

	/**
@@ -2397,7 +2397,7 @@ struct drm_i915_gem_request {
	 * 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) */
@@ -2441,7 +2441,7 @@ struct drm_i915_gem_request {

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);
@@ -3427,22 +3427,22 @@ void i915_gem_context_reset(struct drm_device *dev);
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;
}
+4 −4
Original line number Diff line number Diff line
@@ -2689,7 +2689,7 @@ void __i915_add_request(struct drm_i915_gem_request *request,
}

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;

@@ -2714,7 +2714,7 @@ static bool i915_context_is_banned(struct drm_i915_private *dev_priv,
}

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;
@@ -2742,7 +2742,7 @@ void i915_gem_request_free(struct kref *req_ref)

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;
@@ -2818,7 +2818,7 @@ __i915_gem_request_alloc(struct intel_engine_cs *engine,
 */
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;
+26 −26
Original line number Diff line number Diff line
@@ -134,7 +134,7 @@ static int get_context_size(struct drm_i915_private *dev_priv)
	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;
@@ -151,7 +151,7 @@ static void i915_gem_context_clean(struct intel_context *ctx)

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);

@@ -234,12 +234,12 @@ static int assign_hw_id(struct drm_i915_private *dev_priv, unsigned *out)
	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);
@@ -296,12 +296,12 @@ __create_hw_context(struct drm_device *dev,
 * 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));
@@ -352,7 +352,7 @@ i915_gem_create_context(struct drm_device *dev,
	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) {
@@ -369,7 +369,7 @@ void i915_gem_context_reset(struct drm_device *dev)
	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);
@@ -381,7 +381,7 @@ void i915_gem_context_reset(struct drm_device *dev)
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. */
@@ -449,7 +449,7 @@ void i915_gem_context_lost(struct drm_i915_private *dev_priv)
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);
@@ -462,7 +462,7 @@ void i915_gem_context_fini(struct drm_device *dev)

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;
@@ -471,7 +471,7 @@ static int context_idr_cleanup(int id, void *p, void *data)
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);

@@ -495,12 +495,12 @@ void i915_gem_context_close(struct drm_device *dev, struct drm_file *file)
	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);

@@ -641,7 +641,7 @@ static int remap_l3(struct drm_i915_gem_request *req, int slice)

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;
@@ -658,7 +658,7 @@ static inline bool skip_rcs_switch(struct i915_hw_ppgtt *ppgtt,
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;
@@ -683,7 +683,7 @@ needs_pd_load_pre(struct i915_hw_ppgtt *ppgtt,

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)
@@ -700,10 +700,10 @@ needs_pd_load_post(struct i915_hw_ppgtt *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;

@@ -859,7 +859,7 @@ int i915_switch_context(struct drm_i915_gem_request *req)

	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;

@@ -897,7 +897,7 @@ int i915_gem_context_create_ioctl(struct drm_device *dev, void *data,
{
	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))
@@ -926,7 +926,7 @@ int i915_gem_context_destroy_ioctl(struct drm_device *dev, void *data,
{
	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)
@@ -958,7 +958,7 @@ int i915_gem_context_getparam_ioctl(struct drm_device *dev, void *data,
{
	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);
@@ -1001,7 +1001,7 @@ int i915_gem_context_setparam_ioctl(struct drm_device *dev, void *data,
{
	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);
@@ -1047,7 +1047,7 @@ int i915_gem_context_reset_stats_ioctl(struct drm_device *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)
+5 −5
Original line number Diff line number Diff line
@@ -716,7 +716,7 @@ eb_vma_misplaced(struct i915_vma *vma)
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;
@@ -828,7 +828,7 @@ i915_gem_execbuffer_relocate_slow(struct drm_device *dev,
				  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;
@@ -1065,11 +1065,11 @@ validate_exec_list(struct drm_device *dev,
	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)
@@ -1430,7 +1430,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
	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 = &params_master;
Loading