Re: [PATCH] 2.5.15 IDE 61

Alan Cox
2002-05-14T16:27:21Z

> block-layer because another request has been added, it needs to know
> that it shouldn't do anything until the DMAing finishes. It could find
> that out by looking at a channel->busy flag. If it doesn't use a busy
> flag, then what provides the locking?

You can either use device status information or the queue lock. It might
well be using channel->busy or queue->channel->busy type flags. However
you've now got a single queue and a single channel lock flowing through
a single function - which seems cleaner to me than splitting stuff into
multiple queues, locking them against one another and the like

> > From an abstract hardware point of view each ide controller is a queue not
> > each device. Not following that is I think the cause of much of the existing
> > pain and suffering.
>
> Agreed. And in the case of a cmd640 (etc.), the queue should handle
> both channels.

Yep