From 04052051405c2835aecf9c4d539bc6ed4e05878d Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 21 Feb 2018 13:54:35 +0100 Subject: [PATCH] kernel: fix MIPS GIC clock source counter width (affects MT7621) Signed-off-by: Felix Fietkau --- ...-gic-timer-fix-clocksource-counter-w.patch | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 target/linux/generic/pending-4.14/101-clocksource-mips-gic-timer-fix-clocksource-counter-w.patch diff --git a/target/linux/generic/pending-4.14/101-clocksource-mips-gic-timer-fix-clocksource-counter-w.patch b/target/linux/generic/pending-4.14/101-clocksource-mips-gic-timer-fix-clocksource-counter-w.patch new file mode 100644 index 0000000000..a554aa1125 --- /dev/null +++ b/target/linux/generic/pending-4.14/101-clocksource-mips-gic-timer-fix-clocksource-counter-w.patch @@ -0,0 +1,23 @@ +From: Felix Fietkau +Date: Wed, 21 Feb 2018 13:40:12 +0100 +Subject: [PATCH] clocksource: mips-gic-timer: fix clocksource counter width + +This code needs to use ffs instead of fls on the mask to determine the +shift for reading the GIC_CONFIG_COUNTBITS field. + +Fixes: e07127a077c7 ("clocksource: mips-gic-timer: Use new GIC accessor functions") +Cc: Paul Burton +Signed-off-by: Felix Fietkau +--- + +--- a/drivers/clocksource/mips-gic-timer.c ++++ b/drivers/clocksource/mips-gic-timer.c +@@ -164,7 +164,7 @@ static int __init __gic_clocksource_init + + /* 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);