Merge branch 'Branch_S550_Fast_Emmc' of gitlab.sifar.tech:linux-em-group/s530-ntk into Branch_S550_Fast_Emmc
This commit is contained in:
commit
374d4c0550
|
@ -326,11 +326,6 @@ SF_ST_MMC_DEV *SF_StrgCheckWorkableDev(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i < 2; i++)
|
|
||||||
{
|
|
||||||
sf_mmc_dev[i]->dev_type = workable_dev;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(workable_dev == MMC_DEV_NO)
|
if(workable_dev == MMC_DEV_NO)
|
||||||
{
|
{
|
||||||
//MLOGD("Strg Check, No dev can use\n");
|
//MLOGD("Strg Check, No dev can use\n");
|
||||||
|
@ -338,13 +333,13 @@ SF_ST_MMC_DEV *SF_StrgCheckWorkableDev(void)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
sf_mmc_dev[workable_dev]->dev_type = workable_dev;
|
||||||
//MLOGD("Strg Check, workable_dev = %d\n", workable_dev);
|
//MLOGD("Strg Check, workable_dev = %d\n", workable_dev);
|
||||||
SF_SetMMCDev(sf_mmc_dev[workable_dev]);
|
SF_SetMMCDev(sf_mmc_dev[workable_dev]);
|
||||||
return sf_mmc_dev[workable_dev];
|
return sf_mmc_dev[workable_dev];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 1
|
|
||||||
static int sfStrgOnActionSendCurrentDev(SF_ST_MMC_DEV *pMMCDev)
|
static int sfStrgOnActionSendCurrentDev(SF_ST_MMC_DEV *pMMCDev)
|
||||||
{
|
{
|
||||||
SF_MESSAGE_BUF_S stMessageBuf = {0};
|
SF_MESSAGE_BUF_S stMessageBuf = {0};
|
||||||
|
@ -356,7 +351,6 @@ static int sfStrgOnActionSendCurrentDev(SF_ST_MMC_DEV *pMMCDev)
|
||||||
MLOGD("sf sys strg update current dev!\n");
|
MLOGD("sf sys strg update current dev!\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static void* mmc_monitoring_thread(void *arg)
|
static void* mmc_monitoring_thread(void *arg)
|
||||||
{
|
{
|
||||||
|
|
|
@ -807,6 +807,48 @@ INT32 System_OnStrgSetActDrive(VControl *pCtrl, UINT32 paramNum, UINT32 *paramAr
|
||||||
return NVTEVT_CONSUME;
|
return NVTEVT_CONSUME;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int search_str_in_file(char *path, char *str)
|
||||||
|
{
|
||||||
|
FILE *fp = NULL;
|
||||||
|
UINT32 u32ize = 0;
|
||||||
|
int found = 0;
|
||||||
|
char *pStrSrc = NULL;
|
||||||
|
|
||||||
|
fp = fopen(path, "r");
|
||||||
|
if (fp) {
|
||||||
|
fseek(fp, 0, SEEK_END);
|
||||||
|
u32ize = ftell(fp); // take file size
|
||||||
|
fseek(fp, 0, SEEK_SET); // move to position zero
|
||||||
|
pStrSrc = (char *)malloc(u32ize * sizeof(char));
|
||||||
|
|
||||||
|
if (pStrSrc) {
|
||||||
|
fread(pStrSrc, 1, u32ize, fp);
|
||||||
|
if (strstr(pStrSrc, str)) {
|
||||||
|
found = 1;
|
||||||
|
}
|
||||||
|
free(pStrSrc);
|
||||||
|
}
|
||||||
|
|
||||||
|
fclose(fp);
|
||||||
|
fp = NULL;
|
||||||
|
pStrSrc = NULL;
|
||||||
|
u32ize = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return found;
|
||||||
|
}
|
||||||
|
|
||||||
|
int System_check_mmcblk0p1(void)
|
||||||
|
{
|
||||||
|
SysMain_system("ls /dev/mmcblk0p1 > /tmp/lsdev.txt");
|
||||||
|
vos_util_delay_ms(100);
|
||||||
|
if (search_str_in_file("/tmp/lsdev.txt", "/dev/mmcblk0p1")) {
|
||||||
|
return 1;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
INT32 System_OnStrgInsert(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
|
INT32 System_OnStrgInsert(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
|
||||||
{
|
{
|
||||||
UINT32 strg_id = paramArray[0];
|
UINT32 strg_id = paramArray[0];
|
||||||
|
@ -853,6 +895,31 @@ INT32 System_OnStrgInsert(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
|
||||||
//SysMain_system("df"); //only for debug, the "/mnt/sd" path must be existed.
|
//SysMain_system("df"); //only for debug, the "/mnt/sd" path must be existed.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* wait mmcblk */
|
||||||
|
if(strg_id == STRG_ID_SD){
|
||||||
|
|
||||||
|
UINT32 count = 0 , delay = 50, timeout = 60;
|
||||||
|
|
||||||
|
while(count++ < timeout)
|
||||||
|
{
|
||||||
|
if (System_check_mmcblk0p1()){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
vos_util_delay_ms(delay);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(System_check_mmcblk0p1()){
|
||||||
|
/* hotplug */
|
||||||
|
if(count != 1)
|
||||||
|
vos_util_delay_ms(50);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
DBG_ERR("mmcblk0p1 not found!\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(strg_id == STRG_ID_SD){
|
if(strg_id == STRG_ID_SD){
|
||||||
DX_HANDLE pStrgDev = (DX_HANDLE)sdio_getStorageObject(STRG_OBJ_FAT1);
|
DX_HANDLE pStrgDev = (DX_HANDLE)sdio_getStorageObject(STRG_OBJ_FAT1);
|
||||||
if (GxStrg_OpenDevice(strg_id, pStrgDev) != TRUE) {
|
if (GxStrg_OpenDevice(strg_id, pStrgDev) != TRUE) {
|
||||||
|
|
|
@ -1071,6 +1071,7 @@ static void UIFlowMenuCommonItem_ChildScrClose(lv_obj_t* obj,const LV_USER_EVENT
|
||||||
}
|
}
|
||||||
|
|
||||||
gMenuLuck = MENU_UNLUCK;
|
gMenuLuck = MENU_UNLUCK;
|
||||||
|
PrevSel_Img = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -712,9 +712,9 @@ static SINT32 sf_app_process_cmd_SD(SF_MESSAGE_BUF_S *pMessageBuf)
|
||||||
{
|
{
|
||||||
sfStrgDevSdHandler(pMessageBuf->arg1, pMessageBuf->arg2, pMessageBuf->arg3);
|
sfStrgDevSdHandler(pMessageBuf->arg1, pMessageBuf->arg2, pMessageBuf->arg3);
|
||||||
}
|
}
|
||||||
//else if(pMessageBuf->arg2 == MMC_DEV_EMMC)
|
else if(pMessageBuf->arg2 == MMC_DEV_EMMC)
|
||||||
{
|
{
|
||||||
//sfStrgDevEmmcHandler(pMessageBuf->arg1, pMessageBuf->arg2, pMessageBuf->arg3);
|
sfStrgDevEmmcHandler(pMessageBuf->arg1, pMessageBuf->arg2, pMessageBuf->arg3);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch(pMessageBuf->arg1)
|
switch(pMessageBuf->arg1)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user