All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] clocksource: mips-gic-timer: fix clocksource counter width
@ 2018-02-28  9:56 Felix Fietkau
  2018-02-28 12:58 ` [tip:timers/urgent] clocksource/drivers/mips-gic-timer: Use correct shift count to extract data tip-bot for Felix Fietkau
  0 siblings, 1 reply; 2+ messages in thread
From: Felix Fietkau @ 2018-02-28  9:56 UTC (permalink / raw)
  To: linux-kernel; +Cc: daniel.lezcano, paul.burton, tglx

This code is trying to extract the GIC_CONFIG_COUNTBITS field from
read_gic_config(), so it needs to shift count_width right by the index
of the least significant bit (__ffs) instead of the most significant bit
(__fls) of the field mask.

Fixes: e07127a077c7 ("clocksource: mips-gic-timer: Use new GIC accessor functions")
Cc: Paul Burton <paul.burton@imgtec.com>
Cc: stable@vger.kernel.org
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
 drivers/clocksource/mips-gic-timer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clocksource/mips-gic-timer.c b/drivers/clocksource/mips-gic-timer.c
index a04808a21d4e..bf0eee78c6ef 100644
--- a/drivers/clocksource/mips-gic-timer.c
+++ b/drivers/clocksource/mips-gic-timer.c
@@ -166,7 +166,7 @@ static int __init __gic_clocksource_init(void)
 
 	/* Set clocksource mask. */
 	count_width = read_gic_config() & GIC_CONFIG_COUNTBITS;
-	count_width >>= __fls(GIC_CONFIG_COUNTBITS);
+	count_width >>= __ffs(GIC_CONFIG_COUNTBITS);
 	count_width *= 4;
 	count_width += 32;
 	gic_clocksource.mask = CLOCKSOURCE_MASK(count_width);
-- 
2.14.2

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [tip:timers/urgent] clocksource/drivers/mips-gic-timer: Use correct shift count to extract data
  2018-02-28  9:56 [PATCH v2] clocksource: mips-gic-timer: fix clocksource counter width Felix Fietkau
@ 2018-02-28 12:58 ` tip-bot for Felix Fietkau
  0 siblings, 0 replies; 2+ messages in thread
From: tip-bot for Felix Fietkau @ 2018-02-28 12:58 UTC (permalink / raw)
  To: linux-tip-commits; +Cc: tglx, nbd, mingo, linux-kernel, hpa

Commit-ID:  5753405e27f8fe4c42c1537d3ddbd9e058e54cdc
Gitweb:     https://git.kernel.org/tip/5753405e27f8fe4c42c1537d3ddbd9e058e54cdc
Author:     Felix Fietkau <nbd@nbd.name>
AuthorDate: Wed, 28 Feb 2018 10:56:10 +0100
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Wed, 28 Feb 2018 13:55:14 +0100

clocksource/drivers/mips-gic-timer: Use correct shift count to extract data

__gic_clocksource_init() extracts the GIC_CONFIG_COUNTBITS field from
read_gic_config() by right shifting the register value. The shift count is
determined by the most significant bit (__fls) of the bitmask which is
wrong as it shifts out the complete bitfield.

Use the least significant bit (__ffs) instead to shift the bitfield down to
bit 0.

Fixes: e07127a077c7 ("clocksource: mips-gic-timer: Use new GIC accessor functions")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: daniel.lezcano@linaro.org
Cc: paul.burton@imgtec.com
Link: https://lkml.kernel.org/r/20180228095610.50341-1-nbd@nbd.name

---
 drivers/clocksource/mips-gic-timer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clocksource/mips-gic-timer.c b/drivers/clocksource/mips-gic-timer.c
index 65e18c86d9b9..986b6796b631 100644
--- a/drivers/clocksource/mips-gic-timer.c
+++ b/drivers/clocksource/mips-gic-timer.c
@@ -166,7 +166,7 @@ static int __init __gic_clocksource_init(void)
 
 	/* Set clocksource mask. */
 	count_width = read_gic_config() & GIC_CONFIG_COUNTBITS;
-	count_width >>= __fls(GIC_CONFIG_COUNTBITS);
+	count_width >>= __ffs(GIC_CONFIG_COUNTBITS);
 	count_width *= 4;
 	count_width += 32;
 	gic_clocksource.mask = CLOCKSOURCE_MASK(count_width);

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-02-28 12:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-28  9:56 [PATCH v2] clocksource: mips-gic-timer: fix clocksource counter width Felix Fietkau
2018-02-28 12:58 ` [tip:timers/urgent] clocksource/drivers/mips-gic-timer: Use correct shift count to extract data tip-bot for Felix Fietkau

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.