• Serge Semin's avatar
    mips: cevt-r4k: Update the r4k-clockevent frequency in sync with CPU · 21e1a03e
    Serge Semin authored
    Due to being embedded into the CPU cores MIPS count/compare timer
    frequency is changed together with the CPU clocks alteration.
    In case if frequency really changes the kernel clockevent framework
    must be notified, otherwise the kernel timers won't work correctly.
    Fix this by calling clockevents_update_freq() for each r4k clockevent
    handlers registered per available CPUs.
    
    Traditionally MIPS r4k-clock are clocked with CPU frequency divided by 2.
    But this isn't true for some of the platforms. Due to this we have to save
    the basic CPU frequency, so then use it to scale the initial timer
    frequency (mips_hpt_frequency) and pass the updated value further to the
    clockevent framework.
    Signed-off-by: default avatarSerge Semin <Sergey.Semin@baikalelectronics.ru>
    Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
    Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Cc: Paul Burton <paulburton@kernel.org>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Rob Herring <robh+dt@kernel.org>
    Cc: devicetree@vger.kernel.org
    Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
    21e1a03e
cevt-r4k.c 8.6 KB