diff options
Diffstat (limited to 'arch/alpha/kernel/sys_titan.c')
-rw-r--r-- | arch/alpha/kernel/sys_titan.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/alpha/kernel/sys_titan.c b/arch/alpha/kernel/sys_titan.c index 29ab7db81c30..f009b7bc0943 100644 --- a/arch/alpha/kernel/sys_titan.c +++ b/arch/alpha/kernel/sys_titan.c | |||
@@ -257,8 +257,7 @@ titan_dispatch_irqs(u64 mask) | |||
257 | */ | 257 | */ |
258 | while (mask) { | 258 | while (mask) { |
259 | /* convert to SRM vector... priority is <63> -> <0> */ | 259 | /* convert to SRM vector... priority is <63> -> <0> */ |
260 | __asm__("ctlz %1, %0" : "=r"(vector) : "r"(mask)); | 260 | vector = 63 - __kernel_ctlz(mask); |
261 | vector = 63 - vector; | ||
262 | mask &= ~(1UL << vector); /* clear it out */ | 261 | mask &= ~(1UL << vector); /* clear it out */ |
263 | vector = 0x900 + (vector << 4); /* convert to SRM vector */ | 262 | vector = 0x900 + (vector << 4); /* convert to SRM vector */ |
264 | 263 | ||