void test_get_slice(void)
{
    unsigned int    utime1 = 0;
    unsigned int    u64time2[2] = {0};
    unsigned int    uresult = 0;

    utime1 = omTimerGet();

    printk("\nom slice is %d, bbp slice is %d %d, result = %d\n", utime1, u64time2[0],u64time2[1],uresult);

}
static void tele_mntn_acpu_ddr_freqlink(unsigned int qos_id, unsigned int new_freq)
{
    PWC_TELE_MNTN_ACPU_DFS_DDR_QOS_STRU *qos = NULL;
    PWC_TELE_MNTN_ACPU_DFS_DDR_QOSINFO_STRU * info = NULL;

    if(!g_pPwcAcpuLog)
        return;

    qos = &(g_pPwcAcpuLog->dfsDdr.qos);
    info = &(qos->info);
    info->cmd_id = (short)PM_QOS_UPDATE_REQ;
    info->qos_id = (short)qos_id;
    if(current) {
        info->pid = current->pid;
        if(current->parent)
            info->ppid = current->parent->pid;
    }

    info->tag_val  = new_freq;
    info->new_freq = new_freq;
    qos->qosSliceTime = omTimerGet();
    (void)tele_mntn_write_log(TELE_MNTN_QOS_DDR_ACPU, sizeof(PWC_TELE_MNTN_ACPU_DFS_BOOST_STRU), (void *)qos);
}
Exemple #3
0
/***********************************************************************************
 Function:           BSP_ICC_Errlog_Save
 Description:        将ICC发送和接受时的失败消息
                           调用OM的回调函数输出
 Calls:            BSP_MNTN_OmDrvTraceSend
 Input:           module_id
                     prim_id
                     buffer
 Output:             NA
 Return:             NA
 ************************************************************************************/
void BSP_ICC_Errlog_Save( BSP_U16 module_id, BSP_U16 prim_id, void  *buffer)
{
    BSP_U32        record_valid = 0x0;
    if(NULL == g_drv_icc_buf)
    {
        printk("#####not init#######\n");
        return;
    }




    if (!g_icc_errlog_init_flag)
    {
        printk("########drv icc mntn not init####### \n");
        return;
    }

    if (NULL == buffer)
    {
        printk("#######buffer is null#######\n");
        return;
    }

    down(&g_drv_icc_mntn_mutex);

    memset((void *)g_icc_mntn_info_header, 0, sizeof(icc_mntn_info_header));

	if (((ICC_PRIMID)prim_id >= DRV_PRIM_ICC_ERRLOG) && ((ICC_PRIMID)prim_id <= DRV_PRIM_ICC_ERRLOG))
	{
            g_icc_mntn_info_header->header_flag      = DRV_MNTN_HEADER_FLAG;
            g_icc_mntn_info_header->u32ChanID       = ((icc_mntn_info_t *)buffer)->u32ChanID;
            g_icc_mntn_info_header->s32Errlog         = ((icc_mntn_info_t *)buffer)->s32Errlog;
            g_icc_mntn_info_header->module_id         = module_id;
            g_icc_mntn_info_header->prim_id             =  prim_id;
            g_icc_mntn_info_header->s32Datesize      = ((icc_mntn_info_t *)buffer)->s32Datesize;
            g_icc_mntn_info_header->time_stamp      =   omTimerGet();

            printk("ICC_Errlog_Save:header_flag:%d,u32ChanID:%d,s32Errlog:%d,module_id:%d,prim_id:%d,s32Datesize:%d,time_stamp:%d\n",g_icc_mntn_info_header->header_flag,\
        g_icc_mntn_info_header->u32ChanID,g_icc_mntn_info_header->s32Errlog,g_icc_mntn_info_header->module_id,g_icc_mntn_info_header->prim_id,g_icc_mntn_info_header->s32Datesize,g_icc_mntn_info_header->time_stamp );//test
	    record_valid = 1;
        }

	else
	{
        printk("invalid prim_id\n");
	}

    printk("#######record_valid:%d#######\n",record_valid);

    /************om, now delete*************/
    /*
    if (record_valid)
    {
        trace_pri_check_flag=icc_trace_pri_check(prim_id);

	if(TRUE==trace_pri_check_flag)
	{
            printk("#######BSP_MNTN_OmDrvTraceSend#######\n");
            BSP_MNTN_OmDrvTraceSend(prim_id, module_id, (BSP_U8 *)g_icc_mntn_info_header,
            	                                            sizeof(icc_mntn_info_header));
	}
    }
    else
    {
         printk("error invalid record \n ");
    }
    */


    up(&g_drv_icc_mntn_mutex);
#ifdef MNTN_DBG
    printk("######GO out BSP_ICC_Errlog_Save#######\n");
#endif
}
static inline void __ipc_track_set(void __iomem *base, int mdev, int phase)
{
	unsigned int slice = omTimerGet();

	writel(slice , base + MDEV_TRACK(mdev, phase));  
}