Alan Cox <alan <at> lxorguk.ukuu.org.uk> writes: > >>> The specification says that 0x0000 means 64K. A couple of controllers do >>> get this wrong and we did recently add a second sg list builder for those. >>> >>> Perhaps a comment or two is in order ? >>> - >> >> Thanks - but which specification is this ? >> >> As far as I am aware there is no spec for DMA controllers running ATA. > > SFF 8038i covers the standard taskfile IDE class PCI device interface for > PIO and DMA. It also covers the alternate ADMA interface. > >> Since DMA controller details may vary according to hardware, I >> would have expected that ata_fill_sg() would be one of the overloadable >> function entries with a driver-specific function that knew about >> the DMA controller niceties, and how to stuff a sg entry. > > It is -n ot directly however but by overloading qc_prep. That makes more > sense than overloading fill_sg as not all controllers fit a simple > SFF like scatter/gather list model in the first place. > > Alan > - Thanks for clarifying - as you say, the spec is specific to PCI. Our silicon has its own host interface which was confused by a length of zero ! Overloading qc_prep seems the way to go here. As you say, some comments may be in order ! Regards, MikeW - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html