Skip to content

Commit

Permalink
drm/i915: use the default context
Browse files Browse the repository at this point in the history
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: Ben Widawsky <ben@bwidawsk.net>
  • Loading branch information
Ben Widawsky authored and Daniel Vetter committed Jun 14, 2012
1 parent 12b0286 commit dfabbcb
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions drivers/gpu/drm/i915/i915_gem_context.c
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,8 @@

static struct i915_hw_context *
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)
{
Expand Down Expand Up @@ -225,6 +227,14 @@ static int create_default_context(struct drm_i915_private *dev_priv)
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;
}

Expand Down

0 comments on commit dfabbcb

Please sign in to comment.