1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * Copyright 2016-2021 Broadcom Inc. All rights reserved. 4 * 5 */ 6 #ifndef MPI30_SAS_H 7 #define MPI30_SAS_H 1 8 #define MPI3_SAS_DEVICE_INFO_SSP_TARGET (0x00000100) 9 #define MPI3_SAS_DEVICE_INFO_STP_SATA_TARGET (0x00000080) 10 #define MPI3_SAS_DEVICE_INFO_SMP_TARGET (0x00000040) 11 #define MPI3_SAS_DEVICE_INFO_SSP_INITIATOR (0x00000020) 12 #define MPI3_SAS_DEVICE_INFO_STP_INITIATOR (0x00000010) 13 #define MPI3_SAS_DEVICE_INFO_SMP_INITIATOR (0x00000008) 14 #define MPI3_SAS_DEVICE_INFO_DEVICE_TYPE_MASK (0x00000007) 15 #define MPI3_SAS_DEVICE_INFO_DEVICE_TYPE_NO_DEVICE (0x00000000) 16 #define MPI3_SAS_DEVICE_INFO_DEVICE_TYPE_END_DEVICE (0x00000001) 17 #define MPI3_SAS_DEVICE_INFO_DEVICE_TYPE_EXPANDER (0x00000002) 18 struct mpi3_smp_passthrough_request { 19 __le16 host_tag; 20 u8 ioc_use_only02; 21 u8 function; 22 __le16 ioc_use_only04; 23 u8 ioc_use_only06; 24 u8 msg_flags; 25 __le16 change_count; 26 u8 reserved0a; 27 u8 io_unit_port; 28 __le32 reserved0c[3]; 29 __le64 sas_address; 30 struct mpi3_sge_common request_sge; 31 struct mpi3_sge_common response_sge; 32 }; 33 34 struct mpi3_smp_passthrough_reply { 35 __le16 host_tag; 36 u8 ioc_use_only02; 37 u8 function; 38 __le16 ioc_use_only04; 39 u8 ioc_use_only06; 40 u8 msg_flags; 41 __le16 ioc_use_only08; 42 __le16 ioc_status; 43 __le32 ioc_log_info; 44 __le16 response_data_length; 45 __le16 reserved12; 46 }; 47 #endif 48