summaryrefslogtreecommitdiff
path: root/mali_kbase/debug
diff options
context:
space:
mode:
authorJesse Hall <jessehall@google.com>2021-11-23 14:38:46 -0800
committerJesse Hall <jessehall@google.com>2021-11-23 14:38:46 -0800
commit0c596dc70431fa2c70021fa1685e3efc969a852d (patch)
tree8c6cfe8da5d3bea214e991cc4438988f65d9081e /mali_kbase/debug
parentbbbb1cf6bb211bb2094dd66656966277c326867f (diff)
downloadgpu-0c596dc70431fa2c70021fa1685e3efc969a852d.tar.gz
Mali Valhall Android DDK r34p0-00dev1
Provenance: 046d23c969 (collaborate/google/android/v_r34p0-00dev1) VX504X08X-BU-00000-r34p0-00dev1 - Valhall Android DDK VX504X08X-SW-99006-r34p0-00dev1 - Valhall Android Renderscript AOSP parts Documentation from VX504X08X-BU-00000 omitted. Signed-off-by: Jesse Hall <jessehall@google.com> Change-Id: I4ebbb3a3af709bd39f883eed3b35bf4657a95797
Diffstat (limited to 'mali_kbase/debug')
-rw-r--r--mali_kbase/debug/backend/mali_kbase_debug_ktrace_codes_jm.h34
-rw-r--r--mali_kbase/debug/backend/mali_kbase_debug_ktrace_defs_jm.h5
-rw-r--r--mali_kbase/debug/backend/mali_kbase_debug_ktrace_jm.c9
-rw-r--r--mali_kbase/debug/backend/mali_kbase_debug_ktrace_jm.h9
-rw-r--r--mali_kbase/debug/backend/mali_kbase_debug_linux_ktrace_jm.h10
-rw-r--r--mali_kbase/debug/mali_kbase_debug_ktrace_codes.h4
-rw-r--r--mali_kbase/debug/mali_kbase_debug_linux_ktrace.h3
7 files changed, 65 insertions, 9 deletions
diff --git a/mali_kbase/debug/backend/mali_kbase_debug_ktrace_codes_jm.h b/mali_kbase/debug/backend/mali_kbase_debug_ktrace_codes_jm.h
index f419f70..6ba98b7 100644
--- a/mali_kbase/debug/backend/mali_kbase_debug_ktrace_codes_jm.h
+++ b/mali_kbase/debug/backend/mali_kbase_debug_ktrace_codes_jm.h
@@ -56,6 +56,14 @@ int dummy_array[] = {
*/
/* info_val==exit code; gpu_addr==chain gpuaddr */
KBASE_KTRACE_CODE_MAKE_CODE(JM_JOB_DONE),
+ /* gpu_addr==JS_HEAD read
+ * info_val==event code
+ */
+ KBASE_KTRACE_CODE_MAKE_CODE(JM_RETURN_ATOM_TO_JS),
+ /* gpu_addr==JS_HEAD read
+ * info_val==event code
+ */
+ KBASE_KTRACE_CODE_MAKE_CODE(JM_MARK_FOR_RETURN_TO_JS),
/* gpu_addr==JS_HEAD_NEXT written, info_val==lower 32 bits of
* affinity
*/
@@ -120,6 +128,13 @@ int dummy_array[] = {
KBASE_KTRACE_CODE_MAKE_CODE(JS_ADD_JOB),
/* gpu_addr==last value written/would be written to JS_HEAD */
KBASE_KTRACE_CODE_MAKE_CODE(JS_REMOVE_JOB),
+ /* gpu_addr==value to write into JS_HEAD
+ * info_val==priority of atom as a KBASE_JS_ATOM_SCHED_PRIO_<...> value
+ * (0 highest)
+ */
+ KBASE_KTRACE_CODE_MAKE_CODE(JS_PULL_JOB),
+ /* gpu_addr==value that would be written to JS_HEAD if run again */
+ KBASE_KTRACE_CODE_MAKE_CODE(JS_UNPULL_JOB),
KBASE_KTRACE_CODE_MAKE_CODE(JS_TRY_SCHEDULE_HEAD_CTX),
/* gpu_addr==value to write into JS_HEAD */
KBASE_KTRACE_CODE_MAKE_CODE(JS_JOB_DONE_TRY_RUN_NEXT_JOB),
@@ -146,6 +161,25 @@ int dummy_array[] = {
KBASE_KTRACE_CODE_MAKE_CODE(JS_CTX_ATTR_NOW_OFF_CTX),
/* info_val == the ctx attribute now off runpool */
KBASE_KTRACE_CODE_MAKE_CODE(JS_CTX_ATTR_NOW_OFF_RUNPOOL),
+ /* gpu_addr==value to write into JS_HEAD */
+ KBASE_KTRACE_CODE_MAKE_CODE(JS_RETURN_WORKER),
+ /* gpu_addr==value to write into JS_HEAD */
+ KBASE_KTRACE_CODE_MAKE_CODE(JS_RETURN_WORKER_END),
+ /* info_val==priority level blocked (0 highest) */
+ KBASE_KTRACE_CODE_MAKE_CODE(JS_SLOT_PRIO_BLOCKED),
+ /* info_val==priority level unblocked (0 highest)
+ * note that the priority level may still be blocked on higher levels
+ */
+ KBASE_KTRACE_CODE_MAKE_CODE(JS_SLOT_PRIO_UNBLOCKED),
+ /* gpu_addr==value to write into JS_HEAD
+ * info_val==priority level unblocked - priorities at this and higher
+ * are unblocked (0 highest)
+ */
+ KBASE_KTRACE_CODE_MAKE_CODE(JS_SLOT_PRIO_AND_HIGHER_UNBLOCKED),
+ /* gpu_addr==value to write into JS_HEAD
+ * info_val==priority level blocked (0 highest)
+ */
+ KBASE_KTRACE_CODE_MAKE_CODE(JS_SLOT_PRIO_IS_BLOCKED),
/*
* Scheduler Policy events
*/
diff --git a/mali_kbase/debug/backend/mali_kbase_debug_ktrace_defs_jm.h b/mali_kbase/debug/backend/mali_kbase_debug_ktrace_defs_jm.h
index c01f930..efa8ab0 100644
--- a/mali_kbase/debug/backend/mali_kbase_debug_ktrace_defs_jm.h
+++ b/mali_kbase/debug/backend/mali_kbase_debug_ktrace_defs_jm.h
@@ -45,9 +45,12 @@
*
* ftrace backend now outputs kctx field (as %d_%u format).
*
+ * 2.2:
+ * Add tracing codes for pulling, unpulling, and returns atoms to JS for
+ * diagnosing soft-stop path and preemption problems
*/
#define KBASE_KTRACE_VERSION_MAJOR 2
-#define KBASE_KTRACE_VERSION_MINOR 1
+#define KBASE_KTRACE_VERSION_MINOR 2
#endif /* KBASE_KTRACE_TARGET_RBUF */
/*
diff --git a/mali_kbase/debug/backend/mali_kbase_debug_ktrace_jm.c b/mali_kbase/debug/backend/mali_kbase_debug_ktrace_jm.c
index fed9c1f..05d1677 100644
--- a/mali_kbase/debug/backend/mali_kbase_debug_ktrace_jm.c
+++ b/mali_kbase/debug/backend/mali_kbase_debug_ktrace_jm.c
@@ -71,10 +71,11 @@ void kbasep_ktrace_backend_format_msg(struct kbase_ktrace_msg *trace_msg,
}
void kbasep_ktrace_add_jm(struct kbase_device *kbdev,
- enum kbase_ktrace_code code, struct kbase_context *kctx,
- struct kbase_jd_atom *katom, u64 gpu_addr,
- kbase_ktrace_flag_t flags, int refcount, int jobslot,
- u64 info_val)
+ enum kbase_ktrace_code code,
+ struct kbase_context *kctx,
+ const struct kbase_jd_atom *katom, u64 gpu_addr,
+ kbase_ktrace_flag_t flags, int refcount, int jobslot,
+ u64 info_val)
{
unsigned long irqflags;
struct kbase_ktrace_msg *trace_msg;
diff --git a/mali_kbase/debug/backend/mali_kbase_debug_ktrace_jm.h b/mali_kbase/debug/backend/mali_kbase_debug_ktrace_jm.h
index 8b09d05..ffae8d4 100644
--- a/mali_kbase/debug/backend/mali_kbase_debug_ktrace_jm.h
+++ b/mali_kbase/debug/backend/mali_kbase_debug_ktrace_jm.h
@@ -41,10 +41,11 @@
* PRIVATE: do not use directly. Use KBASE_KTRACE_ADD_JM() instead.
*/
void kbasep_ktrace_add_jm(struct kbase_device *kbdev,
- enum kbase_ktrace_code code, struct kbase_context *kctx,
- struct kbase_jd_atom *katom, u64 gpu_addr,
- kbase_ktrace_flag_t flags, int refcount, int jobslot,
- u64 info_val);
+ enum kbase_ktrace_code code,
+ struct kbase_context *kctx,
+ const struct kbase_jd_atom *katom, u64 gpu_addr,
+ kbase_ktrace_flag_t flags, int refcount, int jobslot,
+ u64 info_val);
#define KBASE_KTRACE_RBUF_ADD_JM(kbdev, code, kctx, katom, gpu_addr, flags, \
refcount, jobslot, info_val) \
diff --git a/mali_kbase/debug/backend/mali_kbase_debug_linux_ktrace_jm.h b/mali_kbase/debug/backend/mali_kbase_debug_linux_ktrace_jm.h
index 2e88e69..8fa4e2a 100644
--- a/mali_kbase/debug/backend/mali_kbase_debug_linux_ktrace_jm.h
+++ b/mali_kbase/debug/backend/mali_kbase_debug_linux_ktrace_jm.h
@@ -50,6 +50,8 @@ DECLARE_EVENT_CLASS(mali_jm_slot_template,
DEFINE_EVENT(mali_jm_slot_template, mali_##name, \
TP_PROTO(struct kbase_context *kctx, int jobslot, u64 info_val), \
TP_ARGS(kctx, jobslot, info_val))
+DEFINE_MALI_JM_SLOT_EVENT(JM_RETURN_ATOM_TO_JS);
+DEFINE_MALI_JM_SLOT_EVENT(JM_MARK_FOR_RETURN_TO_JS);
DEFINE_MALI_JM_SLOT_EVENT(JM_SUBMIT);
DEFINE_MALI_JM_SLOT_EVENT(JM_JOB_DONE);
DEFINE_MALI_JM_SLOT_EVENT(JM_UPDATE_HEAD);
@@ -68,6 +70,7 @@ DEFINE_MALI_JM_SLOT_EVENT(JS_CORE_REF_REGISTER_ON_RECHECK_FAILED);
DEFINE_MALI_JM_SLOT_EVENT(JS_AFFINITY_SUBMIT_TO_BLOCKED);
DEFINE_MALI_JM_SLOT_EVENT(JS_AFFINITY_CURRENT);
DEFINE_MALI_JM_SLOT_EVENT(JD_DONE_TRY_RUN_NEXT_JOB);
+DEFINE_MALI_JM_SLOT_EVENT(JS_PULL_JOB);
DEFINE_MALI_JM_SLOT_EVENT(JS_CORE_REF_REQUEST_CORES_FAILED);
DEFINE_MALI_JM_SLOT_EVENT(JS_CORE_REF_REGISTER_INUSE_FAILED);
DEFINE_MALI_JM_SLOT_EVENT(JS_CORE_REF_REQUEST_ON_RECHECK_FAILED);
@@ -76,6 +79,10 @@ DEFINE_MALI_JM_SLOT_EVENT(JS_JOB_DONE_TRY_RUN_NEXT_JOB);
DEFINE_MALI_JM_SLOT_EVENT(JS_JOB_DONE_RETRY_NEEDED);
DEFINE_MALI_JM_SLOT_EVENT(JS_POLICY_DEQUEUE_JOB);
DEFINE_MALI_JM_SLOT_EVENT(JS_POLICY_DEQUEUE_JOB_IRQ);
+DEFINE_MALI_JM_SLOT_EVENT(JS_SLOT_PRIO_BLOCKED);
+DEFINE_MALI_JM_SLOT_EVENT(JS_SLOT_PRIO_UNBLOCKED);
+DEFINE_MALI_JM_SLOT_EVENT(JS_SLOT_PRIO_AND_HIGHER_UNBLOCKED);
+DEFINE_MALI_JM_SLOT_EVENT(JS_SLOT_PRIO_IS_BLOCKED);
#undef DEFINE_MALI_JM_SLOT_EVENT
DECLARE_EVENT_CLASS(mali_jm_refcount_template,
@@ -152,10 +159,13 @@ DEFINE_MALI_JM_ADD_EVENT(JM_ZAP_SCHEDULED);
DEFINE_MALI_JM_ADD_EVENT(JM_ZAP_DONE);
DEFINE_MALI_JM_ADD_EVENT(JM_SUBMIT_AFTER_RESET);
DEFINE_MALI_JM_ADD_EVENT(JM_JOB_COMPLETE);
+DEFINE_MALI_JM_ADD_EVENT(JS_UNPULL_JOB);
DEFINE_MALI_JM_ADD_EVENT(JS_CTX_ATTR_NOW_ON_RUNPOOL);
DEFINE_MALI_JM_ADD_EVENT(JS_CTX_ATTR_NOW_OFF_RUNPOOL);
DEFINE_MALI_JM_ADD_EVENT(JS_CTX_ATTR_NOW_ON_CTX);
DEFINE_MALI_JM_ADD_EVENT(JS_CTX_ATTR_NOW_OFF_CTX);
+DEFINE_MALI_JM_ADD_EVENT(JS_RETURN_WORKER);
+DEFINE_MALI_JM_ADD_EVENT(JS_RETURN_WORKER_END);
DEFINE_MALI_JM_ADD_EVENT(JS_POLICY_TIMER_END);
DEFINE_MALI_JM_ADD_EVENT(JS_POLICY_TIMER_START);
DEFINE_MALI_JM_ADD_EVENT(JS_POLICY_ENQUEUE_JOB);
diff --git a/mali_kbase/debug/mali_kbase_debug_ktrace_codes.h b/mali_kbase/debug/mali_kbase_debug_ktrace_codes.h
index 3309834..1c6b4cd 100644
--- a/mali_kbase/debug/mali_kbase_debug_ktrace_codes.h
+++ b/mali_kbase/debug/mali_kbase_debug_ktrace_codes.h
@@ -138,6 +138,10 @@ int dummy_array[] = {
/* info_val == policy number */
KBASE_KTRACE_CODE_MAKE_CODE(PM_CURRENT_POLICY_TERM),
+ KBASE_KTRACE_CODE_MAKE_CODE(PM_POWEROFF_WAIT_WQ),
+ KBASE_KTRACE_CODE_MAKE_CODE(PM_RUNTIME_SUSPEND_CALLBACK),
+ KBASE_KTRACE_CODE_MAKE_CODE(PM_RUNTIME_RESUME_CALLBACK),
+
/*
* Context Scheduler events
*/
diff --git a/mali_kbase/debug/mali_kbase_debug_linux_ktrace.h b/mali_kbase/debug/mali_kbase_debug_linux_ktrace.h
index b56dec4..5fac763 100644
--- a/mali_kbase/debug/mali_kbase_debug_linux_ktrace.h
+++ b/mali_kbase/debug/mali_kbase_debug_linux_ktrace.h
@@ -95,6 +95,9 @@ DEFINE_MALI_ADD_EVENT(PM_CA_SET_POLICY);
DEFINE_MALI_ADD_EVENT(PM_CONTEXT_ACTIVE);
DEFINE_MALI_ADD_EVENT(PM_CONTEXT_IDLE);
DEFINE_MALI_ADD_EVENT(PM_WAKE_WAITERS);
+DEFINE_MALI_ADD_EVENT(PM_POWEROFF_WAIT_WQ);
+DEFINE_MALI_ADD_EVENT(PM_RUNTIME_SUSPEND_CALLBACK);
+DEFINE_MALI_ADD_EVENT(PM_RUNTIME_RESUME_CALLBACK);
DEFINE_MALI_ADD_EVENT(SCHED_RETAIN_CTX_NOLOCK);
DEFINE_MALI_ADD_EVENT(SCHED_RELEASE_CTX);
#ifdef CONFIG_MALI_ARBITER_SUPPORT