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); }
static void tele_mntn_ddrfreq_setrate(struct devfreq *devfreq, unsigned int new_freq) { ACORE_TELE_MNTN_DFS_DDR_QOS_STRU *qos = NULL; ACORE_TELE_MNTN_DFS_DDR_QOSINFO_STRU * info = NULL; struct devfreq_pm_qos_data *data = devfreq->data; if(!p_acore_tele_mntn) return; qos = &(p_acore_tele_mntn->dfsDdr.qos); info = &(qos->info); info->qos_id = (short)data->pm_qos_class; if(current) { info->pid = current->pid; if(current->parent) info->ppid = current->parent->pid; } info->new_freq = new_freq; info->min_freq = (unsigned int)devfreq->min_freq; info->max_freq = (unsigned int)devfreq->max_freq; qos->qosSliceTime = get_slice_time(); (void)tele_mntn_write_log(TELE_MNTN_QOS_DDR_ACPU, sizeof(ACORE_TELE_MNTN_DFS_DDR_QOS_STRU), (void *)qos); }