Re: Kernel Summit request for Discussion of future of ATA (libata)and IDE

From: Alan Cox
Date: Mon Aug 04 2008 - 17:27:45 EST


> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/