예제 #1
0
void init_ddp_mmp_events(void)
{
    if (DDP_MMP_Events.DDP == 0)
    {
        DDP_MMP_Events.DDP = MMProfileRegisterEvent(MMP_RootEvent, "DDP");
        DDP_MMP_Events.MutexParent = MMProfileRegisterEvent(DDP_MMP_Events.DDP, "Mutex");
        DDP_MMP_Events.Mutex[0] = MMProfileRegisterEvent(DDP_MMP_Events.MutexParent, "Mutex0");
        DDP_MMP_Events.Mutex[1] = MMProfileRegisterEvent(DDP_MMP_Events.MutexParent, "Mutex1");
        DDP_MMP_Events.Mutex[2] = MMProfileRegisterEvent(DDP_MMP_Events.MutexParent, "Mutex2");
        DDP_MMP_Events.Mutex[3] = MMProfileRegisterEvent(DDP_MMP_Events.MutexParent, "Mutex3");
        DDP_MMP_Events.Mutex[4] = MMProfileRegisterEvent(DDP_MMP_Events.MutexParent, "Mutex4");
        DDP_MMP_Events.Mutex[5] = MMProfileRegisterEvent(DDP_MMP_Events.MutexParent, "Mutex5");
        DDP_MMP_Events.BackupReg = MMProfileRegisterEvent(DDP_MMP_Events.DDP, "BackupReg");
        DDP_MMP_Events.DDP_IRQ = MMProfileRegisterEvent(DDP_MMP_Events.DDP, "DDP_IRQ");
        DDP_MMP_Events.SCL_IRQ = MMProfileRegisterEvent(DDP_MMP_Events.DDP_IRQ, "SCL_IRQ");
        DDP_MMP_Events.ROT_IRQ = MMProfileRegisterEvent(DDP_MMP_Events.DDP_IRQ, "ROT_IRQ");
        DDP_MMP_Events.OVL_IRQ = MMProfileRegisterEvent(DDP_MMP_Events.DDP_IRQ, "OVL_IRQ");
        DDP_MMP_Events.WDMA0_IRQ = MMProfileRegisterEvent(DDP_MMP_Events.DDP_IRQ, "WDMA0_IRQ");
        DDP_MMP_Events.WDMA1_IRQ = MMProfileRegisterEvent(DDP_MMP_Events.DDP_IRQ, "WDMA1_IRQ");
        DDP_MMP_Events.RDMA0_IRQ = MMProfileRegisterEvent(DDP_MMP_Events.DDP_IRQ, "RDMA0_IRQ");
        DDP_MMP_Events.RDMA1_IRQ = MMProfileRegisterEvent(DDP_MMP_Events.DDP_IRQ, "RDMA1_IRQ");
        DDP_MMP_Events.COLOR_IRQ = MMProfileRegisterEvent(DDP_MMP_Events.DDP_IRQ, "COLOR_IRQ");
        DDP_MMP_Events.BLS_IRQ = MMProfileRegisterEvent(DDP_MMP_Events.DDP_IRQ, "BLS_IRQ");
        DDP_MMP_Events.TDSHP_IRQ = MMProfileRegisterEvent(DDP_MMP_Events.DDP_IRQ, "TDSHP_IRQ");
        DDP_MMP_Events.CMDQ_IRQ = MMProfileRegisterEvent(DDP_MMP_Events.DDP_IRQ, "CMDQ_IRQ");
        DDP_MMP_Events.Mutex_IRQ = MMProfileRegisterEvent(DDP_MMP_Events.DDP_IRQ, "Mutex_IRQ");
        DDP_MMP_Events.WAIT_INTR = MMProfileRegisterEvent(DDP_MMP_Events.DDP, "WAIT_IRQ");
        DDP_MMP_Events.Debug = MMProfileRegisterEvent(DDP_MMP_Events.DDP, "Debug");

        MMProfileEnableEventRecursive(DDP_MMP_Events.MutexParent, 1);
        MMProfileEnableEventRecursive(DDP_MMP_Events.BackupReg, 1);
        //MMProfileEnableEventRecursive(DDP_MMP_Events.DDP_IRQ, 1);
        MMProfileEnableEventRecursive(DDP_MMP_Events.WAIT_INTR, 1);
    }
}
void init_sodi_mmp_events(void)
{
	if (SODI_MMP_Events.SODI == 0)
	{
		SODI_MMP_Events.SODI = MMProfileRegisterEvent(MMP_RootEvent, "SODI");
		SODI_MMP_Events.sodi_enable = MMProfileRegisterEvent(SODI_MMP_Events.SODI, "sodi_enable");
		SODI_MMP_Events.self_refresh_cnt = MMProfileRegisterEvent(SODI_MMP_Events.SODI, "self_refresh_cnt");
		SODI_MMP_Events.sodi_status  = MMProfileRegisterEvent(SODI_MMP_Events.SODI, "sodi_status");				  
		
		MMProfileEnableEventRecursive(SODI_MMP_Events.SODI, 1);
		MMProfileEnableEventRecursive(SODI_MMP_Events.sodi_enable, 1);       
		MMProfileEnableEventRecursive(SODI_MMP_Events.self_refresh_cnt, 1);
		MMProfileEnableEventRecursive(SODI_MMP_Events.sodi_status, 1);
	}
}
예제 #3
0
void cmdq_mmp_init(void)
{
#if CMDQ_PROFILE_MMP
	MMProfileEnable(1);
	if (CMDQ_MMP_Events.CMDQ == 0) {
		CMDQ_MMP_Events.CMDQ = MMProfileRegisterEvent(MMP_RootEvent, "CMDQ");
		CMDQ_MMP_Events.thread_en =
		    MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "thread_en");
		CMDQ_MMP_Events.CMDQ_IRQ = MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "CMDQ_IRQ");
		CMDQ_MMP_Events.warning = MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "warning");
		CMDQ_MMP_Events.loopBeat = MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "loopBeat");

		CMDQ_MMP_Events.autoRelease_add =
		    MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "autoRelease_add");
		CMDQ_MMP_Events.autoRelease_done =
		    MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "autoRelease_done");
		CMDQ_MMP_Events.consume_add =
		    MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "consume_add");
		CMDQ_MMP_Events.consume_done =
		    MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "consume_done");
		CMDQ_MMP_Events.alloc_task =
		    MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "alloc_task");
		CMDQ_MMP_Events.wait_task =
		    MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "wait_task");
		CMDQ_MMP_Events.wait_thread =
		    MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "wait_thread");
		CMDQ_MMP_Events.MDP_reset =
		    MMProfileRegisterEvent(CMDQ_MMP_Events.CMDQ, "MDP_reset");

		MMProfileEnableEventRecursive(CMDQ_MMP_Events.CMDQ, 1);
	}
	MMProfileStart(1);
#endif
}
예제 #4
0
void init_mtkfb_mmp_events(void)
{
    if (MTKFB_MMP_Events.MTKFB == 0)
    {
        MTKFB_MMP_Events.MTKFB = MMProfileRegisterEvent(MMP_RootEvent, "MTKFB");
        MTKFB_MMP_Events.PanDisplay = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "PanDisplay");
        MTKFB_MMP_Events.CreateSyncTimeline = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "CreateSyncTimeline");
        MTKFB_MMP_Events.SetOverlayLayer = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "SetOverlayLayer");
        MTKFB_MMP_Events.SetVideoLayers = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "SetVideoLayers");
        MTKFB_MMP_Events.SetMultipleLayers = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "SetMultipleLayers");
        MTKFB_MMP_Events.CreateSyncFence = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "CreateSyncFence");
        MTKFB_MMP_Events.IncSyncTimeline = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "IncSyncTimeline");
        MTKFB_MMP_Events.SignalSyncFence = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "SignalSyncFence");
        MTKFB_MMP_Events.UpdateScreenImpl = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "UpdateScreenImpl");
        MTKFB_MMP_Events.VSync = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "VSync");
        MTKFB_MMP_Events.UpdateConfig = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "UpdateConfig");
        MTKFB_MMP_Events.BypassOVL = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "BypassOVL");
        MTKFB_MMP_Events.EsdCheck = MMProfileRegisterEvent(MTKFB_MMP_Events.UpdateConfig, "EsdCheck");
        MTKFB_MMP_Events.ConfigOVL = MMProfileRegisterEvent(MTKFB_MMP_Events.UpdateConfig, "ConfigOVL");
        MTKFB_MMP_Events.ConfigAAL = MMProfileRegisterEvent(MTKFB_MMP_Events.UpdateConfig, "ConfigAAL");
        MTKFB_MMP_Events.ConfigMemOut = MMProfileRegisterEvent(MTKFB_MMP_Events.UpdateConfig, "ConfigMemOut");
        MTKFB_MMP_Events.ScreenUpdate = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "ScreenUpdate");
        MTKFB_MMP_Events.CaptureFramebuffer = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "CaptureFB");
        MTKFB_MMP_Events.TrigOverlayOut = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "TrigOverlayOut");
        MTKFB_MMP_Events.RegUpdate = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "RegUpdate");
        MTKFB_MMP_Events.OverlayOutDone = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "OverlayOutDone");
        MTKFB_MMP_Events.SwitchMode = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "SwitchMode");
        MTKFB_MMP_Events.EarlySuspend = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "EarlySuspend");
        MTKFB_MMP_Events.DispDone = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "DispDone");
        MTKFB_MMP_Events.DSICmd = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "DSICmd");
        MTKFB_MMP_Events.DSIIRQ = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "DSIIrq");
        MTKFB_MMP_Events.WaitVSync = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "WaitVSync");
        MTKFB_MMP_Events.LayerDump = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "LayerDump");
        MTKFB_MMP_Events.Layer[0] = MMProfileRegisterEvent(MTKFB_MMP_Events.LayerDump, "Layer0");
        MTKFB_MMP_Events.Layer[1] = MMProfileRegisterEvent(MTKFB_MMP_Events.LayerDump, "Layer1");
        MTKFB_MMP_Events.Layer[2] = MMProfileRegisterEvent(MTKFB_MMP_Events.LayerDump, "Layer2");
        MTKFB_MMP_Events.Layer[3] = MMProfileRegisterEvent(MTKFB_MMP_Events.LayerDump, "Layer3");
        MTKFB_MMP_Events.OvlDump = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "OvlDump");
        MTKFB_MMP_Events.FBDump = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "FBDump");
        MTKFB_MMP_Events.DSIRead = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "DSIRead");
        MTKFB_MMP_Events.GetLayerInfo = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "GetLayerInfo");
        MTKFB_MMP_Events.LayerInfo[0] = MMProfileRegisterEvent(MTKFB_MMP_Events.GetLayerInfo, "LayerInfo0");
        MTKFB_MMP_Events.LayerInfo[1] = MMProfileRegisterEvent(MTKFB_MMP_Events.GetLayerInfo, "LayerInfo1");
        MTKFB_MMP_Events.LayerInfo[2] = MMProfileRegisterEvent(MTKFB_MMP_Events.GetLayerInfo, "LayerInfo2");
        MTKFB_MMP_Events.LayerInfo[3] = MMProfileRegisterEvent(MTKFB_MMP_Events.GetLayerInfo, "LayerInfo3");
        MTKFB_MMP_Events.IOCtrl = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "IOCtrl");
        MTKFB_MMP_Events.Debug = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "Debug");
        MMProfileEnableEventRecursive(MTKFB_MMP_Events.MTKFB, 1);
    }
}
예제 #5
0
void dprec_logger_event_init(dprec_logger_event *p, char *name, uint32_t level, MMP_Event *mmp_root)
{
	if(p)
	{
		scnprintf(p->name, sizeof(p->name)/sizeof(p->name[0]), name);
		if(mmp_root)
			p->mmp = MMProfileRegisterEvent(mmp_root, name);
		else
			p->mmp = MMProfileRegisterEvent(ddp_mmp_get_events()->DDP, name);
		
		MMProfileEnableEventRecursive(p->mmp, 1);

		p->level = level;

		memset((void*)&p->logger, 0, sizeof(p->logger));
		DISPMSG("dprec logger event init, name=%s, level=0x%08x\n", name, level);
	}
}
예제 #6
0
void MMProfileEnableEventRecursive_J(JNIEnv *env, jobject thiz, jint event, jint enable)
{
    MMProfileEnableEventRecursive((MMP_Event)event, (int)enable);
}
예제 #7
0
void init_ddp_mmp_events(void)
{
    	if (DDP_MMP_Events.DDP == 0)
    	{
		DDP_MMP_Events.DDP = MMProfileRegisterEvent(MMP_RootEvent, "Display");
		DDP_MMP_Events.primary_Parent =      MMProfileRegisterEvent(DDP_MMP_Events.DDP, "primary_disp");
		DDP_MMP_Events.primary_trigger =     MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "trigger");
		DDP_MMP_Events.primary_config  =     MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "ovl_config");
        DDP_MMP_Events.primary_rdma_config  = MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "rdma_config");
        DDP_MMP_Events.primary_wdma_config  = MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "wdma_config");
		DDP_MMP_Events.primary_set_dirty=    MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "set_dirty");
		DDP_MMP_Events.primary_cmdq_flush=   MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "cmdq_flush");
		DDP_MMP_Events.primary_cmdq_done =  MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "cmdq_done");
		DDP_MMP_Events.primary_display_cmd =  MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "display_io");
		DDP_MMP_Events.primary_suspend =  MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "suspend");
		DDP_MMP_Events.primary_resume =  MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "resume");
		DDP_MMP_Events.primary_cache_sync =  MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "cache_sync");
		DDP_MMP_Events.primary_wakeup =  MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "wakeup");
		DDP_MMP_Events.interface_trigger=  MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "interface_trigger");
		DDP_MMP_Events.primary_switch_mode=  MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "switch_session_mode");

		DDP_MMP_Events.primary_seq_info = MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "seq_info");
		DDP_MMP_Events.primary_seq_insert = MMProfileRegisterEvent(DDP_MMP_Events.primary_seq_info, "seq_insert");
		DDP_MMP_Events.primary_seq_config=  MMProfileRegisterEvent(DDP_MMP_Events.primary_seq_info, "seq_config");
		DDP_MMP_Events.primary_seq_trigger=  MMProfileRegisterEvent(DDP_MMP_Events.primary_seq_info, "seq_trigger");
		DDP_MMP_Events.primary_seq_rdma_irq=  MMProfileRegisterEvent(DDP_MMP_Events.primary_seq_info, "seq_rdma_irq");
		DDP_MMP_Events.primary_seq_release=  MMProfileRegisterEvent(DDP_MMP_Events.primary_seq_info, "seq_release");

        DDP_MMP_Events.primary_ovl_fence_release=  MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "ovl_fence_r");
        DDP_MMP_Events.primary_wdma_fence_release=  MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "wdma_fence_r");

        DDP_MMP_Events.present_fence_release =  MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "preset_fence_release");
        DDP_MMP_Events.present_fence_get =  MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "preset_fence_get");
        DDP_MMP_Events.present_fence_set =  MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "preset_fence_set");
        
#ifdef CONFIG_MTK_HDMI_SUPPORT
        DDP_MMP_Events.Extd_Parent =      MMProfileRegisterEvent(DDP_MMP_Events.DDP, "ext_disp");
        DDP_MMP_Events.Extd_State = MMProfileRegisterEvent(DDP_MMP_Events.Extd_Parent, "ext_State");
        DDP_MMP_Events.Extd_DevInfo = MMProfileRegisterEvent(DDP_MMP_Events.Extd_Parent, "ext_DevInfo");
        DDP_MMP_Events.Extd_ErrorInfo = MMProfileRegisterEvent(DDP_MMP_Events.Extd_Parent, "ext_ErrorInfo");
        DDP_MMP_Events.Extd_Mutex = MMProfileRegisterEvent(DDP_MMP_Events.Extd_Parent, "ext_Mutex");        
        DDP_MMP_Events.Extd_ImgDump = MMProfileRegisterEvent(DDP_MMP_Events.Extd_Parent, "ext_ImgDump");
        DDP_MMP_Events.Extd_IrqStatus = MMProfileRegisterEvent(DDP_MMP_Events.Extd_Parent, "ext_IrqStatus");
        DDP_MMP_Events.Extd_UsedBuff = MMProfileRegisterEvent(DDP_MMP_Events.Extd_Parent, "ext_UsedBuf");
        DDP_MMP_Events.Extd_trigger =     MMProfileRegisterEvent(DDP_MMP_Events.Extd_Parent, "ext_trigger");
		DDP_MMP_Events.Extd_config  =     MMProfileRegisterEvent(DDP_MMP_Events.Extd_Parent, "ext_config");
		DDP_MMP_Events.Extd_set_dirty=    MMProfileRegisterEvent(DDP_MMP_Events.Extd_Parent, "ext_set_dirty");
		DDP_MMP_Events.Extd_cmdq_flush=   MMProfileRegisterEvent(DDP_MMP_Events.Extd_Parent, "ext_cmdq_flush");
		DDP_MMP_Events.Extd_cmdq_done =  MMProfileRegisterEvent(DDP_MMP_Events.Extd_Parent, "ext_cmdq_done");

#endif

		DDP_MMP_Events.primary_display_aalod_trigger = MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "primary_aal_trigger");	
		DDP_MMP_Events.ESD_Parent          = MMProfileRegisterEvent(DDP_MMP_Events.DDP, "ESD");
		DDP_MMP_Events.esd_check_t         = MMProfileRegisterEvent(DDP_MMP_Events.ESD_Parent, "ESD_Check");
		DDP_MMP_Events.esd_recovery_t      = MMProfileRegisterEvent(DDP_MMP_Events.ESD_Parent, "ESD_Recovery");
		DDP_MMP_Events.esd_extte           = MMProfileRegisterEvent(DDP_MMP_Events.esd_check_t, "ESD_Check_EXT_TE");
		DDP_MMP_Events.esd_rdlcm           = MMProfileRegisterEvent(DDP_MMP_Events.esd_check_t, "ESD_Check_RD_LCM");
		DDP_MMP_Events.esd_vdo_eint        = MMProfileRegisterEvent(DDP_MMP_Events.esd_extte, "ESD_Vdo_EINT");
		DDP_MMP_Events.primary_set_bl      = MMProfileRegisterEvent(DDP_MMP_Events.primary_Parent, "set_BL_LCM");
		DDP_MMP_Events.dprec_cpu_write_reg = DDP_MMP_Events.MutexParent = MMProfileRegisterEvent(DDP_MMP_Events.DDP, "dprec_cpu_write_reg");		
		DDP_MMP_Events.session_Parent =      MMProfileRegisterEvent(DDP_MMP_Events.DDP, "session");
		
		DDP_MMP_Events.ovl_trigger=  MMProfileRegisterEvent(DDP_MMP_Events.session_Parent, "ovl2mem");
		DDP_MMP_Events.layerParent = MMProfileRegisterEvent(DDP_MMP_Events.DDP, "Layer");
		DDP_MMP_Events.layer[0] = MMProfileRegisterEvent(DDP_MMP_Events.layerParent, "Layer0");
		DDP_MMP_Events.layer[1] = MMProfileRegisterEvent(DDP_MMP_Events.layerParent, "Layer1");
		DDP_MMP_Events.layer[2] = MMProfileRegisterEvent(DDP_MMP_Events.layerParent, "Layer2");
		DDP_MMP_Events.layer[3] = MMProfileRegisterEvent(DDP_MMP_Events.layerParent, "Layer3");

        DDP_MMP_Events.ovl1_layer[0] = MMProfileRegisterEvent(DDP_MMP_Events.layerParent, "Ovl1_Layer0");
        DDP_MMP_Events.ovl1_layer[1] = MMProfileRegisterEvent(DDP_MMP_Events.layerParent, "Ovl1_Layer1");
        DDP_MMP_Events.ovl1_layer[2] = MMProfileRegisterEvent(DDP_MMP_Events.layerParent, "Ovl1_Layer2");
        DDP_MMP_Events.ovl1_layer[3] = MMProfileRegisterEvent(DDP_MMP_Events.layerParent, "Ovl1_Layer3");
        
        DDP_MMP_Events.layer_dump_parent = MMProfileRegisterEvent(DDP_MMP_Events.layerParent, "layerBmpDump");           
		DDP_MMP_Events.layer_dump[0] = MMProfileRegisterEvent(DDP_MMP_Events.layer_dump_parent, "layer0_dump");
		DDP_MMP_Events.layer_dump[1] = MMProfileRegisterEvent(DDP_MMP_Events.layer_dump_parent, "Layer1_dump");
		DDP_MMP_Events.layer_dump[2] = MMProfileRegisterEvent(DDP_MMP_Events.layer_dump_parent, "Layer2_dump");
		DDP_MMP_Events.layer_dump[3] = MMProfileRegisterEvent(DDP_MMP_Events.layer_dump_parent, "Layer3_dump");

		DDP_MMP_Events.ovl1layer_dump[0] = MMProfileRegisterEvent(DDP_MMP_Events.layer_dump_parent, "ovl1layer0_dump");
		DDP_MMP_Events.ovl1layer_dump[1] = MMProfileRegisterEvent(DDP_MMP_Events.layer_dump_parent, "ovl1layer1_dump");
		DDP_MMP_Events.ovl1layer_dump[2] = MMProfileRegisterEvent(DDP_MMP_Events.layer_dump_parent, "ovl1layer2_dump");
		DDP_MMP_Events.ovl1layer_dump[3] = MMProfileRegisterEvent(DDP_MMP_Events.layer_dump_parent, "ovl1layer3_dump");

		DDP_MMP_Events.wdma_dump[0] = MMProfileRegisterEvent(DDP_MMP_Events.layer_dump_parent, "wdma0_dump");
		DDP_MMP_Events.wdma_dump[1] = MMProfileRegisterEvent(DDP_MMP_Events.layer_dump_parent, "wdma1_dump");

		DDP_MMP_Events.rdma_dump[0] = MMProfileRegisterEvent(DDP_MMP_Events.layer_dump_parent, "rdma0_dump");
		DDP_MMP_Events.rdma_dump[1] = MMProfileRegisterEvent(DDP_MMP_Events.layer_dump_parent, "rdma1_dump");

		DDP_MMP_Events.DDP_IRQ = MMProfileRegisterEvent(DDP_MMP_Events.DDP, "DDP_IRQ");
		DDP_MMP_Events.MutexParent = MMProfileRegisterEvent(DDP_MMP_Events.DDP_IRQ, "Mutex");
		DDP_MMP_Events.MUTEX_IRQ[0] = MMProfileRegisterEvent(DDP_MMP_Events.MutexParent, "Mutex0");
		DDP_MMP_Events.MUTEX_IRQ[1] = MMProfileRegisterEvent(DDP_MMP_Events.MutexParent, "Mutex1");
		DDP_MMP_Events.MUTEX_IRQ[2] = MMProfileRegisterEvent(DDP_MMP_Events.MutexParent, "Mutex2");
		DDP_MMP_Events.MUTEX_IRQ[3] = MMProfileRegisterEvent(DDP_MMP_Events.MutexParent, "Mutex3");
		DDP_MMP_Events.MUTEX_IRQ[4] = MMProfileRegisterEvent(DDP_MMP_Events.MutexParent, "Mutex4"); 
		DDP_MMP_Events.OVL_IRQ_Parent = MMProfileRegisterEvent(DDP_MMP_Events.DDP_IRQ, "OVL_IRQ");
		DDP_MMP_Events.OVL_IRQ[0] = MMProfileRegisterEvent(DDP_MMP_Events.OVL_IRQ_Parent, "OVL_IRQ_0");
		DDP_MMP_Events.OVL_IRQ[1] = MMProfileRegisterEvent(DDP_MMP_Events.OVL_IRQ_Parent, "OVL_IRQ_1");
		DDP_MMP_Events.WDMA_IRQ_Parent = MMProfileRegisterEvent(DDP_MMP_Events.DDP_IRQ, "WDMA_IRQ");
		DDP_MMP_Events.WDMA_IRQ[0] = MMProfileRegisterEvent(DDP_MMP_Events.WDMA_IRQ_Parent, "WDMA_IRQ_0");
		DDP_MMP_Events.WDMA_IRQ[1] = MMProfileRegisterEvent(DDP_MMP_Events.WDMA_IRQ_Parent, "WDMA_IRQ_1");
		DDP_MMP_Events.RDMA_IRQ_Parent = MMProfileRegisterEvent(DDP_MMP_Events.DDP_IRQ, "RDMA_IRQ");
		DDP_MMP_Events.RDMA_IRQ[0] = MMProfileRegisterEvent(DDP_MMP_Events.RDMA_IRQ_Parent, "RDMA_IRQ_0");
		DDP_MMP_Events.RDMA_IRQ[1] = MMProfileRegisterEvent(DDP_MMP_Events.RDMA_IRQ_Parent, "RDMA_IRQ_1");
		DDP_MMP_Events.RDMA_IRQ[2] = MMProfileRegisterEvent(DDP_MMP_Events.RDMA_IRQ_Parent, "RDMA_IRQ_2");
		DDP_MMP_Events.SCREEN_UPDATE[0] = MMProfileRegisterEvent(DDP_MMP_Events.session_Parent, "SCREEN_UPDATE_0");
		DDP_MMP_Events.SCREEN_UPDATE[1] = MMProfileRegisterEvent(DDP_MMP_Events.RDMA_IRQ_Parent, "SCREEN_UPDATE_1");
		DDP_MMP_Events.SCREEN_UPDATE[2] = MMProfileRegisterEvent(DDP_MMP_Events.RDMA_IRQ_Parent, "SCREEN_UPDATE_2");
		DDP_MMP_Events.DSI_IRQ_Parent = MMProfileRegisterEvent(DDP_MMP_Events.DDP_IRQ, "DSI_IRQ");
		DDP_MMP_Events.DSI_IRQ[0] = MMProfileRegisterEvent(DDP_MMP_Events.DSI_IRQ_Parent, "DSI_IRQ_0");
		DDP_MMP_Events.DSI_IRQ[1] = MMProfileRegisterEvent(DDP_MMP_Events.DSI_IRQ_Parent, "DSI_IRQ_1");
		DDP_MMP_Events.primary_sw_mutex = MMProfileRegisterEvent(DDP_MMP_Events.DDP, "primary_sw_mutex");	   

		DDP_MMP_Events.MonitorParent = MMProfileRegisterEvent(DDP_MMP_Events.DDP, "Monitor");
		DDP_MMP_Events.rdma_underflow = MMProfileRegisterEvent(DDP_MMP_Events.MonitorParent, "RDMA Underflow");
		DDP_MMP_Events.cg_mode = MMProfileRegisterEvent(DDP_MMP_Events.MonitorParent, "SPM CG Mode");
		DDP_MMP_Events.power_down_mode = MMProfileRegisterEvent(DDP_MMP_Events.MonitorParent, "SPM Power Down Mode");
		DDP_MMP_Events.sodi_disable = MMProfileRegisterEvent(DDP_MMP_Events.MonitorParent, "Request CG");
		DDP_MMP_Events.sodi_enable = MMProfileRegisterEvent(DDP_MMP_Events.MonitorParent, "Request Power Down");
		DDP_MMP_Events.vsync_count = MMProfileRegisterEvent(DDP_MMP_Events.MonitorParent, "Vsync Ticket");
		
		DDP_MMP_Events.dal_clean= MMProfileRegisterEvent(DDP_MMP_Events.DDP, "DAL Clean");
		DDP_MMP_Events.dal_printf= MMProfileRegisterEvent(DDP_MMP_Events.DDP, "DAL Printf");
		DDP_MMP_Events.tmp_debug= MMProfileRegisterEvent(DDP_MMP_Events.DDP, "tmp_debug");
		

		MMProfileEnableEventRecursive(DDP_MMP_Events.DDP, 1);
    	MMProfileEnableEventRecursive(DDP_MMP_Events.layerParent, 1);       
    	MMProfileEnableEventRecursive(DDP_MMP_Events.MutexParent, 1);
    	MMProfileEnableEventRecursive(DDP_MMP_Events.DDP_IRQ, 1);

    	MMProfileEnableEventRecursive(DDP_MMP_Events.primary_seq_info, 0);
	}
}
예제 #8
0
파일: debug.c 프로젝트: resbeut/S5501-3.10
void init_mtkfb_mmp_events(void)
{
    if (MTKFB_MMP_Events.MTKFB == 0)
    {
        MTKFB_MMP_Events.MTKFB = MMProfileRegisterEvent(MMP_RootEvent, "MTKFB");
        MTKFB_MMP_Events.PanDisplay = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "PanDisplay");
        MTKFB_MMP_Events.CreateSyncTimeline = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "CreateSyncTimeline");
        MTKFB_MMP_Events.SetOverlayLayer = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "SetOverlayLayer");
        MTKFB_MMP_Events.SetVideoLayers = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "SetVideoLayers");
        MTKFB_MMP_Events.SetMultipleLayers = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "SetMultipleLayers");
        MTKFB_MMP_Events.CreateSyncFence = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "CreateSyncFence");
        MTKFB_MMP_Events.IncSyncTimeline = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "IncSyncTimeline");
        MTKFB_MMP_Events.SignalSyncFence = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "SignalSyncFence");

        MTKFB_MMP_Events.SessionMgr = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "SessionMgr");
        MTKFB_MMP_Events.GetDispInfo = MMProfileRegisterEvent(MTKFB_MMP_Events.SessionMgr, "GetDispInfo");
        //TODO: Prepare Input/Output is different
        MTKFB_MMP_Events.PrepareInput = MMProfileRegisterEvent(MTKFB_MMP_Events.SessionMgr, "PrepareBuffer");
        MTKFB_MMP_Events.PrepareOutput = MMProfileRegisterEvent(MTKFB_MMP_Events.SessionMgr, "PrepareBuffer");
        MTKFB_MMP_Events.CreateSession = MMProfileRegisterEvent(MTKFB_MMP_Events.SessionMgr, "CreateSession");
        MTKFB_MMP_Events.DestroySession = MMProfileRegisterEvent(MTKFB_MMP_Events.SessionMgr, "DestroySession");
        MTKFB_MMP_Events.TriggerSession = MMProfileRegisterEvent(MTKFB_MMP_Events.SessionMgr, "TriggerSession");
        MTKFB_MMP_Events.SetInput = MMProfileRegisterEvent(MTKFB_MMP_Events.SessionMgr, "SetInput");
        MTKFB_MMP_Events.SetOutput = MMProfileRegisterEvent(MTKFB_MMP_Events.SessionMgr, "SetOutput");

        MTKFB_MMP_Events.primary_seq_config = MMProfileRegisterEvent(MTKFB_MMP_Events.SessionMgr, "primary_seq_config");
        MTKFB_MMP_Events.primary_seq_trigger=  MMProfileRegisterEvent(MTKFB_MMP_Events.SessionMgr, "primary_seq_trigger");
        MTKFB_MMP_Events.primary_seq_wdma0_efo=  MMProfileRegisterEvent(MTKFB_MMP_Events.SessionMgr, "primary_seq_wdma0_efo");
        MTKFB_MMP_Events.primary_seq_rdma0_sof=  MMProfileRegisterEvent(MTKFB_MMP_Events.SessionMgr, "primary_seq_rdma0_sof");
        MTKFB_MMP_Events.primary_seq_rdma0_eof=  MMProfileRegisterEvent(MTKFB_MMP_Events.SessionMgr, "primary_seq_rdma0_eof");
        MTKFB_MMP_Events.external_seq_config = MMProfileRegisterEvent(MTKFB_MMP_Events.SessionMgr, "external_seq_config");
        MTKFB_MMP_Events.external_seq_trigger=  MMProfileRegisterEvent(MTKFB_MMP_Events.SessionMgr, "external_seq_trigger");
        MTKFB_MMP_Events.external_seq_wdma0_efo=  MMProfileRegisterEvent(MTKFB_MMP_Events.SessionMgr, "external_seq_wdma0_efo");
        MTKFB_MMP_Events.JobQue = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "JobQue");
        MTKFB_MMP_Events.deque = MMProfileRegisterEvent(MTKFB_MMP_Events.JobQue, "deque");
        MTKFB_MMP_Events.enque = MMProfileRegisterEvent(MTKFB_MMP_Events.JobQue, "enque");
        MTKFB_MMP_Events.acquire = MMProfileRegisterEvent(MTKFB_MMP_Events.JobQue, "acquire");
        MTKFB_MMP_Events.release = MMProfileRegisterEvent(MTKFB_MMP_Events.JobQue, "release");
        MTKFB_MMP_Events.query = MMProfileRegisterEvent(MTKFB_MMP_Events.JobQue, "query");
        MTKFB_MMP_Events.recycle = MMProfileRegisterEvent(MTKFB_MMP_Events.JobQue, "recycle");

        MTKFB_MMP_Events.BufQue = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "BufQue");
        MTKFB_MMP_Events.deque_buf = MMProfileRegisterEvent(MTKFB_MMP_Events.BufQue, "deque");
        MTKFB_MMP_Events.enque_buf = MMProfileRegisterEvent(MTKFB_MMP_Events.BufQue, "enque");
        MTKFB_MMP_Events.acquire_buf = MMProfileRegisterEvent(MTKFB_MMP_Events.BufQue, "acquire");
        MTKFB_MMP_Events.release_buf = MMProfileRegisterEvent(MTKFB_MMP_Events.BufQue, "release");
        MTKFB_MMP_Events.request_buf = MMProfileRegisterEvent(MTKFB_MMP_Events.BufQue, "request");

        MTKFB_MMP_Events.UpdateScreenImpl = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "UpdateScreenImpl");
        MTKFB_MMP_Events.VSync = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "VSync");
        MTKFB_MMP_Events.UpdateConfig = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "UpdateConfig");
        MTKFB_MMP_Events.BypassOVL = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "BypassOVL");

        MTKFB_MMP_Events.UsingBufIdx[0][0] = MMProfileRegisterEvent(MTKFB_MMP_Events.BypassOVL, "ovl_layer0");
        MTKFB_MMP_Events.UsingBufIdx[0][1] = MMProfileRegisterEvent(MTKFB_MMP_Events.BypassOVL, "ovl_layer1");
        MTKFB_MMP_Events.UsingBufIdx[0][2] = MMProfileRegisterEvent(MTKFB_MMP_Events.BypassOVL, "ovl_layer2");
        MTKFB_MMP_Events.UsingBufIdx[0][3] = MMProfileRegisterEvent(MTKFB_MMP_Events.BypassOVL, "ovl_layer3");
        MTKFB_MMP_Events.UsingBufIdx[1][0] = MMProfileRegisterEvent(MTKFB_MMP_Events.BypassOVL, "rdma_layer0");
        MTKFB_MMP_Events.UsingBufIdx[1][1] = MMProfileRegisterEvent(MTKFB_MMP_Events.BypassOVL, "rdma_layer1");
        MTKFB_MMP_Events.UsingBufIdx[1][2] = MMProfileRegisterEvent(MTKFB_MMP_Events.BypassOVL, "rdma_layer2");
        MTKFB_MMP_Events.UsingBufIdx[1][3] = MMProfileRegisterEvent(MTKFB_MMP_Events.BypassOVL, "rdma_layer3");

        MTKFB_MMP_Events.MaxCleanIdx[0] = MMProfileRegisterEvent(MTKFB_MMP_Events.BypassOVL, "MaxCleanIdx0");
        MTKFB_MMP_Events.MaxCleanIdx[1] = MMProfileRegisterEvent(MTKFB_MMP_Events.BypassOVL, "MaxCleanIdx1");
        MTKFB_MMP_Events.MaxCleanIdx[2] = MMProfileRegisterEvent(MTKFB_MMP_Events.BypassOVL, "MaxCleanIdx2");
        MTKFB_MMP_Events.MaxCleanIdx[3] = MMProfileRegisterEvent(MTKFB_MMP_Events.BypassOVL, "MaxCleanIdx3");


        MTKFB_MMP_Events.EsdCheck = MMProfileRegisterEvent(MTKFB_MMP_Events.UpdateConfig, "EsdCheck");
        MTKFB_MMP_Events.ConfigOVL = MMProfileRegisterEvent(MTKFB_MMP_Events.UpdateConfig, "ConfigOVL");
        MTKFB_MMP_Events.ConfigWDMA = MMProfileRegisterEvent(MTKFB_MMP_Events.UpdateConfig, "ConfigWDMA");
        MTKFB_MMP_Events.ConfigAAL = MMProfileRegisterEvent(MTKFB_MMP_Events.UpdateConfig, "ConfigAAL");
        MTKFB_MMP_Events.ConfigMemOut = MMProfileRegisterEvent(MTKFB_MMP_Events.UpdateConfig, "ConfigMemOut");
        MTKFB_MMP_Events.ScreenUpdate = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "ScreenUpdate");
        MTKFB_MMP_Events.CaptureFramebuffer = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "CaptureFB");
        MTKFB_MMP_Events.TrigOverlayOut = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "TrigOverlayOut");
        MTKFB_MMP_Events.RegUpdate = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "RegUpdate");
        MTKFB_MMP_Events.OverlayOutDone = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "OverlayOutDone");
        MTKFB_MMP_Events.SwitchMode = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "SwitchMode");
        MTKFB_MMP_Events.EarlySuspend = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "EarlySuspend");
        MTKFB_MMP_Events.DispDone = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "DispDone");
        MTKFB_MMP_Events.DSICmd = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "DSICmd");
        MTKFB_MMP_Events.DSIIRQ = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "DSIIrq");
        MTKFB_MMP_Events.WaitVSync = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "WaitVSync");
        MTKFB_MMP_Events.LayerDump = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "LayerDump");
        MTKFB_MMP_Events.Layer[0] = MMProfileRegisterEvent(MTKFB_MMP_Events.LayerDump, "Layer0");
        MTKFB_MMP_Events.Layer[1] = MMProfileRegisterEvent(MTKFB_MMP_Events.LayerDump, "Layer1");
        MTKFB_MMP_Events.Layer[2] = MMProfileRegisterEvent(MTKFB_MMP_Events.LayerDump, "Layer2");
        MTKFB_MMP_Events.Layer[3] = MMProfileRegisterEvent(MTKFB_MMP_Events.LayerDump, "Layer3");
        MTKFB_MMP_Events.OvlDump = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "OvlDump");
        MTKFB_MMP_Events.FBDump = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "FBDump");
        MTKFB_MMP_Events.DSIRead = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "DSIRead");
        MTKFB_MMP_Events.GetLayerInfo = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "GetLayerInfo");
        MTKFB_MMP_Events.LayerInfo[0] = MMProfileRegisterEvent(MTKFB_MMP_Events.GetLayerInfo, "LayerInfo0");
        MTKFB_MMP_Events.LayerInfo[1] = MMProfileRegisterEvent(MTKFB_MMP_Events.GetLayerInfo, "LayerInfo1");
        MTKFB_MMP_Events.LayerInfo[2] = MMProfileRegisterEvent(MTKFB_MMP_Events.GetLayerInfo, "LayerInfo2");
        MTKFB_MMP_Events.LayerInfo[3] = MMProfileRegisterEvent(MTKFB_MMP_Events.GetLayerInfo, "LayerInfo3");
        MTKFB_MMP_Events.IOCtrl = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "IOCtrl");
        MTKFB_MMP_Events.Debug = MMProfileRegisterEvent(MTKFB_MMP_Events.MTKFB, "Debug");
        MMProfileEnableEventRecursive(MTKFB_MMP_Events.MTKFB, 1);

    }
}