amd-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] Add and use "name" member to radeon_ring struct
@ 2025-08-13  0:01 Alexandre Demers
  2025-08-13  0:01 ` [PATCH 1/4] drm/radeon: add name member to radeon_ring structure Alexandre Demers
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Alexandre Demers @ 2025-08-13  0:01 UTC (permalink / raw)
  To: amd-gfx; +Cc: alexander.deucher

This series adds a "name" member to the radeon_ring structure and
uses it instead of ring indexes in logs and std outputs. This change is
proposed for better logs readability and ring identification as much
for the average user as for debugging purposes.

It uses the same naming convention as the one used under amdgpu for
coherence between the two drivers.

Alexandre Demers (4):
  drm/radeon: add name member to radeon_ring structure
  drm/radeon: rename ring to ring_idx in
    radeon_fence_driver_start_ring()
  drm/radeon: name rings
  drm/radeon: switch from ring->idx to ring->name for printouts

 drivers/gpu/drm/radeon/cik.c          | 33 +++++++++++++++------
 drivers/gpu/drm/radeon/cik_sdma.c     |  6 ++--
 drivers/gpu/drm/radeon/ni.c           | 10 +++++--
 drivers/gpu/drm/radeon/r600.c         |  8 ++---
 drivers/gpu/drm/radeon/r600_dma.c     |  8 ++---
 drivers/gpu/drm/radeon/radeon.h       |  1 +
 drivers/gpu/drm/radeon/radeon_fence.c | 42 ++++++++++++++-------------
 drivers/gpu/drm/radeon/radeon_ring.c  |  4 +--
 drivers/gpu/drm/radeon/radeon_vce.c   | 13 +++++----
 drivers/gpu/drm/radeon/si.c           | 36 +++++++++++++++++------
 drivers/gpu/drm/radeon/uvd_v1_0.c     | 14 ++++-----
 11 files changed, 109 insertions(+), 66 deletions(-)

-- 
2.50.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/4] drm/radeon: add name member to radeon_ring structure
  2025-08-13  0:01 [PATCH 0/4] Add and use "name" member to radeon_ring struct Alexandre Demers
@ 2025-08-13  0:01 ` Alexandre Demers
  2025-08-13  0:01 ` [PATCH 2/4] drm/radeon: rename ring to ring_idx in radeon_fence_driver_start_ring() Alexandre Demers
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Alexandre Demers @ 2025-08-13  0:01 UTC (permalink / raw)
  To: amd-gfx; +Cc: alexander.deucher

This will allow us to name rings and use it in place of idx in logs,
as it is done under amdgpu.

Signed-off-by: Alexandre Demers <alexandre.f.demers@gmail.com>
---
 drivers/gpu/drm/radeon/radeon.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
index fd8a4513025f..16298557079b 100644
--- a/drivers/gpu/drm/radeon/radeon.h
+++ b/drivers/gpu/drm/radeon/radeon.h
@@ -810,6 +810,7 @@ struct radeon_ring {
 	bool			ready;
 	u32			nop;
 	u32			idx;
+	char			name[16];
 	u64			last_semaphore_signal_addr;
 	u64			last_semaphore_wait_addr;
 	/* for CIK queues */
-- 
2.50.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/4] drm/radeon: rename ring to ring_idx in radeon_fence_driver_start_ring()
  2025-08-13  0:01 [PATCH 0/4] Add and use "name" member to radeon_ring struct Alexandre Demers
  2025-08-13  0:01 ` [PATCH 1/4] drm/radeon: add name member to radeon_ring structure Alexandre Demers
@ 2025-08-13  0:01 ` Alexandre Demers
  2025-08-13  0:01 ` [PATCH 3/4] drm/radeon: name rings Alexandre Demers
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Alexandre Demers @ 2025-08-13  0:01 UTC (permalink / raw)
  To: amd-gfx; +Cc: alexander.deucher

This is done to better distinguish ring indexes from rings themselves.
It will be useful in an upcoming patch to use the rings' name.

Signed-off-by: Alexandre Demers <alexandre.f.demers@gmail.com>
---
 drivers/gpu/drm/radeon/radeon_fence.c | 38 +++++++++++++--------------
 1 file changed, 19 insertions(+), 19 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_fence.c b/drivers/gpu/drm/radeon/radeon_fence.c
index 8ff4f18b51a9..1be8364b2a97 100644
--- a/drivers/gpu/drm/radeon/radeon_fence.c
+++ b/drivers/gpu/drm/radeon/radeon_fence.c
@@ -798,50 +798,50 @@ void radeon_fence_note_sync(struct radeon_fence *fence, int dst_ring)
  * ready for use on the requested ring.
  *
  * @rdev: radeon device pointer
- * @ring: ring index to start the fence driver on
+ * @ring_idx: ring index to start the fence driver on
  *
  * Make the fence driver ready for processing (all asics).
  * Not all asics have all rings, so each asic will only
  * start the fence driver on the rings it has.
  * Returns 0 for success, errors for failure.
  */
-int radeon_fence_driver_start_ring(struct radeon_device *rdev, int ring)
+int radeon_fence_driver_start_ring(struct radeon_device *rdev, int ring_idx)
 {
 	uint64_t index;
 	int r;
-
-	radeon_scratch_free(rdev, rdev->fence_drv[ring].scratch_reg);
-	if (rdev->wb.use_event || !radeon_ring_supports_scratch_reg(rdev, &rdev->ring[ring])) {
-		rdev->fence_drv[ring].scratch_reg = 0;
-		if (ring != R600_RING_TYPE_UVD_INDEX) {
-			index = R600_WB_EVENT_OFFSET + ring * 4;
-			rdev->fence_drv[ring].cpu_addr = &rdev->wb.wb[index/4];
-			rdev->fence_drv[ring].gpu_addr = rdev->wb.gpu_addr +
+	radeon_scratch_free(rdev, rdev->fence_drv[ring_idx].scratch_reg);
+	if (rdev->wb.use_event || !radeon_ring_supports_scratch_reg(rdev, ring)) {
+		rdev->fence_drv[ring_idx].scratch_reg = 0;
+		if (ring_idx != R600_RING_TYPE_UVD_INDEX) {
+			index = R600_WB_EVENT_OFFSET + ring_idx * 4;
+			rdev->fence_drv[ring_idx].cpu_addr = &rdev->wb.wb[index/4];
+			rdev->fence_drv[ring_idx].gpu_addr = rdev->wb.gpu_addr +
 							 index;
 
 		} else {
 			/* put fence directly behind firmware */
 			index = ALIGN(rdev->uvd_fw->size, 8);
-			rdev->fence_drv[ring].cpu_addr = rdev->uvd.cpu_addr + index;
-			rdev->fence_drv[ring].gpu_addr = rdev->uvd.gpu_addr + index;
+			rdev->fence_drv[ring_idx].cpu_addr = rdev->uvd.cpu_addr + index;
+			rdev->fence_drv[ring_idx].gpu_addr = rdev->uvd.gpu_addr + index;
 		}
 
 	} else {
-		r = radeon_scratch_get(rdev, &rdev->fence_drv[ring].scratch_reg);
+		r = radeon_scratch_get(rdev, &rdev->fence_drv[ring_idx].scratch_reg);
 		if (r) {
 			dev_err(rdev->dev, "fence failed to get scratch register\n");
 			return r;
 		}
 		index = RADEON_WB_SCRATCH_OFFSET +
-			rdev->fence_drv[ring].scratch_reg -
+			rdev->fence_drv[ring_idx].scratch_reg -
 			rdev->scratch.reg_base;
-		rdev->fence_drv[ring].cpu_addr = &rdev->wb.wb[index/4];
-		rdev->fence_drv[ring].gpu_addr = rdev->wb.gpu_addr + index;
+		rdev->fence_drv[ring_idx].cpu_addr = &rdev->wb.wb[index/4];
+		rdev->fence_drv[ring_idx].gpu_addr = rdev->wb.gpu_addr + index;
 	}
-	radeon_fence_write(rdev, atomic64_read(&rdev->fence_drv[ring].last_seq), ring);
-	rdev->fence_drv[ring].initialized = true;
+	radeon_fence_write(rdev, atomic64_read(&rdev->fence_drv[ring_idx].last_seq), ring_idx);
+	rdev->fence_drv[ring_idx].initialized = true;
+
 	dev_info(rdev->dev, "fence driver on ring %d uses gpu addr 0x%016llx\n",
-		 ring, rdev->fence_drv[ring].gpu_addr);
+		 ring_idx, rdev->fence_drv[ring_idx].gpu_addr);
 	return 0;
 }
 
-- 
2.50.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 3/4] drm/radeon: name rings
  2025-08-13  0:01 [PATCH 0/4] Add and use "name" member to radeon_ring struct Alexandre Demers
  2025-08-13  0:01 ` [PATCH 1/4] drm/radeon: add name member to radeon_ring structure Alexandre Demers
  2025-08-13  0:01 ` [PATCH 2/4] drm/radeon: rename ring to ring_idx in radeon_fence_driver_start_ring() Alexandre Demers
@ 2025-08-13  0:01 ` Alexandre Demers
  2025-08-13  0:01 ` [PATCH 4/4] drm/radeon: switch from ring->idx to ring->name for printouts Alexandre Demers
  2025-08-13 14:15 ` [PATCH 0/4] Add and use "name" member to radeon_ring struct Alex Deucher
  4 siblings, 0 replies; 8+ messages in thread
From: Alexandre Demers @ 2025-08-13  0:01 UTC (permalink / raw)
  To: amd-gfx; +Cc: alexander.deucher

The names used are the same as the ones under amdgpu.

For coherence with amdgpu, even if SI's DMA rings are not exactly the
same as the "new SDMA" that followed for subsequent GPUs, sdma is kept
as a naming convention.

Signed-off-by: Alexandre Demers <alexandre.f.demers@gmail.com>
---
 drivers/gpu/drm/radeon/cik.c | 27 +++++++++++++++++++++------
 drivers/gpu/drm/radeon/ni.c  | 10 ++++++++--
 drivers/gpu/drm/radeon/si.c  | 36 +++++++++++++++++++++++++++---------
 3 files changed, 56 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
index 11a492f21157..6d6a6abd57fb 100644
--- a/drivers/gpu/drm/radeon/cik.c
+++ b/drivers/gpu/drm/radeon/cik.c
@@ -8109,6 +8109,7 @@ int cik_irq_process(struct radeon_device *rdev)
 static void cik_uvd_init(struct radeon_device *rdev)
 {
 	int r;
+	struct radeon_ring *ring = &rdev->ring[R600_RING_TYPE_UVD_INDEX];
 
 	if (!rdev->has_uvd)
 		return;
@@ -8125,8 +8126,10 @@ static void cik_uvd_init(struct radeon_device *rdev)
 		rdev->has_uvd = false;
 		return;
 	}
-	rdev->ring[R600_RING_TYPE_UVD_INDEX].ring_obj = NULL;
-	r600_ring_init(rdev, &rdev->ring[R600_RING_TYPE_UVD_INDEX], 4096);
+
+	ring->ring_obj = NULL;
+	sprintf(ring->name, "uvd");
+	r600_ring_init(rdev, ring, 4096);
 }
 
 static void cik_uvd_start(struct radeon_device *rdev)
@@ -8181,6 +8184,7 @@ static void cik_uvd_resume(struct radeon_device *rdev)
 static void cik_vce_init(struct radeon_device *rdev)
 {
 	int r;
+	struct radeon_ring *ring;
 
 	if (!rdev->has_vce)
 		return;
@@ -8197,10 +8201,16 @@ static void cik_vce_init(struct radeon_device *rdev)
 		rdev->has_vce = false;
 		return;
 	}
-	rdev->ring[TN_RING_TYPE_VCE1_INDEX].ring_obj = NULL;
-	r600_ring_init(rdev, &rdev->ring[TN_RING_TYPE_VCE1_INDEX], 4096);
-	rdev->ring[TN_RING_TYPE_VCE2_INDEX].ring_obj = NULL;
-	r600_ring_init(rdev, &rdev->ring[TN_RING_TYPE_VCE2_INDEX], 4096);
+
+	ring = &rdev->ring[TN_RING_TYPE_VCE1_INDEX];
+	ring->ring_obj = NULL;
+	sprintf(ring->name, "vce0");
+	r600_ring_init(rdev, ring, 4096);
+
+	ring = &rdev->ring[TN_RING_TYPE_VCE2_INDEX];
+	ring->ring_obj = NULL;
+	sprintf(ring->name, "vce1");
+	r600_ring_init(rdev, ring, 4096);
 }
 
 static void cik_vce_start(struct radeon_device *rdev)
@@ -8621,10 +8631,12 @@ int cik_init(struct radeon_device *rdev)
 
 	ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
 	ring->ring_obj = NULL;
+	sprintf(ring->name, "gfx");
 	r600_ring_init(rdev, ring, 1024 * 1024);
 
 	ring = &rdev->ring[CAYMAN_RING_TYPE_CP1_INDEX];
 	ring->ring_obj = NULL;
+	sprintf(ring->name, "comp_%d.%d.%d", 1, ring->pipe, ring->queue);
 	r600_ring_init(rdev, ring, 1024 * 1024);
 	r = radeon_doorbell_get(rdev, &ring->doorbell_index);
 	if (r)
@@ -8632,6 +8644,7 @@ int cik_init(struct radeon_device *rdev)
 
 	ring = &rdev->ring[CAYMAN_RING_TYPE_CP2_INDEX];
 	ring->ring_obj = NULL;
+	sprintf(ring->name, "comp_%d.%d.%d", 2, ring->pipe, ring->queue);
 	r600_ring_init(rdev, ring, 1024 * 1024);
 	r = radeon_doorbell_get(rdev, &ring->doorbell_index);
 	if (r)
@@ -8639,10 +8652,12 @@ int cik_init(struct radeon_device *rdev)
 
 	ring = &rdev->ring[R600_RING_TYPE_DMA_INDEX];
 	ring->ring_obj = NULL;
+	sprintf(ring->name, "sdma0");
 	r600_ring_init(rdev, ring, 256 * 1024);
 
 	ring = &rdev->ring[CAYMAN_RING_TYPE_DMA1_INDEX];
 	ring->ring_obj = NULL;
+	sprintf(ring->name, "sdma1");
 	r600_ring_init(rdev, ring, 256 * 1024);
 
 	cik_uvd_init(rdev);
diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c
index 3890911fe693..5069a9a3bfbd 100644
--- a/drivers/gpu/drm/radeon/ni.c
+++ b/drivers/gpu/drm/radeon/ni.c
@@ -1978,6 +1978,7 @@ bool cayman_gfx_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring)
 static void cayman_uvd_init(struct radeon_device *rdev)
 {
 	int r;
+	struct radeon_ring *ring = &rdev->ring[R600_RING_TYPE_UVD_INDEX];
 
 	if (!rdev->has_uvd)
 		return;
@@ -1994,8 +1995,10 @@ static void cayman_uvd_init(struct radeon_device *rdev)
 		rdev->has_uvd = false;
 		return;
 	}
-	rdev->ring[R600_RING_TYPE_UVD_INDEX].ring_obj = NULL;
-	r600_ring_init(rdev, &rdev->ring[R600_RING_TYPE_UVD_INDEX], 4096);
+
+	ring->ring_obj = NULL;
+	sprintf(ring->name, "uvd");
+	r600_ring_init(rdev, ring, 4096);
 }
 
 static void cayman_uvd_start(struct radeon_device *rdev)
@@ -2394,14 +2397,17 @@ int cayman_init(struct radeon_device *rdev)
 	radeon_pm_init(rdev);
 
 	ring->ring_obj = NULL;
+	sprintf(ring->name, "gfx");
 	r600_ring_init(rdev, ring, 1024 * 1024);
 
 	ring = &rdev->ring[R600_RING_TYPE_DMA_INDEX];
 	ring->ring_obj = NULL;
+	sprintf(ring->name, "sdma0");
 	r600_ring_init(rdev, ring, 64 * 1024);
 
 	ring = &rdev->ring[CAYMAN_RING_TYPE_DMA1_INDEX];
 	ring->ring_obj = NULL;
+	sprintf(ring->name, "sdma1");
 	r600_ring_init(rdev, ring, 64 * 1024);
 
 	cayman_uvd_init(rdev);
diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c
index 789f3b2fdf5c..d6d83b76dc98 100644
--- a/drivers/gpu/drm/radeon/si.c
+++ b/drivers/gpu/drm/radeon/si.c
@@ -6439,6 +6439,7 @@ int si_irq_process(struct radeon_device *rdev)
 static void si_uvd_init(struct radeon_device *rdev)
 {
 	int r;
+	struct radeon_ring *ring = &rdev->ring[R600_RING_TYPE_UVD_INDEX];
 
 	if (!rdev->has_uvd)
 		return;
@@ -6455,8 +6456,10 @@ static void si_uvd_init(struct radeon_device *rdev)
 		rdev->has_uvd = false;
 		return;
 	}
-	rdev->ring[R600_RING_TYPE_UVD_INDEX].ring_obj = NULL;
-	r600_ring_init(rdev, &rdev->ring[R600_RING_TYPE_UVD_INDEX], 4096);
+
+	ring->ring_obj = NULL;
+	sprintf(ring->name, "uvd");
+	r600_ring_init(rdev, ring, 4096);
 }
 
 static void si_uvd_start(struct radeon_device *rdev)
@@ -6506,6 +6509,7 @@ static void si_uvd_resume(struct radeon_device *rdev)
 static void si_vce_init(struct radeon_device *rdev)
 {
 	int r;
+	struct radeon_ring *ring;
 
 	if (!rdev->has_vce)
 		return;
@@ -6522,27 +6526,36 @@ static void si_vce_init(struct radeon_device *rdev)
 		rdev->has_vce = false;
 		return;
 	}
-	rdev->ring[TN_RING_TYPE_VCE1_INDEX].ring_obj = NULL;
-	r600_ring_init(rdev, &rdev->ring[TN_RING_TYPE_VCE1_INDEX], 4096);
-	rdev->ring[TN_RING_TYPE_VCE2_INDEX].ring_obj = NULL;
-	r600_ring_init(rdev, &rdev->ring[TN_RING_TYPE_VCE2_INDEX], 4096);
+
+	ring = &rdev->ring[TN_RING_TYPE_VCE1_INDEX];
+	ring->ring_obj = NULL;
+	sprintf(ring->name, "vce0");
+	r600_ring_init(rdev, ring, 4096);
+
+	ring = &rdev->ring[TN_RING_TYPE_VCE2_INDEX];
+	ring->ring_obj = NULL;
+	sprintf(ring->name, "vce1");
+	r600_ring_init(rdev, ring, 4096);
 }
 
 static void si_vce_start(struct radeon_device *rdev)
 {
+	DRM_INFO("In %s, similar to AMDGPU vce_v1_0_resume() + radeon_fence_driver_start_ring()", __func__);
 	int r;
 
-	if (!rdev->has_vce)
+	if (!rdev->has_vce) {
+		DRM_INFO("Out %s", __func__);
 		return;
+	}
 
 	r = radeon_vce_resume(rdev);
 	if (r) {
 		dev_err(rdev->dev, "failed VCE resume (%d).\n", r);
 		goto error;
 	}
-	r = vce_v1_0_resume(rdev);
+	r = vce_v1_0_mc_resume(rdev);
 	if (r) {
-		dev_err(rdev->dev, "failed VCE resume (%d).\n", r);
+		dev_err(rdev->dev, "failed VCE MC resume (%d).\n", r);
 		goto error;
 	}
 	r = radeon_fence_driver_start_ring(rdev, TN_RING_TYPE_VCE1_INDEX);
@@ -6867,22 +6880,27 @@ int si_init(struct radeon_device *rdev)
 
 	ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
 	ring->ring_obj = NULL;
+	sprintf(ring->name, "gfx");
 	r600_ring_init(rdev, ring, 1024 * 1024);
 
 	ring = &rdev->ring[CAYMAN_RING_TYPE_CP1_INDEX];
 	ring->ring_obj = NULL;
+	sprintf(ring->name, "comp_%d.%d.%d", 1, ring->pipe, ring->queue);
 	r600_ring_init(rdev, ring, 1024 * 1024);
 
 	ring = &rdev->ring[CAYMAN_RING_TYPE_CP2_INDEX];
 	ring->ring_obj = NULL;
+	sprintf(ring->name, "comp_%d.%d.%d", 2, ring->pipe, ring->queue);
 	r600_ring_init(rdev, ring, 1024 * 1024);
 
 	ring = &rdev->ring[R600_RING_TYPE_DMA_INDEX];
 	ring->ring_obj = NULL;
+	sprintf(ring->name, "sdma0");
 	r600_ring_init(rdev, ring, 64 * 1024);
 
 	ring = &rdev->ring[CAYMAN_RING_TYPE_DMA1_INDEX];
 	ring->ring_obj = NULL;
+	sprintf(ring->name, "sdma1");
 	r600_ring_init(rdev, ring, 64 * 1024);
 
 	si_uvd_init(rdev);
-- 
2.50.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 4/4] drm/radeon: switch from ring->idx to ring->name for printouts
  2025-08-13  0:01 [PATCH 0/4] Add and use "name" member to radeon_ring struct Alexandre Demers
                   ` (2 preceding siblings ...)
  2025-08-13  0:01 ` [PATCH 3/4] drm/radeon: name rings Alexandre Demers
@ 2025-08-13  0:01 ` Alexandre Demers
  2025-08-13  0:15   ` [PATCH 4/4 - V2] " Alexandre Demers
  2025-08-13 14:15 ` [PATCH 0/4] Add and use "name" member to radeon_ring struct Alex Deucher
  4 siblings, 1 reply; 8+ messages in thread
From: Alexandre Demers @ 2025-08-13  0:01 UTC (permalink / raw)
  To: amd-gfx; +Cc: alexander.deucher

Replace rings' index value for rings' name.

Signed-off-by: Alexandre Demers <alexandre.f.demers@gmail.com>
---
 drivers/gpu/drm/radeon/cik.c          |  6 +++---
 drivers/gpu/drm/radeon/cik_sdma.c     |  6 +++---
 drivers/gpu/drm/radeon/r600.c         |  8 ++++----
 drivers/gpu/drm/radeon/r600_dma.c     |  8 ++++----
 drivers/gpu/drm/radeon/radeon_fence.c |  6 ++++--
 drivers/gpu/drm/radeon/radeon_ring.c  |  4 ++--
 drivers/gpu/drm/radeon/radeon_vce.c   | 13 +++++++------
 drivers/gpu/drm/radeon/uvd_v1_0.c     | 14 +++++++-------
 8 files changed, 34 insertions(+), 31 deletions(-)

diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
index 6d6a6abd57fb..8065039900a4 100644
--- a/drivers/gpu/drm/radeon/cik.c
+++ b/drivers/gpu/drm/radeon/cik.c
@@ -3473,10 +3473,10 @@ int cik_ring_test(struct radeon_device *rdev, struct radeon_ring *ring)
 		udelay(1);
 	}
 	if (i < rdev->usec_timeout) {
-		DRM_INFO("ring test on %d succeeded in %d usecs\n", ring->idx, i);
+		DRM_INFO("ring test on %s succeeded in %d usecs\n", ring->name, i);
 	} else {
-		DRM_ERROR("radeon: ring %d test failed (scratch(0x%04X)=0x%08X)\n",
-			  ring->idx, scratch, tmp);
+		DRM_ERROR("radeon: ring %s test failed (scratch(0x%04X)=0x%08X)\n",
+			  ring->name, scratch, tmp);
 		r = -EINVAL;
 	}
 	radeon_scratch_free(rdev, scratch);
diff --git a/drivers/gpu/drm/radeon/cik_sdma.c b/drivers/gpu/drm/radeon/cik_sdma.c
index 919b14845c3c..54c67c100fe0 100644
--- a/drivers/gpu/drm/radeon/cik_sdma.c
+++ b/drivers/gpu/drm/radeon/cik_sdma.c
@@ -680,10 +680,10 @@ int cik_sdma_ring_test(struct radeon_device *rdev,
 	}
 
 	if (i < rdev->usec_timeout) {
-		DRM_INFO("ring test on %d succeeded in %d usecs\n", ring->idx, i);
+		DRM_INFO("ring test on %s succeeded in %d usecs\n", ring->name, i);
 	} else {
-		DRM_ERROR("radeon: ring %d test failed (0x%08X)\n",
-			  ring->idx, tmp);
+		DRM_ERROR("radeon: ring %s test failed (0x%08X)\n",
+			  ring->name, tmp);
 		r = -EINVAL;
 	}
 	return r;
diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c
index 8b62f7faa5b9..de98e4613114 100644
--- a/drivers/gpu/drm/radeon/r600.c
+++ b/drivers/gpu/drm/radeon/r600.c
@@ -2835,7 +2835,7 @@ int r600_ring_test(struct radeon_device *rdev, struct radeon_ring *ring)
 	WREG32(scratch, 0xCAFEDEAD);
 	r = radeon_ring_lock(rdev, ring, 3);
 	if (r) {
-		DRM_ERROR("radeon: cp failed to lock ring %d (%d).\n", ring->idx, r);
+		DRM_ERROR("radeon: cp failed to lock ring %s (%d).\n", ring->name, r);
 		radeon_scratch_free(rdev, scratch);
 		return r;
 	}
@@ -2850,10 +2850,10 @@ int r600_ring_test(struct radeon_device *rdev, struct radeon_ring *ring)
 		udelay(1);
 	}
 	if (i < rdev->usec_timeout) {
-		DRM_INFO("ring test on %d succeeded in %d usecs\n", ring->idx, i);
+		DRM_INFO("ring test on %s succeeded in %d usecs\n", ring->name, i);
 	} else {
-		DRM_ERROR("radeon: ring %d test failed (scratch(0x%04X)=0x%08X)\n",
-			  ring->idx, scratch, tmp);
+		DRM_ERROR("radeon: ring %s test failed (scratch(0x%04X)=0x%08X)\n",
+			  ring->name, scratch, tmp);
 		r = -EINVAL;
 	}
 	radeon_scratch_free(rdev, scratch);
diff --git a/drivers/gpu/drm/radeon/r600_dma.c b/drivers/gpu/drm/radeon/r600_dma.c
index 89ca2738c5d4..d69a6edce9ac 100644
--- a/drivers/gpu/drm/radeon/r600_dma.c
+++ b/drivers/gpu/drm/radeon/r600_dma.c
@@ -247,7 +247,7 @@ int r600_dma_ring_test(struct radeon_device *rdev,
 
 	r = radeon_ring_lock(rdev, ring, 4);
 	if (r) {
-		DRM_ERROR("radeon: dma failed to lock ring %d (%d).\n", ring->idx, r);
+		DRM_ERROR("radeon: dma failed to lock ring %s (%d).\n", ring->name, r);
 		return r;
 	}
 	radeon_ring_write(ring, DMA_PACKET(DMA_PACKET_WRITE, 0, 0, 1));
@@ -264,10 +264,10 @@ int r600_dma_ring_test(struct radeon_device *rdev,
 	}
 
 	if (i < rdev->usec_timeout) {
-		DRM_INFO("ring test on %d succeeded in %d usecs\n", ring->idx, i);
+		DRM_INFO("ring test on %s succeeded in %d usecs\n", ring->name, i);
 	} else {
-		DRM_ERROR("radeon: ring %d test failed (0x%08X)\n",
-			  ring->idx, tmp);
+		DRM_ERROR("radeon: ring %s test failed (0x%08X)\n",
+			  ring->name, tmp);
 		r = -EINVAL;
 	}
 	return r;
diff --git a/drivers/gpu/drm/radeon/radeon_fence.c b/drivers/gpu/drm/radeon/radeon_fence.c
index 1be8364b2a97..b873b995b0ff 100644
--- a/drivers/gpu/drm/radeon/radeon_fence.c
+++ b/drivers/gpu/drm/radeon/radeon_fence.c
@@ -809,6 +809,8 @@ int radeon_fence_driver_start_ring(struct radeon_device *rdev, int ring_idx)
 {
 	uint64_t index;
 	int r;
+	struct radeon_ring *ring = &rdev->ring[ring_idx];
+
 	radeon_scratch_free(rdev, rdev->fence_drv[ring_idx].scratch_reg);
 	if (rdev->wb.use_event || !radeon_ring_supports_scratch_reg(rdev, ring)) {
 		rdev->fence_drv[ring_idx].scratch_reg = 0;
@@ -840,8 +842,8 @@ int radeon_fence_driver_start_ring(struct radeon_device *rdev, int ring_idx)
 	radeon_fence_write(rdev, atomic64_read(&rdev->fence_drv[ring_idx].last_seq), ring_idx);
 	rdev->fence_drv[ring_idx].initialized = true;
 
-	dev_info(rdev->dev, "fence driver on ring %d uses gpu addr 0x%016llx\n",
-		 ring_idx, rdev->fence_drv[ring_idx].gpu_addr);
+	dev_info(rdev->dev, "fence driver on ring %s uses gpu addr 0x%016llx\n",
+		 ring->name, rdev->fence_drv[ring_idx].gpu_addr);
 	return 0;
 }
 
diff --git a/drivers/gpu/drm/radeon/radeon_ring.c b/drivers/gpu/drm/radeon/radeon_ring.c
index 581ae20c46e4..b5cd28977c54 100644
--- a/drivers/gpu/drm/radeon/radeon_ring.c
+++ b/drivers/gpu/drm/radeon/radeon_ring.c
@@ -265,8 +265,8 @@ bool radeon_ring_test_lockup(struct radeon_device *rdev, struct radeon_ring *rin
 
 	elapsed = jiffies_to_msecs(jiffies_64 - last);
 	if (radeon_lockup_timeout && elapsed >= radeon_lockup_timeout) {
-		dev_err(rdev->dev, "ring %d stalled for more than %llumsec\n",
-			ring->idx, elapsed);
+		dev_err(rdev->dev, "ring %s stalled for more than %llumsec\n",
+			ring->name, elapsed);
 		return true;
 	}
 	/* give a chance to the GPU ... */
diff --git a/drivers/gpu/drm/radeon/radeon_vce.c b/drivers/gpu/drm/radeon/radeon_vce.c
index d1871af967d4..761e8b453e1e 100644
--- a/drivers/gpu/drm/radeon/radeon_vce.c
+++ b/drivers/gpu/drm/radeon/radeon_vce.c
@@ -760,8 +760,9 @@ int radeon_vce_ring_test(struct radeon_device *rdev, struct radeon_ring *ring)
 
 	r = radeon_ring_lock(rdev, ring, 16);
 	if (r) {
-		DRM_ERROR("radeon: vce failed to lock ring %d (%d).\n",
-			  ring->idx, r);
+		DRM_ERROR("radeon: vce failed to lock ring %s (%d).\n",
+			  ring->name, r);
+		DRM_INFO("Out %s", __func__);
 		return r;
 	}
 	radeon_ring_write(ring, cpu_to_le32(VCE_CMD_END));
@@ -774,11 +775,11 @@ int radeon_vce_ring_test(struct radeon_device *rdev, struct radeon_ring *ring)
 	}
 
 	if (i < rdev->usec_timeout) {
-		DRM_INFO("ring test on %d succeeded in %d usecs\n",
-			 ring->idx, i);
+		DRM_INFO("ring test on %s succeeded in %d usecs\n",
+			 ring->name, i);
 	} else {
-		DRM_ERROR("radeon: ring %d test failed\n",
-			 ring->idx);
+		DRM_ERROR("radeon: ring %s test failed\n",
+			 ring->name);
 		r = -ETIMEDOUT;
 	}
 
diff --git a/drivers/gpu/drm/radeon/uvd_v1_0.c b/drivers/gpu/drm/radeon/uvd_v1_0.c
index 5684639d20a6..8d7913b5b6a8 100644
--- a/drivers/gpu/drm/radeon/uvd_v1_0.c
+++ b/drivers/gpu/drm/radeon/uvd_v1_0.c
@@ -427,8 +427,8 @@ int uvd_v1_0_ring_test(struct radeon_device *rdev, struct radeon_ring *ring)
 	WREG32(UVD_CONTEXT_ID, 0xCAFEDEAD);
 	r = radeon_ring_lock(rdev, ring, 3);
 	if (r) {
-		DRM_ERROR("radeon: cp failed to lock ring %d (%d).\n",
-			  ring->idx, r);
+		DRM_ERROR("radeon: cp failed to lock ring %s (%d).\n",
+			  ring->name, r);
 		return r;
 	}
 	radeon_ring_write(ring, PACKET0(UVD_CONTEXT_ID, 0));
@@ -442,11 +442,11 @@ int uvd_v1_0_ring_test(struct radeon_device *rdev, struct radeon_ring *ring)
 	}
 
 	if (i < rdev->usec_timeout) {
-		DRM_INFO("ring test on %d succeeded in %d usecs\n",
-			 ring->idx, i);
+		DRM_INFO("ring test on %s succeeded in %d usecs\n",
+			 ring->name, i);
 	} else {
-		DRM_ERROR("radeon: ring %d test failed (0x%08X)\n",
-			  ring->idx, tmp);
+		DRM_ERROR("radeon: ring %s test failed (0x%08X)\n",
+			  ring->name, tmp);
 		r = -EINVAL;
 	}
 	return r;
@@ -534,7 +534,7 @@ int uvd_v1_0_ib_test(struct radeon_device *rdev, struct radeon_ring *ring)
 		goto error;
 	}
 	r = 0;
-	DRM_INFO("ib test on ring %d succeeded\n",  ring->idx);
+	DRM_INFO("ib test on ring %s succeeded\n",  ring->name);
 error:
 	radeon_fence_unref(&fence);
 	radeon_set_uvd_clocks(rdev, 0, 0);
-- 
2.50.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 4/4 - V2] drm/radeon: switch from ring->idx to ring->name for printouts
  2025-08-13  0:01 ` [PATCH 4/4] drm/radeon: switch from ring->idx to ring->name for printouts Alexandre Demers
@ 2025-08-13  0:15   ` Alexandre Demers
  0 siblings, 0 replies; 8+ messages in thread
From: Alexandre Demers @ 2025-08-13  0:15 UTC (permalink / raw)
  To: Freedesktop - AMD-gfx; +Cc: Alexander Deucher

From 8b0d6ce75155be6b7c585bd9814e6661a244cc3d Mon Sep 17 00:00:00 2001
From: Alexandre Demers <alexandre.f.demers@gmail.com>
Date: Tue, 12 Aug 2025 18:53:12 -0400
Subject: [PATCH 4/4 - V2] drm/radeon: switch from ring->idx to
ring->name  for printouts

Replace rings' index value for the rings' name value.

V2: add leftover hunk

Signed-off-by: Alexandre Demers <alexandre.f.demers@gmail.com>
---
 drivers/gpu/drm/radeon/cik.c          |  8 ++++----
 drivers/gpu/drm/radeon/cik_sdma.c     |  6 +++---
 drivers/gpu/drm/radeon/r600.c         |  8 ++++----
 drivers/gpu/drm/radeon/r600_dma.c     |  8 ++++----
 drivers/gpu/drm/radeon/radeon_fence.c |  6 ++++--
 drivers/gpu/drm/radeon/radeon_ring.c  |  4 ++--
 drivers/gpu/drm/radeon/radeon_vce.c   | 13 +++++++------
 drivers/gpu/drm/radeon/uvd_v1_0.c     | 14 +++++++-------
 8 files changed, 35 insertions(+), 32 deletions(-)

diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
index 6d6a6abd57fb..b85809369e81 100644
--- a/drivers/gpu/drm/radeon/cik.c
+++ b/drivers/gpu/drm/radeon/cik.c
@@ -3457,7 +3457,7 @@ int cik_ring_test(struct radeon_device *rdev,
struct radeon_ring *ring)
  WREG32(scratch, 0xCAFEDEAD);
  r = radeon_ring_lock(rdev, ring, 3);
  if (r) {
- DRM_ERROR("radeon: cp failed to lock ring %d (%d).\n", ring->idx, r);
+ DRM_ERROR("radeon: cp failed to lock ring %s (%d).\n", ring->name, r);
  radeon_scratch_free(rdev, scratch);
  return r;
  }
@@ -3473,10 +3473,10 @@ int cik_ring_test(struct radeon_device *rdev,
struct radeon_ring *ring)
  udelay(1);
  }
  if (i < rdev->usec_timeout) {
- DRM_INFO("ring test on %d succeeded in %d usecs\n", ring->idx, i);
+ DRM_INFO("ring test on %s succeeded in %d usecs\n", ring->name, i);
  } else {
- DRM_ERROR("radeon: ring %d test failed (scratch(0x%04X)=0x%08X)\n",
-  ring->idx, scratch, tmp);
+ DRM_ERROR("radeon: ring %s test failed (scratch(0x%04X)=0x%08X)\n",
+  ring->name, scratch, tmp);
  r = -EINVAL;
  }
  radeon_scratch_free(rdev, scratch);
diff --git a/drivers/gpu/drm/radeon/cik_sdma.c
b/drivers/gpu/drm/radeon/cik_sdma.c
index 919b14845c3c..54c67c100fe0 100644
--- a/drivers/gpu/drm/radeon/cik_sdma.c
+++ b/drivers/gpu/drm/radeon/cik_sdma.c
@@ -680,10 +680,10 @@ int cik_sdma_ring_test(struct radeon_device *rdev,
  }

  if (i < rdev->usec_timeout) {
- DRM_INFO("ring test on %d succeeded in %d usecs\n", ring->idx, i);
+ DRM_INFO("ring test on %s succeeded in %d usecs\n", ring->name, i);
  } else {
- DRM_ERROR("radeon: ring %d test failed (0x%08X)\n",
-  ring->idx, tmp);
+ DRM_ERROR("radeon: ring %s test failed (0x%08X)\n",
+  ring->name, tmp);
  r = -EINVAL;
  }
  return r;
diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c
index 8b62f7faa5b9..de98e4613114 100644
--- a/drivers/gpu/drm/radeon/r600.c
+++ b/drivers/gpu/drm/radeon/r600.c
@@ -2835,7 +2835,7 @@ int r600_ring_test(struct radeon_device *rdev,
struct radeon_ring *ring)
  WREG32(scratch, 0xCAFEDEAD);
  r = radeon_ring_lock(rdev, ring, 3);
  if (r) {
- DRM_ERROR("radeon: cp failed to lock ring %d (%d).\n", ring->idx, r);
+ DRM_ERROR("radeon: cp failed to lock ring %s (%d).\n", ring->name, r);
  radeon_scratch_free(rdev, scratch);
  return r;
  }
@@ -2850,10 +2850,10 @@ int r600_ring_test(struct radeon_device *rdev,
struct radeon_ring *ring)
  udelay(1);
  }
  if (i < rdev->usec_timeout) {
- DRM_INFO("ring test on %d succeeded in %d usecs\n", ring->idx, i);
+ DRM_INFO("ring test on %s succeeded in %d usecs\n", ring->name, i);
  } else {
- DRM_ERROR("radeon: ring %d test failed (scratch(0x%04X)=0x%08X)\n",
-  ring->idx, scratch, tmp);
+ DRM_ERROR("radeon: ring %s test failed (scratch(0x%04X)=0x%08X)\n",
+  ring->name, scratch, tmp);
  r = -EINVAL;
  }
  radeon_scratch_free(rdev, scratch);
diff --git a/drivers/gpu/drm/radeon/r600_dma.c
b/drivers/gpu/drm/radeon/r600_dma.c
index 89ca2738c5d4..d69a6edce9ac 100644
--- a/drivers/gpu/drm/radeon/r600_dma.c
+++ b/drivers/gpu/drm/radeon/r600_dma.c
@@ -247,7 +247,7 @@ int r600_dma_ring_test(struct radeon_device *rdev,

  r = radeon_ring_lock(rdev, ring, 4);
  if (r) {
- DRM_ERROR("radeon: dma failed to lock ring %d (%d).\n", ring->idx, r);
+ DRM_ERROR("radeon: dma failed to lock ring %s (%d).\n", ring->name, r);
  return r;
  }
  radeon_ring_write(ring, DMA_PACKET(DMA_PACKET_WRITE, 0, 0, 1));
@@ -264,10 +264,10 @@ int r600_dma_ring_test(struct radeon_device *rdev,
  }

  if (i < rdev->usec_timeout) {
- DRM_INFO("ring test on %d succeeded in %d usecs\n", ring->idx, i);
+ DRM_INFO("ring test on %s succeeded in %d usecs\n", ring->name, i);
  } else {
- DRM_ERROR("radeon: ring %d test failed (0x%08X)\n",
-  ring->idx, tmp);
+ DRM_ERROR("radeon: ring %s test failed (0x%08X)\n",
+  ring->name, tmp);
  r = -EINVAL;
  }
  return r;
diff --git a/drivers/gpu/drm/radeon/radeon_fence.c
b/drivers/gpu/drm/radeon/radeon_fence.c
index 1be8364b2a97..b873b995b0ff 100644
--- a/drivers/gpu/drm/radeon/radeon_fence.c
+++ b/drivers/gpu/drm/radeon/radeon_fence.c
@@ -809,6 +809,8 @@ int radeon_fence_driver_start_ring(struct
radeon_device *rdev, int ring_idx)
 {
  uint64_t index;
  int r;
+ struct radeon_ring *ring = &rdev->ring[ring_idx];
+
  radeon_scratch_free(rdev, rdev->fence_drv[ring_idx].scratch_reg);
  if (rdev->wb.use_event || !radeon_ring_supports_scratch_reg(rdev, ring)) {
  rdev->fence_drv[ring_idx].scratch_reg = 0;
@@ -840,8 +842,8 @@ int radeon_fence_driver_start_ring(struct
radeon_device *rdev, int ring_idx)
  radeon_fence_write(rdev,
atomic64_read(&rdev->fence_drv[ring_idx].last_seq), ring_idx);
  rdev->fence_drv[ring_idx].initialized = true;

- dev_info(rdev->dev, "fence driver on ring %d uses gpu addr 0x%016llx\n",
- ring_idx, rdev->fence_drv[ring_idx].gpu_addr);
+ dev_info(rdev->dev, "fence driver on ring %s uses gpu addr 0x%016llx\n",
+ ring->name, rdev->fence_drv[ring_idx].gpu_addr);
  return 0;
 }

diff --git a/drivers/gpu/drm/radeon/radeon_ring.c
b/drivers/gpu/drm/radeon/radeon_ring.c
index 581ae20c46e4..b5cd28977c54 100644
--- a/drivers/gpu/drm/radeon/radeon_ring.c
+++ b/drivers/gpu/drm/radeon/radeon_ring.c
@@ -265,8 +265,8 @@ bool radeon_ring_test_lockup(struct radeon_device
*rdev, struct radeon_ring *rin

  elapsed = jiffies_to_msecs(jiffies_64 - last);
  if (radeon_lockup_timeout && elapsed >= radeon_lockup_timeout) {
- dev_err(rdev->dev, "ring %d stalled for more than %llumsec\n",
- ring->idx, elapsed);
+ dev_err(rdev->dev, "ring %s stalled for more than %llumsec\n",
+ ring->name, elapsed);
  return true;
  }
  /* give a chance to the GPU ... */
diff --git a/drivers/gpu/drm/radeon/radeon_vce.c
b/drivers/gpu/drm/radeon/radeon_vce.c
index d1871af967d4..761e8b453e1e 100644
--- a/drivers/gpu/drm/radeon/radeon_vce.c
+++ b/drivers/gpu/drm/radeon/radeon_vce.c
@@ -760,8 +760,9 @@ int radeon_vce_ring_test(struct radeon_device
*rdev, struct radeon_ring *ring)

  r = radeon_ring_lock(rdev, ring, 16);
  if (r) {
- DRM_ERROR("radeon: vce failed to lock ring %d (%d).\n",
-  ring->idx, r);
+ DRM_ERROR("radeon: vce failed to lock ring %s (%d).\n",
+  ring->name, r);
+ DRM_INFO("Out %s", __func__);
  return r;
  }
  radeon_ring_write(ring, cpu_to_le32(VCE_CMD_END));
@@ -774,11 +775,11 @@ int radeon_vce_ring_test(struct radeon_device
*rdev, struct radeon_ring *ring)
  }

  if (i < rdev->usec_timeout) {
- DRM_INFO("ring test on %d succeeded in %d usecs\n",
- ring->idx, i);
+ DRM_INFO("ring test on %s succeeded in %d usecs\n",
+ ring->name, i);
  } else {
- DRM_ERROR("radeon: ring %d test failed\n",
- ring->idx);
+ DRM_ERROR("radeon: ring %s test failed\n",
+ ring->name);
  r = -ETIMEDOUT;
  }

diff --git a/drivers/gpu/drm/radeon/uvd_v1_0.c
b/drivers/gpu/drm/radeon/uvd_v1_0.c
index 5684639d20a6..8d7913b5b6a8 100644
--- a/drivers/gpu/drm/radeon/uvd_v1_0.c
+++ b/drivers/gpu/drm/radeon/uvd_v1_0.c
@@ -427,8 +427,8 @@ int uvd_v1_0_ring_test(struct radeon_device *rdev,
struct radeon_ring *ring)
  WREG32(UVD_CONTEXT_ID, 0xCAFEDEAD);
  r = radeon_ring_lock(rdev, ring, 3);
  if (r) {
- DRM_ERROR("radeon: cp failed to lock ring %d (%d).\n",
-  ring->idx, r);
+ DRM_ERROR("radeon: cp failed to lock ring %s (%d).\n",
+  ring->name, r);
  return r;
  }
  radeon_ring_write(ring, PACKET0(UVD_CONTEXT_ID, 0));
@@ -442,11 +442,11 @@ int uvd_v1_0_ring_test(struct radeon_device
*rdev, struct radeon_ring *ring)
  }

  if (i < rdev->usec_timeout) {
- DRM_INFO("ring test on %d succeeded in %d usecs\n",
- ring->idx, i);
+ DRM_INFO("ring test on %s succeeded in %d usecs\n",
+ ring->name, i);
  } else {
- DRM_ERROR("radeon: ring %d test failed (0x%08X)\n",
-  ring->idx, tmp);
+ DRM_ERROR("radeon: ring %s test failed (0x%08X)\n",
+  ring->name, tmp);
  r = -EINVAL;
  }
  return r;
@@ -534,7 +534,7 @@ int uvd_v1_0_ib_test(struct radeon_device *rdev,
struct radeon_ring *ring)
  goto error;
  }
  r = 0;
- DRM_INFO("ib test on ring %d succeeded\n",  ring->idx);
+ DRM_INFO("ib test on ring %s succeeded\n",  ring->name);
 error:
  radeon_fence_unref(&fence);
  radeon_set_uvd_clocks(rdev, 0, 0);
-- 
2.50.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/4] Add and use "name" member to radeon_ring struct
  2025-08-13  0:01 [PATCH 0/4] Add and use "name" member to radeon_ring struct Alexandre Demers
                   ` (3 preceding siblings ...)
  2025-08-13  0:01 ` [PATCH 4/4] drm/radeon: switch from ring->idx to ring->name for printouts Alexandre Demers
@ 2025-08-13 14:15 ` Alex Deucher
  2025-08-13 20:56   ` Alexandre Demers
  4 siblings, 1 reply; 8+ messages in thread
From: Alex Deucher @ 2025-08-13 14:15 UTC (permalink / raw)
  To: Alexandre Demers; +Cc: amd-gfx, alexander.deucher

On Tue, Aug 12, 2025 at 8:08 PM Alexandre Demers
<alexandre.f.demers@gmail.com> wrote:
>
> This series adds a "name" member to the radeon_ring structure and
> uses it instead of ring indexes in logs and std outputs. This change is
> proposed for better logs readability and ring identification as much
> for the average user as for debugging purposes.
>
> It uses the same naming convention as the one used under amdgpu for
> coherence between the two drivers.

What about the other devices supported by radeon?  If you are going to
change this, it would be good to fully convert the driver.

Alex

>
> Alexandre Demers (4):
>   drm/radeon: add name member to radeon_ring structure
>   drm/radeon: rename ring to ring_idx in
>     radeon_fence_driver_start_ring()
>   drm/radeon: name rings
>   drm/radeon: switch from ring->idx to ring->name for printouts
>
>  drivers/gpu/drm/radeon/cik.c          | 33 +++++++++++++++------
>  drivers/gpu/drm/radeon/cik_sdma.c     |  6 ++--
>  drivers/gpu/drm/radeon/ni.c           | 10 +++++--
>  drivers/gpu/drm/radeon/r600.c         |  8 ++---
>  drivers/gpu/drm/radeon/r600_dma.c     |  8 ++---
>  drivers/gpu/drm/radeon/radeon.h       |  1 +
>  drivers/gpu/drm/radeon/radeon_fence.c | 42 ++++++++++++++-------------
>  drivers/gpu/drm/radeon/radeon_ring.c  |  4 +--
>  drivers/gpu/drm/radeon/radeon_vce.c   | 13 +++++----
>  drivers/gpu/drm/radeon/si.c           | 36 +++++++++++++++++------
>  drivers/gpu/drm/radeon/uvd_v1_0.c     | 14 ++++-----
>  11 files changed, 109 insertions(+), 66 deletions(-)
>
> --
> 2.50.1
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/4] Add and use "name" member to radeon_ring struct
  2025-08-13 14:15 ` [PATCH 0/4] Add and use "name" member to radeon_ring struct Alex Deucher
@ 2025-08-13 20:56   ` Alexandre Demers
  0 siblings, 0 replies; 8+ messages in thread
From: Alexandre Demers @ 2025-08-13 20:56 UTC (permalink / raw)
  To: Alex Deucher; +Cc: amd-gfx, alexander.deucher

On Wed, Aug 13, 2025 at 10:15 AM Alex Deucher <alexdeucher@gmail.com> wrote:
>
> On Tue, Aug 12, 2025 at 8:08 PM Alexandre Demers
> <alexandre.f.demers@gmail.com> wrote:
> >
> > This series adds a "name" member to the radeon_ring structure and
> > uses it instead of ring indexes in logs and std outputs. This change is
> > proposed for better logs readability and ring identification as much
> > for the average user as for debugging purposes.
> >
> > It uses the same naming convention as the one used under amdgpu for
> > coherence between the two drivers.
>
> What about the other devices supported by radeon?  If you are going to
> change this, it would be good to fully convert the driver.
>
> Alex
>

Good point. I'll send a V2 for the series when I'm done.
Alexandre Demers

> >
> > Alexandre Demers (4):
> >   drm/radeon: add name member to radeon_ring structure
> >   drm/radeon: rename ring to ring_idx in
> >     radeon_fence_driver_start_ring()
> >   drm/radeon: name rings
> >   drm/radeon: switch from ring->idx to ring->name for printouts
> >
> >  drivers/gpu/drm/radeon/cik.c          | 33 +++++++++++++++------
> >  drivers/gpu/drm/radeon/cik_sdma.c     |  6 ++--
> >  drivers/gpu/drm/radeon/ni.c           | 10 +++++--
> >  drivers/gpu/drm/radeon/r600.c         |  8 ++---
> >  drivers/gpu/drm/radeon/r600_dma.c     |  8 ++---
> >  drivers/gpu/drm/radeon/radeon.h       |  1 +
> >  drivers/gpu/drm/radeon/radeon_fence.c | 42 ++++++++++++++-------------
> >  drivers/gpu/drm/radeon/radeon_ring.c  |  4 +--
> >  drivers/gpu/drm/radeon/radeon_vce.c   | 13 +++++----
> >  drivers/gpu/drm/radeon/si.c           | 36 +++++++++++++++++------
> >  drivers/gpu/drm/radeon/uvd_v1_0.c     | 14 ++++-----
> >  11 files changed, 109 insertions(+), 66 deletions(-)
> >
> > --
> > 2.50.1
> >

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-08-13 20:56 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-13  0:01 [PATCH 0/4] Add and use "name" member to radeon_ring struct Alexandre Demers
2025-08-13  0:01 ` [PATCH 1/4] drm/radeon: add name member to radeon_ring structure Alexandre Demers
2025-08-13  0:01 ` [PATCH 2/4] drm/radeon: rename ring to ring_idx in radeon_fence_driver_start_ring() Alexandre Demers
2025-08-13  0:01 ` [PATCH 3/4] drm/radeon: name rings Alexandre Demers
2025-08-13  0:01 ` [PATCH 4/4] drm/radeon: switch from ring->idx to ring->name for printouts Alexandre Demers
2025-08-13  0:15   ` [PATCH 4/4 - V2] " Alexandre Demers
2025-08-13 14:15 ` [PATCH 0/4] Add and use "name" member to radeon_ring struct Alex Deucher
2025-08-13 20:56   ` Alexandre Demers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).