summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Wilcox <matthew.r.wilcox@intel.com>2011-11-04 16:24:23 -0400
committerMatthew Wilcox <matthew.r.wilcox@intel.com>2011-11-04 16:24:23 -0400
commit010e646ba2fdfc558048a97da746381c35836280 (patch)
tree6d521949a300fd72de79f8468ef309446af170d4
parentf1938f6e1ee1583c87ec74dc406fdd8694e99ac8 (diff)
downloadlinux-010e646ba2fdfc558048a97da746381c35836280.tar.gz
linux-010e646ba2fdfc558048a97da746381c35836280.tar.bz2
linux-010e646ba2fdfc558048a97da746381c35836280.zip
NVMe: Update Identify Controller data structure
The driver was still using an old definition of Identify Controller which only came to light once we started using the 'number of namespaces' field properly. Reported-by: Nisheeth Bhat <nisheeth.bhat@intel.com> Reported-by: Khosrow Panah <Khosrow.Panah@idt.com> Signed-off-by: Matthew Wilcox <matthew.r.wilcox@intel.com>
-rw-r--r--include/linux/nvme.h27
1 files changed, 22 insertions, 5 deletions
diff --git a/include/linux/nvme.h b/include/linux/nvme.h
index 2a2c535c8345..9490a00529f4 100644
--- a/include/linux/nvme.h
+++ b/include/linux/nvme.h
@@ -57,6 +57,18 @@ enum {
NVME_CSTS_SHST_CMPLT = 2 << 2,
};
+struct nvme_id_power_state {
+ __le16 max_power; /* centiwatts */
+ __u16 rsvd2;
+ __le32 entry_lat; /* microseconds */
+ __le32 exit_lat; /* microseconds */
+ __u8 read_tput;
+ __u8 read_lat;
+ __u8 write_tput;
+ __u8 write_lat;
+ __u8 rsvd16[16];
+};
+
#define NVME_VS(major, minor) (major << 16 | minor)
struct nvme_id_ctrl {
@@ -65,9 +77,11 @@ struct nvme_id_ctrl {
char sn[20];
char mn[40];
char fr[8];
- __le32 nn;
__u8 rab;
- __u8 rsvd77[178];
+ __u8 ieee[3];
+ __u8 mic;
+ __u8 mdts;
+ __u8 rsvd78[178];
__le16 oacs;
__u8 acl;
__u8 aerl;
@@ -76,15 +90,18 @@ struct nvme_id_ctrl {
__u8 elpe;
__u8 npss;
__u8 rsvd264[248];
- __le64 psd[32];
+ __u8 sqes;
+ __u8 cqes;
+ __u8 rsvd514[2];
+ __le32 nn;
__le16 oncs;
__le16 fuses;
__u8 fna;
__u8 vwc;
__le16 awun;
__le16 awupf;
- __u8 rsvd778[246];
- __u8 cmdset[2048];
+ __u8 rsvd530[1518];
+ struct nvme_id_power_state psd[32];
__u8 vs[1024];
};