From: Marc Zyngier <maz@kernel.org>
To: Sudeep Holla <sudeep.holla@arm.com>,
Alexandru Elisei <alexandru.elisei@arm.com>
Cc: linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Lorenzo Pieralisi <lpieralisi@kernel.org>,
Hanjun Guo <guohanjun@huawei.com>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Daniel Lezcano <daniel.lezcano@linaro.org>,
Thomas Gleixner <tglx@linutronix.de>,
Mark Rutland <mark.rutland@arm.com>
Subject: Re: [PATCH 0/4] clocksource: Add standalone MMIO ARM arch timer driver
Date: Wed, 13 Aug 2025 12:49:43 +0100 [thread overview]
Message-ID: <86ikir8mqw.wl-maz@kernel.org> (raw)
In-Reply-To: <aJx4g8z3l438Qgnv@raptor>
On Wed, 13 Aug 2025 12:35:31 +0100,
Alexandru Elisei <alexandru.elisei@arm.com> wrote:
>
> Hello,
>
> On Wed, Aug 13, 2025 at 11:55:48AM +0100, Sudeep Holla wrote:
> > +Alexandru
> >
> > On Thu, Aug 07, 2025 at 05:02:39PM +0100, Marc Zyngier wrote:
> > > 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 have 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.
> > >
> >
> > (Tested it on Juno R2 and FVP in both DT and ACPI boot)
> >
> > Tested-by: Sudeep Holla <sudeep.holla@arm.com>
> > Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Thanks!
> >
> > Alexandru found it useful(avoids some unexpected hang IIUC) in his setup
> > based on bootwrapper which doesn't initialise MMIO timers.
>
> Just FYI, this is the testing that I did.
>
> Without this series, if firmware (boot-wrapper-aarch64 in my testing) doesn't
> configure access to the memory-mapped timer:
>
> [ 0.000000] arch_timer: Unable to find a suitable frame in timer @ 0x000000002a810000
> [ 0.000000] Failed to initialize '/timer@2a810000': -22
> ..
> [ 0.528000] kvm [1]: kvm_arch_timer: uninitialized timecounter
> ..
Right, that's one of the many problems with the tight coupling between
sysreg and MMIO timers -- if one fails, they both fail, and you're
pretty lucky if you manage to limp along after that.
> # ls /dev/kvm
> ls: cannot access '/dev/kvm': No such file or directory
>
> With this series, if firmware doesn't configure access to the memory-mapped
> timer:
>
> [ 0.549399] kvm [1]: Hyp nVHE mode initialized successfully
> ..
> [ 2.018050] arch-timer-mmio 2a810000.timer: Unable to find a suitable frame in timer @ 0x000000002a810000
> [ 2.018123] arch-timer-mmio 2a810000.timer: probe with driver arch-timer-mmio failed with error -22
Ah, you have managed to test the error path. Thanks for that!
M.
--
Without deviation from the norm, progress is not possible.
next prev parent reply other threads:[~2025-08-13 11:49 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-07 16:02 [PATCH 0/4] clocksource: Add standalone MMIO ARM arch timer driver Marc Zyngier
2025-08-07 16:02 ` [PATCH 1/4] ACPI: GTDT: Generate platform devices for MMIO timers Marc Zyngier
2025-10-30 8:10 ` Pavan Kondeti
2025-10-30 10:33 ` Marc Zyngier
2025-08-07 16:02 ` [PATCH 2/4] clocksource/drivers/arm_arch_timer: Add standalone MMIO driver Marc Zyngier
2025-08-14 10:13 ` Steven Price
2025-08-14 10:49 ` Marc Zyngier
2025-08-14 11:14 ` Marc Zyngier
2025-08-14 12:23 ` Steven Price
2025-08-14 12:42 ` Marc Zyngier
2025-08-14 14:02 ` Daniel Lezcano
2025-08-07 16:02 ` [PATCH 3/4] clocksource/drivers/arm_arch_timer_mmio: Switch over to standalone driver Marc Zyngier
2025-08-07 16:02 ` [PATCH 4/4] clocksource/drivers/arm_arch_timer_mmio: Add MMIO clocksource Marc Zyngier
2025-08-13 10:55 ` [PATCH 0/4] clocksource: Add standalone MMIO ARM arch timer driver Sudeep Holla
2025-08-13 11:35 ` Alexandru Elisei
2025-08-13 11:49 ` Marc Zyngier [this message]
2025-08-13 12:03 ` Daniel Lezcano
2025-08-13 12:32 ` Sudeep Holla
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86ikir8mqw.wl-maz@kernel.org \
--to=maz@kernel.org \
--cc=alexandru.elisei@arm.com \
--cc=daniel.lezcano@linaro.org \
--cc=guohanjun@huawei.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=mark.rutland@arm.com \
--cc=rafael@kernel.org \
--cc=sudeep.holla@arm.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.