DPI_STATUS DPI_StartTransfer(bool isMutexLocked) { // needStartDSI = 1: For command mode or the first time of video mode. // After the first time of video mode. Configuration is applied in ConfigurationUpdateTask. extern struct mutex OverlaySettingMutex; MMProfileLogMetaStringEx(MTKFB_MMP_Events.Debug, MMProfileFlagPulse, isMutexLocked, 0, "StartTransfer"); if (!isMutexLocked) disp_path_get_mutex(); mutex_lock(&OverlaySettingMutex); LCD_CHECK_RET(LCD_ConfigOVL()); // Insert log for trigger point. DBG_OnTriggerLcd(); // To trigger frame update. DPI_EnableClk(); mutex_unlock(&OverlaySettingMutex); if (!isMutexLocked) disp_path_release_mutex(); return DPI_STATUS_OK; }
jint MMProfileLogMetaStringEx_J(JNIEnv *env, jobject thiz, jint event, jint type, jint data1, jint data2, jstring str) { jint ret; const char *_str = str ? env->GetStringUTFChars(str, NULL) : NULL; if (!_str) { return -1; } ret = MMProfileLogMetaStringEx((MMP_Event)event, (MMP_LogType)type, (unsigned int)data1, (unsigned int)data2, _str); env->ReleaseStringUTFChars(str, _str); return ret; }
bool CPTLogStrEx(CPT_Event event, CPT_LogType type, unsigned int data1, unsigned int data2, const char* str) { if(!gbInit) { return true; } switch(type){ case CPTFlagStart: MMProfileLogMetaStringEx(gMMPEvent[event], MMProfileFlagStart, data1, data2, str); break; case CPTFlagEnd: MMProfileLogMetaStringEx(gMMPEvent[event], MMProfileFlagEnd, data1, data2, str); break; case CPTFlagPulse: MMProfileLogMetaStringEx(gMMPEvent[event], MMProfileFlagPulse, data1, data2, str); break; case CPTFlagSeparator: MMProfileLogMetaStringEx(gMMPEvent[event], MMProfileFlagEventSeparator, data1, data2, str); break; default: break; } return true; }