drm/amdgpu/ring: move debugfs init into core amdgpu debugfs
[linux-2.6-microblaze.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_ring.c
index e5c83e1..18e11b0 100644 (file)
@@ -48,9 +48,6 @@
  * wptr.  The GPU then starts fetching commands and executes
  * them until the pointers are equal again.
  */
-static int amdgpu_debugfs_ring_init(struct amdgpu_device *adev,
-                                   struct amdgpu_ring *ring);
-static void amdgpu_debugfs_ring_fini(struct amdgpu_ring *ring);
 
 /**
  * amdgpu_ring_alloc - allocate space on the ring buffer
@@ -334,10 +331,6 @@ int amdgpu_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring,
        for (i = 0; i < DRM_SCHED_PRIORITY_MAX; ++i)
                atomic_set(&ring->num_jobs[i], 0);
 
-       if (amdgpu_debugfs_ring_init(adev, ring)) {
-               DRM_ERROR("Failed to register debugfs file for rings !\n");
-       }
-
        return 0;
 }
 
@@ -351,12 +344,13 @@ int amdgpu_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring,
  */
 void amdgpu_ring_fini(struct amdgpu_ring *ring)
 {
-       ring->sched.ready = false;
 
        /* Not to finish a ring which is not initialized */
        if (!(ring->adev) || !(ring->adev->rings[ring->idx]))
                return;
 
+       ring->sched.ready = false;
+
        amdgpu_device_wb_free(ring->adev, ring->rptr_offs);
        amdgpu_device_wb_free(ring->adev, ring->wptr_offs);
 
@@ -367,8 +361,6 @@ void amdgpu_ring_fini(struct amdgpu_ring *ring)
                              &ring->gpu_addr,
                              (void **)&ring->ring);
 
-       amdgpu_debugfs_ring_fini(ring);
-
        dma_fence_put(ring->vmid_wait);
        ring->vmid_wait = NULL;
        ring->me = 0;
@@ -485,8 +477,8 @@ static const struct file_operations amdgpu_debugfs_ring_fops = {
 
 #endif
 
-static int amdgpu_debugfs_ring_init(struct amdgpu_device *adev,
-                                   struct amdgpu_ring *ring)
+int amdgpu_debugfs_ring_init(struct amdgpu_device *adev,
+                            struct amdgpu_ring *ring)
 {
 #if defined(CONFIG_DEBUG_FS)
        struct drm_minor *minor = adev->ddev->primary;
@@ -507,7 +499,7 @@ static int amdgpu_debugfs_ring_init(struct amdgpu_device *adev,
        return 0;
 }
 
-static void amdgpu_debugfs_ring_fini(struct amdgpu_ring *ring)
+void amdgpu_debugfs_ring_fini(struct amdgpu_ring *ring)
 {
 #if defined(CONFIG_DEBUG_FS)
        debugfs_remove(ring->ent);