panfrost: XMLify exception access

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6195>
This commit is contained in:
Alyssa Rosenzweig 2020-08-11 21:19:52 -04:00 committed by Tomeu Vizoso
parent 99d17fb771
commit 78445ce695
3 changed files with 8 additions and 31 deletions

View File

@ -655,21 +655,6 @@ struct mali_job_descriptor_header {
u64 next_job;
} __attribute__((packed));
/* These concern exception_status */
/* Access type causing a fault, paralleling AS_FAULTSTATUS_* entries in the
* kernel */
enum mali_exception_access {
/* Atomic in the kernel for MMU, but that doesn't make sense for a job
* fault so it's just unused */
MALI_EXCEPTION_ACCESS_NONE = 0,
MALI_EXCEPTION_ACCESS_EXECUTE = 1,
MALI_EXCEPTION_ACCESS_READ = 2,
MALI_EXCEPTION_ACCESS_WRITE = 3
};
/* Details about write_value from panfrost igt tests which use it as a generic
* dword write primitive */

View File

@ -494,21 +494,6 @@ pandecode_special_record(uint64_t v, bool* attribute)
}
}
#define DEFINE_CASE(name) case MALI_EXCEPTION_ACCESS_## name: return ""#name
static char *
pandecode_exception_access(unsigned access)
{
switch (access) {
DEFINE_CASE(NONE);
DEFINE_CASE(EXECUTE);
DEFINE_CASE(READ);
DEFINE_CASE(WRITE);
default:
unreachable("Invalid case");
}
}
#undef DEFINE_CASE
/* Midgard's tiler descriptor is embedded within the
* larger FBD */
@ -2862,7 +2847,7 @@ pandecode_jc(mali_ptr jc_gpu_va, bool bifrost, unsigned gpu_id, bool minimal)
pandecode_prop("exception_status = %x (source ID: 0x%x access: %s exception: 0x%x)",
h->exception_status,
(h->exception_status >> 16) & 0xFFFF,
pandecode_exception_access((h->exception_status >> 8) & 0x3),
mali_exception_access_as_str((h->exception_status >> 8) & 0x3),
h->exception_status & 0xFF);
if (h->first_incomplete_task)

View File

@ -27,6 +27,13 @@
<value name="Quad strip" value="15"/>
</enum>
<enum name="Exception Access">
<value name="None" value="0"/>
<value name="Execute" value="2"/>
<value name="Read" value="1"/>
<value name="Write" value="3"/>
</enum>
<enum name="Func">
<value name="Never" value="0"/>
<value name="Less" value="1"/>