Re: [PATCH] clocksource: mips-gic-timer: fix clocksource counter width

From: Felix Fietkau
Date: Wed Feb 28 2018 - 04:19:35 EST


On 2018-02-28 09:56, Thomas Gleixner wrote:
> On Wed, 21 Feb 2018, Felix Fietkau wrote:
>
>> This code needs to use ffs instead of fls on the mask to determine the
>> shift for reading the GIC_CONFIG_COUNTBITS field.
>
> Why?
>> count_width = read_gic_config() & GIC_CONFIG_COUNTBITS;
>> - count_width >>= __fls(GIC_CONFIG_COUNTBITS);
>> + count_width >>= __ffs(GIC_CONFIG_COUNTBITS);
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.

- Felix