Dear Linux-enthusiasts, I'm still at the same problem.
I have now implemented a irq_chip for the hardwired IRQ2. Now I have: --==> volatile static struct mpc52xx_intr __iomem *intr; unsigned long flags; static DEFINE_SPINLOCK(my_irq_controller_lock); /* * HELPER-Function */ static inline void io_be_setbit(u32 __iomem *addr, int bitno) { out_be32(addr, in_be32(addr) | (1 << bitno)); } static inline void io_be_clrbit(u32 __iomem *addr, int bitno) { out_be32(addr, in_be32(addr) & ~(1 << bitno)); } /* * IRQ-Zeugs */ static void my_irq_ack(unsigned int irq) { printk("%s(%s/%d):\n", __FILE__, __FUNCTION__, __LINE__); spin_lock_irqsave(&my_irq_controller_lock, flags); if(intr) io_be_setbit(&intr->ctrl, 25); spin_unlock_irqrestore(&my_irq_controller_lock, flags); printk("%s(%s/%d):\n", __FILE__, __FUNCTION__, __LINE__); } /* irq - disabled */ static void my_irq_mask(unsigned int irq) { printk("%s(%s/%d):\n", __FILE__, __FUNCTION__, __LINE__); spin_lock_irqsave(&my_irq_controller_lock, flags); if(intr) io_be_clrbit(&intr->ctrl, 9); spin_unlock_irqrestore(&my_irq_controller_lock, flags); printk("%s(%s/%d):\n", __FILE__, __FUNCTION__, __LINE__); } /* irq - enable */ static void my_irq_unmask(unsigned int irq) { printk("%s(%s/%d):\n", __FILE__, __FUNCTION__, __LINE__); spin_lock_irqsave(&my_irq_controller_lock, flags); if(intr) io_be_setbit(&intr->ctrl, 9); spin_unlock_irqrestore(&my_irq_controller_lock, flags); printk("%s(%s/%d):\n", __FILE__, __FUNCTION__, __LINE__); } static struct irq_chip my_irq_chip = { .typename = "MY_IRQ_TEST", .ack = my_irq_ack, .mask = my_irq_mask, .unmask = my_irq_unmask, }; static int __init mod_init( void ) { // ... intr = mpc52xx_find_and_map("mpc52xx-pic"); if(!intr) { panic(__FILE__ ": mpc52xx-pic - MAP failed"); } set_irq_chip(MPC52xx_IRQ2, &my_irq_chip); a = request_irq(2, intmod_isr, IRQF_DISABLED , "intmod", INTMOD_IRQ_BOARD); printk("a: 0x%08x\n", a); // ... } <==-- Now my code hangs on the my_irq_unmask(...)-function on "io_be_setbit". Why? Can anyone help me, or point me to the right newsgroup/forum? So long! Silvio -- -- S. Fricke ----------------------------- MAILTO:[EMAIL PROTECTED] -- Diplom-Informatiker (FH) Linux-Entwicklung JABBER: [EMAIL PROTECTED] ----------------------------------------------------------------------------
pgpoFwCfI6bfB.pgp
Description: PGP signature
_______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev