Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -66,11 +66,7 @@ static void combiner_handle_cascade_irq(unsigned int irq, struct irq_desc *desc)
	if (status == 0)
		goto out;

	for (combiner_irq = 0; combiner_irq < 32; combiner_irq++) {
		if (status & 0x1)
			break;
		status >>= 1;
	}
	combiner_irq = __ffs(status);

	cascade_irq = combiner_irq + (chip_data->irq_offset & ~31);
	if (unlikely(cascade_irq >= NR_IRQS))