* [PATCH] clocksource: vf_pit_timer: use complement for sched_clock reading
@ 2014-03-05 22:11 ` Stefan Agner
0 siblings, 0 replies; 7+ messages in thread
From: Stefan Agner @ 2014-03-05 22:11 UTC (permalink / raw)
To: linux-arm-kernel
Vybrids PIT register is monitonic decreasing. However, sched_clock
reading needs to be monitonic increasing. Use bitwise not to get
the complement of the clock register. This fixes the clock going
backward. Also, the clock now starts at 0 since we load the
register with the maximum value at start.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
drivers/clocksource/vf_pit_timer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/clocksource/vf_pit_timer.c b/drivers/clocksource/vf_pit_timer.c
index 02821b0..a918bc4 100644
--- a/drivers/clocksource/vf_pit_timer.c
+++ b/drivers/clocksource/vf_pit_timer.c
@@ -54,7 +54,7 @@ static inline void pit_irq_acknowledge(void)
static u64 pit_read_sched_clock(void)
{
- return __raw_readl(clksrc_base + PITCVAL);
+ return ~__raw_readl(clksrc_base + PITCVAL);
}
static int __init pit_clocksource_init(unsigned long rate)
--
1.9.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH] clocksource: vf_pit_timer: use complement for sched_clock reading
@ 2014-03-05 22:11 ` Stefan Agner
0 siblings, 0 replies; 7+ messages in thread
From: Stefan Agner @ 2014-03-05 22:11 UTC (permalink / raw)
To: daniel.lezcano, tglx, shawn.guo, linux
Cc: linux-arm-kernel, linux-kernel, Stefan Agner
Vybrids PIT register is monitonic decreasing. However, sched_clock
reading needs to be monitonic increasing. Use bitwise not to get
the complement of the clock register. This fixes the clock going
backward. Also, the clock now starts at 0 since we load the
register with the maximum value at start.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
drivers/clocksource/vf_pit_timer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/clocksource/vf_pit_timer.c b/drivers/clocksource/vf_pit_timer.c
index 02821b0..a918bc4 100644
--- a/drivers/clocksource/vf_pit_timer.c
+++ b/drivers/clocksource/vf_pit_timer.c
@@ -54,7 +54,7 @@ static inline void pit_irq_acknowledge(void)
static u64 pit_read_sched_clock(void)
{
- return __raw_readl(clksrc_base + PITCVAL);
+ return ~__raw_readl(clksrc_base + PITCVAL);
}
static int __init pit_clocksource_init(unsigned long rate)
--
1.9.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH] clocksource: vf_pit_timer: use complement for sched_clock reading
2014-03-05 22:11 ` Stefan Agner
@ 2014-03-06 1:45 ` Shawn Guo
-1 siblings, 0 replies; 7+ messages in thread
From: Shawn Guo @ 2014-03-06 1:45 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Mar 05, 2014 at 11:11:08PM +0100, Stefan Agner wrote:
> Vybrids PIT register is monitonic decreasing. However, sched_clock
> reading needs to be monitonic increasing. Use bitwise not to get
> the complement of the clock register. This fixes the clock going
> backward. Also, the clock now starts at 0 since we load the
> register with the maximum value at start.
>
> Signed-off-by: Stefan Agner <stefan@agner.ch>
Looks correct to me, so
Acked-by: Shawn Guo <shawn.guo@linaro.org>
But I also copied the driver author Jingchang to see if he has any
comment.
Shawn
> ---
> drivers/clocksource/vf_pit_timer.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/clocksource/vf_pit_timer.c b/drivers/clocksource/vf_pit_timer.c
> index 02821b0..a918bc4 100644
> --- a/drivers/clocksource/vf_pit_timer.c
> +++ b/drivers/clocksource/vf_pit_timer.c
> @@ -54,7 +54,7 @@ static inline void pit_irq_acknowledge(void)
>
> static u64 pit_read_sched_clock(void)
> {
> - return __raw_readl(clksrc_base + PITCVAL);
> + return ~__raw_readl(clksrc_base + PITCVAL);
> }
>
> static int __init pit_clocksource_init(unsigned long rate)
> --
> 1.9.0
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] clocksource: vf_pit_timer: use complement for sched_clock reading
@ 2014-03-06 1:45 ` Shawn Guo
0 siblings, 0 replies; 7+ messages in thread
From: Shawn Guo @ 2014-03-06 1:45 UTC (permalink / raw)
To: Stefan Agner
Cc: daniel.lezcano, tglx, linux, linux-arm-kernel, linux-kernel,
Jingchang Lu
On Wed, Mar 05, 2014 at 11:11:08PM +0100, Stefan Agner wrote:
> Vybrids PIT register is monitonic decreasing. However, sched_clock
> reading needs to be monitonic increasing. Use bitwise not to get
> the complement of the clock register. This fixes the clock going
> backward. Also, the clock now starts at 0 since we load the
> register with the maximum value at start.
>
> Signed-off-by: Stefan Agner <stefan@agner.ch>
Looks correct to me, so
Acked-by: Shawn Guo <shawn.guo@linaro.org>
But I also copied the driver author Jingchang to see if he has any
comment.
Shawn
> ---
> drivers/clocksource/vf_pit_timer.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/clocksource/vf_pit_timer.c b/drivers/clocksource/vf_pit_timer.c
> index 02821b0..a918bc4 100644
> --- a/drivers/clocksource/vf_pit_timer.c
> +++ b/drivers/clocksource/vf_pit_timer.c
> @@ -54,7 +54,7 @@ static inline void pit_irq_acknowledge(void)
>
> static u64 pit_read_sched_clock(void)
> {
> - return __raw_readl(clksrc_base + PITCVAL);
> + return ~__raw_readl(clksrc_base + PITCVAL);
> }
>
> static int __init pit_clocksource_init(unsigned long rate)
> --
> 1.9.0
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH] clocksource: vf_pit_timer: use complement for sched_clock reading
2014-03-06 1:45 ` Shawn Guo
@ 2014-03-06 3:18 ` Jingchang Lu
-1 siblings, 0 replies; 7+ messages in thread
From: Jingchang Lu @ 2014-03-06 3:18 UTC (permalink / raw)
To: linux-arm-kernel
> -----Original Message-----
> From: Shawn Guo [mailto:shawn.guo at linaro.org]
> Sent: Thursday, March 06, 2014 9:46 AM
> To: Stefan Agner
> Cc: daniel.lezcano at linaro.org; tglx at linutronix.de; linux at arm.linux.org.uk;
> linux-arm-kernel at lists.infradead.org; linux-kernel at vger.kernel.org; Lu
> Jingchang-B35083
> Subject: Re: [PATCH] clocksource: vf_pit_timer: use complement for
> sched_clock reading
>
> On Wed, Mar 05, 2014 at 11:11:08PM +0100, Stefan Agner wrote:
> > Vybrids PIT register is monitonic decreasing. However, sched_clock
> > reading needs to be monitonic increasing. Use bitwise not to get the
> > complement of the clock register. This fixes the clock going backward.
> > Also, the clock now starts at 0 since we load the register with the
> > maximum value at start.
> >
> > Signed-off-by: Stefan Agner <stefan@agner.ch>
>
> Looks correct to me, so
>
> Acked-by: Shawn Guo <shawn.guo@linaro.org>
>
> But I also copied the driver author Jingchang to see if he has any
> comment.
>
> Shawn
>
The fix is correct, thanks.
Best Regards,
Jingchang
> > ---
> > drivers/clocksource/vf_pit_timer.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/clocksource/vf_pit_timer.c
> > b/drivers/clocksource/vf_pit_timer.c
> > index 02821b0..a918bc4 100644
> > --- a/drivers/clocksource/vf_pit_timer.c
> > +++ b/drivers/clocksource/vf_pit_timer.c
> > @@ -54,7 +54,7 @@ static inline void pit_irq_acknowledge(void)
> >
> > static u64 pit_read_sched_clock(void) {
> > - return __raw_readl(clksrc_base + PITCVAL);
> > + return ~__raw_readl(clksrc_base + PITCVAL);
> > }
> >
> > static int __init pit_clocksource_init(unsigned long rate)
> > --
> > 1.9.0
> >
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH] clocksource: vf_pit_timer: use complement for sched_clock reading
@ 2014-03-06 3:18 ` Jingchang Lu
0 siblings, 0 replies; 7+ messages in thread
From: Jingchang Lu @ 2014-03-06 3:18 UTC (permalink / raw)
To: Shawn Guo, Stefan Agner
Cc: daniel.lezcano@linaro.org, tglx@linutronix.de,
linux@arm.linux.org.uk, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 1867 bytes --]
> -----Original Message-----
> From: Shawn Guo [mailto:shawn.guo@linaro.org]
> Sent: Thursday, March 06, 2014 9:46 AM
> To: Stefan Agner
> Cc: daniel.lezcano@linaro.org; tglx@linutronix.de; linux@arm.linux.org.uk;
> linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; Lu
> Jingchang-B35083
> Subject: Re: [PATCH] clocksource: vf_pit_timer: use complement for
> sched_clock reading
>
> On Wed, Mar 05, 2014 at 11:11:08PM +0100, Stefan Agner wrote:
> > Vybrids PIT register is monitonic decreasing. However, sched_clock
> > reading needs to be monitonic increasing. Use bitwise not to get the
> > complement of the clock register. This fixes the clock going backward.
> > Also, the clock now starts at 0 since we load the register with the
> > maximum value at start.
> >
> > Signed-off-by: Stefan Agner <stefan@agner.ch>
>
> Looks correct to me, so
>
> Acked-by: Shawn Guo <shawn.guo@linaro.org>
>
> But I also copied the driver author Jingchang to see if he has any
> comment.
>
> Shawn
>
The fix is correct, thanks.
Best Regards,
Jingchang
> > ---
> > drivers/clocksource/vf_pit_timer.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/clocksource/vf_pit_timer.c
> > b/drivers/clocksource/vf_pit_timer.c
> > index 02821b0..a918bc4 100644
> > --- a/drivers/clocksource/vf_pit_timer.c
> > +++ b/drivers/clocksource/vf_pit_timer.c
> > @@ -54,7 +54,7 @@ static inline void pit_irq_acknowledge(void)
> >
> > static u64 pit_read_sched_clock(void) {
> > - return __raw_readl(clksrc_base + PITCVAL);
> > + return ~__raw_readl(clksrc_base + PITCVAL);
> > }
> >
> > static int __init pit_clocksource_init(unsigned long rate)
> > --
> > 1.9.0
> >
ÿôèº{.nÇ+·®+%Ëÿ±éݶ\x17¥wÿº{.nÇ+·¥{±þG«éÿ{ayº\x1dÊÚë,j\a¢f£¢·hïêÿêçz_è®\x03(éÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?¨èÚ&£ø§~á¶iOæ¬z·vØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?I¥
^ permalink raw reply [flat|nested] 7+ messages in thread
* [tip:timers/urgent] clocksource: vf_pit_timer: use complement for sched_clock reading
2014-03-05 22:11 ` Stefan Agner
(?)
(?)
@ 2014-03-06 10:37 ` tip-bot for Stefan Agner
-1 siblings, 0 replies; 7+ messages in thread
From: tip-bot for Stefan Agner @ 2014-03-06 10:37 UTC (permalink / raw)
To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, tglx, shawn.guo, stefan
Commit-ID: 224aa3ed45c8735ae02bb2ecca002409fa6aa772
Gitweb: http://git.kernel.org/tip/224aa3ed45c8735ae02bb2ecca002409fa6aa772
Author: Stefan Agner <stefan@agner.ch>
AuthorDate: Wed, 5 Mar 2014 23:11:08 +0100
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Thu, 6 Mar 2014 11:34:14 +0100
clocksource: vf_pit_timer: use complement for sched_clock reading
Vybrids PIT register is monitonic decreasing. However, sched_clock
reading needs to be monitonic increasing. Use bitwise not to get
the complement of the clock register. This fixes the clock going
backward. Also, the clock now starts at 0 since we load the
register with the maximum value at start.
Signed-off-by: Stefan Agner <stefan@agner.ch>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Cc: daniel.lezcano@linaro.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux@arm.linux.org.uk
Link: http://lkml.kernel.org/r/d25af915993aec1b486be653eb86f748ddef54fe.1394057313.git.stefan@agner.ch
Cc: stable@vger.kernel.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
drivers/clocksource/vf_pit_timer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/clocksource/vf_pit_timer.c b/drivers/clocksource/vf_pit_timer.c
index 02821b0..a918bc4 100644
--- a/drivers/clocksource/vf_pit_timer.c
+++ b/drivers/clocksource/vf_pit_timer.c
@@ -54,7 +54,7 @@ static inline void pit_irq_acknowledge(void)
static u64 pit_read_sched_clock(void)
{
- return __raw_readl(clksrc_base + PITCVAL);
+ return ~__raw_readl(clksrc_base + PITCVAL);
}
static int __init pit_clocksource_init(unsigned long rate)
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-03-06 10:37 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-05 22:11 [PATCH] clocksource: vf_pit_timer: use complement for sched_clock reading Stefan Agner
2014-03-05 22:11 ` Stefan Agner
2014-03-06 1:45 ` Shawn Guo
2014-03-06 1:45 ` Shawn Guo
2014-03-06 3:18 ` Jingchang Lu
2014-03-06 3:18 ` Jingchang Lu
2014-03-06 10:37 ` [tip:timers/urgent] " tip-bot for Stefan Agner
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.