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>
Loading
Please register or sign in to comment