• Paul Burton's avatar
    clocksource: mips-gic-timer: Register as sched_clock · 48016e78
    Paul Burton authored
    The MIPS GIC timer is well suited for use as sched_clock, so register it
    as such.
    
    Whilst the existing gic_read_count() function matches the prototype
    needed by sched_clock_register() already, we split it into 2 functions
    in order to remove the need to evaluate the mips_cm_is64 condition
    within each call since sched_clock should be as fast as possible.
    
    Note the sched clock framework needs the clock source being stable in
    order to rely on it. So we register the MIPS GIC timer as schedule clocks
    only if it's, if either the system doesn't have CPU-frequency enabled or
    the CPU frequency is changed by means of the CPC core clock divider
    available on the platforms with CM3 or newer.
    Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
    Co-developed-by: default avatarSerge Semin <Sergey.Semin@baikalelectronics.ru>
    [Sergey.Semin@baikalelectronics.ru: Register sched-clock if CM3 or !CPU-freq]
    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: Ralf Baechle <ralf@linux-mips.org>
    Cc: Alessandro Zummo <a.zummo@towertech.it>
    Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Rob Herring <robh+dt@kernel.org>
    Cc: linux-mips@vger.kernel.org
    Cc: linux-rtc@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
    Link: https://lore.kernel.org/r/20200521204818.25436-8-Sergey.Semin@baikalelectronics.ru
    48016e78
mips-gic-timer.c 5.96 KB