All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Zyngier <marc.zyngier@arm.com>
To: Stefan Wahren <stefan.wahren@i2se.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Scott Branden <sbranden@broadcom.com>,
	Stephen Boyd <sboyd@kernel.org>, Ray Jui <rjui@broadcom.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Mark Brown <broonie@kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Eric Anholt <eric@anholt.net>, Rob Herring <robh+dt@kernel.org>,
	bcm-kernel-feedback-list@broadcom.com,
	Stefan Wahren <wahrenst@gmx.net>,
	Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
	Michael Turquette <mturquette@baylibre.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-rpi-kernel@lists.infradead.org
Subject: Re: [PATCH RFC 18/18] ARM: dts: Add minimal Raspberry Pi 4 support
Date: Sun, 28 Jul 2019 12:38:26 +0100	[thread overview]
Message-ID: <86v9vmmlsd.wl-marc.zyngier@arm.com> (raw)
In-Reply-To: <ebcb934d-7bab-bfc7-3371-1b5032b67ec7@i2se.com>

Hi Stephan,

On Sun, 28 Jul 2019 11:58:58 +0100,
Stefan Wahren <stefan.wahren@i2se.com> wrote:
> 
> Hi Marc,
> 
> Am 23.07.19 um 20:13 schrieb Marc Zyngier:
> > On Wed, 17 Jul 2019 23:16:04 +0200
> > Stefan Wahren <wahrenst@gmx.net> wrote:
> >
> >> This adds minimal support for the new Raspberry Pi 4 without the
> >> fancy stuff like GENET, PCIe, XHCI, 40 bit DMA and V3D. The RPi 4 is available
> >> in 3 different variants (1, 2 and 4 GB RAM), so leave the memory size to zero
> >> and let the bootloader take care of it.
> >>
> >> Other differences to the Raspberry Pi 3:
> >> - additional GIC 400 Interrupt controller
> >> - new thermal IP and HWRNG
> >> - additional MMC interface (emmc2)
> >> - additional UART, I2C, SPI and PWM interfaces
> >>
> >> Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
> >>
> >> ...
> >> +	};
> >> +
> >> +	timer {
> >> +		compatible = "arm,armv7-timer";

BTW, this should be "arm,armv8-timer".

> >> +		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) |
> >> +					  IRQ_TYPE_LEVEL_LOW)>,
> >> +			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) |
> >> +					  IRQ_TYPE_LEVEL_LOW)>,
> >> +			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) |
> >> +					  IRQ_TYPE_LEVEL_LOW)>,
> >> +			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) |
> >> +					  IRQ_TYPE_LEVEL_LOW)>;
> >> +		arm,cpu-registers-not-fw-configured;
> > Really? :-(
> i asked about that [1] and they said that the arm stubs [2] only set the
> timer frequency and zeroing CNTVOFF_EL2.

Who is "they"? As long as it is done on all CPUs, that's the right
thing to do, and this property is pretty useless in that case.

> >
> >> +		always-on;
> > I'm pretty sure that's not the case. This indicates that you can power
> > the CPU off, bring it back on, and yet have your timer alive and
> > kicking. The only case this actually exists is for VMs. I can see it
> > being cargo-culted from previous RPi revisions, but that doesn't make
> > it true.
> 
> They said that they used this to suppress high interrupt load for the
> timers.

Indeed, and that's the only thing the kernel can do if it isn't
provided with a global timer that can be used as a backup then the
CPUs transition to a deep idle state where the timers are not actually
running.

If you have such a global timer, enable it and you'll see the
interrupt rate dropping like a rock. Don't you have a
brcm,bcm2835-system-timer stashed somewhere?

If you don't have such a timer, then the question is whether the CPUs
can go into a deep enough sleep state where the timer comparator is
disabled, leading to missed events. If this system can only reach very
shallow sleep states, then always-on is OK. Otherwise, this is a total
lie and you're likely to miss timer events.

Thanks,

	M.

-- 
Jazz is not dead, it just smells funny.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2019-07-28 11:38 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-17 21:16 [PATCH RFC 14/18] HACK: pinctrl: bcm2835: Implement legacy pull for BCM7211 Stefan Wahren
2019-07-17 21:16 ` [PATCH RFC 15/18] spi: bcm2835: enable shared interrupt support Stefan Wahren
2019-07-18 12:42   ` Mark Brown
2019-07-18 17:53     ` Stefan Wahren
2019-07-18 18:05       ` Florian Fainelli
2019-07-18 18:21         ` Stefan Wahren
2019-07-24 17:15           ` Mark Brown
2019-07-18 18:52       ` Mark Brown
2019-07-17 21:16 ` [PATCH RFC 16/18] dt-bindings: bcm: Add Raspberry Pi 4 B Stefan Wahren
2019-07-17 21:16 ` [PATCH RFC 17/18] ARM: bcm2835: Add bcm2838 compatible string Stefan Wahren
2019-07-17 21:16 ` [PATCH RFC 18/18] ARM: dts: Add minimal Raspberry Pi 4 support Stefan Wahren
2019-07-17 21:22   ` Florian Fainelli
2019-07-17 21:32     ` Stefan Wahren
2019-07-23 18:13   ` Marc Zyngier
2019-07-24  9:51     ` Vladimir Murzin
2019-07-24 10:41       ` Marc Zyngier
2019-07-24 12:36         ` Vladimir Murzin
2019-07-24 19:04           ` Stefan Wahren
2019-07-28 10:58     ` Stefan Wahren
2019-07-28 11:38       ` Marc Zyngier [this message]
2019-07-30 18:33         ` Stefan Wahren
2019-07-31 10:55           ` Marc Zyngier
2019-08-02 22:12 ` [PATCH RFC 14/18] HACK: pinctrl: bcm2835: Implement legacy pull for BCM7211 Linus Walleij

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=86v9vmmlsd.wl-marc.zyngier@arm.com \
    --to=marc.zyngier@arm.com \
    --cc=adrian.hunter@intel.com \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=broonie@kernel.org \
    --cc=eric@anholt.net \
    --cc=f.fainelli@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-rpi-kernel@lists.infradead.org \
    --cc=mark.rutland@arm.com \
    --cc=mturquette@baylibre.com \
    --cc=nsaenzjulienne@suse.de \
    --cc=rjui@broadcom.com \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=sbranden@broadcom.com \
    --cc=stefan.wahren@i2se.com \
    --cc=ulf.hansson@linaro.org \
    --cc=wahrenst@gmx.net \
    /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.