]> Git Repo - linux.git/blobdiff - drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
Merge tag 'drm-misc-next-2018-11-21' of git://anongit.freedesktop.org/drm/drm-misc...
[linux.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_ring.c
index b70e85ec147d54d4784be1b9b66639be9ff26d8a..5b75bdc8dc28f673957067f36268ea7fb6eae8e1 100644 (file)
@@ -338,7 +338,7 @@ int amdgpu_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring,
  */
 void amdgpu_ring_fini(struct amdgpu_ring *ring)
 {
-       ring->ready = false;
+       ring->sched.ready = false;
 
        /* Not to finish a ring which is not initialized */
        if (!(ring->adev) || !(ring->adev->rings[ring->idx]))
@@ -500,3 +500,29 @@ static void amdgpu_debugfs_ring_fini(struct amdgpu_ring *ring)
        debugfs_remove(ring->ent);
 #endif
 }
+
+/**
+ * amdgpu_ring_test_helper - tests ring and set sched readiness status
+ *
+ * @ring: ring to try the recovery on
+ *
+ * Tests ring and set sched readiness status
+ *
+ * Returns 0 on success, error on failure.
+ */
+int amdgpu_ring_test_helper(struct amdgpu_ring *ring)
+{
+       struct amdgpu_device *adev = ring->adev;
+       int r;
+
+       r = amdgpu_ring_test_ring(ring);
+       if (r)
+               DRM_DEV_ERROR(adev->dev, "ring %s test failed (%d)\n",
+                             ring->name, r);
+       else
+               DRM_DEV_DEBUG(adev->dev, "ring test on %s succeeded\n",
+                             ring->name);
+
+       ring->sched.ready = !r;
+       return r;
+}
This page took 0.034828 seconds and 4 git commands to generate.