pan/midgard: Fix disassembler cycle/quadword counting
Due to the succeeding break we would fall into some off-by-one errors.
These should be resolved now.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
diff --git a/src/panfrost/midgard/disassemble.c b/src/panfrost/midgard/disassemble.c
index 0b4dc72..cfce111 100644
--- a/src/panfrost/midgard/disassemble.c
+++ b/src/panfrost/midgard/disassemble.c
@@ -1543,6 +1543,12 @@
break;
}
+ /* We are parsing per bundle anyway. Add before we start
+ * breaking out so we don't miss the final bundle. */
+
+ midg_stats.bundle_count++;
+ midg_stats.quadword_count += num_quad_words;
+
if (prefetch_flag && midgard_word_types[tag] == midgard_word_type_alu)
break;
@@ -1550,10 +1556,6 @@
unsigned next = (words[i] & 0xF0) >> 4;
- /* We are parsing per bundle anyway */
- midg_stats.bundle_count++;
- midg_stats.quadword_count += num_quad_words;
-
/* Break based on instruction prefetch flag */
if (i < num_words && next == 1) {