summaryrefslogtreecommitdiff
path: root/include/linux/libata.h
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@redhat.com>2004-03-24 14:53:07 -0500
committerJeff Garzik <jgarzik@redhat.com>2004-03-24 14:53:07 -0500
commit3b64bb0c7a16402f8614754bf3424c579cd0e1a6 (patch)
tree11dcd509503375d6fbc6d3b0a44563bc45f0f886 /include/linux/libata.h
parentafca2f6962bde8e41446b622cea18655c384032f (diff)
[libata] set up some of the per-command data beforehand
The data transfer mode and the set of read/write commands we generate during normal operation remains constant until we change the data transfer mode. This removes a series of branches in the read/write fast path, and in general cleans up that particular spot of code.
Diffstat (limited to 'include/linux/libata.h')
-rw-r--r--include/linux/libata.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 3a1cb04caec7..6a99ef6ceb66 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -293,6 +293,12 @@ struct ata_device {
* ATAPI7 spec size, 40 ASCII
* characters
*/
+
+ /* cache info about current transfer mode */
+ u8 r_protocol; /* taskfile read protocol */
+ u8 w_protocol; /* taskfile write protocol */
+ u8 read_cmd; /* opcode to use on read */
+ u8 write_cmd; /* opcode to use on write */
};
struct ata_engine {