lkml.org 
[lkml]   [2008]   [Mar]   [16]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSun, 16 Mar 2008 20:31:09 +0000
FromAlan Cox <>
SubjectRe: Linux 2.6.25-rc4
On Sun, 16 Mar 2008 12:39:43 -0700 (PDT)
Linus Torvalds <torvalds@linux-foundation.org> 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


\
 
 \ /
  Last update: 2008-03-16 21:49    [from the cache]
©2003-2008