From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from relay2-v.mail.gandi.net (relay2-v.mail.gandi.net [217.70.178.76]) by ozlabs.org (Postfix) with ESMTP id 9B20BB7CB9 for ; Sat, 27 Mar 2010 08:32:13 +1100 (EST) Date: Fri, 26 Mar 2010 14:32:02 -0700 From: Josh Triplett To: Grant Likely Subject: Re: Failing to get DMA working with MPC5200 (TQM5200) and CompactFlash Message-ID: <20100326213202.GD5350@feather> References: <20100317051521.GA16826@feather> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 In-Reply-To: Cc: linuxppc-dev@lists.ozlabs.org List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Fri, Mar 26, 2010 at 12:22:32PM -0600, Grant Likely wrote: > On Tue, Mar 16, 2010 at 11:17 PM, Josh Triplett 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. 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