lkml.org 
[lkml]   [2005]   [Aug]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectlibata PATA todo list

Since there's been some recent interest in the subject, I thought I
would post the PATA todo list for libata. Some of these items are from
my memory, and some are from a list Alan was kind enough to create. The
items verbatim from Alan are prefixed "Alan: ".


1) Locked device/host speed

To support devices such as those in the ide/pci/generic.c list, we need
to ensure that libata -never- attempts to change the device speed
(ata_dev_set_xfermode should be avoided).


2) Simplex DMA

PCI IDE specification has a 'simplex' DMA bit, which should be tested.
Simplex means that only one command can be outstanding, for BOTH port0
and port1, at any given time.

Possibly some hosts also need Simplex DMA, but may not assert the
standard PCI IDE Simplex DMA capability bit. I don't know.


3) Speed change on error

Downshift device to a slower UDMA speed, and eventually from DMA->PIO,
as errors persist. There is no 'specified way' to do this, this is
purely hueristic.


4) Alan: Command filter

Alan -- explanation?

I know one line item here, at least: Promise controllers snoop SET
FEATURES - XFER MODE command. We must stop command processing on ALL
ports when this command is issued, to avoid corruption.


5) Alan: MWDMA broken still? is piix doc correct?


6) Alan: some PATA LBA48 devices cannot do > 256 sectors.


7) Alan: Some ALi requires LBA48 be done via PIO. LBA28 DMA is OK.


8) ATAPI device CDB interrupt

Some older ATAPI devices require the OS driver to wait for an interrupt,
after CDB is written, before command processing proceeds.


9) ATAPI devices may delay setting DRQ=1 for up to 3ms.

Make sure we honor the delay noted in IDENTIFY PACKET DEVICE word 0.


10) ATAPI DMA alignment (discussed elsewhere)

Needed even for PATA, AFAICT.



-
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/

\
 
 \ /
  Last update: 2005-08-11 22:57    [W:0.038 / U:0.124 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site