diff options
author | Jesse Hall <jessehall@google.com> | 2021-11-23 14:38:46 -0800 |
---|---|---|
committer | Jesse Hall <jessehall@google.com> | 2021-11-23 14:38:46 -0800 |
commit | 0c596dc70431fa2c70021fa1685e3efc969a852d (patch) | |
tree | 8c6cfe8da5d3bea214e991cc4438988f65d9081e /mali_kbase/debug | |
parent | bbbb1cf6bb211bb2094dd66656966277c326867f (diff) | |
download | gpu-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')
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 |