<div dir="ltr"><div>Reviewed-by: Marek Olšák <<a href="mailto:marek.olsak@amd.com">marek.olsak@amd.com</a>></div><div><br></div><div>Marek<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jul 7, 2019 at 1:32 PM Samuel Pitoiset <<a href="mailto:samuel.pitoiset@gmail.com">samuel.pitoiset@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">GFX10 has two rings, so UMR want to know which one to halt.<br>
Select the first one by default.<br>
<br>
Signed-off-by: Samuel Pitoiset <<a href="mailto:samuel.pitoiset@gmail.com" target="_blank">samuel.pitoiset@gmail.com</a>><br>
---<br>
 src/amd/common/ac_debug.c               | 9 ++++++---<br>
 src/amd/common/ac_debug.h               | 3 ++-<br>
 src/amd/vulkan/radv_debug.c             | 3 ++-<br>
 src/gallium/drivers/radeonsi/si_debug.c | 2 +-<br>
 4 files changed, 11 insertions(+), 6 deletions(-)<br>
<br>
diff --git a/src/amd/common/ac_debug.c b/src/amd/common/ac_debug.c<br>
index e4cb6a13a3a..1632106fdb9 100644<br>
--- a/src/amd/common/ac_debug.c<br>
+++ b/src/amd/common/ac_debug.c<br>
@@ -769,12 +769,15 @@ static int compare_wave(const void *p1, const void *p2)<br>
 }<br>
<br>
 /* Return wave information. "waves" should be a large enough array. */<br>
-unsigned ac_get_wave_info(struct ac_wave_info waves[AC_MAX_WAVES_PER_CHIP])<br>
+unsigned ac_get_wave_info(enum chip_class chip_class,<br>
+                         struct ac_wave_info waves[AC_MAX_WAVES_PER_CHIP])<br>
 {<br>
-       char line[2000];<br>
+       char line[2000], cmd[128];<br>
        unsigned num_waves = 0;<br>
<br>
-       FILE *p = popen("umr -O halt_waves -wa", "r");<br>
+       sprintf(cmd, "umr -O halt_waves -wa %s", chip_class >= GFX10 ? "gfx_0.0.0" : "gfx");<br>
+<br>
+       FILE *p = popen(cmd, "r");<br>
        if (!p)<br>
                return 0;<br>
<br>
diff --git a/src/amd/common/ac_debug.h b/src/amd/common/ac_debug.h<br>
index 23343fe1304..0d5c1dd9eac 100644<br>
--- a/src/amd/common/ac_debug.h<br>
+++ b/src/amd/common/ac_debug.h<br>
@@ -64,6 +64,7 @@ void ac_parse_ib(FILE *f, uint32_t *ib, int num_dw, const int *trace_ids,<br>
 bool ac_vm_fault_occured(enum chip_class chip_class,<br>
                         uint64_t *old_dmesg_timestamp, uint64_t *out_addr);<br>
<br>
-unsigned ac_get_wave_info(struct ac_wave_info waves[AC_MAX_WAVES_PER_CHIP]);<br>
+unsigned ac_get_wave_info(enum chip_class chip_class,<br>
+                         struct ac_wave_info waves[AC_MAX_WAVES_PER_CHIP]);<br>
<br>
 #endif<br>
diff --git a/src/amd/vulkan/radv_debug.c b/src/amd/vulkan/radv_debug.c<br>
index 2f661c0208f..42296745543 100644<br>
--- a/src/amd/vulkan/radv_debug.c<br>
+++ b/src/amd/vulkan/radv_debug.c<br>
@@ -445,7 +445,8 @@ radv_dump_annotated_shaders(struct radv_pipeline *pipeline,<br>
                            VkShaderStageFlagBits active_stages, FILE *f)<br>
 {<br>
        struct ac_wave_info waves[AC_MAX_WAVES_PER_CHIP];<br>
-       unsigned num_waves = ac_get_wave_info(waves);<br>
+       enum chip_class chip_class = pipeline->device->physical_device->rad_info.chip_class;<br>
+       unsigned num_waves = ac_get_wave_info(chip_class, waves);<br>
<br>
        fprintf(f, COLOR_CYAN "The number of active waves = %u" COLOR_RESET<br>
                "\n\n", num_waves);<br>
diff --git a/src/gallium/drivers/radeonsi/si_debug.c b/src/gallium/drivers/radeonsi/si_debug.c<br>
index c9c78733099..8265159c0d0 100644<br>
--- a/src/gallium/drivers/radeonsi/si_debug.c<br>
+++ b/src/gallium/drivers/radeonsi/si_debug.c<br>
@@ -1080,7 +1080,7 @@ static void si_print_annotated_shader(struct si_shader *shader,<br>
 static void si_dump_annotated_shaders(struct si_context *sctx, FILE *f)<br>
 {<br>
        struct ac_wave_info waves[AC_MAX_WAVES_PER_CHIP];<br>
-       unsigned num_waves = ac_get_wave_info(waves);<br>
+       unsigned num_waves = ac_get_wave_info(sctx->chip_class, waves);<br>
<br>
        fprintf(f, COLOR_CYAN "The number of active waves = %u" COLOR_RESET<br>
                "\n\n", num_waves);<br>
-- <br>
2.22.0<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a></blockquote></div>