Mesa (master): panfrost: Add a bit more info about some tiler fields
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri May 1 15:27:08 UTC 2020
Module: Mesa
Branch: master
Commit: 7104e286514500bedf495611a20413c0ea4eae2c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7104e286514500bedf495611a20413c0ea4eae2c
Author: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Date: Mon Apr 27 17:09:39 2020 +0200
panfrost: Add a bit more info about some tiler fields
Has been observed that after the job chain has completed, those fields
become populated.
tiler_heap_next_start contains an address inside the tiler heap, a bit
before the value that the GPU writes to tiler_heap_free.
used_hierarchy_mask contains a hex value that corresponds to values
observed as hierarchy masks.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4832>
---
src/panfrost/include/panfrost-job.h | 5 +++--
src/panfrost/pandecode/decode.c | 12 +++++++-----
2 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/src/panfrost/include/panfrost-job.h b/src/panfrost/include/panfrost-job.h
index 827f9287d4f..b02d0abcde9 100644
--- a/src/panfrost/include/panfrost-job.h
+++ b/src/panfrost/include/panfrost-job.h
@@ -1041,12 +1041,13 @@ struct bifrost_tiler_heap_meta {
} __attribute__((packed));
struct bifrost_tiler_meta {
- u64 zero0;
+ u32 tiler_heap_next_start; /* To be written by the GPU */
+ u32 used_hierarchy_mask; /* To be written by the GPU */
u16 hierarchy_mask; /* Five values observed: 0xa, 0x14, 0x28, 0x50, 0xa0 */
u16 flags;
u16 width;
u16 height;
- u64 zero1;
+ u64 zero0;
mali_ptr tiler_heap_meta;
/* TODO what is this used for? */
u64 zeros[20];
diff --git a/src/panfrost/pandecode/decode.c b/src/panfrost/pandecode/decode.c
index 743abc00d13..2779ec4873c 100644
--- a/src/panfrost/pandecode/decode.c
+++ b/src/panfrost/pandecode/decode.c
@@ -2890,11 +2890,8 @@ pandecode_tiler_meta(mali_ptr gpu_va, int job_no)
pandecode_log("struct bifrost_tiler_meta tiler_meta_%"PRIx64"_%d = {\n", gpu_va, job_no);
pandecode_indent++;
- if (t->zero0 || t->zero1) {
- pandecode_msg("XXX: tiler meta zero tripped\n");
- pandecode_prop("zero0 = 0x%" PRIx64, t->zero0);
- pandecode_prop("zero1 = 0x%" PRIx64, t->zero1);
- }
+ pandecode_prop("tiler_heap_next_start = 0x%" PRIx32, t->tiler_heap_next_start);
+ pandecode_prop("used_hierarchy_mask = 0x%" PRIx32, t->used_hierarchy_mask);
if (t->hierarchy_mask != 0xa &&
t->hierarchy_mask != 0x14 &&
@@ -2910,6 +2907,11 @@ pandecode_tiler_meta(mali_ptr gpu_va, int job_no)
pandecode_prop("width = MALI_POSITIVE(%d)", t->width + 1);
pandecode_prop("height = MALI_POSITIVE(%d)", t->height + 1);
+ if (t->zero0) {
+ pandecode_msg("XXX: tiler meta zero tripped\n");
+ pandecode_prop("zero0 = 0x%" PRIx64, t->zero0);
+ }
+
for (int i = 0; i < 12; i++) {
if (t->zeros[i] != 0) {
pandecode_msg("XXX: tiler heap zero %d tripped, value %" PRIx64 "\n",
More information about the mesa-commit
mailing list