From 9b5dc2124fabaae3db42bab6639d507657e22866 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Tue, 4 Sep 2018 14:50:13 +0100 Subject: [PATCH] intel/error2aub: store engine last ring buffer head/tail pointers Signed-off-by: Lionel Landwerlin Reviewed-by: Rafael Antognolli --- src/intel/tools/error2aub.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) 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); -- 2.30.2