aboutsummaryrefslogtreecommitdiffstats
path: root/src/intel/tools
diff options
context:
space:
mode:
authorLionel Landwerlin <[email protected]>2018-09-04 14:50:13 +0100
committerLionel Landwerlin <[email protected]>2019-03-08 11:01:14 +0000
commit9b5dc2124fabaae3db42bab6639d507657e22866 (patch)
tree7325d35183506e2b305e94b831dcf5b21e6af281 /src/intel/tools
parentcdab19fa57ede4be26c7b8ab1a76652071ad63bd (diff)
intel/error2aub: store engine last ring buffer head/tail pointers
Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Rafael Antognolli <[email protected]>
Diffstat (limited to 'src/intel/tools')
-rw-r--r--src/intel/tools/error2aub.c22
1 files changed, 22 insertions, 0 deletions
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);