Re: SCSI QLA not working on latest *-mm SN2

James Bottomley
2004-09-21T17:58:35Z

On Tue, 2004-09-21 at 13:46, Jesse Barnes wrote:
> > What ioflush() call? There's no such thing in PCI; this is effectively
> > our problem. If there were a nice flush instruction we wouldn't have to
> > worry about reading from somewhere on the device. The problem is that
> > there's no a-priori way of knowing what read is safe to do, so there's
> > no generic way to extract a posting flush API.
>
> The one I just added with this patch. It takes a struct device and address
> arguments, the latter is supposed to be a safe register, like config space.
>
> I'm tying together the concepts of write posting and ordering intentionally,
> but I wonder if that's a good idea. On the one hand, we don't want to
> introduce *two* new driver APIs, but on the other, ensuring ordering and
> actually flushing writes out are two different things. Maybe we just need to
> tell people

Really, I don't think this is a good idea. If there were a way to
produce an api that was just ioflush(struct device *) then yes, since it
would reduce confusion. However, since all your API does is hide the
fact that you're doing a MMIO read then the proposed API provides no
relief from the fact that the driver writer needs to understand
posting...all it does is add one extra function for them to misuse or
get confused about.

James