Thread (14 messages) 14 messages, 6 authors, 2010-03-30

Re: Failing to get DMA working with MPC5200 (TQM5200) and CompactFlash

From: Josh Triplett <josh@joshtriplett.org>
Date: 2010-03-26 21:32:13

On Fri, Mar 26, 2010 at 12:22:32PM -0600, Grant Likely wrote:
On Tue, Mar 16, 2010 at 11:17 PM, Josh Triplett [off-list ref] wrote:
quoted
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.
True, but we bought a card that specifically advertises support for
UDMA, and says UDMA right on the card's label.

http://store.lexar.com/?productid=CF8GB-300-381

It seems unlikely, though not impossible, that they would have screwed
up that badly. :)

By the way, we've also tested an IDE hard drive on this board, and it
does UDMA2 just fine.

Any thoughts on how we could try to solve this problem?

- Josh Triplett
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help