summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_gem_execbuffer.c
diff options
context:
space:
mode:
authorJohn Harrison2015-05-29 18:43:29 +0200
committerDaniel Vetter2015-06-23 14:02:00 +0200
commit217e46b576ef0d5eed10ddfeb2b29bd3de289e95 (patch)
tree9aa777ed8ce9af4794c919244fa046cc261ade25 /drivers/gpu/drm/i915/i915_gem_execbuffer.c
parentdrm/i915: Simplify i915_gem_execbuffer_retire_commands() parameters (diff)
downloadkernel-qcow2-linux-217e46b576ef0d5eed10ddfeb2b29bd3de289e95.tar.gz
kernel-qcow2-linux-217e46b576ef0d5eed10ddfeb2b29bd3de289e95.tar.xz
kernel-qcow2-linux-217e46b576ef0d5eed10ddfeb2b29bd3de289e95.zip
drm/i915: Update alloc_request to return the allocated request
The alloc_request() function does not actually return the newly allocated request. Instead, it must be pulled from ring->outstanding_lazy_request. This patch fixes this so that code can create a request and start using it knowing exactly which request it actually owns. v2: Updated for new i915_gem_request_alloc() scheme. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@Intel.com> Reviewed-by: Tomas Elf <tomas.elf@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem_execbuffer.c')
-rw-r--r--drivers/gpu/drm/i915/i915_gem_execbuffer.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
index 4bd10df1911c..9c9e20ace5e3 100644
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -1415,6 +1415,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
struct i915_address_space *vm;
struct i915_execbuffer_params params_master; /* XXX: will be removed later */
struct i915_execbuffer_params *params = &params_master;
+ struct drm_i915_gem_request *request;
const u32 ctx_id = i915_execbuffer2_get_context_id(*args);
u32 dispatch_flags;
int ret;
@@ -1614,7 +1615,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
params->batch_obj_vm_offset = i915_gem_obj_offset(batch_obj, vm);
/* Allocate a request for this batch buffer nice and early. */
- ret = i915_gem_request_alloc(ring, ctx);
+ ret = i915_gem_request_alloc(ring, ctx, &request);
if (ret)
goto err_batch_unpin;