Re: about system time incorrect after changing cpu frequency
Viresh Kumar <[email protected]> Tue, 1 Sep 2015 09:27:13 +0530
| Newsgroups | org.kernel.vger.cpufreq,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-pm |
|---|---|
| Message-ID | <CAOh2x=ky8_uwqvdH-krKxgMSby5jgovJp7odK6x=MpqNL+YoGg@mail.gmail.com> |
On Mon, Aug 31, 2015 at 7:33 PM, vichy <[email protected]> wrote: > hi all: > My platform is like below: > 1. single core Cortex A9 > 2. use global timer for system timer > > after I porting cpu frequency driver based on snow ball, the cpu > frequency did change as I expected. > But the system time is incorrect( since pherial clk is got from cpu frequency) > > for example: > a) cpu 1G (pherial clk = 250M) --> sleep 1 sec (OK) > b) cpu 500M (pherial clk = 125M) --> sleep 1 sec (will be measured as 2 sec) > > I try to call below 2 functions to change the frequency of clocksource > and clockevent, but the above b) sleep time is still incorrect when > cpu runs in 500Mhz. > clockevents_update_freq(this_cpu_ptr(gt_evt), gt_clk_rate); > __clocksource_updatefreq_hz(>_clocksource, gt_clk_rate); > > in Arm cortex A9 single core system with Global timer as system timer, > is there any kernel api to change system timer period when cpu/pherial > frequency change? > > appreciate your kind help in advance, The list [email protected] is the wrong list for posting cpufreq queries as we have moved to Linux PM list <[email protected]> list now. Try unsetting CPUFREQ_CONST_LOOPS flag in your driver, if you have it set.