diff options
Diffstat (limited to 'driver/gator_trace_gpu.c')
-rw-r--r-- | driver/gator_trace_gpu.c | 76 |
1 files changed, 36 insertions, 40 deletions
diff --git a/driver/gator_trace_gpu.c b/driver/gator_trace_gpu.c index 0511d71..9fc488b 100644 --- a/driver/gator_trace_gpu.c +++ b/driver/gator_trace_gpu.c @@ -27,7 +27,6 @@ #define EVENT_TYPE_SUSPEND 3 #define EVENT_TYPE_RESUME 4 - /* Note whether tracepoints have been registered */ static int mali_timeline_trace_registered; static int mali_job_slots_trace_registered; @@ -49,34 +48,33 @@ static int gpu_trace_registered; */ enum { EVENT_CHANNEL_SOFTWARE = 0, - EVENT_CHANNEL_VP0 = 1, - EVENT_CHANNEL_FP0 = 5, - EVENT_CHANNEL_FP1, - EVENT_CHANNEL_FP2, - EVENT_CHANNEL_FP3, - EVENT_CHANNEL_FP4, - EVENT_CHANNEL_FP5, - EVENT_CHANNEL_FP6, - EVENT_CHANNEL_FP7, - EVENT_CHANNEL_GPU = 21 + EVENT_CHANNEL_VP0 = 1, + EVENT_CHANNEL_FP0 = 5, + EVENT_CHANNEL_FP1, + EVENT_CHANNEL_FP2, + EVENT_CHANNEL_FP3, + EVENT_CHANNEL_FP4, + EVENT_CHANNEL_FP5, + EVENT_CHANNEL_FP6, + EVENT_CHANNEL_FP7, + EVENT_CHANNEL_GPU = 21 }; /** * These events are applicable when the type MALI_PROFILING_EVENT_TYPE_SINGLE is used from the GPU channel */ enum { - EVENT_REASON_SINGLE_GPU_NONE = 0, - EVENT_REASON_SINGLE_GPU_FREQ_VOLT_CHANGE = 1, + EVENT_REASON_SINGLE_GPU_NONE = 0, + EVENT_REASON_SINGLE_GPU_FREQ_VOLT_CHANGE = 1, }; - GATOR_DEFINE_PROBE(mali_timeline_event, TP_PROTO(unsigned int event_id, unsigned int d0, unsigned int d1, unsigned int d2, unsigned int d3, unsigned int d4)) { unsigned int component, state; // do as much work as possible before disabling interrupts - component = (event_id >> 16) & 0xFF; // component is an 8-bit field - state = (event_id >> 24) & 0xF; // state is a 4-bit field + component = (event_id >> 16) & 0xFF; // component is an 8-bit field + state = (event_id >> 24) & 0xF; // state is a 4-bit field switch (state) { case EVENT_TYPE_START: @@ -101,7 +99,7 @@ GATOR_DEFINE_PROBE(mali_timeline_event, TP_PROTO(unsigned int event_id, unsigned if (component == EVENT_CHANNEL_GPU) { unsigned int reason = (event_id & 0xffff); - if(reason == EVENT_REASON_SINGLE_GPU_FREQ_VOLT_CHANGE) { + if (reason == EVENT_REASON_SINGLE_GPU_FREQ_VOLT_CHANGE) { gator_events_mali_log_dvfs_event(d0, d1); } } @@ -118,11 +116,10 @@ GATOR_DEFINE_PROBE(mali_job_slots_event, TP_PROTO(unsigned int event_id, unsigne { unsigned int component, state, unit; - component = (event_id >> 16) & 0xFF; // component is an 8-bit field - state = (event_id >> 24) & 0xF; // state is a 4-bit field + component = (event_id >> 16) & 0xFF; // component is an 8-bit field + state = (event_id >> 24) & 0xF; // state is a 4-bit field - switch (component) - { + switch (component) { case 0: unit = GPU_UNIT_FP; break; @@ -136,9 +133,8 @@ GATOR_DEFINE_PROBE(mali_job_slots_event, TP_PROTO(unsigned int event_id, unsigne unit = GPU_UNIT_NONE; } - if (unit != GPU_UNIT_NONE) - { - switch(state) { + if (unit != GPU_UNIT_NONE) { + switch (state) { case EVENT_TYPE_START: marshal_sched_gpu_start(unit, 0, tgid, (pid != 0 ? pid : tgid)); break; @@ -175,27 +171,27 @@ int gator_trace_gpu_start(void) gpu_trace_registered = mali_timeline_trace_registered = mali_job_slots_trace_registered = 0; #if defined(MALI_SUPPORT) && (MALI_SUPPORT != MALI_T6xx) - if (!GATOR_REGISTER_TRACE(mali_timeline_event)) { - mali_timeline_trace_registered = 1; - } + if (!GATOR_REGISTER_TRACE(mali_timeline_event)) { + mali_timeline_trace_registered = 1; + } #endif #if defined(MALI_SUPPORT) && (MALI_SUPPORT == MALI_T6xx) - if (!GATOR_REGISTER_TRACE(mali_job_slots_event)) { - mali_job_slots_trace_registered = 1; - } + if (!GATOR_REGISTER_TRACE(mali_job_slots_event)) { + mali_job_slots_trace_registered = 1; + } #endif - if (!mali_timeline_trace_registered) { - if (GATOR_REGISTER_TRACE(gpu_activity_start)) { - return 0; - } - if (GATOR_REGISTER_TRACE(gpu_activity_stop)) { - GATOR_UNREGISTER_TRACE(gpu_activity_start); - return 0; - } - gpu_trace_registered = 1; - } + if (!mali_timeline_trace_registered) { + if (GATOR_REGISTER_TRACE(gpu_activity_start)) { + return 0; + } + if (GATOR_REGISTER_TRACE(gpu_activity_stop)) { + GATOR_UNREGISTER_TRACE(gpu_activity_start); + return 0; + } + gpu_trace_registered = 1; + } return 0; } |