// called by "esd_recovery_kthread"
// protected by sem_early_suspend, sem_update_screen
BOOL dsi_esd_check(void)
{
    BOOL result = false;
    
    if(lcm_params->dsi.mode == CMD_MODE)
    {
        result = lcm_drv->esd_check();
        return result;
    }
    else
    {
        #ifndef BUILD_UBOOT
            #ifndef MT65XX_NEW_DISP
                if(lcm_params->dsi.lcm_int_te_monitor)
                    result = DSI_esd_check();
                
                if(result)
                    return true;
                
                if(lcm_params->dsi.lcm_ext_te_monitor)
                    result = LCD_esd_check();
            #else
                result = DSI_esd_check();
                DSI_LP_Reset();
                needStartDSI = true;
                if(!result)
                    dsi_update_screen(false);
            #endif
            return result;
        #endif	
    }

}
// called by "esd_recovery_kthread"
// protected by sem_early_suspend, sem_update_screen
BOOL dsi_esd_check(void)
{
    BOOL result = false;

    if(lcm_params->dsi.mode == CMD_MODE || !dsi_vdo_streaming)
        return false;
    else
    {
#ifndef BUILD_UBOOT
        if(lcm_params->dsi.lcm_int_te_monitor)
            result = DSI_esd_check();

        if(result)
            return true;

        if(lcm_params->dsi.lcm_ext_te_monitor)
            result = LCD_esd_check();

        return result;
#endif
    }

}