From: Jonas Gorski Date: Sat, 12 Jul 2014 10:49:35 +0000 (+0200) Subject: MIPS: BCM63xx: Replace irq dispatch code with a generic version X-Git-Tag: omap-for-v3.17/fixes-against-rc2~135^2~95 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=86ee4333ba991654f21b7a9e7a7bff0b319f0800;p=pandora-kernel.git MIPS: BCM63xx: Replace irq dispatch code with a generic version The generic version uses a variable length of u32 registers instead of u32/u64. This allows easier support for "wider" registers without having to rewrite everything. This "generic" version is as fast as the old version in the best case (i == next set bit), and twice as fast in the worst case in 64 bits. Using a macro was chosen over a (forced) inline version because gcc generated more compact code with the macro. The change from (signed) int to unsigned int for i and to_call was intentional as the value can be only between 0 and (width - 1) anyway, and allowed gcc to optimise the code a bit further. Signed-off-by: Jonas Gorski Cc: linux-mips@linux-mips.org Cc: John Crispin Cc: Maxime Bizon Cc: Florian Fainelli Cc: Kevin Cernekee Cc: Gregory Fong Patchwork: https://patchwork.linux-mips.org/patch/7316/ Signed-off-by: Ralf Baechle --- Reading git-diff-tree failed