aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDave Jiang <dave.jiang@intel.com>2011-05-04 22:01:01 -0400
committerDan Williams <dan.j.williams@intel.com>2011-07-03 07:04:46 -0400
commit8694e79287ad92e351feceededeb6804babb6d9a (patch)
tree2ec023f11cb8133471dcd7a3c1ddc400b21e10e8 /drivers
parent2d9c2240e0bad47e8d08091016b537287a263976 (diff)
isci: removing intel_*.h headers
Signed-off-by: Dave Jiang <dave.jiang@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/scsi/isci/core/intel_sas.h178
-rw-r--r--drivers/scsi/isci/core/intel_scsi.h474
-rw-r--r--drivers/scsi/isci/core/scic_config_parameters.h1
-rw-r--r--drivers/scsi/isci/core/scic_io_request.h6
-rw-r--r--drivers/scsi/isci/core/scic_phy.h1
-rw-r--r--drivers/scsi/isci/core/scic_port.h2
-rw-r--r--drivers/scsi/isci/core/scic_sds_phy.h2
-rw-r--r--drivers/scsi/isci/core/scic_sds_port.c2
-rw-r--r--drivers/scsi/isci/core/scic_sds_port.h2
-rw-r--r--drivers/scsi/isci/core/scic_sds_request.c6
-rw-r--r--drivers/scsi/isci/core/scic_sds_request.h1
-rw-r--r--drivers/scsi/isci/core/scic_sds_smp_request.c2
-rw-r--r--drivers/scsi/isci/core/scic_sds_smp_request.h1
-rw-r--r--drivers/scsi/isci/core/scic_sds_ssp_request.c1
-rw-r--r--drivers/scsi/isci/core/scic_sds_stp_packet_request.h1
-rw-r--r--drivers/scsi/isci/remote_device.c2
-rw-r--r--drivers/scsi/isci/remote_device.h1
-rw-r--r--drivers/scsi/isci/sas.h10
18 files changed, 17 insertions, 676 deletions
diff --git a/drivers/scsi/isci/core/intel_sas.h b/drivers/scsi/isci/core/intel_sas.h
deleted file mode 100644
index 156694fc8dee..000000000000
--- a/drivers/scsi/isci/core/intel_sas.h
+++ /dev/null
@@ -1,178 +0,0 @@
1/*
2 * This file is provided under a dual BSD/GPLv2 license. When using or
3 * redistributing this file, you may do so under either license.
4 *
5 * GPL LICENSE SUMMARY
6 *
7 * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved.
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of version 2 of the GNU General Public License as
11 * published by the Free Software Foundation.
12 *
13 * This program is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
21 * The full GNU General Public License is included in this distribution
22 * in the file called LICENSE.GPL.
23 *
24 * BSD LICENSE
25 *
26 * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved.
27 * All rights reserved.
28 *
29 * Redistribution and use in source and binary forms, with or without
30 * modification, are permitted provided that the following conditions
31 * are met:
32 *
33 * * Redistributions of source code must retain the above copyright
34 * notice, this list of conditions and the following disclaimer.
35 * * Redistributions in binary form must reproduce the above copyright
36 * notice, this list of conditions and the following disclaimer in
37 * the documentation and/or other materials provided with the
38 * distribution.
39 * * Neither the name of Intel Corporation nor the names of its
40 * contributors may be used to endorse or promote products derived
41 * from this software without specific prior written permission.
42 *
43 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
44 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
45 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
46 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
47 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
48 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
49 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
50 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
51 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
52 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
53 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
54 */
55
56#ifndef _INTEL_SAS_H_
57#define _INTEL_SAS_H_
58
59/**
60 * This file contains all of the definitions relating to structures, constants,
61 * etc. defined by the SAS specification.
62 *
63 *
64 */
65#include <linux/kernel.h>
66#include "intel_scsi.h"
67
68/**
69 * struct sci_sas_address - This structure depicts how a SAS address is
70 * represented by SCI.
71 *
72 *
73 */
74struct sci_sas_address {
75 /**
76 * This member contains the higher 32-bits of the SAS address.
77 */
78 u32 high;
79
80 /**
81 * This member contains the lower 32-bits of the SAS address.
82 */
83 u32 low;
84
85};
86
87/**
88 * enum _SCI_SAS_TASK_ATTRIBUTE - This enumeration depicts the SAM/SAS
89 * specification defined task attribute values for a command information
90 * unit.
91 *
92 *
93 */
94enum sci_sas_task_attribute {
95 SCI_SAS_SIMPLE_ATTRIBUTE = 0,
96 SCI_SAS_HEAD_OF_QUEUE_ATTRIBUTE = 1,
97 SCI_SAS_ORDERED_ATTRIBUTE = 2,
98 SCI_SAS_ACA_ATTRIBUTE = 4,
99};
100
101/**
102 * enum _SCI_SAS_TASK_MGMT_FUNCTION - This enumeration depicts the SAM/SAS
103 * specification defined task management functions.
104 *
105 * This HARD_RESET function listed here is not actually defined as a task
106 * management function in the industry standard.
107 */
108enum sci_sas_task_mgmt_function {
109 SCI_SAS_ABORT_TASK = SCSI_TASK_REQUEST_ABORT_TASK,
110 SCI_SAS_ABORT_TASK_SET = SCSI_TASK_REQUEST_ABORT_TASK_SET,
111 SCI_SAS_CLEAR_TASK_SET = SCSI_TASK_REQUEST_CLEAR_TASK_SET,
112 SCI_SAS_LOGICAL_UNIT_RESET = SCSI_TASK_REQUEST_LOGICAL_UNIT_RESET,
113 SCI_SAS_I_T_NEXUS_RESET = SCSI_TASK_REQUEST_I_T_NEXUS_RESET,
114 SCI_SAS_CLEAR_ACA = SCSI_TASK_REQUEST_CLEAR_ACA,
115 SCI_SAS_QUERY_TASK = SCSI_TASK_REQUEST_QUERY_TASK,
116 SCI_SAS_QUERY_TASK_SET = SCSI_TASK_REQUEST_QUERY_TASK_SET,
117 SCI_SAS_QUERY_ASYNCHRONOUS_EVENT = SCSI_TASK_REQUEST_QUERY_UNIT_ATTENTION,
118 SCI_SAS_HARD_RESET = 0xFF
119};
120
121
122/**
123 * enum _SCI_SAS_FRAME_TYPE - This enumeration depicts the SAS specification
124 * defined SSP frame types.
125 *
126 *
127 */
128enum sci_sas_frame_type {
129 SCI_SAS_DATA_FRAME = 0x01,
130 SCI_SAS_XFER_RDY_FRAME = 0x05,
131 SCI_SAS_COMMAND_FRAME = 0x06,
132 SCI_SAS_RESPONSE_FRAME = 0x07,
133 SCI_SAS_TASK_FRAME = 0x16
134};
135
136#define PHY_OPERATION_NOP 0x00
137#define PHY_OPERATION_LINK_RESET 0x01
138#define PHY_OPERATION_HARD_RESET 0x02
139#define PHY_OPERATION_DISABLE 0x03
140#define PHY_OPERATION_CLEAR_ERROR_LOG 0x05
141#define PHY_OPERATION_CLEAR_AFFILIATION 0x06
142
143#define NPLR_PHY_ENABLED_UNK_LINK_RATE 0x00
144#define NPLR_PHY_DISABLED 0x01
145#define NPLR_PHY_ENABLED_SPD_NEG_FAILED 0x02
146#define NPLR_PHY_ENABLED_SATA_HOLD 0x03
147#define NPLR_PHY_ENABLED_1_5G 0x08
148#define NPLR_PHY_ENABLED_3_0G 0x09
149
150/* SMP Function Result values. */
151#define SMP_RESULT_FUNCTION_ACCEPTED 0x00
152#define SMP_RESULT_UNKNOWN_FUNCTION 0x01
153#define SMP_RESULT_FUNCTION_FAILED 0x02
154#define SMP_RESULT_INVALID_REQUEST_FRAME_LEN 0x03
155#define SMP_RESULT_INAVALID_EXPANDER_CHANGE_COUNT 0x04
156#define SMP_RESULT_BUSY 0x05
157#define SMP_RESULT_INCOMPLETE_DESCRIPTOR_LIST 0x06
158#define SMP_RESULT_PHY_DOES_NOT_EXIST 0x10
159#define SMP_RESULT_INDEX_DOES_NOT_EXIST 0x11
160#define SMP_RESULT_PHY_DOES_NOT_SUPPORT_SATA 0x12
161#define SMP_RESULT_UNKNOWN_PHY_OPERATION 0x13
162#define SMP_RESULT_UNKNOWN_PHY_TEST_FUNCTION 0x14
163#define SMP_RESULT_PHY_TEST_IN_PROGRESS 0x15
164#define SMP_RESULT_PHY_VACANT 0x16
165
166/* Attached Device Types */
167#define SMP_NO_DEVICE_ATTACHED 0
168#define SMP_END_DEVICE_ONLY 1
169#define SMP_EDGE_EXPANDER_DEVICE 2
170#define SMP_FANOUT_EXPANDER_DEVICE 3
171
172/* Expander phy routine attribute */
173#define DIRECT_ROUTING_ATTRIBUTE 0
174#define SUBTRACTIVE_ROUTING_ATTRIBUTE 1
175#define TABLE_ROUTING_ATTRIBUTE 2
176
177#endif /* _INTEL_SAS_H_ */
178
diff --git a/drivers/scsi/isci/core/intel_scsi.h b/drivers/scsi/isci/core/intel_scsi.h
deleted file mode 100644
index 1e45d3c98127..000000000000
--- a/drivers/scsi/isci/core/intel_scsi.h
+++ /dev/null
@@ -1,474 +0,0 @@
1/*
2 * This file is provided under a dual BSD/GPLv2 license. When using or
3 * redistributing this file, you may do so under either license.
4 *
5 * GPL LICENSE SUMMARY
6 *
7 * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved.
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of version 2 of the GNU General Public License as
11 * published by the Free Software Foundation.
12 *
13 * This program is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
21 * The full GNU General Public License is included in this distribution
22 * in the file called LICENSE.GPL.
23 *
24 * BSD LICENSE
25 *
26 * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved.
27 * All rights reserved.
28 *
29 * Redistribution and use in source and binary forms, with or without
30 * modification, are permitted provided that the following conditions
31 * are met:
32 *
33 * * Redistributions of source code must retain the above copyright
34 * notice, this list of conditions and the following disclaimer.
35 * * Redistributions in binary form must reproduce the above copyright
36 * notice, this list of conditions and the following disclaimer in
37 * the documentation and/or other materials provided with the
38 * distribution.
39 * * Neither the name of Intel Corporation nor the names of its
40 * contributors may be used to endorse or promote products derived
41 * from this software without specific prior written permission.
42 *
43 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
44 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
45 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
46 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
47 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
48 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
49 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
50 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
51 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
52 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
53 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
54 */
55
56/**
57 * This file defines all of the SCSI related constants, enumerations, and
58 * types. Please note that this file does not necessarily contain an
59 * exhaustive list of all constants, commands, sub-commands, etc.
60 *
61 *
62 */
63
64#ifndef _SCSI_H__
65#define _SCSI_H__
66
67
68/*
69 * ******************************************************************************
70 * * C O N S T A N T S A N D M A C R O S
71 * ****************************************************************************** */
72
73/**
74 * enum _SCSI_TASK_MGMT_REQUEST_CODES - This enumberation contains the
75 * constants to be used for SCSI task management request codes. SAM does
76 * not specify any particular values for these codes so constants used here
77 * are the same as those specified in SAS.
78 *
79 *
80 */
81enum scsi_task_mgmt_request_codes {
82 SCSI_TASK_REQUEST_ABORT_TASK = 0x01,
83 SCSI_TASK_REQUEST_ABORT_TASK_SET = 0x02,
84 SCSI_TASK_REQUEST_CLEAR_TASK_SET = 0x04,
85 SCSI_TASK_REQUEST_LOGICAL_UNIT_RESET = 0x08,
86 SCSI_TASK_REQUEST_I_T_NEXUS_RESET = 0x10,
87 SCSI_TASK_REQUEST_CLEAR_ACA = 0x40,
88 SCSI_TASK_REQUEST_QUERY_TASK = 0x80,
89 SCSI_TASK_REQUEST_QUERY_TASK_SET = 0x81,
90 SCSI_TASK_REQUEST_QUERY_UNIT_ATTENTION = 0x82,
91
92};
93
94/**
95 * enum _SCSI_TASK_MGMT_RESPONSE_CODES - This enumeration contains all of the
96 * SCSI task management response codes.
97 *
98 *
99 */
100enum scsi_task_mgmt_response_codes {
101 SCSI_TASK_MGMT_FUNC_COMPLETE = 0,
102 SCSI_INVALID_FRAME = 2,
103 SCSI_TASK_MGMT_FUNC_NOT_SUPPORTED = 4,
104 SCSI_TASK_MGMT_FUNC_FAILED = 5,
105 SCSI_TASK_MGMT_FUNC_SUCCEEDED = 8,
106 SCSI_INVALID_LUN = 9
107};
108
109/**
110 * enum _SCSI_SENSE_RESPONSE_CODE - this enumeration depicts the types of sense
111 * data responses as per SPC-3.
112 *
113 *
114 */
115enum scsi_sense_response_code {
116 SCSI_FIXED_CURRENT_RESPONSE_CODE = 0x70,
117 SCSI_FIXED_DEFERRED_RESPONSE_CODE = 0x71,
118 SCSI_DESCRIPTOR_CURRENT_RESPONSE_CODE = 0x72,
119 SCSI_DESCRIPTOR_DEFERRED_RESPONSE_CODE = 0x73
120
121};
122
123/*
124 * This constant represents the valid bit located in byte 0 of a FIXED
125 * format sense data. */
126#define SCSI_FIXED_SENSE_DATA_VALID_BIT 0x80
127
128#define SCSI_FIXED_SENSE_DATA_BASE_LENGTH 18
129
130/* This value is used in the DATAPRES field of the SCSI Response IU. */
131#define SCSI_RESPONSE_DATA_PRES_SENSE_DATA 0x02
132
133/**
134 *
135 *
136 * SCSI_SENSE_KEYS These constants delineate all of the SCSI protocol sense key
137 * constants
138 */
139#define SCSI_SENSE_NO_SENSE 0x00
140#define SCSI_SENSE_RECOVERED_ERROR 0x01
141#define SCSI_SENSE_NOT_READY 0x02
142#define SCSI_SENSE_MEDIUM_ERROR 0x03
143#define SCSI_SENSE_HARDWARE_ERROR 0x04
144#define SCSI_SENSE_ILLEGAL_REQUEST 0x05
145#define SCSI_SENSE_UNIT_ATTENTION 0x06
146#define SCSI_SENSE_DATA_PROTECT 0x07
147#define SCSI_SENSE_BLANK_CHECK 0x08
148#define SCSI_SENSE_VENDOR_SPECIFIC 0x09
149#define SCSI_SENSE_COPY_ABORTED 0x0A
150#define SCSI_SENSE_ABORTED_COMMAND 0x0B
151#define SCSI_SENSE_VOLUME_OVERFLOW 0x0D
152#define SCSI_SENSE_MISCOMPARE 0x0E
153
154/**
155 *
156 *
157 * SCSI_ADDITIONAL_SENSE_CODES These constants delineate all of the SCSI
158 * protocol additional sense code constants.
159 */
160#define SCSI_ASC_NO_ADDITIONAL_SENSE 0x00
161#define SCSI_ASC_INITIALIZING_COMMAND_REQUIRED 0x04
162#define SCSI_ASC_LUN_SELF_TEST_IN_PROGRESS 0x04
163#define SCSI_ASC_LUN_FORMAT_IN_PROGRESS 0x04
164#define SCSI_ASC_LUN_NOT_RESPOND_TO_SELECTION 0x05
165#define SCSI_ASC_UNRECOVERED_READ_ERROR 0x11
166#define SCSI_ASC_INVALID_COMMAND_OPERATION_CODE 0x20
167#define SCSI_ASC_LBA_OUT_OF_RANGE 0x21
168#define SCSI_ASC_INVALID_FIELD_IN_CDB 0x24
169#define SCSI_ASC_INVALID_FIELD_IN_PARM_LIST 0x26
170#define SCSI_ASC_WRITE_PROTECTED 0x27
171#define SCSI_ASC_NOT_READY_TO_READY_CHANGE 0x28
172#define SCSI_ASC_SAVING_PARMS_NOT_SUPPORTED 0x39
173#define SCSI_ASC_MEDIUM_NOT_PRESENT 0x3A
174#define SCSI_ASC_INTERNAL_TARGET_FAILURE 0x44
175#define SCSI_ASC_IU_CRC_ERROR_DETECTED 0x47
176#define SCSI_ASC_MEDIUM_REMOVAL_REQUEST 0x5A
177#define SCSI_ASC_COMMAND_SEQUENCE_ERROR 0x2C
178#define SCSI_ASC_MEDIA_LOAD_OR_EJECT_FAILED 0x53
179#define SCSI_ASC_HARDWARE_IMPENDING_FAILURE 0x5D
180#define SCSI_ASC_POWER_STATE_CHANGE 0x5E
181#define SCSI_DIAGNOSTIC_FAILURE_ON_COMPONENT 0x40
182#define SCSI_ASC_ATA_DEVICE_FEATURE_NOT_ENABLED 0x67
183
184/**
185 *
186 *
187 * SCSI_ADDITIONAL_SENSE_CODE_QUALIFIERS This enumeration contains all of the
188 * used SCSI protocol additional sense code qualifier constants.
189 */
190#define SCSI_ASCQ_NO_ADDITIONAL_SENSE 0x00
191#define SCSI_ASCQ_INVALID_FIELD_IN_CDB 0x00
192#define SCSI_ASCQ_INVALID_FIELD_IN_PARM_LIST 0x00
193#define SCSI_ASCQ_LUN_NOT_RESPOND_TO_SELECTION 0x00
194#define SCSI_ASCQ_INTERNAL_TARGET_FAILURE 0x00
195#define SCSI_ASCQ_LBA_OUT_OF_RANGE 0x00
196#define SCSI_ASCQ_MEDIUM_NOT_PRESENT 0x00
197#define SCSI_ASCQ_NOT_READY_TO_READY_CHANGE 0x00
198#define SCSI_ASCQ_WRITE_PROTECTED 0x00
199#define SCSI_ASCQ_UNRECOVERED_READ_ERROR 0x00
200#define SCSI_ASCQ_SAVING_PARMS_NOT_SUPPORTED 0x00
201#define SCSI_ASCQ_INVALID_COMMAND_OPERATION_CODE 0x00
202#define SCSI_ASCQ_MEDIUM_REMOVAL_REQUEST 0x01
203#define SCSI_ASCQ_INITIALIZING_COMMAND_REQUIRED 0x02
204#define SCSI_ASCQ_IU_CRC_ERROR_DETECTED 0x03
205#define SCSI_ASCQ_LUN_FORMAT_IN_PROGRESS 0x04
206#define SCSI_ASCQ_LUN_SELF_TEST_IN_PROGRESS 0x09
207#define SCSI_ASCQ_GENERAL_HARD_DRIVE_FAILURE 0x10
208#define SCSI_ASCQ_IDLE_CONDITION_ACTIVATE_BY_COMMAND 0x03
209#define SCSI_ASCQ_STANDBY_CONDITION_ACTIVATE_BY_COMMAND 0x04
210#define SCSI_ASCQ_POWER_STATE_CHANGE_TO_IDLE 0x42
211#define SCSI_ASCQ_POWER_STATE_CHANGE_TO_STANDBY 0x43
212#define SCSI_ASCQ_ATA_DEVICE_FEATURE_NOT_ENABLED 0x0B
213#define SCSI_ASCQ_UNRECOVERED_READ_ERROR_AUTO_REALLOCATE_FAIL 0x04
214
215
216
217/**
218 *
219 *
220 * SCSI_STATUS_CODES These constants define all of the used SCSI status values.
221 */
222#define SCSI_STATUS_GOOD 0x00
223#define SCSI_STATUS_CHECK_CONDITION 0x02
224#define SCSI_STATUS_CONDITION_MET 0x04
225#define SCSI_STATUS_BUSY 0x08
226#define SCSI_STATUS_TASKFULL 0x28
227#define SCSI_STATUS_ACA 0x30
228#define SCSI_STATUS_ABORT 0x40
229
230/**
231 *
232 *
233 * SCSI_OPERATION_CODES These constants delineate all of the SCSI
234 * command/operation codes.
235 */
236#define SCSI_INQUIRY 0x12
237#define SCSI_READ_CAPACITY_10 0x25
238#define SCSI_SERVICE_ACTION_IN_16 0x9E
239#define SCSI_TEST_UNIT_READY 0x00
240#define SCSI_START_STOP_UNIT 0x1B
241#define SCSI_SYNCHRONIZE_CACHE_10 0x35
242#define SCSI_SYNCHRONIZE_CACHE_16 0x91
243#define SCSI_REQUEST_SENSE 0x03
244#define SCSI_REPORT_LUNS 0xA0
245#define SCSI_REASSIGN_BLOCKS 0x07
246#define SCSI_READ_6 0x08
247#define SCSI_READ_10 0x28
248#define SCSI_READ_12 0xA8
249#define SCSI_READ_16 0x88
250#define SCSI_WRITE_6 0x0A
251#define SCSI_WRITE_10 0x2A
252#define SCSI_WRITE_12 0xAA
253#define SCSI_WRITE_16 0x8A
254#define SCSI_VERIFY_10 0x2F
255#define SCSI_VERIFY_12 0xAF
256#define SCSI_VERIFY_16 0x8F
257#define SCSI_SEEK_6 0x01
258#define SCSI_SEEK_10 0x02
259#define SCSI_WRITE_VERIFY 0x2E
260#define SCSI_FORMAT_UNIT 0x04
261#define SCSI_READ_BUFFER 0x3C
262#define SCSI_WRITE_BUFFER 0x3B
263#define SCSI_SEND_DIAGNOSTIC 0x1D
264#define SCSI_RECEIVE_DIAGNOSTIC 0x1C
265#define SCSI_MODE_SENSE_6 0x1A
266#define SCSI_MODE_SENSE_10 0x5A
267#define SCSI_MODE_SELECT_6 0x15
268#define SCSI_MODE_SELECT_10 0x55
269#define SCSI_MAINTENANCE_IN 0xA3
270#define SCSI_LOG_SENSE 0x4D
271#define SCSI_LOG_SELECT 0x4C
272#define SCSI_RESERVE_6 0x16
273#define SCSI_RESERVE_10 0x56
274#define SCSI_RELEASE_6 0x17
275#define SCSI_RELEASE_10 0x57
276#define SCSI_ATA_PASSTHRU_12 0xA1
277#define SCSI_ATA_PASSTHRU_16 0x85
278#define SCSI_WRITE_LONG_10 0x3F
279#define SCSI_WRITE_LONG_16 0x9F
280#define SCSI_PERSISTENT_RESERVE_IN 0x5E
281#define SCSI_PERSISTENT_RESERVE_OUT 0x5F
282
283/**
284 *
285 *
286 * SCSI_SERVICE_ACTION_IN_CODES Service action in operations.
287 */
288#define SCSI_SERVICE_ACTION_IN_CODES_READ_CAPACITY_16 0x10
289
290#define SCSI_SERVICE_ACTION_MASK 0x1f
291
292/**
293 *
294 *
295 * SCSI_MAINTENANCE_IN_SERVICE_ACTION_CODES MAINTENANCE IN service action codes.
296 */
297#define SCSI_REPORT_TASK_MGMT 0x0D
298#define SCSI_REPORT_OP_CODES 0x0C
299
300/**
301 *
302 *
303 * SCSI_MODE_PAGE_CONTROLS These constants delineate all of the used SCSI Mode
304 * Page control values.
305 */
306#define SCSI_MODE_SENSE_PC_CURRENT 0x0
307#define SCSI_MODE_SENSE_PC_CHANGEABLE 0x1
308#define SCSI_MODE_SENSE_PC_DEFAULT 0x2
309#define SCSI_MODE_SENSE_PC_SAVED 0x3
310
311#define SCSI_MODE_SENSE_PC_SHIFT 0x06
312#define SCSI_MODE_SENSE_PAGE_CODE_ENABLE 0x3F
313#define SCSI_MODE_SENSE_DBD_ENABLE 0x08
314#define SCSI_MODE_SENSE_LLBAA_ENABLE 0x10
315
316/**
317 *
318 *
319 * SCSI_MODE_PAGE_CODES These constants delineate all of the used SCSI Mode
320 * Page codes.
321 */
322#define SCSI_MODE_PAGE_READ_WRITE_ERROR 0x01
323#define SCSI_MODE_PAGE_DISCONNECT_RECONNECT 0x02
324#define SCSI_MODE_PAGE_CACHING 0x08
325#define SCSI_MODE_PAGE_CONTROL 0x0A
326#define SCSI_MODE_PAGE_PROTOCOL_SPECIFIC_PORT 0x19
327#define SCSI_MODE_PAGE_POWER_CONDITION 0x1A
328#define SCSI_MODE_PAGE_INFORMATIONAL_EXCP_CONTROL 0x1C
329#define SCSI_MODE_PAGE_ALL_PAGES 0x3F
330
331#define SCSI_MODE_SENSE_ALL_SUB_PAGES_CODE 0xFF
332#define SCSI_MODE_SENSE_NO_SUB_PAGES_CODE 0x0
333#define SCSI_MODE_SENSE_PROTOCOL_PORT_NUM_SUBPAGES 0x1
334#define SCSI_MODE_PAGE_CACHE_PAGE_WCE_BIT 0x04
335#define SCSI_MODE_PAGE_CACHE_PAGE_DRA_BIT 0x20
336#define SCSI_MODE_PAGE_DEXCPT_ENABLE 0x08
337#define SCSI_MODE_SENSE_HEADER_FUA_ENABLE 0x10
338#define SCSI_MODE_PAGE_POWER_CONDITION_STANDBY 0x1
339#define SCSI_MODE_PAGE_POWER_CONDITION_IDLE 0x2
340
341#define SCSI_MODE_SENSE_6_HEADER_LENGTH 4
342#define SCSI_MODE_SENSE_10_HEADER_LENGTH 8
343#define SCSI_MODE_SENSE_STD_BLOCK_DESCRIPTOR_LENGTH 8
344#define SCSI_MODE_SENSE_LLBA_BLOCK_DESCRIPTOR_LENGTH 16
345
346#define SCSI_MODE_PAGE_INFORMATIONAL_EXCP_DXCPT_ENABLE 0x08
347#define SCSI_MODE_PAGE_19_SAS_ID 0x6
348#define SCSI_MODE_PAGE_19_SUB1_PAGE_NUM 0x1
349#define SCSI_MODE_PAGE_19_SUB1_PC 0x59
350
351#define SCSI_MODE_HEADER_MEDIUM_TYPE_SBC 0x00
352
353/* Mode Select constrains related masks value */
354#define SCSI_MODE_SELECT_PF_BIT 0x1
355#define SCSI_MODE_SELECT_PF_MASK 0x10
356#define SCSI_MODE_SELECT_MODE_PAGE_MRIE_BYTE 0x6
357#define SCSI_MODE_SELECT_MODE_PAGE_MRIE_MASK 0x0F
358#define SCSI_MODE_SELECT_MODE_PAGE_SPF_MASK 0x40
359#define SCSI_MODE_SELECT_MODE_PAGE_01_AWRE_MASK 0x80
360#define SCSI_MODE_SELECT_MODE_PAGE_01_ARRE_MASK 0x40
361#define SCSI_MODE_SELECT_MODE_PAGE_01_RC_ERBITS_MASK 0x1F
362#define SCSI_MODE_SELECT_MODE_PAGE_08_FSW_LBCSS_NVDIS 0xC1
363#define SCSI_MODE_SELECT_MODE_PAGE_1C_PERF_TEST 0x84
364#define SCSI_MODE_SELECT_MODE_PAGE_0A_TST_TMF_RLEC 0xF1
365#define SCSI_MODE_SELECT_MODE_PAGE_0A_MODIFIER 0xF0
366#define SCSI_MODE_SELECT_MODE_PAGE_0A_UA_SWP 0x38
367#define SCSI_MODE_SELECT_MODE_PAGE_0A_TAS_AUTO 0x47
368
369
370#define SCSI_CONTROL_BYTE_NACA_BIT_ENABLE 0x04
371#define SCSI_MOVE_FUA_BIT_ENABLE 0x08
372#define SCSI_READ_CAPACITY_PMI_BIT_ENABLE 0x01
373#define SCSI_READ_CAPACITY_10_DATA_LENGTH 8
374#define SCSI_READ_CAPACITY_16_DATA_LENGTH 32
375
376/* Inquiry constants */
377#define SCSI_INQUIRY_EVPD_ENABLE 0x01
378#define SCSI_INQUIRY_PAGE_CODE_OFFSET 0x02
379#define SCSI_INQUIRY_SUPPORTED_PAGES_PAGE 0x00
380#define SCSI_INQUIRY_UNIT_SERIAL_NUM_PAGE 0x80
381#define SCSI_INQUIRY_DEVICE_ID_PAGE 0x83
382#define SCSI_INQUIRY_ATA_INFORMATION_PAGE 0x89
383#define SCSI_INQUIRY_BLOCK_DEVICE_PAGE 0xB1
384#define SCSI_INQUIRY_BLOCK_DEVICE_LENGTH 0x3C
385#define SCSI_INQUIRY_STANDARD_ALLOCATION_LENGTH 0x24 /* 36 */
386
387#define SCSI_REQUEST_SENSE_ALLOCATION_LENGTH 0xFC /* 252 */
388
389/** Defines the log page codes that are use in gathing Smart data
390 */
391#define SCSI_LOG_PAGE_SUPPORTED_PAGES 0x00
392#define SCSI_LOG_PAGE_INFORMATION_EXCEPTION 0x2F
393#define SCSI_LOG_PAGE_SELF_TEST 0x10
394
395/**
396 *
397 *
398 * SCSI_INQUIRY_VPD The following are constants used with vital product data
399 * inquiry pages. Values are already shifted into the proper nibble location.
400 */
401#define SCSI_PIV_ENABLE 0x80
402#define SCSI_LUN_ASSOCIATION 0x00
403#define SCSI_TARGET_PORT_ASSOCIATION 0x10
404
405#define SCSI_VEN_UNIQUE_IDENTIFIER_TYPE 0x00
406#define SCSI_NAA_IDENTIFIER_TYPE 0x03
407
408#define SCSI_T10_IDENTIFIER_TYPE 0x01
409#define SCSI_BINARY_CODE_SET 0x01
410#define SCSI_ASCII_CODE_SET 0x02
411#define SCSI_FC_PROTOCOL_IDENTIFIER 0x00
412#define SCSI_SAS_PROTOCOL_IDENTIFIER 0x60
413
414#define SCSI_VERIFY_BYTCHK_ENABLED 0x02
415
416#define SCSI_SYNCHRONIZE_CACHE_IMMED_ENABLED 0x02
417/**
418 *
419 *
420 * SCSI_START_STOP_UNIT_POWER_CONDITION_CODES The following are SCSI Start Stop
421 * Unit command Power Condition codes.
422 */
423#define SCSI_START_STOP_UNIT_POWER_CONDITION_START_VALID 0x0
424#define SCSI_START_STOP_UNIT_POWER_CONDITION_ACTIVE 0x1
425#define SCSI_START_STOP_UNIT_POWER_CONDITION_IDLE 0x2
426#define SCSI_START_STOP_UNIT_POWER_CONDITION_STANDBY 0x3
427#define SCSI_START_STOP_UNIT_POWER_CONDITION_LU_CONTROL 0x7
428#define SCSI_START_STOP_UNIT_POWER_CONDITION_FORCE_S_CONTROL 0xB
429
430#define SCSI_START_STOP_UNIT_IMMED_MASK 0x1
431#define SCSI_START_STOP_UNIT_IMMED_SHIFT 0
432
433#define SCSI_START_STOP_UNIT_START_BIT_MASK 0x1
434#define SCSI_START_STOP_UNIT_START_BIT_SHIFT 0
435
436#define SCSI_START_STOP_UNIT_LOEJ_BIT_MASK 0x2
437#define SCSI_START_STOP_UNIT_LOEJ_BIT_SHIFT 1
438
439#define SCSI_START_STOP_UNIT_NO_FLUSH_MASK 0x4
440#define SCSI_START_STOP_UNIT_NO_FLUSH_SHIFT 2
441
442#define SCSI_START_STOP_UNIT_POWER_CONDITION_MODIFIER_MASK 0xF
443#define SCSI_START_STOP_UNIT_POWER_CONDITION_MODIFIER_SHIFT 0
444
445#define SCSI_START_STOP_UNIT_POWER_CONDITION_MASK 0xF0
446#define SCSI_START_STOP_UNIT_POWER_CONDITION_SHIFT 4
447
448#define SCSI_LOG_SENSE_PC_FIELD_MASK 0xC0
449#define SCSI_LOG_SENSE_PC_FIELD_SHIFT 6
450
451#define SCSI_LOG_SENSE_PAGE_CODE_FIELD_MASK 0x3F
452#define SCSI_LOG_SENSE_PAGE_CODE_FIELD_SHIFT 0
453
454/**
455 *
456 *
457 * MRIE - Method of reporting informational exceptions codes
458 */
459#define NO_REPORTING_INFO_EXCEPTION_CONDITION 0x0
460#define ASYNCHRONOUS_EVENT_REPORTING 0x1
461#define ESTABLISH_UNIT_ATTENTION_CONDITION 0x2
462#define CONDITIONALLY_GENERATE_RECOVERED_ERROR 0x3
463#define UNCONDITIONALLY_GENERATE_RECOVERED_ERROR 0x4
464#define GENERATE_NO_SENSE 0x5
465#define REPORT_INFO_EXCEPTION_CONDITION_ON_REQUEST 0x6
466
467#define SCSI_INFORMATION_EXCEPTION_DEXCPT_BIT 0x08
468
469/* Reassign Blocks masks */
470#define SCSI_REASSIGN_BLOCKS_LONGLBA_BIT 0x02
471#define SCSI_REASSIGN_BLOCKS_LONGLIST_BIT 0x01
472
473#endif /* _SCSI_H_ */
474
diff --git a/drivers/scsi/isci/core/scic_config_parameters.h b/drivers/scsi/isci/core/scic_config_parameters.h
index 716abfcd0c23..ea09d0bd2d1b 100644
--- a/drivers/scsi/isci/core/scic_config_parameters.h
+++ b/drivers/scsi/isci/core/scic_config_parameters.h
@@ -66,7 +66,6 @@
66 66
67 67
68#include "sci_status.h" 68#include "sci_status.h"
69#include "intel_sas.h"
70#include "sci_controller_constants.h" 69#include "sci_controller_constants.h"
71#include "probe_roms.h" 70#include "probe_roms.h"
72 71
diff --git a/drivers/scsi/isci/core/scic_io_request.h b/drivers/scsi/isci/core/scic_io_request.h
index 16022636fed0..6ddf3801daf8 100644
--- a/drivers/scsi/isci/core/scic_io_request.h
+++ b/drivers/scsi/isci/core/scic_io_request.h
@@ -63,9 +63,8 @@
63 * Determine the failure situations and return values. 63 * Determine the failure situations and return values.
64 */ 64 */
65 65
66 66#include <linux/kernel.h>
67#include "sci_status.h" 67#include "sci_status.h"
68#include "intel_sas.h"
69 68
70struct scic_sds_request; 69struct scic_sds_request;
71struct scic_sds_remote_device; 70struct scic_sds_remote_device;
@@ -110,8 +109,7 @@ typedef enum {
110 * 109 *
111 * Return the size of the SCI IO request object. 110 * Return the size of the SCI IO request object.
112 */ 111 */
113u32 scic_io_request_get_object_size( 112u32 scic_io_request_get_object_size(void);
114 void);
115 113
116/** 114/**
117 * scic_io_request_construct() - This method is called by the SCI user to 115 * scic_io_request_construct() - This method is called by the SCI user to
diff --git a/drivers/scsi/isci/core/scic_phy.h b/drivers/scsi/isci/core/scic_phy.h
index 451d7977bf6d..1fb49f02162b 100644
--- a/drivers/scsi/isci/core/scic_phy.h
+++ b/drivers/scsi/isci/core/scic_phy.h
@@ -67,7 +67,6 @@
67#include <scsi/sas.h> 67#include <scsi/sas.h>
68#include <scsi/libsas.h> 68#include <scsi/libsas.h>
69#include "sci_status.h" 69#include "sci_status.h"
70#include "intel_sas.h"
71 70
72struct scic_sds_phy; 71struct scic_sds_phy;
73struct scic_sds_port; 72struct scic_sds_port;
diff --git a/drivers/scsi/isci/core/scic_port.h b/drivers/scsi/isci/core/scic_port.h
index 4ae9b6cdf04f..44a8ea887151 100644
--- a/drivers/scsi/isci/core/scic_port.h
+++ b/drivers/scsi/isci/core/scic_port.h
@@ -56,9 +56,9 @@
56#ifndef _SCIC_PORT_H_ 56#ifndef _SCIC_PORT_H_
57#define _SCIC_PORT_H_ 57#define _SCIC_PORT_H_
58 58
59#include "sas.h"
59#include "sci_status.h" 60#include "sci_status.h"
60#include "scic_phy.h" 61#include "scic_phy.h"
61#include "intel_sas.h"
62 62
63struct scic_sds_port; 63struct scic_sds_port;
64 64
diff --git a/drivers/scsi/isci/core/scic_sds_phy.h b/drivers/scsi/isci/core/scic_sds_phy.h
index b0cebdc669eb..b6a0ed1045df 100644
--- a/drivers/scsi/isci/core/scic_sds_phy.h
+++ b/drivers/scsi/isci/core/scic_sds_phy.h
@@ -56,7 +56,7 @@
56#ifndef _SCIC_SDS_PHY_H_ 56#ifndef _SCIC_SDS_PHY_H_
57#define _SCIC_SDS_PHY_H_ 57#define _SCIC_SDS_PHY_H_
58 58
59#include "intel_sas.h" 59#include "sas.h"
60#include "scic_phy.h" 60#include "scic_phy.h"
61#include "scu_registers.h" 61#include "scu_registers.h"
62#include "sci_base_state_machine.h" 62#include "sci_base_state_machine.h"
diff --git a/drivers/scsi/isci/core/scic_sds_port.c b/drivers/scsi/isci/core/scic_sds_port.c
index 05bc3bff4f6f..0c89fc1c09f8 100644
--- a/drivers/scsi/isci/core/scic_sds_port.c
+++ b/drivers/scsi/isci/core/scic_sds_port.c
@@ -53,8 +53,6 @@
53 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 53 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
54 */ 54 */
55 55
56#include "sas.h"
57#include "intel_sas.h"
58#include "scic_controller.h" 56#include "scic_controller.h"
59#include "scic_phy.h" 57#include "scic_phy.h"
60#include "scic_port.h" 58#include "scic_port.h"
diff --git a/drivers/scsi/isci/core/scic_sds_port.h b/drivers/scsi/isci/core/scic_sds_port.h
index 2253a2ced969..115cbe3129a8 100644
--- a/drivers/scsi/isci/core/scic_sds_port.h
+++ b/drivers/scsi/isci/core/scic_sds_port.h
@@ -57,8 +57,8 @@
57#define _SCIC_SDS_PORT_H_ 57#define _SCIC_SDS_PORT_H_
58 58
59#include <linux/kernel.h> 59#include <linux/kernel.h>
60#include "sas.h"
60#include "sci_controller_constants.h" 61#include "sci_controller_constants.h"
61#include "intel_sas.h"
62#include "scu_registers.h" 62#include "scu_registers.h"
63 63
64#define SCIC_SDS_DUMMY_PORT 0xFF 64#define SCIC_SDS_DUMMY_PORT 0xFF
diff --git a/drivers/scsi/isci/core/scic_sds_request.c b/drivers/scsi/isci/core/scic_sds_request.c
index f34ca3d8ee33..85e40ce96e96 100644
--- a/drivers/scsi/isci/core/scic_sds_request.c
+++ b/drivers/scsi/isci/core/scic_sds_request.c
@@ -54,8 +54,6 @@
54 */ 54 */
55 55
56#include <scsi/sas.h> 56#include <scsi/sas.h>
57#include "sas.h"
58#include "intel_sas.h"
59#include "scic_controller.h" 57#include "scic_controller.h"
60#include "scic_io_request.h" 58#include "scic_io_request.h"
61#include "scic_sds_controller.h" 59#include "scic_sds_controller.h"
@@ -503,7 +501,7 @@ static void scu_ssp_io_request_construct_task_context(
503 501
504 task_context->ssp_command_iu_length = 502 task_context->ssp_command_iu_length =
505 sizeof(struct ssp_cmd_iu) / sizeof(u32); 503 sizeof(struct ssp_cmd_iu) / sizeof(u32);
506 task_context->type.ssp.frame_type = SCI_SAS_COMMAND_FRAME; 504 task_context->type.ssp.frame_type = SSP_COMMAND;
507 505
508 switch (dir) { 506 switch (dir) {
509 case DMA_FROM_DEVICE: 507 case DMA_FROM_DEVICE:
@@ -573,7 +571,7 @@ static void scu_ssp_task_request_construct_task_context(
573 task_context->priority = SCU_TASK_PRIORITY_HIGH; 571 task_context->priority = SCU_TASK_PRIORITY_HIGH;
574 task_context->task_type = SCU_TASK_TYPE_RAW_FRAME; 572 task_context->task_type = SCU_TASK_TYPE_RAW_FRAME;
575 task_context->transfer_length_bytes = 0; 573 task_context->transfer_length_bytes = 0;
576 task_context->type.ssp.frame_type = SCI_SAS_TASK_FRAME; 574 task_context->type.ssp.frame_type = SSP_TASK;
577 task_context->ssp_command_iu_length = 575 task_context->ssp_command_iu_length =
578 sizeof(struct ssp_task_iu) / sizeof(u32); 576 sizeof(struct ssp_task_iu) / sizeof(u32);
579} 577}
diff --git a/drivers/scsi/isci/core/scic_sds_request.h b/drivers/scsi/isci/core/scic_sds_request.h
index 11d5a3ea9da3..b83d89362909 100644
--- a/drivers/scsi/isci/core/scic_sds_request.h
+++ b/drivers/scsi/isci/core/scic_sds_request.h
@@ -66,7 +66,6 @@
66#include "scic_io_request.h" 66#include "scic_io_request.h"
67#include "sci_base_state_machine.h" 67#include "sci_base_state_machine.h"
68#include "scu_task_context.h" 68#include "scu_task_context.h"
69#include "intel_sas.h"
70 69
71struct scic_sds_controller; 70struct scic_sds_controller;
72struct scic_sds_remote_device; 71struct scic_sds_remote_device;
diff --git a/drivers/scsi/isci/core/scic_sds_smp_request.c b/drivers/scsi/isci/core/scic_sds_smp_request.c
index bca51a72ee86..1f8773d3b793 100644
--- a/drivers/scsi/isci/core/scic_sds_smp_request.c
+++ b/drivers/scsi/isci/core/scic_sds_smp_request.c
@@ -54,8 +54,6 @@
54 */ 54 */
55 55
56#include <scsi/sas.h> 56#include <scsi/sas.h>
57#include "sas.h"
58#include "intel_sas.h"
59#include "sci_base_state_machine.h" 57#include "sci_base_state_machine.h"
60#include "scic_controller.h" 58#include "scic_controller.h"
61#include "scic_sds_controller.h" 59#include "scic_sds_controller.h"
diff --git a/drivers/scsi/isci/core/scic_sds_smp_request.h b/drivers/scsi/isci/core/scic_sds_smp_request.h
index 8f34ffe2c236..f432b7a182cd 100644
--- a/drivers/scsi/isci/core/scic_sds_smp_request.h
+++ b/drivers/scsi/isci/core/scic_sds_smp_request.h
@@ -55,7 +55,6 @@
55#ifndef _SCIC_SDS_SMP_REQUEST_T_ 55#ifndef _SCIC_SDS_SMP_REQUEST_T_
56#define _SCIC_SDS_SMP_REQUEST_T_ 56#define _SCIC_SDS_SMP_REQUEST_T_
57 57
58#include "intel_sas.h"
59#include "scic_sds_request.h" 58#include "scic_sds_request.h"
60 59
61 60
diff --git a/drivers/scsi/isci/core/scic_sds_ssp_request.c b/drivers/scsi/isci/core/scic_sds_ssp_request.c
index 7183ae331d2e..18bf3874d6ac 100644
--- a/drivers/scsi/isci/core/scic_sds_ssp_request.c
+++ b/drivers/scsi/isci/core/scic_sds_ssp_request.c
@@ -53,7 +53,6 @@
53 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 53 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
54 */ 54 */
55 55
56#include "intel_sas.h"
57#include "sci_base_state_machine.h" 56#include "sci_base_state_machine.h"
58#include "scic_controller.h" 57#include "scic_controller.h"
59#include "scic_sds_controller.h" 58#include "scic_sds_controller.h"
diff --git a/drivers/scsi/isci/core/scic_sds_stp_packet_request.h b/drivers/scsi/isci/core/scic_sds_stp_packet_request.h
index 5d45ef6c2511..e94d689e5103 100644
--- a/drivers/scsi/isci/core/scic_sds_stp_packet_request.h
+++ b/drivers/scsi/isci/core/scic_sds_stp_packet_request.h
@@ -55,7 +55,6 @@
55#ifndef _SCIC_SDS_STP_PACKET_REQUEST_H_ 55#ifndef _SCIC_SDS_STP_PACKET_REQUEST_H_
56#define _SCIC_SDS_STP_PACKET_REQUEST_H_ 56#define _SCIC_SDS_STP_PACKET_REQUEST_H_
57 57
58#include "intel_sas.h"
59#include "scic_sds_stp_request.h" 58#include "scic_sds_stp_request.h"
60 59
61/** 60/**
diff --git a/drivers/scsi/isci/remote_device.c b/drivers/scsi/isci/remote_device.c
index 89cdd0a05abc..15c1e6c3b223 100644
--- a/drivers/scsi/isci/remote_device.c
+++ b/drivers/scsi/isci/remote_device.c
@@ -53,8 +53,6 @@
53 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 53 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
54 */ 54 */
55#include <scsi/sas.h> 55#include <scsi/sas.h>
56#include "intel_sas.h"
57#include "sas.h"
58#include "isci.h" 56#include "isci.h"
59#include "port.h" 57#include "port.h"
60#include "remote_device.h" 58#include "remote_device.h"
diff --git a/drivers/scsi/isci/remote_device.h b/drivers/scsi/isci/remote_device.h
index 18f7f9663661..c7db4998b8f9 100644
--- a/drivers/scsi/isci/remote_device.h
+++ b/drivers/scsi/isci/remote_device.h
@@ -57,7 +57,6 @@
57#define _ISCI_REMOTE_DEVICE_H_ 57#define _ISCI_REMOTE_DEVICE_H_
58#include <scsi/libsas.h> 58#include <scsi/libsas.h>
59#include "sci_status.h" 59#include "sci_status.h"
60#include "intel_sas.h"
61#include "scu_remote_node_context.h" 60#include "scu_remote_node_context.h"
62#include "remote_node_context.h" 61#include "remote_node_context.h"
63#include "port.h" 62#include "port.h"
diff --git a/drivers/scsi/isci/sas.h b/drivers/scsi/isci/sas.h
index 83eab4671958..822a8dbd19ca 100644
--- a/drivers/scsi/isci/sas.h
+++ b/drivers/scsi/isci/sas.h
@@ -215,4 +215,14 @@ struct smp_req {
215 215
216#define SMP_RESP_HDR_SZ 4 216#define SMP_RESP_HDR_SZ 4
217 217
218/*
219 * struct sci_sas_address - This structure depicts how a SAS address is
220 * represented by SCI.
221 * XXX convert this to u8 [SAS_ADDR_SIZE] like the rest of libsas
222 *
223 */
224struct sci_sas_address {
225 u32 high;
226 u32 low;
227};
218#endif 228#endif