panfrost/decode: Decode exception status
authorTomeu Vizoso <tomeu.vizoso@collabora.com>
Tue, 25 Jun 2019 06:22:30 +0000 (08:22 +0200)
committerTomeu Vizoso <tomeu.vizoso@collabora.com>
Thu, 27 Jun 2019 07:13:35 +0000 (09:13 +0200)
Arm's kernel driver mentions how to decode this field, which makes a bit
clearer what had happened.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
src/gallium/drivers/panfrost/pandecode/decode.c

index 8f96624872a046fb31e29a16a6e86797b375d978..4547f52e5fe9076137cc8880928974f32aa3ca44 100644 (file)
@@ -2171,8 +2171,12 @@ pandecode_replay_jc(mali_ptr jc_gpu_va, bool bifrost)
                 if (h->job_descriptor_size)
                         pandecode_prop("job_descriptor_size = %d", h->job_descriptor_size);
 
-                if (h->exception_status)
-                        pandecode_prop("exception_status = %d", h->exception_status);
+                if (h->exception_status != 0x1)
+                        pandecode_prop("exception_status = %x (source ID: 0x%x access: 0x%x exception: 0x%x)",
+                                       h->exception_status,
+                                       (h->exception_status >> 16) & 0xFFFF,
+                                       (h->exception_status >> 8) & 0x3,
+                                       h->exception_status  & 0xFF);
 
                 if (h->first_incomplete_task)
                         pandecode_prop("first_incomplete_task = %d", h->first_incomplete_task);