diff options
author | Matthew Wilcox <matthew.r.wilcox@intel.com> | 2011-01-26 10:01:21 -0500 |
---|---|---|
committer | Matthew Wilcox <matthew.r.wilcox@intel.com> | 2011-11-04 15:52:52 -0400 |
commit | 7b4fe9b1cb4b9a6f4ae23a12ef96d08d96e2a5da (patch) | |
tree | c5e89185b80fe59e2b66a5425816cfa5d430170c /include/linux/nvme.h | |
parent | 36c14ed9caa957c686d4a48fd598a5ec2aa0331b (diff) |
NVMe: Make nvme_common_command more featureful
Add prp1, prp2 and the metadata prp to the common command, since the
fields are generally used this way.
Signed-off-by: Matthew Wilcox <matthew.r.wilcox@intel.com>
Diffstat (limited to 'include/linux/nvme.h')
-rw-r--r-- | include/linux/nvme.h | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/include/linux/nvme.h b/include/linux/nvme.h index 9ba53584f722..1c0b5ef08959 100644 --- a/include/linux/nvme.h +++ b/include/linux/nvme.h | |||
@@ -142,6 +142,18 @@ enum nvme_opcode { | |||
142 | nvme_cmd_dsm = 0x09, | 142 | nvme_cmd_dsm = 0x09, |
143 | }; | 143 | }; |
144 | 144 | ||
145 | struct nvme_common_command { | ||
146 | __u8 opcode; | ||
147 | __u8 flags; | ||
148 | __u16 command_id; | ||
149 | __le32 nsid; | ||
150 | __u64 rsvd2; | ||
151 | __le64 metadata; | ||
152 | __le64 prp1; | ||
153 | __le64 prp2; | ||
154 | __u32 rsvd10[6]; | ||
155 | }; | ||
156 | |||
145 | struct nvme_rw_command { | 157 | struct nvme_rw_command { |
146 | __u8 opcode; | 158 | __u8 opcode; |
147 | __u8 flags; | 159 | __u8 flags; |
@@ -284,14 +296,6 @@ struct nvme_delete_queue { | |||
284 | __le32 rsvd11[5]; | 296 | __le32 rsvd11[5]; |
285 | }; | 297 | }; |
286 | 298 | ||
287 | struct nvme_common_command { | ||
288 | __u8 opcode; | ||
289 | __u8 flags; | ||
290 | __u16 command_id; | ||
291 | __le32 nsid; | ||
292 | __u32 rsvd2[14]; | ||
293 | }; | ||
294 | |||
295 | struct nvme_command { | 299 | struct nvme_command { |
296 | union { | 300 | union { |
297 | struct nvme_common_command common; | 301 | struct nvme_common_command common; |