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

Commit bcd794c2 authored by Zhi Wang's avatar Zhi Wang Committed by Chris Wilson
Browse files

drm/i915: Make ring buffer size of a LRC context configurable



This patch introduces an option for configuring the ring buffer size
of a LRC context after the context creation.

v9:
- Fix an identation issue. (Chris)

v8:
- Rename the data member in i915_gem_context. (Chris)

Reviewed-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarZhi Wang <zhi.a.wang@intel.com>
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Link: http://patchwork.freedesktop.org/patch/msgid/1466078825-6662-6-git-send-email-zhi.a.wang@intel.com
parent 0ad35fed
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -880,6 +880,7 @@ struct i915_gem_context {
		int pin_count;
		bool initialised;
	} engine[I915_NUM_ENGINES];
	u32 ring_size;

	struct list_head link;

+1 −0
Original line number Diff line number Diff line
@@ -295,6 +295,7 @@ __create_hw_context(struct drm_device *dev,
	ctx->remap_slice = ALL_L3_SLICES(dev_priv);

	ctx->hang_stats.ban_period_seconds = DRM_I915_CTX_BAN_PERIOD;
	ctx->ring_size = 4 * PAGE_SIZE;

	return ctx;

+1 −1
Original line number Diff line number Diff line
@@ -2527,7 +2527,7 @@ static int execlists_context_deferred_alloc(struct i915_gem_context *ctx,
		return PTR_ERR(ctx_obj);
	}

	ringbuf = intel_engine_create_ringbuffer(engine, 4 * PAGE_SIZE);
	ringbuf = intel_engine_create_ringbuffer(engine, ctx->ring_size);
	if (IS_ERR(ringbuf)) {
		ret = PTR_ERR(ringbuf);
		goto error_deref_obj;