Messages in this thread | | | Subject | Re: sata_svw data corruption, strange problems | From | Benjamin Herrenschmidt <> | Date | Mon, 23 Jun 2008 20:23:22 +1000 |
| |
On Mon, 2008-06-23 at 10:42 +0100, Alan Cox wrote: > > > BTW. Tejun, I suppose that usually starting DMA after issuing the > > > command is a standard practice of legacy/sff type controllers ? Or it's > > > just because that's how linux did it until now ? > > > > It's how the standard says it should be programmed. Please take a look > > at section 3 of the following document. > > > > http://www.centrillium-it.com/Projects/idems100.pdf > > > > It's a non-issue for PATA ones as the host is responsible for running > > It's very much an issue for PATA. If you start the DMA before time things > go wrong. The DMA has to start after the command is issued (or for ATAPI > after the command and the cdb are issued). Various ATAPI devices get > quite cross if you mess this up. > > In some cases the driver code also depends upon this as we software drive > the data clocks so have to reprogram them after command issue and before > data transfer begins.
Might explain why those broadcom chipsets are also allergic to ATAPI DMA :-)
Ben.
| |