diff options
| author | Jeff Garzik <jgarzik@redhat.com> | 2004-03-24 14:53:07 -0500 |
|---|---|---|
| committer | Jeff Garzik <jgarzik@redhat.com> | 2004-03-24 14:53:07 -0500 |
| commit | 3b64bb0c7a16402f8614754bf3424c579cd0e1a6 (patch) | |
| tree | 11dcd509503375d6fbc6d3b0a44563bc45f0f886 /include/linux/libata.h | |
| parent | afca2f6962bde8e41446b622cea18655c384032f (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.h | 6 |
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 { |
