VOS_VOID MTC_ProcTlRfCtrl(CONST RRC_MTC_MS_BAND_INFO_STRU *pstSerCellBandInfo) { /* 副卡关机状态下直接返回 */ if (MTC_MODEM_POWER_OFF == MTC_GetModemPowerState(MODEM_ID_1)) { return; } /* 存在B39频段信息, 通知DSP关闭TL射频的上行发射 */ if (MTC_BAND_CHECK64(*((VOS_UINT64 *)&(pstSerCellBandInfo->aulBandInfo[0])), MTC_BAND_MASK_B39)) { if (PS_FALSE == MTC_GetTlRfCtrlEnalbeFlag()) { MTC_SetTlRfCtrlEnalbeFlag(PS_TRUE); MTC_SndI1GasRrcTdsLteRfCtrlInd(PS_TRUE); } } else { if (PS_TRUE== MTC_GetTlRfCtrlEnalbeFlag()) { MTC_SetTlRfCtrlEnalbeFlag(PS_FALSE); MTC_SndI1GasRrcTdsLteRfCtrlInd(PS_FALSE); } } return; }
VOS_VOID MTC_InitIntrusionCtx(VOS_VOID) { VOS_UINT32 ulRet; MTC_INTRUSION_CTX_STRU *pstMtcIntrusionCtx = VOS_NULL_PTR; pstMtcIntrusionCtx = MTC_GetIntrusionCtxAddr(); /* 初始化上下文 */ PS_MEM_SET(pstMtcIntrusionCtx, 0, sizeof(MTC_INTRUSION_CTX_STRU)); /* 读取NV项 */ ulRet = NV_Read(en_NV_Item_RF_INTRUSION_CFG, &pstMtcIntrusionCtx->stIntrusionCfg, sizeof(MTC_NV_RF_INTRUSION_CFG_STRU)); if (VOS_OK != ulRet) { MTC_WARNING_LOG("MTC_InitIntrusionCtx: Read Nv Fail."); } MTC_SetNotchEnalbeFlag(PS_FALSE); MTC_SetNarrowDcsEnalbeFlag(PS_FALSE); MTC_SetTlRfCtrlEnalbeFlag(PS_FALSE); MTC_SetRseCfgValue(PS_FALSE); return; }
VOS_VOID MTC_TlRfCtrlModemPowerStateChange( MODEM_ID_ENUM_UINT16 enModemId, MTC_MODEM_POWER_STATE_ENUM_UINT8 enPowerState ) { /* 主卡关机场景 */ if ((MODEM_ID_0 == enModemId) && (MTC_MODEM_POWER_OFF == enPowerState)) { MTC_ProcTlRfCtrl(MTC_GetModemSerCellBandInfo(MODEM_ID_0)); return; } /* 副卡开机场景 */ if ((MODEM_ID_1 == enModemId) && (MTC_MODEM_POWER_ON == enPowerState)) { MTC_ProcTlRfCtrl(MTC_GetModemSerCellBandInfo(MODEM_ID_0)); return; } /* 副卡关机场景 */ if ((MODEM_ID_1 == enModemId) && (MTC_MODEM_POWER_OFF == enPowerState)) { MTC_SetTlRfCtrlEnalbeFlag(PS_FALSE); return; } return; }
VOS_VOID MTC_ProcB39B32Intrusion(VOS_VOID) { PS_BOOL_ENUM_UINT8 ulStrategyRet; PS_BOOL_ENUM_UINT8 enEnableFlag; /* 判断裁决结果与之前是否一致,如果一样,不再发送消息 */ enEnableFlag = MTC_GetTlRfCtrlEnalbeFlag(); ulStrategyRet = MTC_ProcB39B32IntrusionStrategy(); if (enEnableFlag == ulStrategyRet) { return; } MTC_SetTlRfCtrlEnalbeFlag(ulStrategyRet); MTC_SndI1GasRrcTdsLteRfCtrlInd(ulStrategyRet); return; }