From: Lionel Landwerlin Date: Tue, 4 Sep 2018 13:50:13 +0000 (+0100) Subject: intel/error2aub: store engine last ring buffer head/tail pointers X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9b5dc2124fabaae3db42bab6639d507657e22866;p=mesa.git intel/error2aub: store engine last ring buffer head/tail pointers Signed-off-by: Lionel Landwerlin Reviewed-by: Rafael Antognolli --- diff --git a/src/intel/tools/error2aub.c b/src/intel/tools/error2aub.c index 0fbbf29daec..1b1f8d9c5f9 100644 --- a/src/intel/tools/error2aub.c +++ b/src/intel/tools/error2aub.c @@ -280,6 +280,14 @@ main(int argc, char *argv[]) enum address_space active_gtt = PPGTT; + struct { + struct { + uint32_t ring_buffer_head; + uint32_t ring_buffer_tail; + } instances[3]; + } engines[I915_ENGINE_CLASS_VIDEO_ENHANCE + 1]; + memset(engines, 0, sizeof(engines)); + int num_ring_bos = 0; struct list_head bo_list; @@ -310,6 +318,20 @@ main(int argc, char *argv[]) continue; } + if (sscanf(line, " ring->head: 0x%x\n", + &engines[ + active_engine_class].instances[ + active_engine_instance].ring_buffer_head) == 1) { + continue; + } + + if (sscanf(line, " ring->tail: 0x%x\n", + &engines[ + active_engine_class].instances[ + active_engine_instance].ring_buffer_tail) == 1) { + continue; + } + const char *active_start = "Active ("; if (strncmp(line, active_start, strlen(active_start)) == 0) { char *ring = line + strlen(active_start);