Skip to contentSkip to conversation

Fix (workaround?) for BCM Bigsur

PATCH Thiemo Seufer 2 participants 5 messages Oct 28, 2007 – Oct 29, 2007 MIPS

lore
Share & tools
lore
#0 lore raw

Hello All,

the appended patchlet allows to boot current HEAD on a BCM1480. Without it the kernel dies in an unhandled interrupt loop.

Thiemo

---

arch/mips/sibyte/bcm1480/time.c +0 -1
index 610f025..9344c7b 100644
@@ -142,7 +142,6 @@ void __cpuinit sb1480_clockevent_init(void)
 			R_BCM1480_IMR_INTERRUPT_MAP_BASE_H) + (irq << 3)));
 
 	bcm1480_unmask_irq(cpu, irq);
-	bcm1480_steal_irq(irq);
 
 	action->handler	= sibyte_counter_handler;
 	action->flags	= IRQF_DISABLED | IRQF_PERCPU;
#1 lore raw
Quoted 4 lines · Thiemo Seufer

Hello All,

the appended patchlet allows to boot current HEAD on a BCM1480. Without it the kernel dies in an unhandled interrupt loop.

I think it's a bugfix. The whole {sb1250,bcm1250}_steal_irq() irq seems to be a hack papering needed only to paper over other implementation issues.

Ralf

#4 lore raw
In reply to Thiemo Seufer
Quoted 2 lines · Thiemo Seufer

the appended patchlet allows to boot current HEAD on a BCM1480. Without it the kernel dies in an unhandled interrupt loop.

I went a little further in 3b4137342e088f03e0f2c44608b832af7a8af814 but basically the functional change is the same as your patch. It also applies the same to the sb1250 code.

Thanks,

Ralf

#2 lore raw
In reply to Ralf Baechle
Quoted 10 lines · Ralf Baechle
Quoted 4 lines · Thiemo Seufer

Hello All,

the appended patchlet allows to boot current HEAD on a BCM1480. Without it the kernel dies in an unhandled interrupt loop.

I think it's a bugfix. The whole {sb1250,bcm1250}_steal_irq() irq seems to be a hack papering needed only to paper over other implementation issues.

FYI, I removed all the *_steal_irq stuff in my tree, the resulting kernel works fine on a BCM1480.

Thiemo

#3 lore raw
Quoted 9 lines · Thiemo Seufer
Quoted 6 lines
Quoted 2 lines

the appended patchlet allows to boot current HEAD on a BCM1480. Without it the kernel dies in an unhandled interrupt loop.

I think it's a bugfix. The whole {sb1250,bcm1250}_steal_irq() irq seems to be a hack papering needed only to paper over other implementation issues.

FYI, I removed all the *_steal_irq stuff in my tree, the resulting kernel works fine on a BCM1480.

Thanks. I already have f514a361491aea38160f2c9eb4f7494f06b8263a which deletes the thing in my tree and queued for Linus.

Ralf