From: dinguyen@altera.com (Dinh Nguyen)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/2] clocksource: dw_apb_timer_of: Fix read_sched_clock
Date: Thu, 25 Jul 2013 09:29:28 -0500 [thread overview]
Message-ID: <1374762568.3139.7.camel@linux-builds1> (raw)
In-Reply-To: <201307251102.23446.heiko@sntech.de>
Hi Heiko,
On Thu, 2013-07-25 at 11:02 +0200, Heiko St?bner wrote:
> Am Donnerstag, 25. Juli 2013, 05:43:17 schrieb dinguyen at altera.com:
> > From: Dinh Nguyen <dinguyen@altera.com>
> >
> > The read_sched_clock should return the ~value because the clock is a
> > countdown implementation. read_sched_clock() should be the same as
> > __apbt_read_clocksource().
> >
> > If a separate timer for the sched_clock exist, then read_sched_clock()
> > will return an incorrect value. The (sched_io_base + 0x4) needs to be in
> > the function for both cases.
> >
> > Also, remove the use of "dw-apb-timer-sp" and "dw-apb-timer-osc" since
> > they are the same DW clock.
> >
> > Signed-off-by: Dinh Nguyen <dinguyen@altera.com>
> > Acked-by: Jamie Iles <jamie@jamieiles.com>
> > CC: Rob Herring <rob.herring@calxeda.com>
> > CC: Arnd Bergmann <arnd@arndb.de>
> > Cc: Olof Johansson <olof@lixom.net>
> > CC: Jamie Iles <jamie@jamieiles.com>
> > Cc: John Stultz <john.stultz@linaro.org>
> > Cc: Thomas Gleixner <tglx@linutronix.de>
> > Cc: Linus Walleij <linus.walleij@linaro.org>
> > Cc: Pavel Machek <pavel@denx.de>
> > Cc: Heiko Stuebner <heiko@sntech.de>
> > Cc: linux-arm-kernel at lists.infradead.org
> > ---
> > drivers/clocksource/dw_apb_timer_of.c | 7 +++----
> > 1 file changed, 3 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/clocksource/dw_apb_timer_of.c
> > b/drivers/clocksource/dw_apb_timer_of.c index 4cbae4f..8e00929 100644
> > --- a/drivers/clocksource/dw_apb_timer_of.c
> > +++ b/drivers/clocksource/dw_apb_timer_of.c
> > @@ -102,18 +102,17 @@ static void add_clocksource(struct device_node
> > *source_timer) * timer is found. sched_io_base then points to the
> > current_value * register of the clocksource timer.
> > */
> > - sched_io_base = iobase + 0x04;
> > + sched_io_base = iobase;
> > sched_rate = rate;
> > }
> >
> > static u32 read_sched_clock(void)
> > {
> > - return __raw_readl(sched_io_base);
> > + return ~__raw_readl(sched_io_base + 0x4);
> > }
> >
>
>
>
> > static const struct of_device_id sptimer_ids[] __initconst = {
> > { .compatible = "picochip,pc3x2-rtc" },
> > - { .compatible = "snps,dw-apb-timer-sp" },
> > { /* Sentinel */ },
> > };
>
> I'm not 100% sure, but maybe the same explaination as below applies to this -
> with it better being part of the first patch.
>
>
> > @@ -153,4 +152,4 @@ static void __init dw_apb_timer_init(struct device_node
> > *timer) num_called++;
> > }
> > CLOCKSOURCE_OF_DECLARE(pc3x2_timer, "picochip,pc3x2-timer",
> > dw_apb_timer_init); -CLOCKSOURCE_OF_DECLARE(apb_timer,
> > "snps,dw-apb-timer-osc", dw_apb_timer_init);
> > +CLOCKSOURCE_OF_DECLARE(apb_timer, "snps,dw-apb-timer",
> > dw_apb_timer_init);
>
> I think this hunk would better be part of the first patch, as you rename the
> devices in the dtsi files there and it has nothing to do with the sched_clock
> fix.
>
> Changing the clocksource name here also breaks bisectability on the affected
> platforms because they wouldn't be able to add the clocksources when only the
> first patch is applied.
I agree with you, but I was under the impression that Arnd wanted to
keep DTS changes in a separate commit.
Dinh
>
>
> Heiko
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
next prev parent reply other threads:[~2013-07-25 14:29 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-25 3:43 [PATCH 1/2] ARM: dts: Change dw-apb-timer-osc and dw-apb-timer-sp to just dw-apb-timer dinguyen at altera.com
2013-07-25 3:43 ` [PATCH 2/2] clocksource: dw_apb_timer_of: Fix read_sched_clock dinguyen at altera.com
2013-07-25 9:02 ` Heiko Stübner
2013-07-25 14:29 ` Dinh Nguyen [this message]
2013-07-29 18:30 ` Pavel Machek
2013-07-29 18:25 ` [PATCH 1/2] ARM: dts: Change dw-apb-timer-osc and dw-apb-timer-sp to just dw-apb-timer Pavel Machek
2013-08-11 21:45 ` Olof Johansson
2013-08-12 11:57 ` Pavel Machek
-- strict thread matches above, loose matches on Subject: below --
2013-06-18 0:08 [PATCH 0/2] Fix potential merge conflict for dw_apb_timer_of dinguyen at altera.com
2013-06-18 0:08 ` [PATCH 2/2] clocksource: dw_apb_timer_of: Fix read_sched_clock dinguyen at altera.com
2013-06-18 9:23 ` Jamie Iles
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=1374762568.3139.7.camel@linux-builds1 \
--to=dinguyen@altera.com \
--cc=linux-arm-kernel@lists.infradead.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).