Messages in this thread | | | Date | Mon, 28 Jan 2002 00:29:08 -0800 | From | Andrew Morton <> | Subject | Re: [CFT] Bus mastering support for IDE CDROM audio |
| |
OK, Gents. Version three is at
http://www.zip.com.au/~akpm/linux/2.4/2.4.18-pre7/ide-akpm-3.patch
This attempts to overcome the situation where a drive/controller doesn't want to perform multiframe DMA, but is happy performing single-frame DMA.
So:
- We start out trying to perform multiframe DMA. If we get a DMA error, we fall back to single-frame DMA.
- If we get a DMA error in single frame mode, we fall back to multi-frame PIO.
At no stage does a packet-mode DMA error turn off drive-level DMA. This is because some devices seem to perform ordinary ATA DMA OK, but screw up packet DMA.
The kernel internally retries the requests when it performs fallback, so userspace shouldn't see any disruption as the kernel works out what to do.
Once the drive has fallen back to single-frame (or PIO mode) for packet reads, the only way to get it back to a higher level is a reboot.
- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |