Messages in this thread | | | Date | Mon, 4 Aug 2008 22:06:19 +0100 | From | Alan Cox <> | Subject | Re: Kernel Summit request for Discussion of future of ATA (libata) and IDE |
| |
> I guess that bit doesn't really make any difference with remotely modern > drives, then.. Could we make that ata_id_has_dword_io check always > return true if ata_id_is_ata returns true and only check word 48 if not?
I suspect (but need to dig further) that ata_id_has_dword_io should only be called by pata_legacy.
> I saw Willy Tarreau's patch from February for this, I agree that we > should likely use a separate data_xfer method for 32-bit transfer (or if > enough controllers should support 32-bit, then just make it be the > default and make a separate 16-bit only function for those that don't), > rather than punting the decision to the user with hdparm.
Definitely.
> You mentioned in the thread for Willy's patch that "some > controllers have quirky rules for 32bit xfers" - any details anywhere?
There are two main ones
- Some controllers only support 32bit I/O for a multiple of 32bit values [sometimes 'unless the fifo is disabled']. I'd have to go back over the docs but I think the AMD may be one of those - Some controllers (VLB generally) require a magic sequence before the transfer. You'll see that in the pata_legacy bits.
Alan
| |