[5200] ATA and (BAD) interrupts question

Grant Likely grant.likely at secretlab.ca
Sat Aug 8 15:48:46 EST 2009


On Tue, Jul 28, 2009 at 6:50 AM, Albrecht Dreß<albrecht.dress at arcor.de> wrote:
> Hi all,
>
> I run linux 2.6.29.1 from kernel.org on a custom Freescale MPC5200B based board, which has a CF card attached to the 5200's ATA.  The CF seems to run nicely, but I am somewhat confused by the interrupts reproted by the kernel.
>
> Immediately after the boot, /proc/interrupts reports (inter alia)
>
> 135:          8  MPC52xx Peripherals Edge      mpc52xx_ata
> 194:          0  MPC52xx SDMA Edge      ATA task
> BAD:         44
>
> Then I say 'mount -t vfat -o noatime /dev/sda1 /mnt/cf0', and I get
>
> 135:         41  MPC52xx Peripherals Edge      mpc52xx_ata
> 194:          0  MPC52xx SDMA Edge      ATA task
> BAD:         44
>
> Then, I recursively copy a folder to the CF card:
>
> 135:     125111  MPC52xx Peripherals Edge      mpc52xx_ata
> 194:          0  MPC52xx SDMA Edge      ATA task
> BAD:     121863
>
> Is it correct that the "ATA task" interrupts are still 0, and that I get such a high number of BAD ones?  Is there a way to detect which source actually triggered the BAD interrupts?

No, not really, but I'd spend some time looking at the DMA portion of
the IRQ handler.  Either edge IRQs are not getting acked correctly, or
the interrupt controller driver is not reading the pending IRQs
correctly.

g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.


More information about the Linuxppc-dev mailing list