clocksource/drivers/imx-tpm: Exclude sched clock for ARM64
authorPeng Fan <peng.fan@nxp.com>
Wed, 5 Jan 2022 12:43:04 +0000 (20:43 +0800)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Wed, 16 Feb 2022 13:43:30 +0000 (14:43 +0100)
For ARM64 platform such as i.MX8ULP which has ARMv8 generic timer as sched
clock, which is much faster compared with tpm sched clock. Reading the
tpm count register in i.MX8ULP requires about 290ns, this is slow and
introduce scheduler latency. So exclude tpm sched clock for ARM64
platform.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Link: https://lore.kernel.org/r/20220105124304.3567629-1-peng.fan@oss.nxp.com
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
drivers/clocksource/timer-imx-tpm.c

index df80641..60cefc2 100644 (file)
@@ -150,10 +150,10 @@ static int __init tpm_clocksource_init(void)
        tpm_delay_timer.read_current_timer = &tpm_read_current_timer;
        tpm_delay_timer.freq = timer_of_rate(&to_tpm) >> 3;
        register_current_timer_delay(&tpm_delay_timer);
-#endif
 
        sched_clock_register(tpm_read_sched_clock, counter_width,
                             timer_of_rate(&to_tpm) >> 3);
+#endif
 
        return clocksource_mmio_init(timer_base + TPM_CNT,
                                     "imx-tpm",