24 lines
		
	
	
		
			874 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			874 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
From: Felix Fietkau <nbd@nbd.name>
 | 
						|
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 <paul.burton@imgtec.com>
 | 
						|
Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
						|
---
 | 
						|
 | 
						|
--- 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);
 |