On Fri, 2008-02-15 at 22:27 +0000, Alan Cox wrote: > > The dbdma start is mostly harmless (things don't get posted for -that- > > long), though I suppose it's worth fixing. Would reading back dmactl do > > in that case or do you foresee any kind of side effect ? (Maybe only > > doing it for MMIO ?) > > The dmactl read back should be just fine, or any other DMA register (eg > status). > > > As for SRST, I'm not totally confident how safe it is to read back > > there while doing the reset sequence, so I'm tempted to really only > > do it for MMIO and use altstat rather than ctl/stat (the later tends > > to have side effects which we don't want here). > > Agreed - we know some controllers crap themselves spectacularly on > anything which causes a SATA data transfer to be needed during a reset so > the status is probably safest. The fact its not fixed is because nobody > has sat down to figure out what is safe. > > > The main problem from here is that I don't know whether we are using > > MMIO or PIO from libata-core. Maybe I can add a host flag indicate > > that such flushing is needed ? > > Easier to add that to the ioxxxx ops I suspect (ioispio/ioismmio say) ?
Maybe, though that will involve fixing all the arch versions which do different things. In fact, I'm not even sure I can tell you 100% after the fact on ppc64, I have to double check. I'd rather stick a flag in there to be safe, also since altstatus isn't always there (which is why I used nsect in the test patch I sent to Guennadi). I'm pretty sure I can rely on all MMIO controllers having an altstatus but I'd rather still make that explicit with a host flag to avoid unintended consequences to others. Ben. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

