Failing to get DMA working with MPC5200 (TQM5200) and CompactFlash
Grant Likely
grant.likely at secretlab.ca
Sat Mar 27 05:22:32 EST 2010
On Tue, Mar 16, 2010 at 11:17 PM, Josh Triplett <josh at joshtriplett.org> wrote:
> Hello,
>
> We've tried both 2.6.33 and DENX-v2.6.33.1, and we haven't managed to
> successfully use any form of DMA with the TQM5200 and a CompactFlash
> card. We know the CF card supports DMA (or, at least, it says "UDMA"
> right on the card, and various reports say Lexar Professional CF cards
> do DMA), but the kernel always puts the card in PIO4 mode. We tried
> libata.force=mwdma2 and libata.force=udma2 , and many other modes, but
> this always led to failures like this:
>
> [ 31.994311] ata1: lost interrupt (Status 0x58)
> [ 32.020435] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
> [ 32.027712] ata1.00: failed command: READ DMA
> [ 32.032236] ata1.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096 in
> [ 32.032249] res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
> [ 32.047212] ata1.00: status: { DRDY }
> [ 32.051050] ata1: soft resetting link
> [ 32.218796] ata1.00: FORCE: xfer_mask set to udma2
> [ 32.230618] ata1.00: configured for UDMA/33
> [ 32.235000] ata1.00: device reported invalid CHS sector 0
> [ 32.240629] ata1: EH complete
> [ 62.994310] ata1: lost interrupt (Status 0x58)
> [ 63.020443] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
> [ 63.027722] ata1.00: failed command: READ DMA
> [ 63.032246] ata1.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096 in
> [ 63.032259] res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
> [ 63.047221] ata1.00: status: { DRDY }
> [ 63.051060] ata1: soft resetting link
> [ 63.218778] ata1.00: FORCE: xfer_mask set to udma2
> [ 63.238603] ata1.00: configured for UDMA/33
> [ 63.242978] ata1.00: device reported invalid CHS sector 0
> [ 63.248609] ata1: EH complete
>
> We have the MPC5200C revision of the silicon.
>
> Does this sound like a known issue? Can we do anything to troubleshoot
> this further?
Not all CF adapters have all the pins wired up that are needed for
*DMA modes. That is the most likely problem.
g.
More information about the Linuxppc-dev
mailing list