drm/amdgpu: cleanup ring/ib test for SRIOV vcn2.0 (v2)
authorMonk Liu <Monk.Liu@amd.com>
Thu, 5 Mar 2020 13:14:27 +0000 (21:14 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 6 Mar 2020 19:40:30 +0000 (14:40 -0500)
support IB test on dec/enc ring
disable ring test on dec/enc ring (MMSCH limitation)

v2: squash in unused variable warning fix

Singed-off-by: darlington Opara <darlington.opara@amd.com>
Signed-off-by: Jinage Zhao <jiange.zhao@amd.com>
Signed-off-by: Monk Liu <Monk.Liu@amd.com>
Acked-by: Leo Liu <leo.liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c

index f96464e2c157fa6fe575a6ee175790caa87815dc..a41272fbcba23ab7f87915b71b9d7ddbc4b32c03 100644 (file)
@@ -493,14 +493,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 +522,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;
@@ -656,15 +654,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);
index 421e5bf2a90d1dd1e9d70db0dc467c087d5be737..dd500d1064a8549144bd2e6243c5c847b12be278 100644 (file)
@@ -1647,6 +1647,9 @@ int vcn_v2_0_dec_ring_test_ring(struct amdgpu_ring *ring)
        unsigned i;
        int r;
 
+       if (amdgpu_sriov_vf(adev))
+               return 0;
+
        WREG32(adev->vcn.inst[ring->me].external.scratch9, 0xCAFEDEAD);
        r = amdgpu_ring_alloc(ring, 4);
        if (r)