intel/error2aub: parse other buffer types

We don't write them in the aub file yet.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
This commit is contained in:
Lionel Landwerlin 2018-09-04 13:44:49 +01:00
parent c0ea043888
commit 630a72827a
1 changed files with 22 additions and 13 deletions

View File

@ -156,7 +156,12 @@ struct bo {
BO_TYPE_UNKNOWN = 0,
BO_TYPE_BATCH,
BO_TYPE_USER,
BO_TYPE_CONTEXT,
BO_TYPE_RINGBUFFER,
BO_TYPE_STATUS,
BO_TYPE_CONTEXT_WA,
} type;
const char *name;
uint64_t addr;
uint8_t *data;
uint64_t size;
@ -358,23 +363,27 @@ main(int argc, char *argv[])
enum bo_type type;
} bo_types[] = {
{ "gtt_offset", BO_TYPE_BATCH },
{ "user", BO_TYPE_USER },
{ NULL, BO_TYPE_UNKNOWN },
{ "user", BO_TYPE_USER },
{ "HW context", BO_TYPE_CONTEXT },
{ "ringbuffer", BO_TYPE_RINGBUFFER },
{ "HW Status", BO_TYPE_STATUS },
{ "WA context", BO_TYPE_CONTEXT_WA },
{ "unknown", BO_TYPE_UNKNOWN },
}, *b;
for (b = bo_types; b->match; b++) {
if (strncasecmp(dashes, b->match, strlen(b->match)) == 0) {
/* The batch buffer will appear twice as gtt_offset and user.
* Only keep the batch type.
*/
if (last_bo->type == BO_TYPE_BATCH && b->type == BO_TYPE_USER)
break;
last_bo->type = b->type;
for (b = bo_types; b->type != BO_TYPE_UNKNOWN; b++) {
if (strncasecmp(dashes, b->match, strlen(b->match)) == 0)
break;
}
}
/* The batch buffer will appear twice as gtt_offset and user. Only
* keep the batch type.
*/
if (last_bo->type == BO_TYPE_UNKNOWN) {
last_bo->type = b->type;
last_bo->name = b->match;
}
continue;
}
}