/***************************************************************************** Function Name : diag_ConnProcEntry Description : 该函数为处理DIAG FW发过来的HSO连接相关命令的入口 Input : pstReq 待处理数据 ulCmdId 命令ID Output : None Return : VOS_UINT32 History : 1.y00228784 2012-11-22 Draft Enact *****************************************************************************/ VOS_UINT32 diag_ConnProcEntry(VOS_UINT8* pstReq , VOS_UINT32 ulCmdId) { VOS_UINT32 ret = ERR_MSP_SUCCESS; switch(MSP_STRU_ID_0_15_CMD_CATEGORY(ulCmdId)) { case DIAG_CMD_HOST_CONNECT: ret = diag_ConnProc(pstReq,ulCmdId); break; case DIAG_CMD_HOST_DISCONNECT: ret = diag_DisConnProc(pstReq,ulCmdId); break; #if(VOS_OS_VER == VOS_LINUX) case DIAG_CMD_GET_TIMESTAMP_INIT_VALUE: ret = diag_GetTimeStampInitValue(pstReq,ulCmdId); break; case DIAG_CMD_SET_LOG_MODE: ret = diag_LogSaveProc(pstReq,ulCmdId); break; #endif default: ret = ERR_MSP_INVALID_PARAMETER; break; } return ret; }
/***************************************************************************** Function Name : diag_CfgProcEntry Description : 该函数为处理DIAG FW发过来的开关相关命令的入口 Input : pstReq 待处理数据 ulCmdSn 命令ID Output : None Return : VOS_UINT32 History : 1.y00228784 2012-11-22 Draft Enact *****************************************************************************/ VOS_UINT32 diag_CfgProcEntry (VOS_UINT8* pstReq , VOS_UINT32 ulCmdId) { VOS_UINT32 ret = ERR_MSP_SUCCESS; switch(MSP_STRU_ID_0_15_CMD_CATEGORY(ulCmdId)) { case DIAG_CMD_LOG_CAT_PRINT: ret = diag_PrintCfgProc(pstReq,ulCmdId); break; case DIAG_CMD_LOG_CAT_LAYER: ret = diag_LayerCfgProc(pstReq,ulCmdId); break; case DIAG_CMD_LOG_CAT_AIR: ret = diag_AirCfgProc(pstReq,ulCmdId); break; case DIAG_CMD_LOG_CAT_USERPLANE: ret = diag_UsrPlaneCfgProc(pstReq,ulCmdId); break; case DIAG_CMD_LOG_CAT_EVENT: ret = diag_EventCfgProc(pstReq,ulCmdId); break; case DIAG_CMD_LOG_CAT_MSG: ret = diag_MsgCfgProc(pstReq,ulCmdId); break; default: ret = ERR_MSP_FAILURE; break; } return ret; }
/*lint -save -e550 -e539 -e438 -e830*/ VOS_UINT32 diag_BspLogProcEntry(VOS_UINT8* pstReq , VOS_UINT32 ulCmdId) { /*lint -save -e830*/ VOS_UINT32 ret = ERR_MSP_SUCCESS; VOS_UINT32 data_len = 0; VOS_UINT32 cnf_data_len = 0; MSP_DIAG_HEAD_STRU *pstDiagHead = VOS_NULL; DIAG_bsp_log_swt_cfg_s *pstLogSet = VOS_NULL; DIAG_BSP_PRINT_LOG_SWT_CNF_STRU stLogSetCnf = {0}; VOS_UINT8 *pstCnf = VOS_NULL; /*lint -restore*/ pstDiagHead = (MSP_DIAG_HEAD_STRU*)(DIAG_OFFSET_SOCP_GET_DIAG_HEAD(pstReq)); vos_printf("diag_BspLogProcEntry ulCmdId = 0x%x\n",ulCmdId); if(DIAG_CMD_BSP_LOG_SET_ACORE == (MSP_STRU_ID_0_15_CMD_CATEGORY(ulCmdId)) ) { ret = ERR_MSP_SUCCESS; } else if(DIAG_CMD_BSP_LOG_SET_CCORE == (MSP_STRU_ID_0_15_CMD_CATEGORY(ulCmdId)) ) { pstLogSet = (DIAG_bsp_log_swt_cfg_s *)DIAG_OFFSET_HEAD_GET_DATA(pstReq); data_len = pstDiagHead->ulDataSize - sizeof(MSP_DIAG_DATA_REQ_STRU); stLogSetCnf.ulRet = ERR_MSP_SUCCESS; pstCnf = (VOS_UINT8 *)&stLogSetCnf ; cnf_data_len = sizeof(DIAG_BSP_PRINT_LOG_SWT_CNF_STRU); } else { ret = ERR_MSP_FAILURE; } if(VOS_NULL!=pstCnf) { ret = diag_AgentCnfFun(pstCnf,ulCmdId,cnf_data_len); } return ret; }
VOS_UINT32 diag_BspAxiProcEntry (VOS_UINT8* pstReq , VOS_UINT32 ulCmdId) { VOS_UINT32 ret = ERR_MSP_SUCCESS; VOS_UINT8 *pdata =NULL; DIAG_CMD_COMMON_CNF stAxiCnf ={0}; diag_printf("[%s enter!]\n",__FUNCTION__); pdata = (VOS_UINT8*)(DIAG_OFFSET_HEAD_GET_DATA(pstReq)); switch(MSP_STRU_ID_0_15_CMD_CATEGORY(ulCmdId)) { case DIAG_CMD_AXI_DATA_CONFIG: ret = diag_BspAxiDataConfigEntry(pstReq, ulCmdId); break; case DIAG_CMD_AXI_REG_CONFIG: ret = DRV_AXI_REG_CONFIG(pdata); break; case DIAG_CMD_AXI_DATA_CTRL: ret = DRV_AXI_DATA_CTRL(pdata); break; case DIAG_CMD_AXI_MON_CONFIG: ret = diag_BspAxiMonConfigEntry(pstReq, ulCmdId); break; case DIAG_CMD_AXI_MON_START: ret = DRV_AXI_MON_START(pdata); break; case DIAG_CMD_AXI_MON_TERMINATE: ret = diag_BspAxiMonTerminateEntry(pstReq, ulCmdId); break; default: break; } stAxiCnf.ulRet = ret; ret = diag_AgentCnfFun((VOS_UINT8*)&stAxiCnf,ulCmdId,sizeof(DIAG_CMD_COMMON_CNF)); return ret; }
VOS_UINT32 diag_BbpProcEntry(VOS_UINT8* pstReq , VOS_UINT32 ulCmdId) { VOS_UINT32 ret = ERR_MSP_SUCCESS; switch(MSP_STRU_ID_0_15_CMD_CATEGORY(ulCmdId)) { case DIAG_CMD_REG_RD: ret = diag_RegRdProc(pstReq,ulCmdId); break; case DIAG_CMD_REG_WR: ret = diag_RegWrProc(pstReq,ulCmdId); break; case DIAG_CMD_DRX_DATA_SAMPLE_REG_WR: ret = diag_DrxDataSampleProc(pstReq,ulCmdId); break; case DIAG_CMD_DRX_LOG_SAMPLE_REG_WR: ret = diag_DrxLogSampleProc(pstReq,ulCmdId); break; case DIAG_CMD_DRX_SAMPLE_GEN_REQ: ret = diag_DrxSampleGenProc(pstReq,ulCmdId); break; case DIAG_CMD_DRX_SAMPLE_ADDR_REQ: ret = diag_DrxSampleGetAddrProc(pstReq,ulCmdId); break; case DIAG_CMD_DRX_SAMPLE_CHNSIZE_REQ: ret = diag_DrxSampleGetChnSizeProc(pstReq,ulCmdId); break; case DIAG_CMD_DRX_SAMPLE_GET_VERSION_REQ: ret = diag_DrxSampleGetVersionProc(pstReq,ulCmdId); break; case DIAG_CMD_DRX_SAMPLE_ABLE_CHN_REQ: ret = diag_DrxSampleAbleChnProc(pstReq,ulCmdId); break; default: ret = ERR_MSP_INVALID_PARAMETER; break; } return ret; }
VOS_UINT32 diag_FsProcEntry (VOS_UINT8* pstReq , VOS_UINT32 ulCmdId) { VOS_UINT32 ret = ERR_MSP_SUCCESS; switch(MSP_STRU_ID_0_15_CMD_CATEGORY(ulCmdId)) { case DIAG_CMD_FS_QUERY_DIR: ret = diag_FsQueryProc(pstReq,ulCmdId); break; case DIAG_CMD_FS_SCAN_DIR: ret = diag_FsScanProc(pstReq,ulCmdId); break; case DIAG_CMD_FS_MAKE_DIR: ret = diag_FsMkdirProc(pstReq,ulCmdId); break; case DIAG_CMD_FS_OPEN: ret = diag_FsOpenProc(pstReq,ulCmdId); break; case DIAG_CMD_FS_IMPORT: ret = diag_FsImportProc(pstReq,ulCmdId); break; case DIAG_CMD_FS_EXPORT: ret = diag_FsExportProc(pstReq,ulCmdId); break; case DIAG_CMD_FS_DELETE: ret = diag_FsDeleteProc(pstReq,ulCmdId); break; case DIAG_CMD_FS_SPACE: ret = diag_FsSpaceProc(pstReq,ulCmdId); break; default: break; } return ret; }
VOS_UINT32 diag_BspProcEntry(VOS_UINT8* pstReq , VOS_UINT32 ulCmdId) { VOS_UINT32 ret; switch (MSP_STRU_ID_0_15_CMD_CATEGORY(ulCmdId)) { case DIAG_CMD_BSP_LOG_SET_ACORE: case DIAG_CMD_BSP_LOG_SET_CCORE: ret = diag_BspLogProcEntry(pstReq,ulCmdId); break; case DIAG_CMD_BSP_SYSVIEW_SWT_ACORE: case DIAG_CMD_BSP_SYSVIEW_SWT_CCORE: case DIAG_CMD_BSP_CPU_SWT_ACORE: case DIAG_CMD_BSP_CPU_SWT_CCORE: ret = diag_BspSysviewProcEntry(pstReq,ulCmdId); break; case DIAG_CMD_AXI_DATA_CONFIG: case DIAG_CMD_AXI_REG_CONFIG: case DIAG_CMD_AXI_DATA_CTRL: case DIAG_CMD_AXI_MON_CONFIG: case DIAG_CMD_AXI_MON_START: case DIAG_CMD_AXI_MON_TERMINATE: ret = diag_BspAxiProcEntry(pstReq,ulCmdId); break; default: ret = ERR_MSP_FAILURE; break ; } return ret; }
VOS_UINT32 diag_BspSysviewProcEntry(VOS_UINT8* pstReq , VOS_UINT32 ulCmdId) { VOS_UINT32 ret ; VOS_UINT32 cnf_data_len = 0; DIAG_BSP_SYVIEW_SWT_CFG_STRU *pstSysviewSet = VOS_NULL; DIAG_BSP_SYVIEW_SWT_CNF_STRU *pstLogSysviewCnf = {0}; VOS_UINT8 *pstCnf = VOS_NULL; if((DIAG_CMD_BSP_SYSVIEW_SWT_ACORE == (MSP_STRU_ID_0_15_CMD_CATEGORY(ulCmdId))) ||(DIAG_CMD_BSP_CPU_SWT_ACORE == (MSP_STRU_ID_0_15_CMD_CATEGORY(ulCmdId)))) { ret = ERR_MSP_SUCCESS; } else if((DIAG_CMD_BSP_SYSVIEW_SWT_CCORE == (MSP_STRU_ID_0_15_CMD_CATEGORY(ulCmdId)) ) ||(DIAG_CMD_BSP_CPU_SWT_CCORE == (MSP_STRU_ID_0_15_CMD_CATEGORY(ulCmdId)))) { pstSysviewSet = (DIAG_BSP_SYVIEW_SWT_CFG_STRU *)DIAG_OFFSET_HEAD_GET_DATA(pstReq); ret= DRV_SYSVIEW_SWT_SET(pstSysviewSet->trace_type,pstSysviewSet->trace_swt,pstSysviewSet->period); if(ret == ERR_MSP_SUCCESS) { if((pstSysviewSet->trace_type ==SYSVIEW_TASK_INFO )&&(pstSysviewSet->trace_swt ==1 )) { cnf_data_len = sizeof(DIAG_BSP_SYVIEW_SWT_CNF_STRU)+sizeof(DIAG_BSP_TASK_INFO_STRU)*128; /* coverity[returned_null] */ pstLogSysviewCnf =(DIAG_BSP_SYVIEW_SWT_CNF_STRU*)VOS_MemAlloc(MSP_PID_DIAG_AGENT, DYNAMIC_MEM_PT,cnf_data_len); /* coverity[dereference] */ pstLogSysviewCnf->ullen = sizeof(DIAG_BSP_TASK_INFO_STRU)*128; DRV_GET_ALL_TASK_ID_NAME((pstLogSysviewCnf->st_task_info), sizeof(DIAG_BSP_TASK_INFO_STRU)*128); } else { cnf_data_len = sizeof(DIAG_BSP_SYVIEW_SWT_CNF_STRU); /* coverity[returned_null] */ pstLogSysviewCnf =(DIAG_BSP_SYVIEW_SWT_CNF_STRU*)VOS_MemAlloc(MSP_PID_DIAG_AGENT, DYNAMIC_MEM_PT,cnf_data_len); /* coverity[dereference] */ pstLogSysviewCnf->ullen = 0; } } else { cnf_data_len = sizeof(DIAG_BSP_SYVIEW_SWT_CNF_STRU); /* coverity[returned_null] */ pstLogSysviewCnf =(DIAG_BSP_SYVIEW_SWT_CNF_STRU*)VOS_MemAlloc(MSP_PID_DIAG_AGENT, DYNAMIC_MEM_PT,cnf_data_len); /* coverity[dereference] */ pstLogSysviewCnf->ullen = 0; } pstLogSysviewCnf->ulRet = ret; pstLogSysviewCnf->trace_type =pstSysviewSet->trace_type; pstCnf = (VOS_UINT8 *)pstLogSysviewCnf ; } else { ret = ERR_MSP_FAILURE; } if(VOS_NULL!=pstCnf) { ret = diag_AgentCnfFun(pstCnf,ulCmdId,cnf_data_len); VOS_MemFree(diag_GetAgentPid(), pstCnf); } return ret; }