[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