Re: libata PATA support - work items?
From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Date: 2005-01-06 23:07:36
On Thu, 06 Jan 2005 21:29:42 +0000, Alan Cox [off-list ref] wrote:
On Iau, 2005-01-06 at 08:51, Albert Lee wrote:quoted
For the 1st item, - add PATA device errata/blacklist info Is there any detail or draft design idea available?There is a fair bit of code in drivers/ide. Most of it is handling drive problems that occurred with early DMA drives and it uses the model/firmware info in the ident string to match drives that claim to do DMA but do not and drives that claim not to but can. The logic is fairly simple and the database is easily transported or shared. It is fairly important because some of these old drives corrupted data if used DMA. (see drivers/ide/ide-dma.c) For PIO problem drives where there is a need to keep PIO modes chosen carefully then ide-lib has a list (ide_pio_blacklist) and the ide-io code knows about pio modes and older style EIDE cycle timing reports (ide_get_best_pio_mode)
There was some rumor (?) that this blacklist was created on CMD640 controller programmed with wrong timings... BTW ide_get_best_pio_mode(), it is really misleading (i.e. recent PIO tuning bug in it821x.c).
IDE CD has some DMA blacklists for ATAPI but they should be viewed with caution as many entries were due to a bug in our atapi implementation that was fixed long ago.
There is only a common DMA blacklist in ide-dma.c.