aboutsummaryrefslogtreecommitdiffstats
path: root/include/scsi/scsi.h
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2012-03-04 19:47:13 -0500
committerGlenn Elliott <gelliott@cs.unc.edu>2012-03-04 19:47:13 -0500
commitc71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch)
treeecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /include/scsi/scsi.h
parentea53c912f8a86a8567697115b6a0d8152beee5c8 (diff)
parent6a00f206debf8a5c8899055726ad127dbeeed098 (diff)
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts: litmus/sched_cedf.c
Diffstat (limited to 'include/scsi/scsi.h')
-rw-r--r--include/scsi/scsi.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/include/scsi/scsi.h b/include/scsi/scsi.h
index 8fcb6e0e9e72..3668903e397b 100644
--- a/include/scsi/scsi.h
+++ b/include/scsi/scsi.h
@@ -9,6 +9,7 @@
9#define _SCSI_SCSI_H 9#define _SCSI_SCSI_H
10 10
11#include <linux/types.h> 11#include <linux/types.h>
12#include <linux/scatterlist.h>
12 13
13struct scsi_cmnd; 14struct scsi_cmnd;
14 15
@@ -32,6 +33,12 @@ struct scsi_cmnd;
32#endif 33#endif
33 34
34/* 35/*
36 * DIX-capable adapters effectively support infinite chaining for the
37 * protection information scatterlist
38 */
39#define SCSI_MAX_PROT_SG_SEGMENTS 0xFFFF
40
41/*
35 * Special value for scanning to specify scanning or rescanning of all 42 * Special value for scanning to specify scanning or rescanning of all
36 * possible channels, (target) ids, or luns on a given shost. 43 * possible channels, (target) ids, or luns on a given shost.
37 */ 44 */
@@ -67,6 +74,7 @@ struct scsi_cmnd;
67#define SEND_DIAGNOSTIC 0x1d 74#define SEND_DIAGNOSTIC 0x1d
68#define ALLOW_MEDIUM_REMOVAL 0x1e 75#define ALLOW_MEDIUM_REMOVAL 0x1e
69 76
77#define READ_FORMAT_CAPACITIES 0x23
70#define SET_WINDOW 0x24 78#define SET_WINDOW 0x24
71#define READ_CAPACITY 0x25 79#define READ_CAPACITY 0x25
72#define READ_10 0x28 80#define READ_10 0x28
@@ -96,6 +104,8 @@ struct scsi_cmnd;
96#define WRITE_SAME 0x41 104#define WRITE_SAME 0x41
97#define UNMAP 0x42 105#define UNMAP 0x42
98#define READ_TOC 0x43 106#define READ_TOC 0x43
107#define READ_HEADER 0x44
108#define GET_EVENT_STATUS_NOTIFICATION 0x4a
99#define LOG_SELECT 0x4c 109#define LOG_SELECT 0x4c
100#define LOG_SENSE 0x4d 110#define LOG_SENSE 0x4d
101#define XDWRITEREAD_10 0x53 111#define XDWRITEREAD_10 0x53
@@ -107,33 +117,61 @@ struct scsi_cmnd;
107#define PERSISTENT_RESERVE_OUT 0x5f 117#define PERSISTENT_RESERVE_OUT 0x5f
108#define VARIABLE_LENGTH_CMD 0x7f 118#define VARIABLE_LENGTH_CMD 0x7f
109#define REPORT_LUNS 0xa0 119#define REPORT_LUNS 0xa0
120#define SECURITY_PROTOCOL_IN 0xa2
110#define MAINTENANCE_IN 0xa3 121#define MAINTENANCE_IN 0xa3
111#define MAINTENANCE_OUT 0xa4 122#define MAINTENANCE_OUT 0xa4
112#define MOVE_MEDIUM 0xa5 123#define MOVE_MEDIUM 0xa5
113#define EXCHANGE_MEDIUM 0xa6 124#define EXCHANGE_MEDIUM 0xa6
114#define READ_12 0xa8 125#define READ_12 0xa8
115#define WRITE_12 0xaa 126#define WRITE_12 0xaa
127#define READ_MEDIA_SERIAL_NUMBER 0xab
116#define WRITE_VERIFY_12 0xae 128#define WRITE_VERIFY_12 0xae
117#define VERIFY_12 0xaf 129#define VERIFY_12 0xaf
118#define SEARCH_HIGH_12 0xb0 130#define SEARCH_HIGH_12 0xb0
119#define SEARCH_EQUAL_12 0xb1 131#define SEARCH_EQUAL_12 0xb1
120#define SEARCH_LOW_12 0xb2 132#define SEARCH_LOW_12 0xb2
133#define SECURITY_PROTOCOL_OUT 0xb5
121#define READ_ELEMENT_STATUS 0xb8 134#define READ_ELEMENT_STATUS 0xb8
122#define SEND_VOLUME_TAG 0xb6 135#define SEND_VOLUME_TAG 0xb6
123#define WRITE_LONG_2 0xea 136#define WRITE_LONG_2 0xea
137#define EXTENDED_COPY 0x83
138#define RECEIVE_COPY_RESULTS 0x84
139#define ACCESS_CONTROL_IN 0x86
140#define ACCESS_CONTROL_OUT 0x87
124#define READ_16 0x88 141#define READ_16 0x88
125#define WRITE_16 0x8a 142#define WRITE_16 0x8a
143#define READ_ATTRIBUTE 0x8c
144#define WRITE_ATTRIBUTE 0x8d
126#define VERIFY_16 0x8f 145#define VERIFY_16 0x8f
127#define WRITE_SAME_16 0x93 146#define WRITE_SAME_16 0x93
128#define SERVICE_ACTION_IN 0x9e 147#define SERVICE_ACTION_IN 0x9e
129/* values for service action in */ 148/* values for service action in */
130#define SAI_READ_CAPACITY_16 0x10 149#define SAI_READ_CAPACITY_16 0x10
131#define SAI_GET_LBA_STATUS 0x12 150#define SAI_GET_LBA_STATUS 0x12
151/* values for VARIABLE_LENGTH_CMD service action codes
152 * see spc4r17 Section D.3.5, table D.7 and D.8 */
153#define VLC_SA_RECEIVE_CREDENTIAL 0x1800
132/* values for maintenance in */ 154/* values for maintenance in */
155#define MI_REPORT_IDENTIFYING_INFORMATION 0x05
133#define MI_REPORT_TARGET_PGS 0x0a 156#define MI_REPORT_TARGET_PGS 0x0a
157#define MI_REPORT_ALIASES 0x0b
158#define MI_REPORT_SUPPORTED_OPERATION_CODES 0x0c
159#define MI_REPORT_SUPPORTED_TASK_MANAGEMENT_FUNCTIONS 0x0d
160#define MI_REPORT_PRIORITY 0x0e
161#define MI_REPORT_TIMESTAMP 0x0f
162#define MI_MANAGEMENT_PROTOCOL_IN 0x10
134/* values for maintenance out */ 163/* values for maintenance out */
164#define MO_SET_IDENTIFYING_INFORMATION 0x06
135#define MO_SET_TARGET_PGS 0x0a 165#define MO_SET_TARGET_PGS 0x0a
166#define MO_CHANGE_ALIASES 0x0b
167#define MO_SET_PRIORITY 0x0e
168#define MO_SET_TIMESTAMP 0x0f
169#define MO_MANAGEMENT_PROTOCOL_OUT 0x10
136/* values for variable length command */ 170/* values for variable length command */
171#define XDREAD_32 0x03
172#define XDWRITE_32 0x04
173#define XPWRITE_32 0x06
174#define XDWRITEREAD_32 0x07
137#define READ_32 0x09 175#define READ_32 0x09
138#define VERIFY_32 0x0a 176#define VERIFY_32 0x0a
139#define WRITE_32 0x0b 177#define WRITE_32 0x0b
@@ -397,6 +435,10 @@ static inline int scsi_is_wlun(unsigned int lun)
397 * recover the link. Transport class will 435 * recover the link. Transport class will
398 * retry or fail IO */ 436 * retry or fail IO */
399#define DID_TRANSPORT_FAILFAST 0x0f /* Transport class fastfailed the io */ 437#define DID_TRANSPORT_FAILFAST 0x0f /* Transport class fastfailed the io */
438#define DID_TARGET_FAILURE 0x10 /* Permanent target failure, do not retry on
439 * other paths */
440#define DID_NEXUS_FAILURE 0x11 /* Permanent nexus failure, retry on other
441 * paths might yield different results */
400#define DRIVER_OK 0x00 /* Driver status */ 442#define DRIVER_OK 0x00 /* Driver status */
401 443
402/* 444/*
@@ -426,6 +468,7 @@ static inline int scsi_is_wlun(unsigned int lun)
426#define TIMEOUT_ERROR 0x2007 468#define TIMEOUT_ERROR 0x2007
427#define SCSI_RETURN_NOT_HANDLED 0x2008 469#define SCSI_RETURN_NOT_HANDLED 0x2008
428#define FAST_IO_FAIL 0x2009 470#define FAST_IO_FAIL 0x2009
471#define TARGET_ERROR 0x200A
429 472
430/* 473/*
431 * Midlevel queue return values. 474 * Midlevel queue return values.