Albert Lee wrote:
..
It looks like the ATA passthru commands contain more information than
what libata needs to execute a command.
e.g. protocol number:
libata could possibly infer the protocol from the command opcode.
e.g. multi_count:
libata caches dev->multi_count. Passing multi_count along with
each passthru command looks useless for libata.
e.g. t_dir:
libata could possible infer the direction from the command opcode
or from the protocol number (e.g. 4: PIO_IN / 5: PIO_OUT).
I wonder if the *intent* of the specification was that the low-level driver
should perform whatever setup is necessary to issue the command as given.
So if the command specifies a multcount of 8, then the LLD should issue the
appropriate initialization commands to use a multcount of 8, and then issue
the given R/W MULT command, and then perhaps reset the multcount back to
what it was normally (beforehand) ?
Ditto for the others.
I am *not* proposing that we actually do it this way,
but rather just suggesting a possible rationale.
What does the SAT spec say? Any further hints as to the intent?
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