Re: [PATCH] PM: Prevent direct cpufreq scaling during initialization

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sergey Lapin wrote:
> On Thu, Dec 3, 2009 at 9:29 AM, Dasgupta, Romit <romit@xxxxxx> wrote:
>>
>>>> Signed-off-by: Romit Dasgupta <romit@xxxxxx>
>>>> ---
>>>> diff --git a/arch/arm/plat-omap/cpu-omap.c b/arch/arm/plat-omap/cpu-
>>> omap.c
>>>> index 449b6b6..f94df20 100644
>>>> --- a/arch/arm/plat-omap/cpu-omap.c
>>>> +++ b/arch/arm/plat-omap/cpu-omap.c
>>>> @@ -149,8 +149,6 @@ static int __init omap_cpu_init(struct
>>> cpufreq_policy *policy)
>>>>                                                        VERY_HI_RATE) /
>>> 1000;
>>>>        }
>>>>
>>>> -       clk_set_rate(mpu_clk, policy->cpuinfo.max_freq * 1000);
>>>> -
>>>>        policy->min = policy->cpuinfo.min_freq;
>>>>        policy->max = policy->cpuinfo.max_freq;
>>>>        policy->cur = omap_getspeed(0);
>>> This patch leads to hang with current PM branch, SRF and CPU IDLE enabled
>>> on OMAP3525 rev C.
>> Verified this to work on Zoom2 + SRF + CPUidle. Can you give some debug info if possible?
>>
> Well, that looks like false alarm - I tried clean tree without local
> patches, and it seems to work.
> 
> However, without this line removed, my system boots faster. Is it possible to
> limit initial speed for unstable setups, but to boot as fast as possible?
> 
> Thanks a lot,
> S.
omap_cpufreq_init is a lateinitcall. So quite some part of the kernel startup
happens with whatever speed the bootloader passes control to kernel
initialization code. Only after we invoke omap_cpufreq_init will the cpufreq
framework try to call the offending code 'clk_set_rate'. Quite soon after this
the cpufreq default governor (whatever it is for your system, performance,
ondemand etc) is initialized. If you choose performance governor it will
immediately scale the frequency to the highest available for the system. So the
way to boot fast would be

a) make your bootcode scale the voltage + freq to support the highest cpu freq.
and/or
b) make performance governor the default.


--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux