diff options
author | Christian König <christian.koenig@amd.com> | 2018-07-13 10:29:10 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2018-07-16 17:11:53 -0400 |
commit | ee913fd9e166384aacc0aa70ffd4e93ca41d54b0 (patch) | |
tree | f40d24be324f847674d905720f5411967c31dd85 /drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | |
parent | 3320b8d2acd3d480d0dd4835d970067354eac915 (diff) |
drm/amdgpu: add amdgpu_job_submit_direct helper
Make sure that we properly initialize at least the sched member.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c index 769c6723c9ca..798648a19710 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | |||
@@ -308,13 +308,10 @@ static int amdgpu_vcn_dec_send_msg(struct amdgpu_ring *ring, | |||
308 | } | 308 | } |
309 | ib->length_dw = 16; | 309 | ib->length_dw = 16; |
310 | 310 | ||
311 | r = amdgpu_ib_schedule(ring, 1, ib, NULL, &f); | 311 | r = amdgpu_job_submit_direct(job, ring, &f); |
312 | job->fence = dma_fence_get(f); | ||
313 | if (r) | 312 | if (r) |
314 | goto err_free; | 313 | goto err_free; |
315 | 314 | ||
316 | amdgpu_job_free(job); | ||
317 | |||
318 | amdgpu_bo_fence(bo, f, false); | 315 | amdgpu_bo_fence(bo, f, false); |
319 | amdgpu_bo_unreserve(bo); | 316 | amdgpu_bo_unreserve(bo); |
320 | amdgpu_bo_unref(&bo); | 317 | amdgpu_bo_unref(&bo); |
@@ -499,12 +496,10 @@ static int amdgpu_vcn_enc_get_create_msg(struct amdgpu_ring *ring, uint32_t hand | |||
499 | for (i = ib->length_dw; i < ib_size_dw; ++i) | 496 | for (i = ib->length_dw; i < ib_size_dw; ++i) |
500 | ib->ptr[i] = 0x0; | 497 | ib->ptr[i] = 0x0; |
501 | 498 | ||
502 | r = amdgpu_ib_schedule(ring, 1, ib, NULL, &f); | 499 | r = amdgpu_job_submit_direct(job, ring, &f); |
503 | job->fence = dma_fence_get(f); | ||
504 | if (r) | 500 | if (r) |
505 | goto err; | 501 | goto err; |
506 | 502 | ||
507 | amdgpu_job_free(job); | ||
508 | if (fence) | 503 | if (fence) |
509 | *fence = dma_fence_get(f); | 504 | *fence = dma_fence_get(f); |
510 | dma_fence_put(f); | 505 | dma_fence_put(f); |
@@ -553,12 +548,10 @@ static int amdgpu_vcn_enc_get_destroy_msg(struct amdgpu_ring *ring, uint32_t han | |||
553 | for (i = ib->length_dw; i < ib_size_dw; ++i) | 548 | for (i = ib->length_dw; i < ib_size_dw; ++i) |
554 | ib->ptr[i] = 0x0; | 549 | ib->ptr[i] = 0x0; |
555 | 550 | ||
556 | r = amdgpu_ib_schedule(ring, 1, ib, NULL, &f); | 551 | r = amdgpu_job_submit_direct(job, ring, &f); |
557 | job->fence = dma_fence_get(f); | ||
558 | if (r) | 552 | if (r) |
559 | goto err; | 553 | goto err; |
560 | 554 | ||
561 | amdgpu_job_free(job); | ||
562 | if (fence) | 555 | if (fence) |
563 | *fence = dma_fence_get(f); | 556 | *fence = dma_fence_get(f); |
564 | dma_fence_put(f); | 557 | dma_fence_put(f); |
@@ -666,12 +659,10 @@ static int amdgpu_vcn_jpeg_set_reg(struct amdgpu_ring *ring, uint32_t handle, | |||
666 | } | 659 | } |
667 | ib->length_dw = 16; | 660 | ib->length_dw = 16; |
668 | 661 | ||
669 | r = amdgpu_ib_schedule(ring, 1, ib, NULL, &f); | 662 | r = amdgpu_job_submit_direct(job, ring, &f); |
670 | job->fence = dma_fence_get(f); | ||
671 | if (r) | 663 | if (r) |
672 | goto err; | 664 | goto err; |
673 | 665 | ||
674 | amdgpu_job_free(job); | ||
675 | if (fence) | 666 | if (fence) |
676 | *fence = dma_fence_get(f); | 667 | *fence = dma_fence_get(f); |
677 | dma_fence_put(f); | 668 | dma_fence_put(f); |