Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Zyngier <maz@kernel.org>
To: Jon Hunter <jonathanh@nvidia.com>
Cc: linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	John <therealgraysky@proton.me>,
	Daniel Drake <dan@reactivated.net>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Florian Fainelli <florian.fainelli@broadcom.com>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Mark Rutland <mark.rutland@arm.com>,
	"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>
Subject: Re: [PATCH] clocksource/drivers/arm_arch_timer: Workaround bcm2712 broken EL2 virtual timer
Date: Thu, 23 Jul 2026 11:46:40 +0100	[thread overview]
Message-ID: <8633xadlv3.wl-maz@kernel.org> (raw)
In-Reply-To: <e5a32fcc-ca3c-4b54-a790-d2eef2c636e5@nvidia.com>

On Thu, 23 Jul 2026 11:22:54 +0100,
Jon Hunter <jonathanh@nvidia.com> wrote:
> 
> 
> On 23/07/2026 10:58, Marc Zyngier wrote:
> 
> ...
> 
> >>>> I have posted something similar for Tegra [0], but because this is not
> >>>> expected to work, I wanted to avoid the warnings here. We test for
> >>> 
> >>> "not expected to work"? In which parallel universe is that a thing?
> >> 
> >> FWIU, at least for Tegra194, we have a CPU and GIC pairing where the
> >> CPU supports this but the GIC does not.
> > 
> > Oh please, you know better than this.
> >
> > It isn't the GIC that defines the number of supported PPIs, it is the
> > *integrator*. I.e. you. The GIC (GIC400 in this example) has full
> > support for 16 PPIs per CPU.
> 
> Hmmm, I am looking at this spec [0] and it says ...
> 
> "The GIC-400 implements the interrupt types:
>   16 Software Generated Interrupts (SGIs).
>   6 external Private Peripheral Interrupts (PPIs) for each processor.
>   1 internal PPI for each processor."
> 
> The table in [1] shows interrupts for non-sec, sec, virt and
> hypervisor timers, but I don't see a hyp-virt.

This documentation was never updated past 2012, which predates ARMv8.1
(go complain to ARM). But the IP does support it:

[    0.000000] Machine model: Khadas VIM3L
[...]
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer running at 24.00MHz (hyp-virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000000] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns

GIC400, A55 cores. Produced by one of the worse SoC vendor on this
side of the galaxy.

And the signal you are looking for is the one labelled as "Legacy FIQ
signal" (PPI12, aka INTID 28). The labels are purely indicative of
what you *could* connect to it, not a requirement.

Anyway, this is beside the point. Even if the IP didn't support it,
you shouldn't end-up with a design that explicitly contradict the
architecture, because that's the contract SW relies on.

	M.

-- 
Without deviation from the norm, progress is not possible.


      reply	other threads:[~2026-07-23 10:46 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-10  8:09 [PATCH] clocksource/drivers/arm_arch_timer: Workaround bcm2712 broken EL2 virtual timer Marc Zyngier
2026-07-13 16:15 ` Florian Fainelli
2026-07-13 20:23   ` Marc Zyngier
2026-07-13 22:38     ` Florian Fainelli
2026-07-21 19:03 ` Gary Guo
2026-07-22 14:14 ` Jon Hunter
2026-07-22 20:22   ` Marc Zyngier
2026-07-23  9:24     ` Jon Hunter
2026-07-23  9:58       ` Marc Zyngier
2026-07-23 10:22         ` Jon Hunter
2026-07-23 10:46           ` Marc Zyngier [this message]

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=8633xadlv3.wl-maz@kernel.org \
    --to=maz@kernel.org \
    --cc=dan@reactivated.net \
    --cc=daniel.lezcano@linaro.org \
    --cc=florian.fainelli@broadcom.com \
    --cc=jonathanh@nvidia.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=mark.rutland@arm.com \
    --cc=tglx@linutronix.de \
    --cc=therealgraysky@proton.me \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox