nvme: add explicit quirk handling
[linux-2.6-block.git] / drivers / nvme / host / nvme.h
index 3b3f855580eec13a1a7c65ea3ec0b0a0354fcf08..f7f16e32104f52cf7a8a295bac280683f26b73c4 100644 (file)
@@ -32,6 +32,18 @@ enum {
        NVME_NS_LIGHTNVM        = 1,
 };
 
+/*
+ * List of workarounds for devices that required behavior not specified in
+ * the standard.
+ */
+enum nvme_quirks {
+       /*
+        * Prefers I/O aligned to a stripe size specified in a vendor
+        * specific Identify field.
+        */
+       NVME_QUIRK_STRIPE_SIZE                  = (1 << 0),
+};
+
 struct nvme_ctrl {
        const struct nvme_ctrl_ops *ops;
        struct request_queue *admin_q;
@@ -47,6 +59,7 @@ struct nvme_ctrl {
        u16 abort_limit;
        u8 event_limit;
        u8 vwc;
+       unsigned long quirks;
 };
 
 /*