import PULS_20160108
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / misc / mediatek / cmdq / cmdq_mmp.c
1 #include "cmdq_mmp.h"
2
3 static CMDQ_MMP_Events_t CMDQ_MMP_Events;
4 #if 0
5 extern void MMProfileEnable(int enable);
6 extern void MMProfileStart(int start);
7 #else
8 __weak void MMProfileEnableEvent(MMP_Event event, long enable) { return 0; }
9 __weak void MMProfileEnableFTraceEvent(MMP_Event event, long enable, long ftrace) { return 0; }
10 __weak void MMProfileEnableEventRecursive(MMP_Event event, long enable) { return 0; }
11 __weak void MMProfileEnableFTraceEventRecursive(MMP_Event event, long enable, long ftrace) { return 0; }
12 __weak long MMProfileQueryEnable(MMP_Event event) { return 1; }
13 __weak void MMProfileLog(MMP_Event event, MMP_LogType type) { return 0; }
14 __weak void MMProfileLogEx(MMP_Event event, MMP_LogType type, unsigned long data1, unsigned long data2) { return 0; }
15 __weak long MMProfileLogMeta(MMP_Event event, MMP_LogType type, MMP_MetaData_t *pMetaData) { return 1; }
16 __weak long MMProfileLogMetaString(MMP_Event event, MMP_LogType type, const char *str) { return 1; }
17 __weak long MMProfileLogMetaStringEx(MMP_Event event, MMP_LogType type, unsigned long data1,
18 unsigned long data2, const char *str) { return 1; }
19 __weak long MMProfileLogMetaStructure(MMP_Event event, MMP_LogType type,
20 MMP_MetaDataStructure_t *pMetaData) { return 1; }
21 __weak long MMProfileLogMetaBitmap(MMP_Event event, MMP_LogType type,MMP_MetaDataBitmap_t *pMetaData) { return 1; }
22
23 __weak void MMProfileEnable(int a){ return 0; }
24 __weak void MMProfileStart(int a){ return 0; }
25 __weak MMP_Event MMProfileRegisterEvent(MMP_Event parent, const char* name){ return 0; }
26 #endif
27
28 CMDQ_MMP_Events_t *cmdq_mmp_get_event(void)
29 {
30 return &CMDQ_MMP_Events;
31 }
32
33 void cmdq_mmp_init(void)
34 {
35 #if CMDQ_PROFILE_MMP
36 MMProfileEnable(1);
37 if (CMDQ_MMP_Events.CMDQ == 0) {
38 CMDQ_MMP_Events.CMDQ = MMProfileRegisterEvent(MMP_RootEvent, "CMDQ");
39 CMDQ_MMP_Events.thread_en =
40 MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "thread_en");
41 CMDQ_MMP_Events.CMDQ_IRQ = MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "CMDQ_IRQ");
42 CMDQ_MMP_Events.warning = MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "warning");
43 CMDQ_MMP_Events.loopBeat = MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "loopBeat");
44
45 CMDQ_MMP_Events.autoRelease_add =
46 MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "autoRelease_add");
47 CMDQ_MMP_Events.autoRelease_done =
48 MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "autoRelease_done");
49 CMDQ_MMP_Events.consume_add =
50 MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "consume_add");
51 CMDQ_MMP_Events.consume_done =
52 MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "consume_done");
53 CMDQ_MMP_Events.alloc_task =
54 MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "alloc_task");
55 CMDQ_MMP_Events.wait_task =
56 MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "wait_task");
57 CMDQ_MMP_Events.wait_thread =
58 MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "wait_thread");
59 CMDQ_MMP_Events.MDP_reset =
60 MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "MDP_reset");
61
62 MMProfileEnableEventRecursive(CMDQ_MMP_Events.CMDQ, 1);
63 }
64 MMProfileStart(1);
65 #endif
66 }