lkml.org 
[lkml]   [2008]   [Mar]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Linux 2.6.25-rc4
Alan Cox wrote:
> 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.
..

Err.. I have a fairly modern PATA drive (160GB seagate 2.5")
that gets pissed if we leave DRQ hanging. So it's not just
something for old/obsolete drives.

Or maybe it's the also-modern-ish ICH chipset that gets stuck. Whatever.

-ml


\
 
 \ /
  Last update: 2008-03-21 16:05    [W:0.138 / U:0.228 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site