From: Catalin Marinas <catalin.marinas-5wv7dgnIgG8@public.gmane.org>
To: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>
Cc: Mark Rutland <Mark.Rutland-5wv7dgnIgG8@public.gmane.org>,
"andrew-g2DYL2Zd6BY@public.gmane.org"
<andrew-g2DYL2Zd6BY@public.gmane.org>,
"heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org"
<heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>,
"gnomes-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org"
<gnomes-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>,
Chunyan Zhang
<chunyan.zhang-lxIno14LUO0EEoCn2XhGlw@public.gmane.org>,
"jslaby-AlSwsSmVLrQ@public.gmane.org"
<jslaby-AlSwsSmVLrQ@public.gmane.org>,
"jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org"
<jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org>,
"lanqing.liu-lxIno14LUO0EEoCn2XhGlw@public.gmane.org"
<lanqing.liu-lxIno14LUO0EEoCn2XhGlw@public.gmane.org>,
Pawel Moll <Pawel.Moll-5wv7dgnIgG8@public.gmane.org>,
"corbet-T1hC0tSOHrs@public.gmane.org"
<corbet-T1hC0tSOHrs@public.gmane.org>,
"zhang.lyra-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org"
<zhang.lyra-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"zhizhou.zhang-lxIno14LUO0EEoCn2XhGlw@public.gmane.org"
<zhizhou.zhang-lxIno14LUO0EEoCn2XhGlw@public.gmane.org>,
"geng.ren-lxIno14LUO0EEoCn2XhGlw@public.gmane.org"
<geng.ren-lxIno14LUO0EEoCn2XhGlw@public.gmane.org>,
"m-karicheri2-l0cyMroinI0@public.gmane.org"
<m-karicheri2-l0cyMroinI0@public.gmane.org>,
"shawn.guo-KZfg59tc24xl57MIdRCFDg@public.gmane.org"
<shawn.guo-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
"linux-serial-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-serial-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org"
<grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
"orsonzhai-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org"
<orsonzhai-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"florian.vaussard-p8DiymsW2f8@public.gmane.org" <flori>
Subject: Re: [PATCH v3 3/5] arm64: dts: Add support for Spreadtrum SC9836 SoC in dts and Makefile
Date: Fri, 28 Nov 2014 15:03:26 +0000 [thread overview]
Message-ID: <20141128150325.GC24370@e104818-lin.cambridge.arm.com> (raw)
In-Reply-To: <20141128144412.GG7144-5wv7dgnIgG8@public.gmane.org>
On Fri, Nov 28, 2014 at 02:44:12PM +0000, Will Deacon wrote:
> On Fri, Nov 28, 2014 at 02:35:32PM +0000, Mark Rutland wrote:
> > On Fri, Nov 28, 2014 at 02:29:13PM +0000, Catalin Marinas wrote:
> > > On Thu, Nov 27, 2014 at 01:43:09PM +0000, Mark Rutland wrote:
> > > > On Thu, Nov 27, 2014 at 12:12:15PM +0000, Catalin Marinas wrote:
> > > > > On Thu, Nov 27, 2014 at 11:50:43AM +0000, Mark Rutland wrote:
> > > > > > On Tue, Nov 25, 2014 at 12:16:56PM +0000, Chunyan Zhang wrote:
> > > > > > > +
> > > > > > > + timer {
> > > > > > > + compatible = "arm,armv8-timer";
> > > > > > > + interrupts = <1 13 0xff01>,
> > > > > > > + <1 14 0xff01>,
> > > > > > > + <1 11 0xff01>,
> > > > > > > + <1 10 0xff01>;
> > > > > > > + clock-frequency = <26000000>;
> > > > > >
> > > > > > Please remove the clock-frequency property. Your FW should initialise
> > > > > > CNTFRQ_EL0 on all CPUs (certainly PSCI 0.2 requires that you do this).
> > > > >
> > > > > Since this comes up regularly, I think we need a dev_warn() in the arch
> > > > > timer driver when CONFIG_ARM64.
> > > >
> > > > I'll ack such a patch ;)
> > >
> > > How rude would this be?
> > >
> > > diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
> > > index 2133f9d59d06..aaaf3433ccb9 100644
> > > --- a/drivers/clocksource/arm_arch_timer.c
> > > +++ b/drivers/clocksource/arm_arch_timer.c
> > > @@ -371,7 +371,8 @@ arch_timer_detect_rate(void __iomem *cntbase, struct device_node *np)
> > > return;
> > >
> > > /* Try to determine the frequency from the device tree or CNTFRQ */
> > > - if (of_property_read_u32(np, "clock-frequency", &arch_timer_rate)) {
> > > + if (IS_ENABLED(CONFIG_ARM64) ||
> > > + of_property_read_u32(np, "clock-frequency", &arch_timer_rate)) {
> > > if (cntbase)
> > > arch_timer_rate = readl_relaxed(cntbase + CNTFRQ);
> > > else
> > >
> >
> > Probably too rude, given it doesn't WARN() the user.
>
> We override broken hardware ID registers all the time in device-tree without
> dumping stack. Why is this any different?
I'm not for dumping the stack, it's not relevant (just more noise).
> > We should be extremely loud if we see the clock-frequency property on an
> > arm64 system. Whether or not we should ignore the property is another
> > matter.
>
> I don't really see the point in ignoring it. We will see broken hardware
> [1] and this is just preventing ourselves from working around it. I'd much
> rather have arch-timers with a "clock-frequence" property than have some
> other timer instead because the kernel driver is being stubborn.
I agree that sooner or later we'll need a workaround (we already did for
Juno). My point is that many consider such overriding behaviour to be
the default - i.e. don't bother writing any sane value in CNTFRQ in
firmware at boot because Linux can cope without. It gets worse when
companies develop their firmware long before starting to upstream kernel
patches, so too late to fix it.
> [1] A previous version of the Juno firmware, for example.
What about CONFIG_BROKEN_FIRMWARE, default off?
In the meantime I think we can be more tolerant:
diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
index 2133f9d59d06..87f67a93fcc7 100644
--- a/drivers/clocksource/arm_arch_timer.c
+++ b/drivers/clocksource/arm_arch_timer.c
@@ -376,6 +376,8 @@ arch_timer_detect_rate(void __iomem *cntbase, struct device_node *np)
arch_timer_rate = readl_relaxed(cntbase + CNTFRQ);
else
arch_timer_rate = arch_timer_get_cntfrq();
+ } else if (IS_ENABLED(CONFIG_ARM64)) {
+ pr_warn("Architected timer frequency overridden by DT (broken firmware?)\n");
}
/* Check the timer frequency. */
next prev parent reply other threads:[~2014-11-28 15:03 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Sharkl64-v3>
2014-11-25 12:16 ` [PATCH v3 0/5] Add Spreadtrum Sharkl64 Platform support Chunyan Zhang
2014-11-25 12:16 ` [PATCH v3 1/5] Documentation: DT: Renamed of-serial.txt to 8250.txt Chunyan Zhang
[not found] ` <1416917818-10506-2-git-send-email-chunyan.zhang-lxIno14LUO0EEoCn2XhGlw@public.gmane.org>
2014-11-27 11:38 ` Mark Rutland
2014-11-27 12:08 ` Lyra Zhang
2014-11-25 12:16 ` [PATCH v3 2/5] Documentation: DT: Add bindings for Spreadtrum SoC Platform Chunyan Zhang
2014-11-25 12:52 ` Arnd Bergmann
2014-11-25 12:16 ` [PATCH v3 3/5] arm64: dts: Add support for Spreadtrum SC9836 SoC in dts and Makefile Chunyan Zhang
2014-11-27 11:50 ` Mark Rutland
2014-11-27 12:12 ` Catalin Marinas
2014-11-27 13:43 ` Mark Rutland
2014-11-28 14:29 ` Catalin Marinas
2014-11-28 14:35 ` Mark Rutland
2014-11-28 14:44 ` Will Deacon
2014-11-28 14:46 ` Mark Rutland
2014-11-28 14:59 ` Will Deacon
2014-11-28 14:50 ` Mark Brown
[not found] ` <20141128144412.GG7144-5wv7dgnIgG8@public.gmane.org>
2014-11-28 15:03 ` Catalin Marinas [this message]
2014-11-28 15:09 ` Will Deacon
2014-11-28 16:40 ` Mark Rutland
2014-11-28 17:24 ` Catalin Marinas
2014-12-03 2:35 ` Orson Zhai
2014-12-03 9:16 ` Lyra Zhang
2014-11-25 12:16 ` [PATCH v3 4/5] arm64: Add support for Spreadtrum's Sharkl64 Platform in Kconfig and defconfig Chunyan Zhang
2014-11-25 12:57 ` Arnd Bergmann
2014-11-26 2:32 ` Lyra Zhang
[not found] ` <CAAfSe-uoXOJ8=agCFuBnXhj7nBBTskQ=8_jMtv_SAjor2gfO2w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-26 9:00 ` Arnd Bergmann
2014-11-26 3:08 ` Lyra Zhang
2014-11-25 12:16 ` [PATCH v3 5/5] tty/serial: Add Spreadtrum sc9836-uart driver support Chunyan Zhang
2014-11-25 20:03 ` Greg KH
2014-11-27 11:05 ` Lyra Zhang
2014-11-26 9:48 ` Tobias Klauser
2014-11-27 11:39 ` Lyra Zhang
2014-11-26 12:33 ` One Thousand Gnomes
2014-11-28 10:13 ` Orson Zhai
2014-11-26 18:29 ` Murali Karicheri
2014-11-27 11:59 ` Lyra Zhang
[not found] ` <CAAfSe-uMqy7zwiEK+nDoMPw_oni8L_vq7oW2Me5AY8z8KGpjwQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-27 12:57 ` Arnd Bergmann
2014-11-27 15:23 ` Lyra Zhang
2014-11-27 15:34 ` One Thousand Gnomes
2014-11-27 15:36 ` Arnd Bergmann
2014-12-03 9:17 ` Lyra Zhang
[not found] ` <CAAfSe-u+g0mYGi9Adrd+YwwZ=q0-s79yCg_paB1UAVqFoufXEA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-12-03 9:50 ` Arnd Bergmann
2014-12-03 10:11 ` Russell King - ARM Linux
[not found] ` <20141203101109.GB11285-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2014-12-03 12:08 ` Lyra Zhang
2014-12-03 12:15 ` Lyra Zhang
2014-11-25 12:57 ` [PATCH v3 0/5] Add Spreadtrum Sharkl64 Platform support Mark Brown
2014-11-25 12:59 ` Arnd Bergmann
2014-11-27 12:03 ` Mark Rutland
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=20141128150325.GC24370@e104818-lin.cambridge.arm.com \
--to=catalin.marinas-5wv7dgnigg8@public.gmane.org \
--cc=Mark.Rutland-5wv7dgnIgG8@public.gmane.org \
--cc=Pawel.Moll-5wv7dgnIgG8@public.gmane.org \
--cc=andrew-g2DYL2Zd6BY@public.gmane.org \
--cc=chunyan.zhang-lxIno14LUO0EEoCn2XhGlw@public.gmane.org \
--cc=corbet-T1hC0tSOHrs@public.gmane.org \
--cc=geng.ren-lxIno14LUO0EEoCn2XhGlw@public.gmane.org \
--cc=gnomes-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org \
--cc=grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org \
--cc=jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org \
--cc=jslaby-AlSwsSmVLrQ@public.gmane.org \
--cc=lanqing.liu-lxIno14LUO0EEoCn2XhGlw@public.gmane.org \
--cc=linux-serial-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=m-karicheri2-l0cyMroinI0@public.gmane.org \
--cc=orsonzhai-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=shawn.guo-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
--cc=will.deacon-5wv7dgnIgG8@public.gmane.org \
--cc=zhang.lyra-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=zhizhou.zhang-lxIno14LUO0EEoCn2XhGlw@public.gmane.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).