コード例 #1
0
void set_acpuclk_l2_freq_footprint_by_clk(enum FREQ_TYPE type, struct clk* c, unsigned khz)
{
	int l2 = clk_get_l2_idx(c);

	
	if (l2 < 0)
		return;

	set_acpuclk_l2_freq_footprint(type, khz);
}
コード例 #2
0
static void update_l2_bw(int *also_cpu)
{
	int rc = 0, cpu;
	unsigned int index = 0;

	mutex_lock(&l2bw_lock);

	if (also_cpu)
		index = freq_index[*also_cpu];

	for_each_online_cpu(cpu) {
		index = max(index, freq_index[cpu]);
	}

#ifdef CONFIG_HTC_DEBUG_FOOTPRINT
	if (l2_clk) {
		set_acpuclk_l2_freq_footprint(FT_PREV_RATE, l2_clk->rate);
		set_acpuclk_l2_freq_footprint(FT_NEW_RATE, l2_khz[index] * 1000);
	}
#endif

	if (l2_clk)
		rc = clk_set_rate(l2_clk, l2_khz[index] * 1000);
	if (rc) {
		pr_err("Error setting L2 clock rate!\n");
		goto out;
	}

	max_freq_index = index;
	rc = devfreq_msm_cpufreq_update_bw();
	if (rc)
		pr_err("Unable to update BW (%d)\n", rc);

out:
	mutex_unlock(&l2bw_lock);
}