Lines Matching refs:stats

30 static void cpufreq_stats_update(struct cpufreq_stats *stats)  in cpufreq_stats_update()  argument
35 stats->time_in_state[stats->last_index] += cur_time - stats->last_time; in cpufreq_stats_update()
36 stats->last_time = cur_time; in cpufreq_stats_update()
40 static void cpufreq_stats_clear_table(struct cpufreq_stats *stats) in cpufreq_stats_clear_table() argument
42 unsigned int count = stats->max_state; in cpufreq_stats_clear_table()
44 memset(stats->time_in_state, 0, count * sizeof(u64)); in cpufreq_stats_clear_table()
45 memset(stats->trans_table, 0, count * count * sizeof(int)); in cpufreq_stats_clear_table()
46 stats->last_time = get_jiffies_64(); in cpufreq_stats_clear_table()
47 stats->total_trans = 0; in cpufreq_stats_clear_table()
52 return sprintf(buf, "%d\n", policy->stats->total_trans); in show_total_trans()
57 struct cpufreq_stats *stats = policy->stats; in show_time_in_state() local
64 cpufreq_stats_update(stats); in show_time_in_state()
65 for (i = 0; i < stats->state_num; i++) { in show_time_in_state()
66 len += sprintf(buf + len, "%u %llu\n", stats->freq_table[i], in show_time_in_state()
68 jiffies_64_to_clock_t(stats->time_in_state[i])); in show_time_in_state()
77 cpufreq_stats_clear_table(policy->stats); in store_reset()
83 struct cpufreq_stats *stats = policy->stats; in show_trans_table() local
92 for (i = 0; i < stats->state_num; i++) { in show_trans_table()
96 stats->freq_table[i]); in show_trans_table()
103 for (i = 0; i < stats->state_num; i++) { in show_trans_table()
108 stats->freq_table[i]); in show_trans_table()
110 for (j = 0; j < stats->state_num; j++) { in show_trans_table()
114 stats->trans_table[i*stats->max_state+j]); in show_trans_table()
145 static int freq_table_get_index(struct cpufreq_stats *stats, unsigned int freq) in freq_table_get_index() argument
148 for (index = 0; index < stats->max_state; index++) in freq_table_get_index()
149 if (stats->freq_table[index] == freq) in freq_table_get_index()
156 struct cpufreq_stats *stats = policy->stats; in cpufreq_stats_free_table() local
159 if (!stats) in cpufreq_stats_free_table()
165 kfree(stats->time_in_state); in cpufreq_stats_free_table()
166 kfree(stats); in cpufreq_stats_free_table()
167 policy->stats = NULL; in cpufreq_stats_free_table()
173 struct cpufreq_stats *stats; in cpufreq_stats_create_table() local
182 if (policy->stats) in cpufreq_stats_create_table()
185 stats = kzalloc(sizeof(*stats), GFP_KERNEL); in cpufreq_stats_create_table()
186 if (!stats) in cpufreq_stats_create_table()
194 stats->time_in_state = kzalloc(alloc_size, GFP_KERNEL); in cpufreq_stats_create_table()
195 if (!stats->time_in_state) in cpufreq_stats_create_table()
198 stats->freq_table = (unsigned int *)(stats->time_in_state + count); in cpufreq_stats_create_table()
200 stats->trans_table = stats->freq_table + count; in cpufreq_stats_create_table()
202 stats->max_state = count; in cpufreq_stats_create_table()
206 if (freq_table_get_index(stats, pos->frequency) == -1) in cpufreq_stats_create_table()
207 stats->freq_table[i++] = pos->frequency; in cpufreq_stats_create_table()
209 stats->state_num = i; in cpufreq_stats_create_table()
210 stats->last_time = get_jiffies_64(); in cpufreq_stats_create_table()
211 stats->last_index = freq_table_get_index(stats, policy->cur); in cpufreq_stats_create_table()
213 policy->stats = stats; in cpufreq_stats_create_table()
219 policy->stats = NULL; in cpufreq_stats_create_table()
220 kfree(stats->time_in_state); in cpufreq_stats_create_table()
222 kfree(stats); in cpufreq_stats_create_table()
228 struct cpufreq_stats *stats = policy->stats; in cpufreq_stats_record_transition() local
231 if (!stats) { in cpufreq_stats_record_transition()
236 old_index = stats->last_index; in cpufreq_stats_record_transition()
237 new_index = freq_table_get_index(stats, new_freq); in cpufreq_stats_record_transition()
243 cpufreq_stats_update(stats); in cpufreq_stats_record_transition()
245 stats->last_index = new_index; in cpufreq_stats_record_transition()
246 stats->trans_table[old_index * stats->max_state + new_index]++; in cpufreq_stats_record_transition()
247 stats->total_trans++; in cpufreq_stats_record_transition()