aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/arm/t6xx/kbase/src/platform/arndale/mali_linux_hwc_trace.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/arm/t6xx/kbase/src/platform/arndale/mali_linux_hwc_trace.h')
-rw-r--r--drivers/gpu/arm/t6xx/kbase/src/platform/arndale/mali_linux_hwc_trace.h262
1 files changed, 262 insertions, 0 deletions
diff --git a/drivers/gpu/arm/t6xx/kbase/src/platform/arndale/mali_linux_hwc_trace.h b/drivers/gpu/arm/t6xx/kbase/src/platform/arndale/mali_linux_hwc_trace.h
new file mode 100644
index 00000000000..4c6bd4b5ad0
--- /dev/null
+++ b/drivers/gpu/arm/t6xx/kbase/src/platform/arndale/mali_linux_hwc_trace.h
@@ -0,0 +1,262 @@
+/*
+ *
+ * (C) COPYRIGHT 2011-2012 ARM Limited. All rights reserved.
+ *
+ * This program is free software and is provided to you under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation, and any use by you of this program is subject to the terms of such GNU licence.
+ *
+ * A copy of the licence is included with the program, and can also be obtained from Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#if !defined(_TRACE_MALI_HWC_H) || defined(TRACE_HEADER_MULTI_READ)
+#define _TRACE_MALI_HWC_H
+
+#undef TRACE_SYSTEM
+#define TRACE_SYSTEM mali_hwc
+
+#include <linux/tracepoint.h>
+
+DECLARE_EVENT_CLASS(mali_hw_counter_template,
+ TP_PROTO(unsigned int val),
+ TP_ARGS(val),
+ TP_STRUCT__entry(
+ __field( unsigned int, val )
+ ),
+ TP_fast_assign(
+ __entry->val = val;
+ ),
+ TP_printk("val=%u", __entry->val)
+);
+
+#define DEFINE_MALI_HW_COUNTER_EVENT(name) \
+DEFINE_EVENT(mali_hw_counter_template, mali_hwc_##name, \
+ TP_PROTO(unsigned int info_val), \
+ TP_ARGS(info_val))
+DEFINE_MALI_HW_COUNTER_EVENT(MESSAGES_SENT);
+DEFINE_MALI_HW_COUNTER_EVENT(MESSAGES_RECEIVED);
+DEFINE_MALI_HW_COUNTER_EVENT(GPU_ACTIVE);
+DEFINE_MALI_HW_COUNTER_EVENT(IRQ_ACTIVE);
+DEFINE_MALI_HW_COUNTER_EVENT(JS0_JOBS);
+DEFINE_MALI_HW_COUNTER_EVENT(JS0_TASKS);
+DEFINE_MALI_HW_COUNTER_EVENT(JS0_ACTIVE);
+DEFINE_MALI_HW_COUNTER_EVENT(JS0_WAIT_READ);
+DEFINE_MALI_HW_COUNTER_EVENT(JS0_WAIT_ISSUE);
+DEFINE_MALI_HW_COUNTER_EVENT(JS0_WAIT_DEPEND);
+DEFINE_MALI_HW_COUNTER_EVENT(JS0_WAIT_FINISH);
+DEFINE_MALI_HW_COUNTER_EVENT(JS1_JOBS);
+DEFINE_MALI_HW_COUNTER_EVENT(JS1_TASKS);
+DEFINE_MALI_HW_COUNTER_EVENT(JS1_ACTIVE);
+DEFINE_MALI_HW_COUNTER_EVENT(JS1_WAIT_READ);
+DEFINE_MALI_HW_COUNTER_EVENT(JS1_WAIT_ISSUE);
+DEFINE_MALI_HW_COUNTER_EVENT(JS1_WAIT_DEPEND);
+DEFINE_MALI_HW_COUNTER_EVENT(JS1_WAIT_FINISH);
+DEFINE_MALI_HW_COUNTER_EVENT(JS2_JOBS);
+DEFINE_MALI_HW_COUNTER_EVENT(JS2_TASKS);
+DEFINE_MALI_HW_COUNTER_EVENT(JS2_ACTIVE);
+DEFINE_MALI_HW_COUNTER_EVENT(JS2_WAIT_READ);
+DEFINE_MALI_HW_COUNTER_EVENT(JS2_WAIT_ISSUE);
+DEFINE_MALI_HW_COUNTER_EVENT(JS2_WAIT_DEPEND);
+DEFINE_MALI_HW_COUNTER_EVENT(JS2_WAIT_FINISH);
+DEFINE_MALI_HW_COUNTER_EVENT(JS3_JOBS);
+DEFINE_MALI_HW_COUNTER_EVENT(JS3_TASKS);
+DEFINE_MALI_HW_COUNTER_EVENT(JS3_ACTIVE);
+DEFINE_MALI_HW_COUNTER_EVENT(JS3_WAIT_READ);
+DEFINE_MALI_HW_COUNTER_EVENT(JS3_WAIT_ISSUE);
+DEFINE_MALI_HW_COUNTER_EVENT(JS3_WAIT_DEPEND);
+DEFINE_MALI_HW_COUNTER_EVENT(JS3_WAIT_FINISH);
+DEFINE_MALI_HW_COUNTER_EVENT(JS4_JOBS);
+DEFINE_MALI_HW_COUNTER_EVENT(JS4_TASKS);
+DEFINE_MALI_HW_COUNTER_EVENT(JS4_ACTIVE);
+DEFINE_MALI_HW_COUNTER_EVENT(JS4_WAIT_READ);
+DEFINE_MALI_HW_COUNTER_EVENT(JS4_WAIT_ISSUE);
+DEFINE_MALI_HW_COUNTER_EVENT(JS4_WAIT_DEPEND);
+DEFINE_MALI_HW_COUNTER_EVENT(JS4_WAIT_FINISH);
+DEFINE_MALI_HW_COUNTER_EVENT(JS5_JOBS);
+DEFINE_MALI_HW_COUNTER_EVENT(JS5_TASKS);
+DEFINE_MALI_HW_COUNTER_EVENT(JS5_ACTIVE);
+DEFINE_MALI_HW_COUNTER_EVENT(JS5_WAIT_READ);
+DEFINE_MALI_HW_COUNTER_EVENT(JS5_WAIT_ISSUE);
+DEFINE_MALI_HW_COUNTER_EVENT(JS5_WAIT_DEPEND);
+DEFINE_MALI_HW_COUNTER_EVENT(JS5_WAIT_FINISH);
+DEFINE_MALI_HW_COUNTER_EVENT(JS6_JOBS);
+DEFINE_MALI_HW_COUNTER_EVENT(JS6_TASKS);
+DEFINE_MALI_HW_COUNTER_EVENT(JS6_ACTIVE);
+DEFINE_MALI_HW_COUNTER_EVENT(JS6_WAIT_READ);
+DEFINE_MALI_HW_COUNTER_EVENT(JS6_WAIT_ISSUE);
+DEFINE_MALI_HW_COUNTER_EVENT(JS6_WAIT_DEPEND);
+DEFINE_MALI_HW_COUNTER_EVENT(JS6_WAIT_FINISH);
+DEFINE_MALI_HW_COUNTER_EVENT(JOBS_PROCESSED);
+DEFINE_MALI_HW_COUNTER_EVENT(TRIANGLES);
+DEFINE_MALI_HW_COUNTER_EVENT(QUADS);
+DEFINE_MALI_HW_COUNTER_EVENT(POLYGONS);
+DEFINE_MALI_HW_COUNTER_EVENT(POINTS);
+DEFINE_MALI_HW_COUNTER_EVENT(LINES);
+DEFINE_MALI_HW_COUNTER_EVENT(VCACHE_HIT);
+DEFINE_MALI_HW_COUNTER_EVENT(VCACHE_MISS);
+DEFINE_MALI_HW_COUNTER_EVENT(FRONT_FACING);
+DEFINE_MALI_HW_COUNTER_EVENT(BACK_FACING);
+DEFINE_MALI_HW_COUNTER_EVENT(PRIM_VISIBLE);
+DEFINE_MALI_HW_COUNTER_EVENT(PRIM_CULLED);
+DEFINE_MALI_HW_COUNTER_EVENT(PRIM_CLIPPED);
+DEFINE_MALI_HW_COUNTER_EVENT(LEVEL0);
+DEFINE_MALI_HW_COUNTER_EVENT(LEVEL1);
+DEFINE_MALI_HW_COUNTER_EVENT(LEVEL2);
+DEFINE_MALI_HW_COUNTER_EVENT(LEVEL3);
+DEFINE_MALI_HW_COUNTER_EVENT(LEVEL4);
+DEFINE_MALI_HW_COUNTER_EVENT(LEVEL5);
+DEFINE_MALI_HW_COUNTER_EVENT(LEVEL6);
+DEFINE_MALI_HW_COUNTER_EVENT(LEVEL7);
+DEFINE_MALI_HW_COUNTER_EVENT(COMMAND_1);
+DEFINE_MALI_HW_COUNTER_EVENT(COMMAND_2);
+DEFINE_MALI_HW_COUNTER_EVENT(COMMAND_3);
+DEFINE_MALI_HW_COUNTER_EVENT(COMMAND_4);
+DEFINE_MALI_HW_COUNTER_EVENT(COMMAND_4_7);
+DEFINE_MALI_HW_COUNTER_EVENT(COMMAND_8_15);
+DEFINE_MALI_HW_COUNTER_EVENT(COMMAND_16_63);
+DEFINE_MALI_HW_COUNTER_EVENT(COMMAND_64);
+DEFINE_MALI_HW_COUNTER_EVENT(COMPRESS_IN);
+DEFINE_MALI_HW_COUNTER_EVENT(COMPRESS_OUT);
+DEFINE_MALI_HW_COUNTER_EVENT(COMPRESS_FLUSH);
+DEFINE_MALI_HW_COUNTER_EVENT(TIMESTAMPS);
+DEFINE_MALI_HW_COUNTER_EVENT(PCACHE_HIT);
+DEFINE_MALI_HW_COUNTER_EVENT(PCACHE_MISS);
+DEFINE_MALI_HW_COUNTER_EVENT(PCACHE_LINE);
+DEFINE_MALI_HW_COUNTER_EVENT(PCACHE_STALL);
+DEFINE_MALI_HW_COUNTER_EVENT(WRBUF_HIT);
+DEFINE_MALI_HW_COUNTER_EVENT(WRBUF_MISS);
+DEFINE_MALI_HW_COUNTER_EVENT(WRBUF_LINE);
+DEFINE_MALI_HW_COUNTER_EVENT(WRBUF_PARTIAL);
+DEFINE_MALI_HW_COUNTER_EVENT(WRBUF_STALL);
+DEFINE_MALI_HW_COUNTER_EVENT(ACTIVE);
+DEFINE_MALI_HW_COUNTER_EVENT(LOADING_DESC);
+DEFINE_MALI_HW_COUNTER_EVENT(INDEX_WAIT);
+DEFINE_MALI_HW_COUNTER_EVENT(INDEX_RANGE_WAIT);
+DEFINE_MALI_HW_COUNTER_EVENT(VERTEX_WAIT);
+DEFINE_MALI_HW_COUNTER_EVENT(PCACHE_WAIT);
+DEFINE_MALI_HW_COUNTER_EVENT(WRBUF_WAIT);
+DEFINE_MALI_HW_COUNTER_EVENT(BUS_READ);
+DEFINE_MALI_HW_COUNTER_EVENT(BUS_WRITE);
+DEFINE_MALI_HW_COUNTER_EVENT(TILER_UTLB_STALL);
+DEFINE_MALI_HW_COUNTER_EVENT(TILER_UTLB_REPLAY_MISS);
+DEFINE_MALI_HW_COUNTER_EVENT(TILER_UTLB_REPLAY_FULL);
+DEFINE_MALI_HW_COUNTER_EVENT(TILER_UTLB_NEW_MISS);
+DEFINE_MALI_HW_COUNTER_EVENT(TILER_UTLB_HIT);
+DEFINE_MALI_HW_COUNTER_EVENT(SHADER_CORE_ACTIVE);
+DEFINE_MALI_HW_COUNTER_EVENT(FRAG_ACTIVE);
+DEFINE_MALI_HW_COUNTER_EVENT(FRAG_PRIMATIVES);
+DEFINE_MALI_HW_COUNTER_EVENT(FRAG_PRIMATIVES_DROPPED);
+DEFINE_MALI_HW_COUNTER_EVENT(FRAG_CYCLE_DESC);
+DEFINE_MALI_HW_COUNTER_EVENT(FRAG_CYCLES_PLR);
+DEFINE_MALI_HW_COUNTER_EVENT(FRAG_CYCLES_VERT);
+DEFINE_MALI_HW_COUNTER_EVENT(FRAG_CYCLES_TRISETUP);
+DEFINE_MALI_HW_COUNTER_EVENT(FRAG_CYCLES_RAST);
+DEFINE_MALI_HW_COUNTER_EVENT(FRAG_THREADS);
+DEFINE_MALI_HW_COUNTER_EVENT(FRAG_DUMMY_THREADS);
+DEFINE_MALI_HW_COUNTER_EVENT(FRAG_QUADS_RAST);
+DEFINE_MALI_HW_COUNTER_EVENT(FRAG_QUADS_EZS_TEST);
+DEFINE_MALI_HW_COUNTER_EVENT(FRAG_QUADS_EZS_KILLED);
+DEFINE_MALI_HW_COUNTER_EVENT(FRAG_QUADS_LZS_TEST);
+DEFINE_MALI_HW_COUNTER_EVENT(FRAG_QUADS_LZS_KILLED);
+DEFINE_MALI_HW_COUNTER_EVENT(FRAG_CYCLE_NO_TILE);
+DEFINE_MALI_HW_COUNTER_EVENT(FRAG_NUM_TILES);
+DEFINE_MALI_HW_COUNTER_EVENT(FRAG_TRANS_ELIM);
+DEFINE_MALI_HW_COUNTER_EVENT(COMPUTE_ACTIVE);
+DEFINE_MALI_HW_COUNTER_EVENT(COMPUTE_TASKS);
+DEFINE_MALI_HW_COUNTER_EVENT(COMPUTE_THREADS);
+DEFINE_MALI_HW_COUNTER_EVENT(COMPUTE_CYCLES_DESC);
+DEFINE_MALI_HW_COUNTER_EVENT(TRIPIPE_ACTIVE);
+DEFINE_MALI_HW_COUNTER_EVENT(ARITH_WORDS);
+DEFINE_MALI_HW_COUNTER_EVENT(ARITH_CYCLES_REG);
+DEFINE_MALI_HW_COUNTER_EVENT(ARITH_CYCLES_L0);
+DEFINE_MALI_HW_COUNTER_EVENT(ARITH_FRAG_DEPEND);
+DEFINE_MALI_HW_COUNTER_EVENT(LS_WORDS);
+DEFINE_MALI_HW_COUNTER_EVENT(LS_ISSUES);
+DEFINE_MALI_HW_COUNTER_EVENT(LS_RESTARTS);
+DEFINE_MALI_HW_COUNTER_EVENT(LS_REISSUES_MISS);
+DEFINE_MALI_HW_COUNTER_EVENT(LS_REISSUES_VD);
+DEFINE_MALI_HW_COUNTER_EVENT(LS_REISSUE_ATTRIB_MISS);
+DEFINE_MALI_HW_COUNTER_EVENT(LS_NO_WB);
+DEFINE_MALI_HW_COUNTER_EVENT(TEX_WORDS);
+DEFINE_MALI_HW_COUNTER_EVENT(TEX_BUBBLES);
+DEFINE_MALI_HW_COUNTER_EVENT(TEX_WORDS_L0);
+DEFINE_MALI_HW_COUNTER_EVENT(TEX_WORDS_DESC);
+DEFINE_MALI_HW_COUNTER_EVENT(TEX_THREADS);
+DEFINE_MALI_HW_COUNTER_EVENT(TEX_RECIRC_FMISS);
+DEFINE_MALI_HW_COUNTER_EVENT(TEX_RECIRC_DESC);
+DEFINE_MALI_HW_COUNTER_EVENT(TEX_RECIRC_MULTI);
+DEFINE_MALI_HW_COUNTER_EVENT(TEX_RECIRC_PMISS);
+DEFINE_MALI_HW_COUNTER_EVENT(TEX_RECIRC_CONF);
+DEFINE_MALI_HW_COUNTER_EVENT(LSC_READ_HITS);
+DEFINE_MALI_HW_COUNTER_EVENT(LSC_READ_MISSES);
+DEFINE_MALI_HW_COUNTER_EVENT(LSC_WRITE_HITS);
+DEFINE_MALI_HW_COUNTER_EVENT(LSC_WRITE_MISSES);
+DEFINE_MALI_HW_COUNTER_EVENT(LSC_ATOMIC_HITS);
+DEFINE_MALI_HW_COUNTER_EVENT(LSC_ATOMIC_MISSES);
+DEFINE_MALI_HW_COUNTER_EVENT(LSC_LINE_FETCHES);
+DEFINE_MALI_HW_COUNTER_EVENT(LSC_DIRTY_LINE);
+DEFINE_MALI_HW_COUNTER_EVENT(LSC_SNOOPS);
+DEFINE_MALI_HW_COUNTER_EVENT(AXI_TLB_STALL);
+DEFINE_MALI_HW_COUNTER_EVENT(AXI_TLB_MISS);
+DEFINE_MALI_HW_COUNTER_EVENT(AXI_TLB_TRANSACTION);
+DEFINE_MALI_HW_COUNTER_EVENT(LS_TLB_MISS);
+DEFINE_MALI_HW_COUNTER_EVENT(LS_TLB_HIT);
+DEFINE_MALI_HW_COUNTER_EVENT(AXI_BEATS_READ);
+DEFINE_MALI_HW_COUNTER_EVENT(AXI_BEATS_WRITE);
+DEFINE_MALI_HW_COUNTER_EVENT(MMU_TABLE_WALK);
+DEFINE_MALI_HW_COUNTER_EVENT(MMU_REPLAY_MISS);
+DEFINE_MALI_HW_COUNTER_EVENT(MMU_REPLAY_FULL);
+DEFINE_MALI_HW_COUNTER_EVENT(MMU_NEW_MISS);
+DEFINE_MALI_HW_COUNTER_EVENT(MMU_HIT);
+DEFINE_MALI_HW_COUNTER_EVENT(UTLB_STALL);
+DEFINE_MALI_HW_COUNTER_EVENT(UTLB_REPLAY_MISS);
+DEFINE_MALI_HW_COUNTER_EVENT(UTLB_REPLAY_FULL);
+DEFINE_MALI_HW_COUNTER_EVENT(UTLB_NEW_MISS);
+DEFINE_MALI_HW_COUNTER_EVENT(UTLB_HIT);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_WRITE_BEATS);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_READ_BEATS);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_ANY_LOOKUP);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_READ_LOOKUP);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_SREAD_LOOKUP);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_READ_REPLAY);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_READ_SNOOP);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_READ_HIT);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_CLEAN_MISS);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_WRITE_LOOKUP);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_SWRITE_LOOKUP);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_WRITE_REPLAY);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_WRITE_SNOOP);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_WRITE_HIT);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_EXT_READ_FULL);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_EXT_READ_HALF);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_EXT_WRITE_FULL);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_EXT_WRITE_HALF);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_EXT_READ);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_EXT_READ_LINE);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_EXT_WRITE);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_EXT_WRITE_LINE);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_EXT_WRITE_SMALL);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_EXT_BARRIER);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_EXT_AR_STALL);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_EXT_R_BUF_FULL);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_EXT_RD_BUF_FULL);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_EXT_R_RAW);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_EXT_W_STALL);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_EXT_W_BUF_FULL);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_EXT_R_W_HAZARD);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_TAG_HAZARD);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_SNOOP_FULL);
+DEFINE_MALI_HW_COUNTER_EVENT(L2_REPLAY_FULL);
+#undef DEFINE_MALI_HW_COUNTER_EVENT
+
+#endif /* _TRACE_MALI_HWC_H */
+
+#undef TRACE_INCLUDE_PATH
+#undef linux
+#define TRACE_INCLUDE_PATH MALI_KBASE_THIRDPARTY_PATH
+#undef TRACE_INCLUDE_FILE
+#define TRACE_INCLUDE_FILE mali_linux_hwc_trace
+
+/* This part must be outside protection */
+#include <trace/define_trace.h>