/*lint -save -e958*/ VOS_UINT32 diag_VcomWriteSync(DIAG_PORT_PHY_BEAR_ENUM enPort, APP_VCOM_DEV_INDEX_UINT8 enDevIndex, VOS_UINT8 *pucDataBuf,VOS_UINT32 ulLen) { VOS_UINT32 ulRet = ERR_MSP_SUCCESS; diag_TraceDebug(pucDataBuf, ulLen); if(DIAG_PORT_GET_STATE(enPort) == ACM_EVT_DEV_READY) { ulRet = APP_VCOM_Send(enDevIndex,pucDataBuf,ulLen); SCM_RlsDestBuf(DIAG_PORT_GET_CODE_DES(enPort),ulLen); } else { diag_printf("[%s],enport :%d,status :%d\n",__FUNCTION__,enPort,DIAG_PORT_GET_STATE(enPort)); SCM_RlsDestBuf(DIAG_PORT_GET_CODE_DES(enPort),ulLen); return ERR_MSP_FAILURE; } return ulRet; }
VOS_UINT32 diag_PhyWriteAsync(DIAG_PORT_PHY_BEAR_ENUM enPort,VOS_UINT8 *pucDataBuf,VOS_UINT32 ulLen) { VOS_INT32 ret = ERR_MSP_SUCCESS; ACM_WR_ASYNC_INFO stVcom = {0}; VOS_INT32 slHandle = 0; if(DIAG_PORT_GET_STATE(enPort) ==ACM_EVT_DEV_SUSPEND) { SCM_RlsDestBuf(DIAG_PORT_GET_CODE_DES(enPort),ulLen); return ERR_MSP_SUCCESS; } slHandle = DIAG_PORT_GET_HANDLE(enPort); if(slHandle == UDI_INVALID_HANDLE) { SCM_RlsDestBuf(DIAG_PORT_GET_CODE_DES(enPort),ulLen); return ERR_MSP_FAILURE; } #if(FEATURE_SOCP_ON_DEMAND == FEATURE_ON) /* 工具已下发断开连接命令,丢数据 */ if(!(g_ulDiagCfgInfo & (1 << 1))) { SCM_RlsDestBuf(DIAG_PORT_GET_CODE_DES(enPort),ulLen); return ERR_MSP_SUCCESS; } #endif #ifdef FEATURE_UPGRADE_TL stVcom.pBuffer = (VOS_CHAR*)pucDataBuf; #else stVcom.pVirAddr = (VOS_CHAR*)pucDataBuf; stVcom.pPhyAddr = (VOS_CHAR*)SCM_CoderDestMemVirtToPhy(DIAG_PORT_GET_CODE_DES(enPort), pucDataBuf); #endif stVcom.u32Size = ulLen; DIAG_DEBUG_SDM_FUN((DIAG_DEBUG_MSG_ID_ENUM)(EN_DIAG_DEBUG_TCP_WRT+(VOS_UINT32)enPort), ulLen, 0, 0); ret = udi_ioctl((int)slHandle, ACM_IOCTL_WRITE_ASYNC, &stVcom); if(ret == ERR_MSP_SUCCESS) { DIAG_DEBUG_SDM_FUN((DIAG_DEBUG_MSG_ID_ENUM)(EN_DIAG_DEBUG_TCP_WRT_SUCC+(VOS_UINT32)enPort), ulLen, 0, 0); return ERR_MSP_SUCCESS; } SCM_RlsDestBuf(DIAG_PORT_GET_CODE_DES(enPort),ulLen); return (VOS_UINT32)ret;/* [false alarm]:屏蔽Fortify */ }
VOS_UINT32 diag_PhyWriteAsync(DIAG_PORT_PHY_BEAR_ENUM enPort,VOS_UINT8 *pucDataBuf,VOS_UINT32 ulLen) { VOS_INT32 ret = ERR_MSP_SUCCESS; ACM_WR_ASYNC_INFO stVcom = {0}; VOS_INT32 slHandle = 0; if(DIAG_PORT_GET_STATE(enPort) ==ACM_EVT_DEV_SUSPEND) { SCM_RlsDestBuf(DIAG_PORT_GET_CODE_DES(enPort),ulLen); return ERR_MSP_SUCCESS; } slHandle = DIAG_PORT_GET_HANDLE(enPort); if(slHandle == UDI_INVALID_HANDLE) { SCM_RlsDestBuf(DIAG_PORT_GET_CODE_DES(enPort),ulLen); return ERR_MSP_FAILURE; } stVcom.pBuffer = (VOS_CHAR*)pucDataBuf; stVcom.u32Size = ulLen; DIAG_DEBUG_SDM_FUN(EN_DIAG_DEBUG_TCP_WRT+enPort, ulLen, 0, 0); ret = udi_ioctl((int)slHandle, ACM_IOCTL_WRITE_ASYNC, &stVcom); if(ret == ERR_MSP_SUCCESS) { DIAG_DEBUG_SDM_FUN(EN_DIAG_DEBUG_TCP_WRT_SUCC+enPort, ulLen, 0, 0); return ERR_MSP_SUCCESS; } SCM_RlsDestBuf(DIAG_PORT_GET_CODE_DES(enPort),ulLen); return ret; }
/***************************************************************************** Function Name : DMS_GetHsicPortStatus Description : Input : VOS_VOID Output : None Return : VOS_UINT32 History : 1.y00228784 2013-2-19 Draft Enact *****************************************************************************/ VOS_UINT32 DMS_GetHsicPortStatus(VOS_VOID) { return DIAG_PORT_GET_STATE(EN_DIAG_HSIC_BEARER_DIAG_CTRL) \ & DIAG_PORT_GET_STATE(EN_DIAG_HSIC_BEARER_DIAG_APP); }