Beispiel #1
0
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_ChangeNotchState(
    PS_BOOL_ENUM_UINT8                  enEnableFlag
)
{
    /* 如果与当前状态一致则直接返回 */
    if (MTC_GetNotchEnalbeFlag() == enEnableFlag)
    {
        return;
    }

    /* 只有在该Modem开机时才下发裁决指示 */
    if (MTC_MODEM_POWER_ON == MTC_GetModemPowerState(MODEM_ID_1))
    {
        /* 给副卡GAS下发NOTCH裁决 */
        MTC_SndRrcNotchChannelInd(I1_UEPS_PID_GAS, enEnableFlag);
    }

    if (MTC_MODEM_POWER_ON == MTC_GetModemPowerState(MODEM_ID_0))
    {
#if (FEATURE_ON == FEATURE_UE_MODE_TDS)
        /* 判断当前接入技术是否支持TDS */
        if (VOS_TRUE == MTC_IsSupportRatType(MODEM_ID_0, MTC_RATMODE_TDS))
        {
            /* 如果支持TDS模式,给主卡TDS RRC下发NOTCH裁决 */
            MTC_SndRrcNotchChannelInd(TPS_PID_RRC, enEnableFlag);
        }
#endif
#if (FEATURE_ON == FEATURE_LTE)
        /* 判断当前接入技术是否支持LTE */
        if (VOS_TRUE == MTC_IsSupportRatType(MODEM_ID_0, MTC_RATMODE_LTE))
        {
            /* 如果支持LTE模式,给主卡LTE RRC下发NOTCH裁决 */
            MTC_SndRrcNotchChannelInd(PS_PID_ERRC, enEnableFlag);
        }
#endif
    }

    /* 记录Notch标志 */
    MTC_SetNotchEnalbeFlag(enEnableFlag);

    return;
}