Messages in this thread | | | Date | Mon, 23 Jun 2008 10:42:21 +0100 | From | Alan Cox <> | Subject | Re: sata_svw data corruption, strange problems |
| |
> > 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.
| |