linux/drivers/clocksource
Serge Semin 65e0f87640 clocksource: dw_apb_timer: Affiliate of-based timer with any CPU
Currently any DW APB Timer device detected in OF is bound to CPU #0.
Doing so is redundant since DW APB Timer isn't CPU-local timer, but as
having APB interface is normally accessible from any CPU in the system. By
artificially affiliating the DW timer to the very first CPU we may and in
our case will make the clockevent subsystem to decline the more performant
real CPU-local timers selection in favor of in fact non-local and
accessible over a slow bus - DW APB Timers.

Let's not affiliate the of-detected DW APB Timers to any CPU. By doing so
the clockevent framework would prefer to select the real CPU-local timer
instead of DW APB one. Otherwise if there is no other than DW APB device
for clockevents tracking then it will be selected.

Signed-off-by: Serge 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: 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: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200521204818.25436-6-Sergey.Semin@baikalelectronics.ru
2020-05-23 00:02:50 +02:00
..
acpi_pm.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 243 2019-06-19 17:09:07 +02:00
arc_timer.c clocksource/drivers/arc_timer: Remove duplicate error message 2020-05-22 23:58:56 +02:00
arm_arch_timer.c Merge branch 'timers/drivers/timer-ti' into timers/drivers/next 2020-05-23 00:01:13 +02:00
arm_global_timer.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
armv7m_systick.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
asm9260_timer.c clocksource/drivers/asm9260: Add a check for of_clk_get 2019-11-04 10:40:10 +01:00
bcm2835_timer.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00
bcm_kona_timer.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00
clksrc_st_lpc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
clksrc-dbx500-prcmu.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 197 2019-05-30 11:29:22 -07:00
clps711x-timer.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
dummy_timer.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
dw_apb_timer_of.c clocksource: dw_apb_timer: Affiliate of-based timer with any CPU 2020-05-23 00:02:50 +02:00
dw_apb_timer.c clocksource: dw_apb_timer: Make CPU-affiliation being optional 2020-05-23 00:02:41 +02:00
em_sti.c clocksource/drivers/em_sti: Fix variable declaration in em_sti_probe 2020-01-16 19:06:57 +01:00
exynos_mct.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00
h8300_timer8.c
h8300_timer16.c
h8300_tpu.c
hyperv_timer.c timekeeping and timer updates: 2020-03-30 18:51:47 -07:00
i8253.c clockevents/drivers/i8253: Add support for PIT shutdown quirk 2018-11-04 11:04:46 +01:00
ingenic-ost.c clocksource: Add driver for the Ingenic JZ47xx OST 2020-02-27 09:37:29 +01:00
ingenic-timer.c clocksource/drivers/ingenic: Add support for TCU of X1000 2020-02-27 11:22:22 +01:00
jcore-pit.c
Kconfig clocksource/drivers/rda: drop redundant Kconfig dependency 2020-05-22 23:58:56 +02:00
Makefile clocksource/drivers/timer-ti-dm: Add clockevent and clocksource support 2020-05-23 00:01:04 +02:00
mips-gic-timer.c mips: vdso: Use generic VDSO clock mode storage 2020-02-17 20:12:16 +01:00
mmio.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mps2-timer.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mxs_timer.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00
nomadik-mtu.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00
numachip.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
renesas-ostm.c clocksource/drivers/renesas-ostm: Use unique device name instead of ostm 2019-11-04 10:38:46 +01:00
samsung_pwm_timer.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00
scx200_hrt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sh_cmt.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
sh_mtu2.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
sh_tmu.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
timer-armada-370-xp.c
timer-atcpit100.c
timer-atlas7.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00
timer-atmel-pit.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
timer-atmel-st.c clocksource/drivers/atmel-st: Remove useless 'status' 2020-04-15 10:57:15 +02:00
timer-atmel-tcb.c clocksource/drivers/tcb_clksrc: Register delay timer 2019-08-27 00:31:39 +02:00
timer-cadence-ttc.c clocksource/drivers/cadence-ttc: Use ttc driver as platform driver 2020-01-16 19:06:57 +01:00
timer-cs5535.c clocksource/drivers/timer-cs5535: Request irq with non-NULL dev_id 2020-03-12 19:23:06 +01:00
timer-davinci.c clocksource: davinci: axe a pointless __GFP_NOFAIL 2020-04-09 12:13:20 +02:00
timer-digicolor.c
timer-efm32.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00
timer-fsl-ftm.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00
timer-fttmr010.c clocksource/drivers/fttmr010: Set interrupt and shutdown 2020-02-21 09:28:38 +01:00
timer-gx6605s.c clocksource/drivers/c-sky: Add gx6605s SOC system timer 2018-11-02 19:41:12 +01:00
timer-imx-gpt.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00
timer-imx-sysctr.c clocksource/drivers/imx-sysctr: Remove unused includes 2020-03-17 10:11:45 +01:00
timer-imx-tpm.c clocksource/drivers/imx-tpm: Add support for ARM64 2020-04-09 16:24:50 +02:00
timer-integrator-ap.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00
timer-ixp4xx.c clocksource/drivers/ixp4xx: Implement delay timer 2019-06-25 19:49:18 +02:00
timer-keystone.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
timer-lpc32xx.c
timer-mediatek.c clocksource/drivers/mediatek: Fix error handling 2019-10-16 17:04:50 +02:00
timer-meson6.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00
timer-microchip-pit64b.c clocksource/drivers/timer-microchip-pit64b: Fix rate for gck 2020-03-16 11:19:37 +01:00
timer-milbeaut.c clocksource/drivers/timer-milbeaut: Cleanup common register accesses 2019-05-02 21:55:58 +02:00
timer-mp-csky.c clocksource/drivers/c-sky: fixup ftrace call-graph panic 2018-12-31 23:17:23 +08:00
timer-npcm7xx.c clocksource/drivers/npcm: Fix GENMASK and timer operation 2019-08-27 00:31:39 +02:00
timer-nps.c
timer-of.c - Some cleanups for the timer-of, use %p0F and the unique device name 2019-11-04 18:49:13 +01:00
timer-of.h
timer-orion.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00
timer-owl.c clocksource/drivers/owl: Improve owl_timer_init fail messages 2020-02-27 09:42:00 +01:00
timer-oxnas-rps.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
timer-pistachio.c
timer-prima2.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00
timer-probe.c Revert "clocksource/drivers/timer-probe: Avoid creating dead devices" 2020-03-28 11:25:44 +01:00
timer-pxa.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00
timer-qcom.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
timer-rda.c clocksource/drivers/rda: Add clock driver for RDA8810PL SoC 2018-12-18 22:22:23 +01:00
timer-riscv.c clocksource: riscv: add notrace to riscv_sched_clock 2020-01-04 21:48:48 -08:00
timer-rockchip.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
timer-sp804.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00
timer-sp.h
timer-sprd.c
timer-stm32.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
timer-sun4i.c clocksource: sun4i: Add missing compatibles 2019-08-27 00:31:39 +02:00
timer-sun5i.c clocksource/drivers/sun5i: Fail gracefully when clock rate is unavailable 2019-02-23 12:13:45 +01:00
timer-tango-xtal.c clocksource/drivers/tango-xtal: Rename the file for consistency 2019-02-23 12:13:45 +01:00
timer-tegra.c clocksource/drivers/tegra: Set up maximum-ticks limit properly 2019-06-25 19:49:18 +02:00
timer-ti-32k.c clocksource/drivers/timer-ti-32k: Add support for initializing directly 2020-05-23 00:01:04 +02:00
timer-ti-dm-systimer.c clocksource/drivers/timer-ti-dm: Fix spelling mistake "detectt" -> "detect" 2020-05-23 00:01:35 +02:00
timer-ti-dm.c clocksource/drivers/timer-ti-dm: Do one override clock parent in prepare() 2020-05-23 00:02:05 +02:00
timer-u300.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00
timer-versatile.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
timer-vf-pit.c clocksource/drivers/timer-vf-pit: Add missing parenthesis 2020-04-05 09:24:58 +02:00
timer-vt8500.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00
timer-zevio.c clocksource: Replace setup_irq() by request_irq() 2020-02-27 12:15:24 +01:00