From: Dave Jiang Date: Thu, 5 May 2011 02:01:01 +0000 (-0700) Subject: isci: removing intel_*.h headers X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=8694e79287ad92e351feceededeb6804babb6d9a;p=mv-sheeva.git isci: removing intel_*.h headers Signed-off-by: Dave Jiang Signed-off-by: Dan Williams --- diff --git a/drivers/scsi/isci/core/intel_sas.h b/drivers/scsi/isci/core/intel_sas.h deleted file mode 100644 index 156694fc8de..00000000000 --- a/drivers/scsi/isci/core/intel_sas.h +++ /dev/null @@ -1,178 +0,0 @@ -/* - * This file is provided under a dual BSD/GPLv2 license. When using or - * redistributing this file, you may do so under either license. - * - * GPL LICENSE SUMMARY - * - * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - * The full GNU General Public License is included in this distribution - * in the file called LICENSE.GPL. - * - * BSD LICENSE - * - * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Intel Corporation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _INTEL_SAS_H_ -#define _INTEL_SAS_H_ - -/** - * This file contains all of the definitions relating to structures, constants, - * etc. defined by the SAS specification. - * - * - */ -#include -#include "intel_scsi.h" - -/** - * struct sci_sas_address - This structure depicts how a SAS address is - * represented by SCI. - * - * - */ -struct sci_sas_address { - /** - * This member contains the higher 32-bits of the SAS address. - */ - u32 high; - - /** - * This member contains the lower 32-bits of the SAS address. - */ - u32 low; - -}; - -/** - * enum _SCI_SAS_TASK_ATTRIBUTE - This enumeration depicts the SAM/SAS - * specification defined task attribute values for a command information - * unit. - * - * - */ -enum sci_sas_task_attribute { - SCI_SAS_SIMPLE_ATTRIBUTE = 0, - SCI_SAS_HEAD_OF_QUEUE_ATTRIBUTE = 1, - SCI_SAS_ORDERED_ATTRIBUTE = 2, - SCI_SAS_ACA_ATTRIBUTE = 4, -}; - -/** - * enum _SCI_SAS_TASK_MGMT_FUNCTION - This enumeration depicts the SAM/SAS - * specification defined task management functions. - * - * This HARD_RESET function listed here is not actually defined as a task - * management function in the industry standard. - */ -enum sci_sas_task_mgmt_function { - SCI_SAS_ABORT_TASK = SCSI_TASK_REQUEST_ABORT_TASK, - SCI_SAS_ABORT_TASK_SET = SCSI_TASK_REQUEST_ABORT_TASK_SET, - SCI_SAS_CLEAR_TASK_SET = SCSI_TASK_REQUEST_CLEAR_TASK_SET, - SCI_SAS_LOGICAL_UNIT_RESET = SCSI_TASK_REQUEST_LOGICAL_UNIT_RESET, - SCI_SAS_I_T_NEXUS_RESET = SCSI_TASK_REQUEST_I_T_NEXUS_RESET, - SCI_SAS_CLEAR_ACA = SCSI_TASK_REQUEST_CLEAR_ACA, - SCI_SAS_QUERY_TASK = SCSI_TASK_REQUEST_QUERY_TASK, - SCI_SAS_QUERY_TASK_SET = SCSI_TASK_REQUEST_QUERY_TASK_SET, - SCI_SAS_QUERY_ASYNCHRONOUS_EVENT = SCSI_TASK_REQUEST_QUERY_UNIT_ATTENTION, - SCI_SAS_HARD_RESET = 0xFF -}; - - -/** - * enum _SCI_SAS_FRAME_TYPE - This enumeration depicts the SAS specification - * defined SSP frame types. - * - * - */ -enum sci_sas_frame_type { - SCI_SAS_DATA_FRAME = 0x01, - SCI_SAS_XFER_RDY_FRAME = 0x05, - SCI_SAS_COMMAND_FRAME = 0x06, - SCI_SAS_RESPONSE_FRAME = 0x07, - SCI_SAS_TASK_FRAME = 0x16 -}; - -#define PHY_OPERATION_NOP 0x00 -#define PHY_OPERATION_LINK_RESET 0x01 -#define PHY_OPERATION_HARD_RESET 0x02 -#define PHY_OPERATION_DISABLE 0x03 -#define PHY_OPERATION_CLEAR_ERROR_LOG 0x05 -#define PHY_OPERATION_CLEAR_AFFILIATION 0x06 - -#define NPLR_PHY_ENABLED_UNK_LINK_RATE 0x00 -#define NPLR_PHY_DISABLED 0x01 -#define NPLR_PHY_ENABLED_SPD_NEG_FAILED 0x02 -#define NPLR_PHY_ENABLED_SATA_HOLD 0x03 -#define NPLR_PHY_ENABLED_1_5G 0x08 -#define NPLR_PHY_ENABLED_3_0G 0x09 - -/* SMP Function Result values. */ -#define SMP_RESULT_FUNCTION_ACCEPTED 0x00 -#define SMP_RESULT_UNKNOWN_FUNCTION 0x01 -#define SMP_RESULT_FUNCTION_FAILED 0x02 -#define SMP_RESULT_INVALID_REQUEST_FRAME_LEN 0x03 -#define SMP_RESULT_INAVALID_EXPANDER_CHANGE_COUNT 0x04 -#define SMP_RESULT_BUSY 0x05 -#define SMP_RESULT_INCOMPLETE_DESCRIPTOR_LIST 0x06 -#define SMP_RESULT_PHY_DOES_NOT_EXIST 0x10 -#define SMP_RESULT_INDEX_DOES_NOT_EXIST 0x11 -#define SMP_RESULT_PHY_DOES_NOT_SUPPORT_SATA 0x12 -#define SMP_RESULT_UNKNOWN_PHY_OPERATION 0x13 -#define SMP_RESULT_UNKNOWN_PHY_TEST_FUNCTION 0x14 -#define SMP_RESULT_PHY_TEST_IN_PROGRESS 0x15 -#define SMP_RESULT_PHY_VACANT 0x16 - -/* Attached Device Types */ -#define SMP_NO_DEVICE_ATTACHED 0 -#define SMP_END_DEVICE_ONLY 1 -#define SMP_EDGE_EXPANDER_DEVICE 2 -#define SMP_FANOUT_EXPANDER_DEVICE 3 - -/* Expander phy routine attribute */ -#define DIRECT_ROUTING_ATTRIBUTE 0 -#define SUBTRACTIVE_ROUTING_ATTRIBUTE 1 -#define TABLE_ROUTING_ATTRIBUTE 2 - -#endif /* _INTEL_SAS_H_ */ - diff --git a/drivers/scsi/isci/core/intel_scsi.h b/drivers/scsi/isci/core/intel_scsi.h deleted file mode 100644 index 1e45d3c9812..00000000000 --- a/drivers/scsi/isci/core/intel_scsi.h +++ /dev/null @@ -1,474 +0,0 @@ -/* - * This file is provided under a dual BSD/GPLv2 license. When using or - * redistributing this file, you may do so under either license. - * - * GPL LICENSE SUMMARY - * - * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - * The full GNU General Public License is included in this distribution - * in the file called LICENSE.GPL. - * - * BSD LICENSE - * - * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Intel Corporation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/** - * This file defines all of the SCSI related constants, enumerations, and - * types. Please note that this file does not necessarily contain an - * exhaustive list of all constants, commands, sub-commands, etc. - * - * - */ - -#ifndef _SCSI_H__ -#define _SCSI_H__ - - -/* - * ****************************************************************************** - * * C O N S T A N T S A N D M A C R O S - * ****************************************************************************** */ - -/** - * enum _SCSI_TASK_MGMT_REQUEST_CODES - This enumberation contains the - * constants to be used for SCSI task management request codes. SAM does - * not specify any particular values for these codes so constants used here - * are the same as those specified in SAS. - * - * - */ -enum scsi_task_mgmt_request_codes { - SCSI_TASK_REQUEST_ABORT_TASK = 0x01, - SCSI_TASK_REQUEST_ABORT_TASK_SET = 0x02, - SCSI_TASK_REQUEST_CLEAR_TASK_SET = 0x04, - SCSI_TASK_REQUEST_LOGICAL_UNIT_RESET = 0x08, - SCSI_TASK_REQUEST_I_T_NEXUS_RESET = 0x10, - SCSI_TASK_REQUEST_CLEAR_ACA = 0x40, - SCSI_TASK_REQUEST_QUERY_TASK = 0x80, - SCSI_TASK_REQUEST_QUERY_TASK_SET = 0x81, - SCSI_TASK_REQUEST_QUERY_UNIT_ATTENTION = 0x82, - -}; - -/** - * enum _SCSI_TASK_MGMT_RESPONSE_CODES - This enumeration contains all of the - * SCSI task management response codes. - * - * - */ -enum scsi_task_mgmt_response_codes { - SCSI_TASK_MGMT_FUNC_COMPLETE = 0, - SCSI_INVALID_FRAME = 2, - SCSI_TASK_MGMT_FUNC_NOT_SUPPORTED = 4, - SCSI_TASK_MGMT_FUNC_FAILED = 5, - SCSI_TASK_MGMT_FUNC_SUCCEEDED = 8, - SCSI_INVALID_LUN = 9 -}; - -/** - * enum _SCSI_SENSE_RESPONSE_CODE - this enumeration depicts the types of sense - * data responses as per SPC-3. - * - * - */ -enum scsi_sense_response_code { - SCSI_FIXED_CURRENT_RESPONSE_CODE = 0x70, - SCSI_FIXED_DEFERRED_RESPONSE_CODE = 0x71, - SCSI_DESCRIPTOR_CURRENT_RESPONSE_CODE = 0x72, - SCSI_DESCRIPTOR_DEFERRED_RESPONSE_CODE = 0x73 - -}; - -/* - * This constant represents the valid bit located in byte 0 of a FIXED - * format sense data. */ -#define SCSI_FIXED_SENSE_DATA_VALID_BIT 0x80 - -#define SCSI_FIXED_SENSE_DATA_BASE_LENGTH 18 - -/* This value is used in the DATAPRES field of the SCSI Response IU. */ -#define SCSI_RESPONSE_DATA_PRES_SENSE_DATA 0x02 - -/** - * - * - * SCSI_SENSE_KEYS These constants delineate all of the SCSI protocol sense key - * constants - */ -#define SCSI_SENSE_NO_SENSE 0x00 -#define SCSI_SENSE_RECOVERED_ERROR 0x01 -#define SCSI_SENSE_NOT_READY 0x02 -#define SCSI_SENSE_MEDIUM_ERROR 0x03 -#define SCSI_SENSE_HARDWARE_ERROR 0x04 -#define SCSI_SENSE_ILLEGAL_REQUEST 0x05 -#define SCSI_SENSE_UNIT_ATTENTION 0x06 -#define SCSI_SENSE_DATA_PROTECT 0x07 -#define SCSI_SENSE_BLANK_CHECK 0x08 -#define SCSI_SENSE_VENDOR_SPECIFIC 0x09 -#define SCSI_SENSE_COPY_ABORTED 0x0A -#define SCSI_SENSE_ABORTED_COMMAND 0x0B -#define SCSI_SENSE_VOLUME_OVERFLOW 0x0D -#define SCSI_SENSE_MISCOMPARE 0x0E - -/** - * - * - * SCSI_ADDITIONAL_SENSE_CODES These constants delineate all of the SCSI - * protocol additional sense code constants. - */ -#define SCSI_ASC_NO_ADDITIONAL_SENSE 0x00 -#define SCSI_ASC_INITIALIZING_COMMAND_REQUIRED 0x04 -#define SCSI_ASC_LUN_SELF_TEST_IN_PROGRESS 0x04 -#define SCSI_ASC_LUN_FORMAT_IN_PROGRESS 0x04 -#define SCSI_ASC_LUN_NOT_RESPOND_TO_SELECTION 0x05 -#define SCSI_ASC_UNRECOVERED_READ_ERROR 0x11 -#define SCSI_ASC_INVALID_COMMAND_OPERATION_CODE 0x20 -#define SCSI_ASC_LBA_OUT_OF_RANGE 0x21 -#define SCSI_ASC_INVALID_FIELD_IN_CDB 0x24 -#define SCSI_ASC_INVALID_FIELD_IN_PARM_LIST 0x26 -#define SCSI_ASC_WRITE_PROTECTED 0x27 -#define SCSI_ASC_NOT_READY_TO_READY_CHANGE 0x28 -#define SCSI_ASC_SAVING_PARMS_NOT_SUPPORTED 0x39 -#define SCSI_ASC_MEDIUM_NOT_PRESENT 0x3A -#define SCSI_ASC_INTERNAL_TARGET_FAILURE 0x44 -#define SCSI_ASC_IU_CRC_ERROR_DETECTED 0x47 -#define SCSI_ASC_MEDIUM_REMOVAL_REQUEST 0x5A -#define SCSI_ASC_COMMAND_SEQUENCE_ERROR 0x2C -#define SCSI_ASC_MEDIA_LOAD_OR_EJECT_FAILED 0x53 -#define SCSI_ASC_HARDWARE_IMPENDING_FAILURE 0x5D -#define SCSI_ASC_POWER_STATE_CHANGE 0x5E -#define SCSI_DIAGNOSTIC_FAILURE_ON_COMPONENT 0x40 -#define SCSI_ASC_ATA_DEVICE_FEATURE_NOT_ENABLED 0x67 - -/** - * - * - * SCSI_ADDITIONAL_SENSE_CODE_QUALIFIERS This enumeration contains all of the - * used SCSI protocol additional sense code qualifier constants. - */ -#define SCSI_ASCQ_NO_ADDITIONAL_SENSE 0x00 -#define SCSI_ASCQ_INVALID_FIELD_IN_CDB 0x00 -#define SCSI_ASCQ_INVALID_FIELD_IN_PARM_LIST 0x00 -#define SCSI_ASCQ_LUN_NOT_RESPOND_TO_SELECTION 0x00 -#define SCSI_ASCQ_INTERNAL_TARGET_FAILURE 0x00 -#define SCSI_ASCQ_LBA_OUT_OF_RANGE 0x00 -#define SCSI_ASCQ_MEDIUM_NOT_PRESENT 0x00 -#define SCSI_ASCQ_NOT_READY_TO_READY_CHANGE 0x00 -#define SCSI_ASCQ_WRITE_PROTECTED 0x00 -#define SCSI_ASCQ_UNRECOVERED_READ_ERROR 0x00 -#define SCSI_ASCQ_SAVING_PARMS_NOT_SUPPORTED 0x00 -#define SCSI_ASCQ_INVALID_COMMAND_OPERATION_CODE 0x00 -#define SCSI_ASCQ_MEDIUM_REMOVAL_REQUEST 0x01 -#define SCSI_ASCQ_INITIALIZING_COMMAND_REQUIRED 0x02 -#define SCSI_ASCQ_IU_CRC_ERROR_DETECTED 0x03 -#define SCSI_ASCQ_LUN_FORMAT_IN_PROGRESS 0x04 -#define SCSI_ASCQ_LUN_SELF_TEST_IN_PROGRESS 0x09 -#define SCSI_ASCQ_GENERAL_HARD_DRIVE_FAILURE 0x10 -#define SCSI_ASCQ_IDLE_CONDITION_ACTIVATE_BY_COMMAND 0x03 -#define SCSI_ASCQ_STANDBY_CONDITION_ACTIVATE_BY_COMMAND 0x04 -#define SCSI_ASCQ_POWER_STATE_CHANGE_TO_IDLE 0x42 -#define SCSI_ASCQ_POWER_STATE_CHANGE_TO_STANDBY 0x43 -#define SCSI_ASCQ_ATA_DEVICE_FEATURE_NOT_ENABLED 0x0B -#define SCSI_ASCQ_UNRECOVERED_READ_ERROR_AUTO_REALLOCATE_FAIL 0x04 - - - -/** - * - * - * SCSI_STATUS_CODES These constants define all of the used SCSI status values. - */ -#define SCSI_STATUS_GOOD 0x00 -#define SCSI_STATUS_CHECK_CONDITION 0x02 -#define SCSI_STATUS_CONDITION_MET 0x04 -#define SCSI_STATUS_BUSY 0x08 -#define SCSI_STATUS_TASKFULL 0x28 -#define SCSI_STATUS_ACA 0x30 -#define SCSI_STATUS_ABORT 0x40 - -/** - * - * - * SCSI_OPERATION_CODES These constants delineate all of the SCSI - * command/operation codes. - */ -#define SCSI_INQUIRY 0x12 -#define SCSI_READ_CAPACITY_10 0x25 -#define SCSI_SERVICE_ACTION_IN_16 0x9E -#define SCSI_TEST_UNIT_READY 0x00 -#define SCSI_START_STOP_UNIT 0x1B -#define SCSI_SYNCHRONIZE_CACHE_10 0x35 -#define SCSI_SYNCHRONIZE_CACHE_16 0x91 -#define SCSI_REQUEST_SENSE 0x03 -#define SCSI_REPORT_LUNS 0xA0 -#define SCSI_REASSIGN_BLOCKS 0x07 -#define SCSI_READ_6 0x08 -#define SCSI_READ_10 0x28 -#define SCSI_READ_12 0xA8 -#define SCSI_READ_16 0x88 -#define SCSI_WRITE_6 0x0A -#define SCSI_WRITE_10 0x2A -#define SCSI_WRITE_12 0xAA -#define SCSI_WRITE_16 0x8A -#define SCSI_VERIFY_10 0x2F -#define SCSI_VERIFY_12 0xAF -#define SCSI_VERIFY_16 0x8F -#define SCSI_SEEK_6 0x01 -#define SCSI_SEEK_10 0x02 -#define SCSI_WRITE_VERIFY 0x2E -#define SCSI_FORMAT_UNIT 0x04 -#define SCSI_READ_BUFFER 0x3C -#define SCSI_WRITE_BUFFER 0x3B -#define SCSI_SEND_DIAGNOSTIC 0x1D -#define SCSI_RECEIVE_DIAGNOSTIC 0x1C -#define SCSI_MODE_SENSE_6 0x1A -#define SCSI_MODE_SENSE_10 0x5A -#define SCSI_MODE_SELECT_6 0x15 -#define SCSI_MODE_SELECT_10 0x55 -#define SCSI_MAINTENANCE_IN 0xA3 -#define SCSI_LOG_SENSE 0x4D -#define SCSI_LOG_SELECT 0x4C -#define SCSI_RESERVE_6 0x16 -#define SCSI_RESERVE_10 0x56 -#define SCSI_RELEASE_6 0x17 -#define SCSI_RELEASE_10 0x57 -#define SCSI_ATA_PASSTHRU_12 0xA1 -#define SCSI_ATA_PASSTHRU_16 0x85 -#define SCSI_WRITE_LONG_10 0x3F -#define SCSI_WRITE_LONG_16 0x9F -#define SCSI_PERSISTENT_RESERVE_IN 0x5E -#define SCSI_PERSISTENT_RESERVE_OUT 0x5F - -/** - * - * - * SCSI_SERVICE_ACTION_IN_CODES Service action in operations. - */ -#define SCSI_SERVICE_ACTION_IN_CODES_READ_CAPACITY_16 0x10 - -#define SCSI_SERVICE_ACTION_MASK 0x1f - -/** - * - * - * SCSI_MAINTENANCE_IN_SERVICE_ACTION_CODES MAINTENANCE IN service action codes. - */ -#define SCSI_REPORT_TASK_MGMT 0x0D -#define SCSI_REPORT_OP_CODES 0x0C - -/** - * - * - * SCSI_MODE_PAGE_CONTROLS These constants delineate all of the used SCSI Mode - * Page control values. - */ -#define SCSI_MODE_SENSE_PC_CURRENT 0x0 -#define SCSI_MODE_SENSE_PC_CHANGEABLE 0x1 -#define SCSI_MODE_SENSE_PC_DEFAULT 0x2 -#define SCSI_MODE_SENSE_PC_SAVED 0x3 - -#define SCSI_MODE_SENSE_PC_SHIFT 0x06 -#define SCSI_MODE_SENSE_PAGE_CODE_ENABLE 0x3F -#define SCSI_MODE_SENSE_DBD_ENABLE 0x08 -#define SCSI_MODE_SENSE_LLBAA_ENABLE 0x10 - -/** - * - * - * SCSI_MODE_PAGE_CODES These constants delineate all of the used SCSI Mode - * Page codes. - */ -#define SCSI_MODE_PAGE_READ_WRITE_ERROR 0x01 -#define SCSI_MODE_PAGE_DISCONNECT_RECONNECT 0x02 -#define SCSI_MODE_PAGE_CACHING 0x08 -#define SCSI_MODE_PAGE_CONTROL 0x0A -#define SCSI_MODE_PAGE_PROTOCOL_SPECIFIC_PORT 0x19 -#define SCSI_MODE_PAGE_POWER_CONDITION 0x1A -#define SCSI_MODE_PAGE_INFORMATIONAL_EXCP_CONTROL 0x1C -#define SCSI_MODE_PAGE_ALL_PAGES 0x3F - -#define SCSI_MODE_SENSE_ALL_SUB_PAGES_CODE 0xFF -#define SCSI_MODE_SENSE_NO_SUB_PAGES_CODE 0x0 -#define SCSI_MODE_SENSE_PROTOCOL_PORT_NUM_SUBPAGES 0x1 -#define SCSI_MODE_PAGE_CACHE_PAGE_WCE_BIT 0x04 -#define SCSI_MODE_PAGE_CACHE_PAGE_DRA_BIT 0x20 -#define SCSI_MODE_PAGE_DEXCPT_ENABLE 0x08 -#define SCSI_MODE_SENSE_HEADER_FUA_ENABLE 0x10 -#define SCSI_MODE_PAGE_POWER_CONDITION_STANDBY 0x1 -#define SCSI_MODE_PAGE_POWER_CONDITION_IDLE 0x2 - -#define SCSI_MODE_SENSE_6_HEADER_LENGTH 4 -#define SCSI_MODE_SENSE_10_HEADER_LENGTH 8 -#define SCSI_MODE_SENSE_STD_BLOCK_DESCRIPTOR_LENGTH 8 -#define SCSI_MODE_SENSE_LLBA_BLOCK_DESCRIPTOR_LENGTH 16 - -#define SCSI_MODE_PAGE_INFORMATIONAL_EXCP_DXCPT_ENABLE 0x08 -#define SCSI_MODE_PAGE_19_SAS_ID 0x6 -#define SCSI_MODE_PAGE_19_SUB1_PAGE_NUM 0x1 -#define SCSI_MODE_PAGE_19_SUB1_PC 0x59 - -#define SCSI_MODE_HEADER_MEDIUM_TYPE_SBC 0x00 - -/* Mode Select constrains related masks value */ -#define SCSI_MODE_SELECT_PF_BIT 0x1 -#define SCSI_MODE_SELECT_PF_MASK 0x10 -#define SCSI_MODE_SELECT_MODE_PAGE_MRIE_BYTE 0x6 -#define SCSI_MODE_SELECT_MODE_PAGE_MRIE_MASK 0x0F -#define SCSI_MODE_SELECT_MODE_PAGE_SPF_MASK 0x40 -#define SCSI_MODE_SELECT_MODE_PAGE_01_AWRE_MASK 0x80 -#define SCSI_MODE_SELECT_MODE_PAGE_01_ARRE_MASK 0x40 -#define SCSI_MODE_SELECT_MODE_PAGE_01_RC_ERBITS_MASK 0x1F -#define SCSI_MODE_SELECT_MODE_PAGE_08_FSW_LBCSS_NVDIS 0xC1 -#define SCSI_MODE_SELECT_MODE_PAGE_1C_PERF_TEST 0x84 -#define SCSI_MODE_SELECT_MODE_PAGE_0A_TST_TMF_RLEC 0xF1 -#define SCSI_MODE_SELECT_MODE_PAGE_0A_MODIFIER 0xF0 -#define SCSI_MODE_SELECT_MODE_PAGE_0A_UA_SWP 0x38 -#define SCSI_MODE_SELECT_MODE_PAGE_0A_TAS_AUTO 0x47 - - -#define SCSI_CONTROL_BYTE_NACA_BIT_ENABLE 0x04 -#define SCSI_MOVE_FUA_BIT_ENABLE 0x08 -#define SCSI_READ_CAPACITY_PMI_BIT_ENABLE 0x01 -#define SCSI_READ_CAPACITY_10_DATA_LENGTH 8 -#define SCSI_READ_CAPACITY_16_DATA_LENGTH 32 - -/* Inquiry constants */ -#define SCSI_INQUIRY_EVPD_ENABLE 0x01 -#define SCSI_INQUIRY_PAGE_CODE_OFFSET 0x02 -#define SCSI_INQUIRY_SUPPORTED_PAGES_PAGE 0x00 -#define SCSI_INQUIRY_UNIT_SERIAL_NUM_PAGE 0x80 -#define SCSI_INQUIRY_DEVICE_ID_PAGE 0x83 -#define SCSI_INQUIRY_ATA_INFORMATION_PAGE 0x89 -#define SCSI_INQUIRY_BLOCK_DEVICE_PAGE 0xB1 -#define SCSI_INQUIRY_BLOCK_DEVICE_LENGTH 0x3C -#define SCSI_INQUIRY_STANDARD_ALLOCATION_LENGTH 0x24 /* 36 */ - -#define SCSI_REQUEST_SENSE_ALLOCATION_LENGTH 0xFC /* 252 */ - -/** Defines the log page codes that are use in gathing Smart data - */ -#define SCSI_LOG_PAGE_SUPPORTED_PAGES 0x00 -#define SCSI_LOG_PAGE_INFORMATION_EXCEPTION 0x2F -#define SCSI_LOG_PAGE_SELF_TEST 0x10 - -/** - * - * - * SCSI_INQUIRY_VPD The following are constants used with vital product data - * inquiry pages. Values are already shifted into the proper nibble location. - */ -#define SCSI_PIV_ENABLE 0x80 -#define SCSI_LUN_ASSOCIATION 0x00 -#define SCSI_TARGET_PORT_ASSOCIATION 0x10 - -#define SCSI_VEN_UNIQUE_IDENTIFIER_TYPE 0x00 -#define SCSI_NAA_IDENTIFIER_TYPE 0x03 - -#define SCSI_T10_IDENTIFIER_TYPE 0x01 -#define SCSI_BINARY_CODE_SET 0x01 -#define SCSI_ASCII_CODE_SET 0x02 -#define SCSI_FC_PROTOCOL_IDENTIFIER 0x00 -#define SCSI_SAS_PROTOCOL_IDENTIFIER 0x60 - -#define SCSI_VERIFY_BYTCHK_ENABLED 0x02 - -#define SCSI_SYNCHRONIZE_CACHE_IMMED_ENABLED 0x02 -/** - * - * - * SCSI_START_STOP_UNIT_POWER_CONDITION_CODES The following are SCSI Start Stop - * Unit command Power Condition codes. - */ -#define SCSI_START_STOP_UNIT_POWER_CONDITION_START_VALID 0x0 -#define SCSI_START_STOP_UNIT_POWER_CONDITION_ACTIVE 0x1 -#define SCSI_START_STOP_UNIT_POWER_CONDITION_IDLE 0x2 -#define SCSI_START_STOP_UNIT_POWER_CONDITION_STANDBY 0x3 -#define SCSI_START_STOP_UNIT_POWER_CONDITION_LU_CONTROL 0x7 -#define SCSI_START_STOP_UNIT_POWER_CONDITION_FORCE_S_CONTROL 0xB - -#define SCSI_START_STOP_UNIT_IMMED_MASK 0x1 -#define SCSI_START_STOP_UNIT_IMMED_SHIFT 0 - -#define SCSI_START_STOP_UNIT_START_BIT_MASK 0x1 -#define SCSI_START_STOP_UNIT_START_BIT_SHIFT 0 - -#define SCSI_START_STOP_UNIT_LOEJ_BIT_MASK 0x2 -#define SCSI_START_STOP_UNIT_LOEJ_BIT_SHIFT 1 - -#define SCSI_START_STOP_UNIT_NO_FLUSH_MASK 0x4 -#define SCSI_START_STOP_UNIT_NO_FLUSH_SHIFT 2 - -#define SCSI_START_STOP_UNIT_POWER_CONDITION_MODIFIER_MASK 0xF -#define SCSI_START_STOP_UNIT_POWER_CONDITION_MODIFIER_SHIFT 0 - -#define SCSI_START_STOP_UNIT_POWER_CONDITION_MASK 0xF0 -#define SCSI_START_STOP_UNIT_POWER_CONDITION_SHIFT 4 - -#define SCSI_LOG_SENSE_PC_FIELD_MASK 0xC0 -#define SCSI_LOG_SENSE_PC_FIELD_SHIFT 6 - -#define SCSI_LOG_SENSE_PAGE_CODE_FIELD_MASK 0x3F -#define SCSI_LOG_SENSE_PAGE_CODE_FIELD_SHIFT 0 - -/** - * - * - * MRIE - Method of reporting informational exceptions codes - */ -#define NO_REPORTING_INFO_EXCEPTION_CONDITION 0x0 -#define ASYNCHRONOUS_EVENT_REPORTING 0x1 -#define ESTABLISH_UNIT_ATTENTION_CONDITION 0x2 -#define CONDITIONALLY_GENERATE_RECOVERED_ERROR 0x3 -#define UNCONDITIONALLY_GENERATE_RECOVERED_ERROR 0x4 -#define GENERATE_NO_SENSE 0x5 -#define REPORT_INFO_EXCEPTION_CONDITION_ON_REQUEST 0x6 - -#define SCSI_INFORMATION_EXCEPTION_DEXCPT_BIT 0x08 - -/* Reassign Blocks masks */ -#define SCSI_REASSIGN_BLOCKS_LONGLBA_BIT 0x02 -#define SCSI_REASSIGN_BLOCKS_LONGLIST_BIT 0x01 - -#endif /* _SCSI_H_ */ - diff --git a/drivers/scsi/isci/core/scic_config_parameters.h b/drivers/scsi/isci/core/scic_config_parameters.h index 716abfcd0c2..ea09d0bd2d1 100644 --- a/drivers/scsi/isci/core/scic_config_parameters.h +++ b/drivers/scsi/isci/core/scic_config_parameters.h @@ -66,7 +66,6 @@ #include "sci_status.h" -#include "intel_sas.h" #include "sci_controller_constants.h" #include "probe_roms.h" diff --git a/drivers/scsi/isci/core/scic_io_request.h b/drivers/scsi/isci/core/scic_io_request.h index 16022636fed..6ddf3801daf 100644 --- a/drivers/scsi/isci/core/scic_io_request.h +++ b/drivers/scsi/isci/core/scic_io_request.h @@ -63,9 +63,8 @@ * Determine the failure situations and return values. */ - +#include #include "sci_status.h" -#include "intel_sas.h" struct scic_sds_request; struct scic_sds_remote_device; @@ -110,8 +109,7 @@ typedef enum { * * Return the size of the SCI IO request object. */ -u32 scic_io_request_get_object_size( - void); +u32 scic_io_request_get_object_size(void); /** * 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 451d7977bf6..1fb49f02162 100644 --- a/drivers/scsi/isci/core/scic_phy.h +++ b/drivers/scsi/isci/core/scic_phy.h @@ -67,7 +67,6 @@ #include #include #include "sci_status.h" -#include "intel_sas.h" struct scic_sds_phy; struct scic_sds_port; diff --git a/drivers/scsi/isci/core/scic_port.h b/drivers/scsi/isci/core/scic_port.h index 4ae9b6cdf04..44a8ea88715 100644 --- a/drivers/scsi/isci/core/scic_port.h +++ b/drivers/scsi/isci/core/scic_port.h @@ -56,9 +56,9 @@ #ifndef _SCIC_PORT_H_ #define _SCIC_PORT_H_ +#include "sas.h" #include "sci_status.h" #include "scic_phy.h" -#include "intel_sas.h" struct scic_sds_port; diff --git a/drivers/scsi/isci/core/scic_sds_phy.h b/drivers/scsi/isci/core/scic_sds_phy.h index b0cebdc669e..b6a0ed1045d 100644 --- a/drivers/scsi/isci/core/scic_sds_phy.h +++ b/drivers/scsi/isci/core/scic_sds_phy.h @@ -56,7 +56,7 @@ #ifndef _SCIC_SDS_PHY_H_ #define _SCIC_SDS_PHY_H_ -#include "intel_sas.h" +#include "sas.h" #include "scic_phy.h" #include "scu_registers.h" #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 05bc3bff4f6..0c89fc1c09f 100644 --- a/drivers/scsi/isci/core/scic_sds_port.c +++ b/drivers/scsi/isci/core/scic_sds_port.c @@ -53,8 +53,6 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "sas.h" -#include "intel_sas.h" #include "scic_controller.h" #include "scic_phy.h" #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 2253a2ced96..115cbe3129a 100644 --- a/drivers/scsi/isci/core/scic_sds_port.h +++ b/drivers/scsi/isci/core/scic_sds_port.h @@ -57,8 +57,8 @@ #define _SCIC_SDS_PORT_H_ #include +#include "sas.h" #include "sci_controller_constants.h" -#include "intel_sas.h" #include "scu_registers.h" #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 f34ca3d8ee3..85e40ce96e9 100644 --- a/drivers/scsi/isci/core/scic_sds_request.c +++ b/drivers/scsi/isci/core/scic_sds_request.c @@ -54,8 +54,6 @@ */ #include -#include "sas.h" -#include "intel_sas.h" #include "scic_controller.h" #include "scic_io_request.h" #include "scic_sds_controller.h" @@ -503,7 +501,7 @@ static void scu_ssp_io_request_construct_task_context( task_context->ssp_command_iu_length = sizeof(struct ssp_cmd_iu) / sizeof(u32); - task_context->type.ssp.frame_type = SCI_SAS_COMMAND_FRAME; + task_context->type.ssp.frame_type = SSP_COMMAND; switch (dir) { case DMA_FROM_DEVICE: @@ -573,7 +571,7 @@ static void scu_ssp_task_request_construct_task_context( task_context->priority = SCU_TASK_PRIORITY_HIGH; task_context->task_type = SCU_TASK_TYPE_RAW_FRAME; task_context->transfer_length_bytes = 0; - task_context->type.ssp.frame_type = SCI_SAS_TASK_FRAME; + task_context->type.ssp.frame_type = SSP_TASK; task_context->ssp_command_iu_length = sizeof(struct ssp_task_iu) / sizeof(u32); } diff --git a/drivers/scsi/isci/core/scic_sds_request.h b/drivers/scsi/isci/core/scic_sds_request.h index 11d5a3ea9da..b83d8936290 100644 --- a/drivers/scsi/isci/core/scic_sds_request.h +++ b/drivers/scsi/isci/core/scic_sds_request.h @@ -66,7 +66,6 @@ #include "scic_io_request.h" #include "sci_base_state_machine.h" #include "scu_task_context.h" -#include "intel_sas.h" struct scic_sds_controller; struct 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 bca51a72ee8..1f8773d3b79 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 @@ */ #include -#include "sas.h" -#include "intel_sas.h" #include "sci_base_state_machine.h" #include "scic_controller.h" #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 8f34ffe2c23..f432b7a182c 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 @@ #ifndef _SCIC_SDS_SMP_REQUEST_T_ #define _SCIC_SDS_SMP_REQUEST_T_ -#include "intel_sas.h" #include "scic_sds_request.h" diff --git a/drivers/scsi/isci/core/scic_sds_ssp_request.c b/drivers/scsi/isci/core/scic_sds_ssp_request.c index 7183ae331d2..18bf3874d6a 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 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "intel_sas.h" #include "sci_base_state_machine.h" #include "scic_controller.h" #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 5d45ef6c251..e94d689e510 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 @@ #ifndef _SCIC_SDS_STP_PACKET_REQUEST_H_ #define _SCIC_SDS_STP_PACKET_REQUEST_H_ -#include "intel_sas.h" #include "scic_sds_stp_request.h" /** diff --git a/drivers/scsi/isci/remote_device.c b/drivers/scsi/isci/remote_device.c index 89cdd0a05ab..15c1e6c3b22 100644 --- a/drivers/scsi/isci/remote_device.c +++ b/drivers/scsi/isci/remote_device.c @@ -53,8 +53,6 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include -#include "intel_sas.h" -#include "sas.h" #include "isci.h" #include "port.h" #include "remote_device.h" diff --git a/drivers/scsi/isci/remote_device.h b/drivers/scsi/isci/remote_device.h index 18f7f966366..c7db4998b8f 100644 --- a/drivers/scsi/isci/remote_device.h +++ b/drivers/scsi/isci/remote_device.h @@ -57,7 +57,6 @@ #define _ISCI_REMOTE_DEVICE_H_ #include #include "sci_status.h" -#include "intel_sas.h" #include "scu_remote_node_context.h" #include "remote_node_context.h" #include "port.h" diff --git a/drivers/scsi/isci/sas.h b/drivers/scsi/isci/sas.h index 83eab467195..822a8dbd19c 100644 --- a/drivers/scsi/isci/sas.h +++ b/drivers/scsi/isci/sas.h @@ -215,4 +215,14 @@ struct smp_req { #define SMP_RESP_HDR_SZ 4 +/* + * struct sci_sas_address - This structure depicts how a SAS address is + * represented by SCI. + * XXX convert this to u8 [SAS_ADDR_SIZE] like the rest of libsas + * + */ +struct sci_sas_address { + u32 high; + u32 low; +}; #endif