Merge branch 'Branch_S550_Fast_Emmc' of 192.168.6.216:linux-em-group/s530-ntk into S550_Base
This commit is contained in:
commit
500d91ba50
|
@ -271,15 +271,18 @@ void SF_StrgRegister(SF_MESSAGE_BUF_S *pMessageBuf)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sf_mmc_dev[MMC_DEV_EMMC]->node = MMC_DEV_NODE_STATE_NO_EXIST;
|
sf_mmc_dev[MMC_DEV_EMMC]->node = MMC_DEV_NODE_STATE_NO_EXIST;
|
||||||
|
sf_set_emmc_err(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(pMessageBuf->arg1 == CMD_SD_STRG_CB_MOUNT_FINISH)
|
if(pMessageBuf->arg1 == CMD_SD_STRG_CB_MOUNT_FINISH)
|
||||||
{
|
{
|
||||||
sf_mmc_dev[MMC_DEV_EMMC]->moumted_state = MMC_DEV_MOUNT_STATE_MOUNTED;
|
sf_mmc_dev[MMC_DEV_EMMC]->moumted_state = MMC_DEV_MOUNT_STATE_MOUNTED;
|
||||||
|
sf_set_emmc_err(0);
|
||||||
}
|
}
|
||||||
else if(pMessageBuf->arg1 == CMD_SD_STRG_CB_UNMOUNT_FINISH)
|
else if(pMessageBuf->arg1 == CMD_SD_STRG_CB_UNMOUNT_FINISH)
|
||||||
{
|
{
|
||||||
sf_mmc_dev[MMC_DEV_EMMC]->moumted_state = MMC_DEV_MOUNT_STATE_UNMOUNTED;
|
sf_mmc_dev[MMC_DEV_EMMC]->moumted_state = MMC_DEV_MOUNT_STATE_UNMOUNTED;
|
||||||
|
sf_set_emmc_err(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -70,6 +70,8 @@ SINT32 sf_in_update(void);
|
||||||
void sf_set_card_statu(UINT32 val);
|
void sf_set_card_statu(UINT32 val);
|
||||||
UINT32 sf_get_card_statu(void);
|
UINT32 sf_get_card_statu(void);
|
||||||
BOOL sf_system_check_bt_ko(void);
|
BOOL sf_system_check_bt_ko(void);
|
||||||
|
void sf_set_emmc_err(BOOL val);
|
||||||
|
BOOL sf_is_emmc_err(void);
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
#if __cplusplus
|
#if __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -616,6 +616,7 @@ static SINT32 sfStrgDevOnActionMount(int dev_id, int result)
|
||||||
{
|
{
|
||||||
printf("EMMC has Mounted!\r\n");
|
printf("EMMC has Mounted!\r\n");
|
||||||
sf_strg_dev_register(MMC_DEV_EMMC, MMC_DEV_MOUNT_STATE_MOUNTED);
|
sf_strg_dev_register(MMC_DEV_EMMC, MMC_DEV_MOUNT_STATE_MOUNTED);
|
||||||
|
sf_set_emmc_err(0);
|
||||||
}
|
}
|
||||||
// if(SF_MCU_STARTUP_ONKEY == startup)
|
// if(SF_MCU_STARTUP_ONKEY == startup)
|
||||||
// {
|
// {
|
||||||
|
@ -693,6 +694,7 @@ static SINT32 sfStrgDevSdHandler(int cb_evt, int dev_id, int result)
|
||||||
|
|
||||||
static SINT32 sfStrgDevEmmcHandler(int cb_evt, int dev_id, int result)
|
static SINT32 sfStrgDevEmmcHandler(int cb_evt, int dev_id, int result)
|
||||||
{
|
{
|
||||||
|
sf_set_emmc_err(1);
|
||||||
switch(cb_evt)
|
switch(cb_evt)
|
||||||
{
|
{
|
||||||
case CMD_SD_STRG_CB_UNKNOWN:
|
case CMD_SD_STRG_CB_UNKNOWN:
|
||||||
|
|
|
@ -45,6 +45,7 @@ static SINT32 IsCardFull = 0;
|
||||||
static SINT32 isGoing2Pir = 0;
|
static SINT32 isGoing2Pir = 0;
|
||||||
static SINT32 IsCard = 0;
|
static SINT32 IsCard = 0;
|
||||||
static int formatSD = CMD_FORMAT_SD_ERR;
|
static int formatSD = CMD_FORMAT_SD_ERR;
|
||||||
|
static BOOL IsEmmcErr = TRUE;
|
||||||
|
|
||||||
SF_THREAD_S PirMonitorTskCfg =
|
SF_THREAD_S PirMonitorTskCfg =
|
||||||
{
|
{
|
||||||
|
@ -547,7 +548,7 @@ SINT32 sf_is_card_full(void)
|
||||||
void sf_set_card_full(SINT32 vol)
|
void sf_set_card_full(SINT32 vol)
|
||||||
{
|
{
|
||||||
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
|
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
|
||||||
if((0 == puiPara->SendType) && (!sf_get_mode_flag()))
|
if((0 == puiPara->SendType) && (!sf_get_mode_flag()) &&(sf_is_emmc_err()))
|
||||||
{
|
{
|
||||||
MLOGW("The memory sending function has been enabled, but the identification is not effective. IsCardFull:%d\n",vol);
|
MLOGW("The memory sending function has been enabled, but the identification is not effective. IsCardFull:%d\n",vol);
|
||||||
IsCardFull = 0;
|
IsCardFull = 0;
|
||||||
|
@ -726,6 +727,17 @@ SINT32 sf_in_update(void)
|
||||||
return (regValue & 0xFF) ? 0:1;
|
return (regValue & 0xFF) ? 0:1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOL sf_is_emmc_err(void)
|
||||||
|
{
|
||||||
|
//printf("[%s]:%d IsEmmcFull:%d\n", __FUNCTION__, __LINE__, IsEmmcFull);
|
||||||
|
return IsEmmcErr;
|
||||||
|
}
|
||||||
|
void sf_set_emmc_err(BOOL vol)
|
||||||
|
{
|
||||||
|
//printf("[%s]:%d IsEmmcFull:%d\n", __FUNCTION__, __LINE__, IsEmmcFull);
|
||||||
|
IsEmmcErr = vol;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
#if __cplusplus
|
#if __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -2441,12 +2441,20 @@ static int sf_is_sdc_mounted(void)
|
||||||
int sf_check_sd(void)
|
int sf_check_sd(void)
|
||||||
{
|
{
|
||||||
UINT8 i = 0;
|
UINT8 i = 0;
|
||||||
int ret = SF_SUCCESS;
|
static int ret = SF_SUCCESS;
|
||||||
int cnt = 0;
|
int cnt = 0;
|
||||||
|
static int flag = 0;
|
||||||
|
if((flag) && (sf_get_mode_flag() == 0))
|
||||||
|
{
|
||||||
|
MLOGI("SD Status:%d\r\n", ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
if(0 == sf_in_card_exist() && (0 == sf_in_emmc_exist()))
|
if(0 == sf_in_card_exist() && (0 == sf_in_emmc_exist()))
|
||||||
{
|
{
|
||||||
NET_SLOGE("NO SD\r\n");
|
NET_SLOGE("NO SD\r\n");
|
||||||
return SF_FAILURE;
|
flag = 1;
|
||||||
|
ret = SF_FAILURE;
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
if (sf_sd_status_get() != SF_SD_OK) {
|
if (sf_sd_status_get() != SF_SD_OK) {
|
||||||
ret = SF_FAILURE;
|
ret = SF_FAILURE;
|
||||||
|
@ -2476,8 +2484,10 @@ int sf_check_sd(void)
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
flag = 1;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
flag = 1;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
/*************************************************
|
/*************************************************
|
||||||
|
|
|
@ -21,5 +21,7 @@ BOOL sf_in_card_exist(void);
|
||||||
BOOL sf_in_emmc_exist(void);
|
BOOL sf_in_emmc_exist(void);
|
||||||
void sf_set_card_statu(UINT32 val);
|
void sf_set_card_statu(UINT32 val);
|
||||||
UINT32 sf_get_card_statu(void);
|
UINT32 sf_get_card_statu(void);
|
||||||
|
void sf_set_emmc_err(BOOL val);
|
||||||
|
BOOL sf_is_emmc_err(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -3591,7 +3591,7 @@ INT32 sf_mem_write_photo(UINT32 buf, UINT32 size)
|
||||||
{
|
{
|
||||||
UINT32 fd = 0;
|
UINT32 fd = 0;
|
||||||
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
||||||
if(0 == puiPara->SendType)
|
if((0 == puiPara->SendType) && sf_is_emmc_err())
|
||||||
{
|
{
|
||||||
MLOGD("filesys not ready, store data into mem\n");
|
MLOGD("filesys not ready, store data into mem\n");
|
||||||
system("rm -rf /tmp/MEMPHOTO.JPG");
|
system("rm -rf /tmp/MEMPHOTO.JPG");
|
||||||
|
|
|
@ -49,7 +49,7 @@ SF_CALLBACK_SD_CMD g_fpSd_Exist_CB = NULL;
|
||||||
static int formatSD = CMD_FORMAT_SD_ERR;
|
static int formatSD = CMD_FORMAT_SD_ERR;
|
||||||
static BOOL IsCardFull = TRUE;
|
static BOOL IsCardFull = TRUE;
|
||||||
static BOOL IsEmmcFull = TRUE;
|
static BOOL IsEmmcFull = TRUE;
|
||||||
|
static BOOL IsEmmcErr = TRUE;
|
||||||
void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB)
|
void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB)
|
||||||
{
|
{
|
||||||
g_fpSd_Exist_CB = fpCB;
|
g_fpSd_Exist_CB = fpCB;
|
||||||
|
@ -104,4 +104,15 @@ BOOL sf_is_emmc_full(void)
|
||||||
void sf_set_emmc_card_full(BOOL val)
|
void sf_set_emmc_card_full(BOOL val)
|
||||||
{
|
{
|
||||||
IsEmmcFull = val;
|
IsEmmcFull = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOL sf_is_emmc_err(void)
|
||||||
|
{
|
||||||
|
//printf("[%s]:%d IsEmmcFull:%d\n", __FUNCTION__, __LINE__, IsEmmcFull);
|
||||||
|
return IsEmmcErr;
|
||||||
|
}
|
||||||
|
void sf_set_emmc_err(BOOL val)
|
||||||
|
{
|
||||||
|
//printf("[%s]:%d IsEmmcFull:%d\n", __FUNCTION__, __LINE__, IsEmmcFull);
|
||||||
|
IsEmmcErr = val;
|
||||||
|
}
|
||||||
|
|
|
@ -96,7 +96,11 @@ static void card_insert_job2(void)
|
||||||
printf("filesys2_init b\r\n");
|
printf("filesys2_init b\r\n");
|
||||||
memset(&Param, 0, sizeof(FILE_TSK_INIT_PARAM));
|
memset(&Param, 0, sizeof(FILE_TSK_INIT_PARAM));
|
||||||
|
|
||||||
pStrg->Open();
|
ret = pStrg->Open();
|
||||||
|
if (FST_STA_OK != ret) {
|
||||||
|
DBG_ERR("Open err %d\r\n", ret);
|
||||||
|
sf_set_emmc_err(1);
|
||||||
|
}
|
||||||
pStrg->GetParam(STRG_GET_DEVICE_PHY_SECTORS, (UINT32)&totoal_sectors, 0);
|
pStrg->GetParam(STRG_GET_DEVICE_PHY_SECTORS, (UINT32)&totoal_sectors, 0);
|
||||||
if (totoal_sectors == 0) {
|
if (totoal_sectors == 0) {
|
||||||
DBG_WRN("totoal_sectors couldn't be zero\n");
|
DBG_WRN("totoal_sectors couldn't be zero\n");
|
||||||
|
@ -126,9 +130,14 @@ static void card_insert_job2(void)
|
||||||
ret = FileSys_OpenEx('B', StrgDXH2, &Param);
|
ret = FileSys_OpenEx('B', StrgDXH2, &Param);
|
||||||
if (FST_STA_OK != ret) {
|
if (FST_STA_OK != ret) {
|
||||||
printf("FileSys_Open err %d\r\n", ret);
|
printf("FileSys_Open err %d\r\n", ret);
|
||||||
|
sf_set_emmc_err(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
FileSys_WaitFinishEx('B');
|
ret = FileSys_WaitFinishEx('B');
|
||||||
|
if (FST_STA_OK != ret) {
|
||||||
|
printf("FileSys_WaitFinishEx err %d\r\n", ret);
|
||||||
|
sf_set_emmc_err(1);
|
||||||
|
}
|
||||||
FileSys_SetParamEx('B', FST_PARM_UPDATE_FSINFO , TRUE);
|
FileSys_SetParamEx('B', FST_PARM_UPDATE_FSINFO , TRUE);
|
||||||
#if USE_RTOS_MMC_CHECK
|
#if USE_RTOS_MMC_CHECK
|
||||||
SF_RtosStrgRegister(1, ret);
|
SF_RtosStrgRegister(1, ret);
|
||||||
|
|
|
@ -2393,17 +2393,20 @@ INT32 PhotoFast_SliceEncode_CB3(void* user_data)
|
||||||
}
|
}
|
||||||
if(waitFalg)
|
if(waitFalg)
|
||||||
{
|
{
|
||||||
sf_fastboot_msg_en(ENABLE);
|
if(sf_is_emmc_err())
|
||||||
DBG_WRN("filesys not ready, store data into mem\n");
|
{
|
||||||
|
sf_fastboot_msg_en(ENABLE);
|
||||||
|
DBG_WRN("filesys not ready, store data into mem\n");
|
||||||
|
|
||||||
SYS_USRMEM usrmem = {0};
|
SYS_USRMEM usrmem = {0};
|
||||||
|
|
||||||
if(sys_usrmem_init(&usrmem) == E_OK){
|
if(sys_usrmem_init(&usrmem) == E_OK){
|
||||||
sys_usrmem_write_photo(
|
sys_usrmem_write_photo(
|
||||||
&usrmem,
|
&usrmem,
|
||||||
(UINT32) queue_ele_in->jpg_thumb_addr,
|
(UINT32) queue_ele_in->jpg_thumb_addr,
|
||||||
queue_ele_in->jpg_thumb_size
|
queue_ele_in->jpg_thumb_size
|
||||||
);
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -533,5 +533,7 @@ UINT32 sf_in_mcu_update(void);
|
||||||
int sf_base64_decode(const char * base64, char * bindata);
|
int sf_base64_decode(const char * base64, char * bindata);
|
||||||
void sf_dailyReport_refresh(void);
|
void sf_dailyReport_refresh(void);
|
||||||
void sf_fastboot_msg_en(int en);
|
void sf_fastboot_msg_en(int en);
|
||||||
|
void sf_set_emmc_err(BOOL val);
|
||||||
|
BOOL sf_is_emmc_err(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -49,6 +49,7 @@ static BOOL IsCardFull = FALSE;
|
||||||
SF_CALLBACK_SD_CMD g_fpSd_Exist_CB = NULL;
|
SF_CALLBACK_SD_CMD g_fpSd_Exist_CB = NULL;
|
||||||
extern BOOL DrvCARD_DetStrgCard(void);
|
extern BOOL DrvCARD_DetStrgCard(void);
|
||||||
static BOOL IsEmmcFull = FALSE;
|
static BOOL IsEmmcFull = FALSE;
|
||||||
|
static BOOL IsEmmcErr = FALSE;
|
||||||
|
|
||||||
SF_RTOS_ST_MMC_DEV *sf_rtos_mmc_dev[MMC_DEV_MAX_NUM] = {NULL};
|
SF_RTOS_ST_MMC_DEV *sf_rtos_mmc_dev[MMC_DEV_MAX_NUM] = {NULL};
|
||||||
|
|
||||||
|
@ -129,6 +130,17 @@ UINT32 sf_check_emmc_full(void)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOL sf_is_emmc_err(void)
|
||||||
|
{
|
||||||
|
//printf("[%s]:%d IsEmmcFull:%d\n", __FUNCTION__, __LINE__, IsEmmcFull);
|
||||||
|
return IsEmmcErr;
|
||||||
|
}
|
||||||
|
void sf_set_emmc_err(BOOL val)
|
||||||
|
{
|
||||||
|
//printf("[%s]:%d IsEmmcFull:%d\n", __FUNCTION__, __LINE__, IsEmmcFull);
|
||||||
|
IsEmmcErr = val;
|
||||||
|
}
|
||||||
|
|
||||||
void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB)
|
void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB)
|
||||||
{
|
{
|
||||||
g_fpSd_Exist_CB = fpCB;
|
g_fpSd_Exist_CB = fpCB;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user