VOS_VOID TTF_MNTN_ErrlogShow(VOS_VOID)
{
    VOS_UINT32                      ulIndx;

    for(ulIndx = 0; ulIndx < MODEM_ID_BUTT; ulIndx++)
    {
        (VOS_VOID)vos_printf("\r\n******************MODEM ID %u*************************\r\n", ulIndx);

        if (VOS_NO == TTF_ERR_LOG_ENT_STATE_GET(ulIndx))
        {
            (VOS_VOID)vos_printf("Errlog 实体不存在!                %u \r\n");
            continue;
        }

        (VOS_VOID)vos_printf("Errlog Modem %d 开关状态:             %u \r\n", ulIndx, TTF_ERR_LOG_ENT_CTRL_STATUS_GET(ulIndx));
        (VOS_VOID)vos_printf("Errlog Modem %d 当前上报级别:         %u \r\n", ulIndx, TTF_ERR_LOG_ENT_CTRL_LEV_GET(ulIndx));
        (VOS_VOID)vos_printf("Errlog Modem %d RingBuff Mem Addr:    0x%x \r\n", ulIndx, TTF_ERR_LOG_ENT_BUF_GET(ulIndx));
        (VOS_VOID)vos_printf("Errlog Modem %d RingBuff ID:          0x%x \r\n", ulIndx, TTF_ERR_LOG_ENT_RINGID_GET(ulIndx));
        (VOS_VOID)vos_printf("Errlog Modem %d SemId:                0x%x \r\n", ulIndx, TTF_ERR_LOG_ENT_SEM_GET(ulIndx));
        (VOS_VOID)vos_printf("Errlog Modem %d Buffer保留长度:       %u \r\n", ulIndx, TTF_ERR_LOG_ENT_GET_BUF_RSV_LEN(ulIndx));
        (VOS_VOID)vos_printf("Errlog Modem %d Buffer中的数据长度:   %u \r\n", ulIndx, OM_RingBufferNBytes(TTF_ERR_LOG_ENT_RINGID_GET(ulIndx)));
        (VOS_VOID)vos_printf("Errlog Modem %d W Comm Addr:          0x%x \r\n", ulIndx, TTF_ERR_LOG_ENT_WCDMA_COMM_INFO_GET(ulIndx));
        (VOS_VOID)vos_printf("Errlog Modem %d G Comm Addr:          0x%x \r\n", ulIndx, TTF_ERR_LOG_ENT_GSM_COMM_INFO_GET(ulIndx));

        TTF_ERR_LOG_CB_SHOW(ulIndx, MODULE_ID_PDCP);
        TTF_ERR_LOG_CB_SHOW(ulIndx, MODULE_ID_WRM);
        TTF_ERR_LOG_CB_SHOW(ulIndx, MODULE_ID_GRM);
        TTF_ERR_LOG_CB_SHOW(ulIndx, MODULE_ID_LLC);
        TTF_ERR_LOG_CB_SHOW(ulIndx, MODULE_ID_SN);
        TTF_ERR_LOG_CB_SHOW(ulIndx, MODULE_ID_DL);
    }

    return;
}
Beispiel #2
0
VOS_VOID TTF_MNTN_ErrlogShow(VOS_VOID)
{
    VOS_UINT32 ulIndx;

    vos_printf("Errlog 实体状态:        %u \r\n", TTF_ERR_LOG_ENT_STATE_GET());

    for(ulIndx = 0; ulIndx < MODEM_ID_BUTT; ulIndx++)
    {
        vos_printf("\r\n******************MODEM ID %u*************************\r\n", ulIndx);
        vos_printf("Errlog Modem %d 开关状态:        %u \r\n", ulIndx, TTF_ERR_LOG_ENT_CTRL_STATUS_GET(ulIndx));
        vos_printf("Errlog Modem %d 当前上报级别:    %u \r\n", ulIndx, TTF_ERR_LOG_ENT_CTRL_LEV_GET(ulIndx));
        vos_printf("Errlog Modem %d RingBuff Mem Addr:   0x%x \r\n", ulIndx, TTF_ERR_LOG_ENT_BUF_GET(ulIndx));
        vos_printf("Errlog Modem %d RingBuff ID:         0x%x \r\n", ulIndx, TTF_ERR_LOG_ENT_RINGID_GET(ulIndx));
        vos_printf("Errlog Modem %d SemId:               0x%x \r\n", ulIndx, TTF_ERR_LOG_ENT_SEM_GET(ulIndx));
        vos_printf("Errlog Modem %d Buffer保留长度:      %u \r\n", ulIndx, TTF_ERR_LOG_ENT_GET_BUF_RSV_LEN(ulIndx));
        vos_printf("Errlog Modem %d Buffer中的数据长度:      %u \r\n", ulIndx, OM_RingBufferNBytes(TTF_ERR_LOG_ENT_RINGID_GET(ulIndx)));

        TTF_ERR_LOG_CB_SHOW(ulIndx, MODULE_ID_PDCP);
        TTF_ERR_LOG_CB_SHOW(ulIndx, MODULE_ID_WRM);
        TTF_ERR_LOG_CB_SHOW(ulIndx, MODULE_ID_GRM);
        TTF_ERR_LOG_CB_SHOW(ulIndx, MODULE_ID_LLC);
        TTF_ERR_LOG_CB_SHOW(ulIndx, MODULE_ID_SN);
        TTF_ERR_LOG_CB_SHOW(ulIndx, MODULE_ID_DL);
    }
}
VOS_VOID TTF_MNTN_ErrlogBufPut(VOS_UINT32 ulPid,  VOS_CHAR *pBuffer, VOS_UINT32 ulBytes)
{
    MODEM_ID_ENUM_UINT16    enModemId;
    VOS_UINT32              ulRslt;
    VOS_UINT32              ulBuffFreeSize;
    OM_RING_ID              pRingId;

    if (VOS_NULL_PTR == pBuffer)
    {
        TTF_LOG(ulPid, 0, PS_PRINT_WARNING,
            "TTF_MNTN_ErrlogBufPut: pBuffer NULL PTR");

        return;
    }

    enModemId = VOS_GetModemIDFromPid(ulPid);

    if (enModemId >= MODEM_ID_BUTT)
    {
        TTF_LOG1(ulPid, 0, PS_PRINT_ERROR,
            "TTF_MNTN_ErrlogBufPut: Invalid ModemId ", enModemId);

        return;
    }

    pRingId   = TTF_ERR_LOG_ENT_RINGID_GET(enModemId);

    if (VOS_NULL_PTR == pRingId)
    {
        TTF_LOG(ulPid, 0, PS_PRINT_WARNING,
            "TTF_MNTN_ErrlogBufPut: pRingId NULL PTR");

        return;
    }

    ulRslt = VOS_SmP(TTF_ERR_LOG_ENT_SEM_GET(enModemId), TTF_ERR_SEM_TIMEOUT_LEN);

    if(VOS_OK != ulRslt)
    {
        TTF_LOG2(ulPid, 0, PS_PRINT_WARNING,
            "TTF_MNTN_ErrlogBufPut: Create TTF_ERR_LOG_ENT_SEM<1>, ulRslt<2> fail!", enModemId, (VOS_INT32)ulRslt);

        return;
    }

    ulBuffFreeSize  =(VOS_UINT32) OM_RingBufferFreeBytes(pRingId);

    /* Buffer不足,溢出处理 */
    if (ulBuffFreeSize < (ulBytes + TTF_ERR_LOG_ENT_GET_BUF_RSV_LEN(enModemId)))
    {
        TTF_ERR_LOG_ENT_UPDT_BUFFER_OVER_CNT(enModemId, 1);
        OM_RingBufferFlush(pRingId);
    }

    ulRslt = (VOS_UINT32)OM_RingBufferPut(pRingId, pBuffer, (VOS_INT)ulBytes);

    if (ulBytes != ulRslt)
    {
        OM_RingBufferFlush(pRingId);
    }

    VOS_SmV(TTF_ERR_LOG_ENT_SEM_GET(enModemId));

    return;
}