Commit dfabbcb4 authored by Ben Widawsky's avatar Ben Widawsky Committed by Daniel Vetter

drm/i915: use the default context

With the code to do HW context switches in place have the driver load the
default context for the render ring when the driver loads.

The default context will be an ever present context that is available to
switch to at any time for the given ring.
Signed-off-by: default avatarBen Widawsky <ben@bwidawsk.net>
parent 12b0286f
...@@ -97,6 +97,8 @@ ...@@ -97,6 +97,8 @@
static struct i915_hw_context * static struct i915_hw_context *
i915_gem_context_get(struct drm_i915_file_private *file_priv, u32 id); i915_gem_context_get(struct drm_i915_file_private *file_priv, u32 id);
static int do_switch(struct drm_i915_gem_object *from_obj,
struct i915_hw_context *to, u32 seqno);
static int get_context_size(struct drm_device *dev) static int get_context_size(struct drm_device *dev)
{ {
...@@ -225,6 +227,14 @@ static int create_default_context(struct drm_i915_private *dev_priv) ...@@ -225,6 +227,14 @@ static int create_default_context(struct drm_i915_private *dev_priv)
return ret; return ret;
} }
ret = do_switch(NULL, ctx, 0);
if (ret) {
i915_gem_object_unpin(ctx->obj);
do_destroy(ctx);
} else {
DRM_DEBUG_DRIVER("Default HW context loaded\n");
}
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment