This message is from the T13 list server.
Curtis Stevens wrote:
Just a heads up, I posted a proposal (04-260.PDF) for documenting how a SCSI command maps to an ATA command.
This is fantastic. A standard method of ATA passthru is the last piece of the puzzle, WRT SCSI<->ATA translation, that Linux needed. Thank you.
One problem, which appears to be easily correctable:
Any ATA passthru method must specify the command protocol: DMA-In, DMA-Out, TCQ DMA-In, TCQ DMA-Out, PIO-In, PIO-Out, PIO-In-Mult, etc.
Rationale:
1) For standard ATA commands, a cumbersome (and unneeded) lookup table or C 'switch' statement is required to obtain the command protocol.
2) The low-level ATA driver has no idea how to execute a vendor-reserved ATA command without the command protocol.
My suggestion is to used the 'Reserved' byte for this data field.
The current Linux implementation of the "taskfile ioctl" (a.k.a. ATA passthru) includes the command protocol field.
Jeff
