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 df8064122b10cca741a1e82463096130aafea0cc..60cefc247b715b88d4e774ee5254093fec434b30 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",