Sergei Shtylyov wrote:
Mark Lord wrote:
Ugh. The drives default to 520 bytes (always),
The old IDE drives used to have 4 and 7 byte ECC (seen in ancient
Phoenix BIOS).
Yes -- 4-bytes means a 520-byte transfer when using 16-bit words.
The ATA standard specifies a default of 520 bytes,
or a SETFEATURES command to enable a different length.
Here it is from ATA-1:
9.9.8 Word 22: ECC bytes available on read/write long commands
If the contents of this field are set to a value other than 4, the only way
to use this information is via the Set Features commands.
And again from ATA-3:
Section 2.1.7: ... The default length of the vendor specific bytpes associated
with the READ LONG and WRITE LONG commands is four bytes, but may be changed
by use of the SET FEATURES command.
It helps to verify stuff like this. The best ways to do
that are (1) to read the specs, and (2) actually implement
and test the code using both ancient and modern drives on
multiple controllers. All of which has been done here.
Cheers
-
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