It seems Terry Lambert wrote: > Andrew Gallatin wrote: > > Terry Lambert writes: > > > > So.. Is PIO safe? Is there any sort of CRC being done on PIO data? > > > > > > He just said: if your chipset is programmed correctly > > > by the BIOS, then there will not be a problem, but > > > apparently, there is a very narrow band of "correctly" > > > (perhaps even only a single state), and the vendor > > > apparently does not default the chip into that state. > > > > I was asking a more general question about ATA -- I know that UDMA has > > has some sort of CRC protection because (on other machines) I've seen > > the occasional error about a bad CRC, retrying. But what I don't know > > is if PIO offers the same protection. > > PIO is safe. The problem with ATA DMA needing the CRC is > to recover from the case where the DMA is aborted in the > middle, which is not signalled (this was the problem with > the CMD640B ATA chipset interface on Intel).
Wrong, PIO is not safe, there is no checks whatsoever on the data, only UDMA modes have CRC performed. > Actually, now that I think about it, using the main CPU and > doinf PIO might be better anyway, given the speed difference > between the main CPU and the DMA engine on the ATA chip; the > overall performance may even be up to 2x better using the > host CPU to do the work, particularly if you special case > the transfer alignment, the way bcopy does. PIO is always slower than DMA... -Søren To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message