[PATCH umr] Add ability to halt waves when reading rings.

Tom St Denis tom.stdenis at amd.com
Mon Aug 14 17:46:55 UTC 2017


Perhaps not terribly useful for debugging UMDs but
useful for developing umr as it lets me inspect semi-valid
IBs and write the ring decoding logic...

Signed-off-by: Tom St Denis <tom.stdenis at amd.com>
---
 src/app/ring_read.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/app/ring_read.c b/src/app/ring_read.c
index 401a1ac87b8d..1e569875f779 100644
--- a/src/app/ring_read.c
+++ b/src/app/ring_read.c
@@ -61,6 +61,9 @@ void umr_read_ring(struct umr_asic *asic, char *ringpath)
 		enable_decoder = 0;
 	}
 
+	if (asic->options.halt_waves)
+		umr_sq_cmd_halt_waves(asic, UMR_SQ_CMD_HALT);
+
 	/* determine file size */
 	ringsize = lseek(fd, 0, SEEK_END) - 12;
 	lseek(fd, 0, SEEK_SET);
@@ -69,7 +72,7 @@ void umr_read_ring(struct umr_asic *asic, char *ringpath)
 	if (!ring_data) {
 		close(fd);
 		perror("Could not allocate ring data");
-		return;
+		goto end;
 	}
 	read(fd, ring_data, ringsize + 12);
 	close(fd);
@@ -142,4 +145,8 @@ void umr_read_ring(struct umr_asic *asic, char *ringpath)
 		free(pdecoder);
 		pdecoder = ppdecoder;
 	}
+
+end:
+	if (asic->options.halt_waves)
+		umr_sq_cmd_halt_waves(asic, UMR_SQ_CMD_RESUME);
 }
-- 
2.12.0



More information about the amd-gfx mailing list