Re: Linux 2.6.25-rc4

From: Alan Cox
Date: Sun Mar 16 2008 - 16:47:03 EST


On Sun, 16 Mar 2008 12:39:43 -0700 (PDT)
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

>
>
> On Sun, 16 Mar 2008, Alan Cox wrote:
> >
> > No it doesn't. DRQ simply means "drive has more data for the controller
> > if you want it". Interrupts are controlled via IEN and the interrupt line.
>
> A _lot_ of chips require you to clear the DRQ by taking the data they
> have.

Almost none and mostly very old ones. I'm not saying we shouldn't do it
(except where it hangs the hardware - hence the FIFO flag) but for the
traces presented and hardware reported it appears to be a bit of a red
herring.

> > If the drive wants to give us data and we end the transaction that is
> > fine. In practice a tiny few devices crap themselves if we don't.
>
> More than a few tiny devices from what I remember. It tends to be the
> other way around - most devices do *not* want to get new commands until
> you've finished the previous one by draining the queues.

Not in my experience having maintained a lot of ATA drivers for a very
long time. In fact the changes for draining the DRQ went into libata only
very recently because it was only when we had a distro sized userbase
with PATA devices that it became apparent that a few corner case problems
remained.

Alan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/