static int _should_trigger_path(void) { /***trigger operation: VDO+CMDQ CMD+CMDQ VDO+CPU CMD+CPU *** 4.path trigger: idle->Y Y idle->Y Y *** 5.mutex enable: N N idle->Y Y ***/ // this is not a perfect design, we can't decide path trigger(ovl/rdma/dsi..) seperately with mutex enable // but it's lucky because path trigger and mutex enable is the same w/o cmdq, and it's correct w/ CMDQ(Y+N). if(ext_disp_cmdq_enabled()) { if(ext_disp_is_video_mode()) { return dpmgr_path_is_idle(pgc->dpmgr_handle); } else { return 0; } } else { if(ext_disp_is_video_mode()) { return dpmgr_path_is_idle(pgc->dpmgr_handle); } else { return 1; } } }
static int _should_start_path(void) { /***trigger operation: VDO+CMDQ CMD+CMDQ VDO+CPU CMD+CPU *** 3.path start: idle->Y Y idle->Y Y ***/ if(ext_disp_cmdq_enabled()) { if(ext_disp_is_video_mode()) { return dpmgr_path_is_idle(pgc->dpmgr_handle); } else { return 1; } } else { if(ext_disp_is_video_mode()) { return dpmgr_path_is_idle(pgc->dpmgr_handle); } else { return 1; } } }
/* trigger operation: VDO+CMDQ CMD+CMDQ VDO+CPU CMD+CPU * 3.path start: idle->Y Y idle->Y Y */ static int _should_start_path(void) { if(ext_disp_is_video_mode()) { return dpmgr_path_is_idle(pgc->dpmgr_handle); } else { return 1; } }