From a8beef332dbde0bb37d68bd2a53a00f9ad0c178d Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Mon, 23 Dec 2019 12:24:03 -0500 Subject: [PATCH] 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 --- src/panfrost/midgard/disassemble.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/panfrost/midgard/disassemble.c b/src/panfrost/midgard/disassemble.c index 0b4dc72be9f..cfce1110318 100644 --- a/src/panfrost/midgard/disassemble.c +++ b/src/panfrost/midgard/disassemble.c @@ -1543,6 +1543,12 @@ disassemble_midgard(uint8_t *code, size_t size, unsigned gpu_id, gl_shader_stage 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 @@ disassemble_midgard(uint8_t *code, size_t size, unsigned gpu_id, gl_shader_stage 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) { -- 2.30.2