drm/amdgpu: implement more ib pools (v2)
[linux-2.6-microblaze.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_vcn.c
index f96464e..f55e241 100644 (file)
@@ -390,7 +390,8 @@ static int amdgpu_vcn_dec_send_msg(struct amdgpu_ring *ring,
        uint64_t addr;
        int i, r;
 
-       r = amdgpu_job_alloc_with_ib(adev, 64, &job);
+       r = amdgpu_job_alloc_with_ib(adev, 64,
+                                       AMDGPU_IB_POOL_DIRECT, &job);
        if (r)
                goto err;
 
@@ -493,14 +494,9 @@ static int amdgpu_vcn_dec_get_destroy_msg(struct amdgpu_ring *ring, uint32_t han
 
 int amdgpu_vcn_dec_ring_test_ib(struct amdgpu_ring *ring, long timeout)
 {
-       struct amdgpu_device *adev = ring->adev;
        struct dma_fence *fence;
        long r;
 
-       /* temporarily disable ib test for sriov */
-       if (amdgpu_sriov_vf(adev))
-               return 0;
-
        r = amdgpu_vcn_dec_get_create_msg(ring, 1, NULL);
        if (r)
                goto error;
@@ -527,6 +523,9 @@ int amdgpu_vcn_enc_ring_test_ring(struct amdgpu_ring *ring)
        unsigned i;
        int r;
 
+       if (amdgpu_sriov_vf(adev))
+               return 0;
+
        r = amdgpu_ring_alloc(ring, 16);
        if (r)
                return r;
@@ -559,7 +558,8 @@ static int amdgpu_vcn_enc_get_create_msg(struct amdgpu_ring *ring, uint32_t hand
        uint64_t addr;
        int i, r;
 
-       r = amdgpu_job_alloc_with_ib(ring->adev, ib_size_dw * 4, &job);
+       r = amdgpu_job_alloc_with_ib(ring->adev, ib_size_dw * 4,
+                                       AMDGPU_IB_POOL_DIRECT, &job);
        if (r)
                return r;
 
@@ -612,7 +612,8 @@ static int amdgpu_vcn_enc_get_destroy_msg(struct amdgpu_ring *ring, uint32_t han
        uint64_t addr;
        int i, r;
 
-       r = amdgpu_job_alloc_with_ib(ring->adev, ib_size_dw * 4, &job);
+       r = amdgpu_job_alloc_with_ib(ring->adev, ib_size_dw * 4,
+                                       AMDGPU_IB_POOL_DIRECT, &job);
        if (r)
                return r;
 
@@ -656,15 +657,10 @@ err:
 
 int amdgpu_vcn_enc_ring_test_ib(struct amdgpu_ring *ring, long timeout)
 {
-       struct amdgpu_device *adev = ring->adev;
        struct dma_fence *fence = NULL;
        struct amdgpu_bo *bo = NULL;
        long r;
 
-       /* temporarily disable ib test for sriov */
-       if (amdgpu_sriov_vf(adev))
-               return 0;
-
        r = amdgpu_bo_create_reserved(ring->adev, 128 * 1024, PAGE_SIZE,
                                      AMDGPU_GEM_DOMAIN_VRAM,
                                      &bo, NULL, NULL);