aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-09-15 20:52:52 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2017-09-15 20:52:52 -0400
commit02cfe977e813501ad0e524477eb5cd5b52860448 (patch)
treecb812876a469d4c74e0fbea1c9df73d386532496 /drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
parentbbe05e543bfeab1c37127f38b7e575db916fbc6c (diff)
parent47e0cd6b1dbbbff7591fe7eecc20bac5ca674351 (diff)
Merge tag 'drm-fixes-for-v4.14-rc1' of git://people.freedesktop.org/~airlied/linux
Pull drm AMD fixes from Dave Airlie: "Just had a single AMD fixes pull from Alex for rc1" * tag 'drm-fixes-for-v4.14-rc1' of git://people.freedesktop.org/~airlied/linux: drm/amdgpu: revert "fix deadlock of reservation between cs and gpu reset v2" drm/amdgpu: remove duplicate return statement drm/amdgpu: check memory allocation failure drm/amd/amdgpu: fix BANK_SELECT on Vega10 (v2) drm/amdgpu: inline amdgpu_ttm_do_bind again drm/amdgpu: fix amdgpu_ttm_bind drm/amdgpu: remove the GART copy hack drm/ttm:fix wrong decoding of bo_count drm/ttm: fix missing inc bo_count drm/amdgpu: set sched_hw_submission higher for KIQ (v3) drm/amdgpu: move default gart size setting into gmc modules drm/amdgpu: refine default gart size drm/amd/powerplay: ACG frequency added in PPTable drm/amdgpu: discard commands of killed processes drm/amdgpu: fix and cleanup shadow handling drm/amdgpu: add automatic per asic settings for gart_size drm/amdgpu/gfx8: fix spelling typo in mqd allocation drm/amd/powerplay: unhalt mec after loading drm/amdgpu/virtual_dce: Virtual display doesn't support disable vblank immediately drm/amdgpu: Fix huge page updates with CPU
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
index 269b835571eb..60d8bedb694d 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
@@ -1079,6 +1079,9 @@ static int amdgpu_cs_process_syncobj_out_dep(struct amdgpu_cs_parser *p,
1079 GFP_KERNEL); 1079 GFP_KERNEL);
1080 p->num_post_dep_syncobjs = 0; 1080 p->num_post_dep_syncobjs = 0;
1081 1081
1082 if (!p->post_dep_syncobjs)
1083 return -ENOMEM;
1084
1082 for (i = 0; i < num_deps; ++i) { 1085 for (i = 0; i < num_deps; ++i) {
1083 p->post_dep_syncobjs[i] = drm_syncobj_find(p->filp, deps[i].handle); 1086 p->post_dep_syncobjs[i] = drm_syncobj_find(p->filp, deps[i].handle);
1084 if (!p->post_dep_syncobjs[i]) 1087 if (!p->post_dep_syncobjs[i])
@@ -1150,7 +1153,6 @@ static int amdgpu_cs_submit(struct amdgpu_cs_parser *p,
1150 cs->out.handle = amdgpu_ctx_add_fence(p->ctx, ring, p->fence); 1153 cs->out.handle = amdgpu_ctx_add_fence(p->ctx, ring, p->fence);
1151 job->uf_sequence = cs->out.handle; 1154 job->uf_sequence = cs->out.handle;
1152 amdgpu_job_free_resources(job); 1155 amdgpu_job_free_resources(job);
1153 amdgpu_cs_parser_fini(p, 0, true);
1154 1156
1155 trace_amdgpu_cs_ioctl(job); 1157 trace_amdgpu_cs_ioctl(job);
1156 amd_sched_entity_push_job(&job->base); 1158 amd_sched_entity_push_job(&job->base);
@@ -1208,10 +1210,7 @@ int amdgpu_cs_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
1208 goto out; 1210 goto out;
1209 1211
1210 r = amdgpu_cs_submit(&parser, cs); 1212 r = amdgpu_cs_submit(&parser, cs);
1211 if (r)
1212 goto out;
1213 1213
1214 return 0;
1215out: 1214out:
1216 amdgpu_cs_parser_fini(&parser, r, reserved_buffers); 1215 amdgpu_cs_parser_fini(&parser, r, reserved_buffers);
1217 return r; 1216 return r;