]> Git Repo - linux.git/blobdiff - drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c
drm/amd/amdgpu: Fix style problems in amdgpu_debugfs.c
[linux.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_jpeg.c
index 479d9bcc99ee421f74809c49edee35f98a49ddb7..b07c000fc8ba39ee60540312eb8c0e6ee439d8e0 100644 (file)
@@ -118,6 +118,10 @@ int amdgpu_jpeg_dec_ring_test_ring(struct amdgpu_ring *ring)
        unsigned i;
        int r;
 
+       /* JPEG in SRIOV does not support direct register read/write */
+       if (amdgpu_sriov_vf(adev))
+               return 0;
+
        WREG32(adev->jpeg.inst[ring->me].external.jpeg_pitch, 0xCAFEDEAD);
        r = amdgpu_ring_alloc(ring, 3);
        if (r)
@@ -202,17 +206,18 @@ int amdgpu_jpeg_dec_ring_test_ib(struct amdgpu_ring *ring, long timeout)
        } else {
                r = 0;
        }
-
-       for (i = 0; i < adev->usec_timeout; i++) {
-               tmp = RREG32(adev->jpeg.inst[ring->me].external.jpeg_pitch);
-               if (tmp == 0xDEADBEEF)
-                       break;
-               udelay(1);
+       if (!amdgpu_sriov_vf(adev)) {
+               for (i = 0; i < adev->usec_timeout; i++) {
+                       tmp = RREG32(adev->jpeg.inst[ring->me].external.jpeg_pitch);
+                       if (tmp == 0xDEADBEEF)
+                               break;
+                       udelay(1);
+               }
+
+               if (i >= adev->usec_timeout)
+                       r = -ETIMEDOUT;
        }
 
-       if (i >= adev->usec_timeout)
-               r = -ETIMEDOUT;
-
        dma_fence_put(fence);
 error:
        return r;
This page took 0.034982 seconds and 4 git commands to generate.