Commit 0c0f9096 authored by Changhwan Youn's avatar Changhwan Youn Committed by Kukjin Kim

ARM: S5PV310: Optimize interrupt source searching code

It is reported by Junseok Jung that using clz instruction is
better instead of using for-loop to find the interrupt source.
This patch modifies interrupt source searching code using __ffs().
The __ffs() is implemented using clz instruction.
Suggested-by: default avatarJunseok Jung <jundols.jung@samsung.com>
Signed-off-by: default avatarChanghwan Youn <chaos.youn@samsung.com>
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent 8d75c912
...@@ -66,11 +66,7 @@ static void combiner_handle_cascade_irq(unsigned int irq, struct irq_desc *desc) ...@@ -66,11 +66,7 @@ static void combiner_handle_cascade_irq(unsigned int irq, struct irq_desc *desc)
if (status == 0) if (status == 0)
goto out; goto out;
for (combiner_irq = 0; combiner_irq < 32; combiner_irq++) { combiner_irq = __ffs(status);
if (status & 0x1)
break;
status >>= 1;
}
cascade_irq = combiner_irq + (chip_data->irq_offset & ~31); cascade_irq = combiner_irq + (chip_data->irq_offset & ~31);
if (unlikely(cascade_irq >= NR_IRQS)) if (unlikely(cascade_irq >= NR_IRQS))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment