[Mesa-dev] [PATCH 04/10] radeonsi/gfx9: don't read back non-existent register SRBM_STATUS2

Marek Olšák maraeo at gmail.com
Mon Jul 10 21:21:39 UTC 2017


From: Marek Olšák <marek.olsak at amd.com>

It looks like there is no way to monitor SDMA busyness on GFX9.
---
 src/gallium/drivers/radeon/r600_gpu_load.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeon/r600_gpu_load.c b/src/gallium/drivers/radeon/r600_gpu_load.c
index 3b45545..d8f7c3d 100644
--- a/src/gallium/drivers/radeon/r600_gpu_load.c
+++ b/src/gallium/drivers/radeon/r600_gpu_load.c
@@ -98,21 +98,21 @@ static void r600_update_mmio_counters(struct r600_common_screen *rscreen,
 	UPDATE_COUNTER(spi, SPI_BUSY);
 	UPDATE_COUNTER(bci, BCI_BUSY);
 	UPDATE_COUNTER(sc, SC_BUSY);
 	UPDATE_COUNTER(pa, PA_BUSY);
 	UPDATE_COUNTER(db, DB_BUSY);
 	UPDATE_COUNTER(cp, CP_BUSY);
 	UPDATE_COUNTER(cb, CB_BUSY);
 	UPDATE_COUNTER(gui, GUI_ACTIVE);
 	gui_busy = GUI_ACTIVE(value);
 
-	if (rscreen->chip_class >= CIK) {
+	if (rscreen->chip_class == CIK || rscreen->chip_class == VI) {
 		/* SRBM_STATUS2 */
 		rscreen->ws->read_registers(rscreen->ws, SRBM_STATUS2, 1, &value);
 
 		UPDATE_COUNTER(sdma, SDMA_BUSY);
 		sdma_busy = SDMA_BUSY(value);
 	}
 
 	if (rscreen->chip_class >= VI) {
 		/* CP_STAT */
 		rscreen->ws->read_registers(rscreen->ws, CP_STAT, 1, &value);
-- 
2.7.4



More information about the mesa-dev mailing list