Paul Burton a08588ea48 irqchip/mips-gic: Fix shifts to extract register fields
The MIPS GIC driver is incorrectly using __fls to shift registers,
intending to shift to the least significant bit of a value based upon
its mask but instead shifting off all but the value's top bit. It should
actually be using __ffs to shift to the first, not last, bit of the
value.

Apparently the system I used when testing commit 3680746abd87
("irqchip: mips-gic: Convert remaining shared reg access to new
accessors") and commit b2b2e584ceab ("irqchip: mips-gic: Clean up mti,
reserved-cpu-vectors handling") managed to work correctly despite this
issue, but not all systems do...

Fixes: 3680746abd87 ("irqchip: mips-gic: Convert remaining shared reg access to new accessors")
Fixes: b2b2e584ceab ("irqchip: mips-gic: Clean up mti, reserved-cpu-vectors handling")
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Link: https://lkml.kernel.org/r/20170922062440.23701-2-paul.burton@imgtec.com
2017-09-25 21:23:43 +02:00
..
2017-09-22 17:28:59 -10:00
2017-09-12 20:03:53 -07:00
2017-09-10 20:40:00 -07:00
2017-09-07 14:03:05 -07:00
2017-09-07 13:51:13 -07:00
2017-09-07 12:53:14 -07:00
2017-09-14 17:34:43 +02:00
2017-09-07 13:51:13 -07:00
2017-09-05 11:08:17 -07:00
2017-09-10 20:40:00 -07:00
2017-08-29 13:46:35 +02:00
2017-09-12 13:30:06 -07:00
2017-09-05 11:08:17 -07:00
2017-09-11 13:04:32 -07:00
2017-09-07 13:51:13 -07:00
2017-09-09 14:34:38 -07:00
2017-09-13 10:56:00 -07:00
2017-09-19 08:36:19 +02:00
2017-09-05 12:45:03 -07:00
2017-09-05 12:45:03 -07:00
2017-08-30 14:03:42 -06:00
2017-09-14 13:33:33 -07:00
2017-09-07 21:11:05 -07:00
2017-09-22 06:40:47 -10:00