Switch to using a job structure for IBs.

Signed-off-by: Alex Deucher <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c 
b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c
index 73223d97a87f5..2f8aa99f17480 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c
@@ -1895,24 +1895,29 @@ static int gfx_v6_0_ring_test_ib(struct amdgpu_ring 
*ring, long timeout)
 {
        struct amdgpu_device *adev = ring->adev;
        struct dma_fence *f = NULL;
-       struct amdgpu_ib ib;
+       struct amdgpu_job *job;
+       struct amdgpu_ib *ib;
        uint32_t tmp = 0;
        long r;
 
        WREG32(mmSCRATCH_REG0, 0xCAFEDEAD);
-       memset(&ib, 0, sizeof(ib));
-       r = amdgpu_ib_get(adev, NULL, 256, AMDGPU_IB_POOL_DIRECT, &ib);
+       r = amdgpu_job_alloc_with_ib(ring->adev, NULL, NULL, 256,
+                                    AMDGPU_IB_POOL_DIRECT, &job,
+                                    AMDGPU_KERNEL_JOB_ID_GFX_RING_TEST);
        if (r)
                return r;
 
-       ib.ptr[0] = PACKET3(PACKET3_SET_CONFIG_REG, 1);
-       ib.ptr[1] = mmSCRATCH_REG0 - PACKET3_SET_CONFIG_REG_START;
-       ib.ptr[2] = 0xDEADBEEF;
-       ib.length_dw = 3;
+       ib = &job->ibs[0];
+       ib->ptr[0] = PACKET3(PACKET3_SET_CONFIG_REG, 1);
+       ib->ptr[1] = mmSCRATCH_REG0 - PACKET3_SET_CONFIG_REG_START;
+       ib->ptr[2] = 0xDEADBEEF;
+       ib->length_dw = 3;
 
-       r = amdgpu_ib_schedule(ring, 1, &ib, NULL, &f);
-       if (r)
+       r = amdgpu_job_submit_direct(job, ring, &f);
+       if (r) {
+               amdgpu_job_free(job);
                goto error;
+       }
 
        r = dma_fence_wait_timeout(f, false, timeout);
        if (r == 0) {
@@ -1928,7 +1933,6 @@ static int gfx_v6_0_ring_test_ib(struct amdgpu_ring 
*ring, long timeout)
                r = -EINVAL;
 
 error:
-       amdgpu_ib_free(&ib, NULL);
        dma_fence_put(f);
        return r;
 }
-- 
2.52.0

Reply via email to