![]() | ||||||||||
Messages in this thread |
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 -- 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: 2008-03-16 20:49 [W:0.625 / U:1.210 seconds] ©2003-2008 Jasper Spaans | ||||||||||