void dpmgr_debug_path_status(int mutex_id) { int i=0; DDP_MANAGER_CONTEXT * content = _get_context(); disp_path_handle handle=NULL; if(mutex_id >=DISP_MUTEX_DDP_FIRST && mutex_id < (DISP_MUTEX_DDP_FIRST+DISP_MUTEX_DDP_COUNT)) { handle = (disp_path_handle)content->handle_pool[mutex_id]; if(handle) { dpmgr_check_status(handle); } } else { for(i=DISP_MUTEX_DDP_FIRST; i<(DISP_MUTEX_DDP_FIRST+DISP_MUTEX_DDP_COUNT);i++) { handle = (disp_path_handle)content->handle_pool[i]; if(handle) { dpmgr_check_status(handle); } } } return ; }
static unsigned int cmdqDdpDumpInfo(uint64_t engineFlag, char *pOutBuf, unsigned int bufSize) { DISPMSG("ovl2mem cmdq timeout:%llu\n", engineFlag); if (pgc->dpmgr_handle) dpmgr_check_status(pgc->dpmgr_handle); return 0; }
int ext_disp_suspend(void) { EXT_DISP_STATUS ret = EXT_DISP_STATUS_OK; DISPFUNC(); _ext_disp_path_lock(); if(pgc->state == EXTD_DEINIT || pgc->state == EXTD_SUSPEND) { DISPERR("EXTD_DEINIT or EXTD_SUSPEND\n"); goto done; } pgc->need_trigger_overlay = 0; if(dpmgr_path_is_busy(pgc->dpmgr_handle)) { dpmgr_wait_event_timeout(pgc->dpmgr_handle, DISP_PATH_EVENT_FRAME_DONE, HZ/30); } if(ext_disp_use_cmdq == CMDQ_ENABLE) _cmdq_stop_trigger_loop(); dpmgr_path_stop(pgc->dpmgr_handle, CMDQ_DISABLE); //ALPS01857347+ dpmgr_path_power_off(pgc->dpmgr_handle, CMDQ_DISABLE); //- if(dpmgr_path_is_busy(pgc->dpmgr_handle)) { dpmgr_wait_event_timeout(pgc->dpmgr_handle, DISP_PATH_EVENT_FRAME_DONE, HZ/30); } ///if(dpmgr_path_is_busy(pgc->dpmgr_handle)) dpmgr_path_reset(pgc->dpmgr_handle, CMDQ_DISABLE); #if 0///(dpmgr_path_is_busy2(pgc->dpmgr_handle)) { dpmgr_path_reset(pgc->dpmgr_handle, CMDQ_DISABLE); dpmgr_check_status(pgc->dpmgr_handle); } #endif extd_drv_suspend(pgc->plcm); ///dpmgr_path_power_off(pgc->dpmgr_handle, CMDQ_DISABLE); pgc->state = EXTD_SUSPEND; done: _ext_disp_path_unlock(); DISPMSG("ext_disp_suspend done \n"); return ret; }
int ext_disp_diagnose(void) { int ret = 0; if(is_context_inited > 0) { EXT_DISP_LOG("ext_disp_diagnose, is_context_inited --%d\n", is_context_inited); dpmgr_check_status(pgc->dpmgr_handle); ///ddp_dpi_dump(DISP_MODULE_DPI , 0); } else // ddp_dpi_dump(DISP_MODULE_DPI , 0); return ret; }