linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Wahren <wahrenst@gmx.net>
To: Marc Zyngier <marc.zyngier@arm.com>,
	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>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Eric Anholt <eric@anholt.net>, Rob Herring <robh+dt@kernel.org>,
	bcm-kernel-feedback-list@broadcom.com,
	Mark Brown <broonie@kernel.org>,
	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: Tue, 30 Jul 2019 20:33:22 +0200	[thread overview]
Message-ID: <6f3933b5-3b6c-f76b-3c7b-8cbf4e23108b@gmx.net> (raw)
In-Reply-To: <86v9vmmlsd.wl-marc.zyngier@arm.com>

Hi Marc,
>> 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.

"They" are the developer at Raspberry Pi Trading. I forwarded some
questions regarding this topic to them, but didn't get a reply yet. My
current understanding is that the armv8 stubs do setup the timer, but
the armv7 stubs do not. So we probably need to keep it.

>
>>>> +		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?

I've got the feedback that the system timer still exists. Unfortunately
i don't have the new interrupt definition yet. So i need to wait for
this before sending a new version of this series.

Best regards
Stefan Wahren

>
> 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.
>

_______________________________________________
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-30 18:33 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
2019-07-30 18:33         ` Stefan Wahren [this message]
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=6f3933b5-3b6c-f76b-3c7b-8cbf4e23108b@gmx.net \
    --to=wahrenst@gmx.net \
    --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=marc.zyngier@arm.com \
    --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 \
    /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;
as well as URLs for NNTP newsgroup(s).