Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

libata PATA todo list

0 views
Skip to first unread message

Jeff Garzik

unread,
Aug 11, 2005, 5:00:41 PM8/11/05
to

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 majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Bill Davidsen

unread,
Aug 15, 2005, 6:40:09 PM8/15/05
to
Jeff Garzik wrote:
>
> 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: ".

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

I remember using devices which require this. Not recently.


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

The last time I tried, cdrecord was allowed to burn the first session of
a multi-session CD as a user (with correct device permissions) but not
to read the multisession info (current ISO size) to burn another
session. I haven't tried it in the last few months, I changed my script
to do something else. However, it really should work.

I will test this if you like, but I'm on 7x24 coverage this week and
7x24 vacation after that, so not soon.


> 10) ATAPI DMA alignment (discussed elsewhere)
>
> Needed even for PATA, AFAICT.

Thanks for keeping the list!

--
-bill davidsen (davi...@tmr.com)
"The secret to procrastination is to put things off until the
last possible moment - but no longer" -me

0 new messages