Subject: Re: Interrupt-problem mpc5200

From: WITTROCK <[email-masked]>
Date: Tue, 11 Sep 2007 05:49:18 -0700 (PDT)

Hello,

Is it possible that this call failed?
intr = ioremap(MPC52xx_MBAR+MPC52xx_INTR_OFFSET, MPC52xx_INTR_SIZE); 

Maybe intr is invalid at this point?
out_be32(&intr->ctrl, intr_ctrl);       // ERROR!

Regards,
WITTROCK

S. Fricke wrote:
> 
> Hello all.
> 
> What are the steps to configure an MPC500B-Board to react on an IRQ (2)?
> 
> I have written a test-driver with this code-snippets, but the prozessor
> hangs when loading the driver.
> 
> my __init-function looks like:
> 
> static int __init mod_init( void ) 
> {
>     volatile static struct mpc52xx_intr __iomem *intr;
>     u32 intr_ctrl;
> 
>     // ...
> 
>     printk( "intmod.ko: interrupt init ");
>     if (request_irq(MPC52xx_IRQ2, intmod_isr, IRQF_SHARED , "intmod",
>                 INTMOD_IRQ_BOARD) == -EBUSY)
>         printk("KO\n");
>     else
>         printk("OK\n");
> 
>     intr = ioremap(MPC52xx_MBAR+MPC52xx_INTR_OFFSET, MPC52xx_INTR_SIZE);
> 
>     // read - modify - write
>     intr_ctrl = in_be32(&intr->ctrl);
>     intr_ctrl &= 0xfff3ffff;
>     intr_ctrl |= 0x00080200;
>     out_be32(&intr->ctrl, intr_ctrl);       // ERROR!
> 
>     if(intr) iounmap(intr);
> 
>     // ...
> }
> 
> On the Line, marked with "ERROR!" the prozessor hangs and the kernel drops
> out.
> 
> TIA: Silvio
> 
> 
> Mit freundlichen Gruessen
> Silvio Fricke
> 
> -- 
> -- S. Fricke ----------------------------- MAILTO:[email-masked]
> --
>    Diplom-Informatiker (FH)
>    Linux-Entwicklung                       JABBER:      [email-masked]
> ----------------------------------------------------------------------------
> 
> 
>  
> _______________________________________________
> Linuxppc-embedded mailing list
> [email-masked]
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
> 

-- 
View this message in context: http://www.nabble.com/Interrupt-problem-mpc5200-tf4413834.html#a12613692
Sent from the linuxppc-embedded mailing list archive at Nabble.com.