GNU Linux-libre 5.19-rc6-gnu
[releases.git] / drivers / scsi / mpi3mr / mpi / mpi30_sas.h
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