On Thu, May 21, 2020 at 05:07:22PM +0300, Serge Semin wrote: > Loops-per-jiffies is a special number which represents a number of > noop-loop cycles per CPU-scheduler quantum - jiffies. As you > understand aside from CPU-specific implementation it depends on > the CPU frequency. So when a platform has the CPU frequency fixed, > we have no problem and the current udelay interface will work > just fine. But as soon as CPU-freq driver is enabled and the cores > frequency changes, we'll end up with distorted udelay's. In order > to fix this we have to accordinly adjust the per-CPU udelay_val > (the same as the global loops_per_jiffy) number. This can be done > in the CPU-freq transition event handler. We subscribe to that event > in the MIPS arch time-inititalization method. > > Co-developed-by: Alexey Malahov <Alexey.Malahov@xxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Alexey Malahov <Alexey.Malahov@xxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx> > Reviewed-by: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx> > Cc: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx> > Cc: Paul Burton <paulburton@xxxxxxxxxx> > Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> > Cc: Arnd Bergmann <arnd@xxxxxxxx> > Cc: Rob Herring <robh+dt@xxxxxxxxxx> > Cc: devicetree@xxxxxxxxxxxxxxx > --- > arch/mips/kernel/time.c | 70 +++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 70 insertions(+) applied to mips-next. Thomas. -- Crap can work. Given enough thrust pigs will fly, but it's not necessarily a good idea. [ RFC1925, 2.3 ]