1
0
mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2026-01-19 12:55:08 +00:00
Paul Burton 3128b0a2e0 clocksource: mips-gic-timer: Enable counter when CPUs start
In multi-cluster MIPS I6500 systems there is a GIC in each cluster,
each with its own counter. When a cluster powers up the counter will
be stopped, with the COUNTSTOP bit set in the GIC_CONFIG register.

In single cluster systems, it has been fine to clear COUNTSTOP once
in gic_clocksource_of_init() to start the counter. In multi-cluster
systems, this will only have started the counter in the boot cluster,
and any CPUs in other clusters will find their counter stopped which
will break the GIC clock_event_device.

Resolve this by having CPUs clear the COUNTSTOP bit when they come
online, using the existing gic_starting_cpu() CPU hotplug callback. This
will allow CPUs in secondary clusters to ensure that the cluster's GIC
counter is running as expected.

Signed-off-by: Paul Burton <paulburton@kernel.org>
Signed-off-by: Chao-ying Fu <cfu@wavecomp.com>
Signed-off-by: Dragan Mladjenovic <dragan.mladjenovic@syrmia.com>
Signed-off-by: Aleksandar Rikalo <arikalo@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Serge Semin <fancer.lancer@gmail.com>
Tested-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2025-02-21 10:19:14 +01:00
..
2025-02-14 09:55:17 -08:00
2025-01-31 11:07:56 -08:00
2025-01-24 08:03:52 -08:00
2025-02-07 11:00:33 -08:00
2025-02-06 20:39:43 +01:00
2025-01-29 11:23:22 -08:00
2025-02-15 09:28:55 -08:00
2025-01-28 12:25:12 -08:00
2025-02-14 13:56:04 -08:00
2025-02-10 09:50:01 -08:00
2025-01-28 12:25:12 -08:00
2025-01-28 09:01:36 -08:00
2025-01-24 15:48:01 -08:00
2025-01-24 07:18:39 -08:00
2025-02-16 10:25:12 -08:00
2025-01-28 12:25:12 -08:00
2025-02-07 11:00:33 -08:00
2025-02-01 09:15:01 -08:00
2025-01-31 11:49:30 -08:00
2025-01-18 17:10:05 -08:00
2025-01-18 14:38:49 -06:00
2025-02-03 09:19:03 -07:00
2025-01-28 12:25:12 -08:00
2025-02-14 16:49:07 -08:00
2025-01-29 14:32:38 -08:00
2025-02-07 12:43:58 +01:00
2025-01-28 12:25:12 -08:00
2025-01-24 14:56:59 -08:00
2025-01-30 17:50:02 -08:00
2025-02-15 10:15:24 -08:00
2025-01-28 12:25:12 -08:00
2025-01-29 14:38:19 -08:00
2025-02-06 11:33:51 +00:00
2025-01-28 12:25:12 -08:00
2025-02-16 12:50:44 -08:00
2025-01-27 15:26:06 -08:00
2025-01-28 14:16:46 -08:00
2025-01-27 15:26:06 -08:00
2025-01-25 16:19:10 -08:00
2025-02-14 08:15:17 -08:00