void __init msm_acpu_clock_init(struct msm_acpu_clock_platform_data *clkdata) { unsigned int max_freq; mutex_init(&drv_state.lock); drv_state.acpu_switch_time_us = clkdata->acpu_switch_time_us; drv_state.max_speed_delta_khz = clkdata->max_speed_delta_khz; drv_state.max_vdd = clkdata->max_vdd; drv_state.acpu_set_vdd = clkdata->acpu_set_vdd; max_freq = msm_acpu_clock_fixup(); /* Configure hardware. */ move_off_scpll(); scpll_init(); lpj_init(); /* Improve boot time */ acpuclk_set_rate(smp_processor_id(), max_freq, SETRATE_CPUFREQ); #ifdef CONFIG_CPU_FREQ_MSM cpufreq_table_init(); cpufreq_frequency_table_get_attr(freq_table, smp_processor_id()); #endif }
void __init msm_acpu_clock_init(struct msm_acpu_clock_platform_data *clkdata) { int cpu; mutex_init(&drv_state.lock); drv_state.acpu_switch_time_us = clkdata->acpu_switch_time_us; drv_state.vdd_switch_time_us = clkdata->vdd_switch_time_us; drv_state.max_speed_delta_khz = clkdata->max_speed_delta_khz; /* Configure hardware. */ regulator_init(); force_all_to_afab(); scpll_set_refs(); for_each_possible_cpu(cpu) scpll_init(cpu); scpll_init(L2); lpj_init(); precompute_stepping(); /* Improve boot time by ramping up CPUs immediately. */ for_each_online_cpu(cpu) acpuclk_set_rate(cpu, 1080000, SETRATE_CPUFREQ); cpufreq_table_init(); }