[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250814154622.10193-1-maz@kernel.org>
Date: Thu, 14 Aug 2025 16:46:18 +0100
From: Marc Zyngier <maz@...nel.org>
To: linux-kernel@...r.kernel.org,
linux-acpi@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org
Cc: Lorenzo Pieralisi <lpieralisi@...nel.org>,
Hanjun Guo <guohanjun@...wei.com>,
Sudeep Holla <sudeep.holla@....com>,
"Rafael J. Wysocki" <rafael@...nel.org>,
Daniel Lezcano <daniel.lezcano@...aro.org>,
Thomas Gleixner <tglx@...utronix.de>,
Mark Rutland <mark.rutland@....com>,
Alexandru Elisei <alexandru.elisei@....com>,
Steven Price <steven.price@....com>
Subject: [PATCH v2 0/4] clocksource: Add standalone MMIO ARM arch timer driver
For the past 10 years, both Mark and I have been lamenting about the
sorry state of the badly named "arch_timer" driver, and about the way
the MMIO part is intricately weaved into the system-register part.
The time has finally come to take a stab at it.
This small series simply creates a new timer driver for the MMIO arch
timer, and only that. It is an actual driver, and not some kludge that
has to run super early (that's what the per-CPU timers are for). This
allows, in turn, a pretty large cleanup of the per-CPU driver, though
there is more to come -- one thing at a time.
As an added bonus, we get a clocksource, which the original code
didn't provide. Just in case it might be useful. The end-result is far
more readable, and about 100 lines smaller.
Patches on top of 6.17-rc1.
* From v1 [1]:
- Narrow the max delta to something that fits an unsigned long, as
the core code doesn't deal with 64bit quantities on 32bit CPUs.
- Collected RBs and TBs from Sudeep, with thanks.
Marc Zyngier (4):
ACPI: GTDT: Generate platform devices for MMIO timers
clocksource/drivers/arm_arch_timer: Add standalone MMIO driver
clocksource/drivers/arm_arch_timer_mmio: Switch over to standalone
driver
clocksource/drivers/arm_arch_timer_mmio: Add MMIO clocksource
MAINTAINERS | 1 +
drivers/acpi/arm64/gtdt.c | 29 +-
drivers/clocksource/Makefile | 1 +
drivers/clocksource/arm_arch_timer.c | 686 ++--------------------
drivers/clocksource/arm_arch_timer_mmio.c | 440 ++++++++++++++
include/clocksource/arm_arch_timer.h | 5 -
6 files changed, 532 insertions(+), 630 deletions(-)
create mode 100644 drivers/clocksource/arm_arch_timer_mmio.c
--
2.39.2
Powered by blists - more mailing lists