xref: /openbmc/linux/drivers/scsi/mpi3mr/mpi/mpi30_sas.h (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
113ef29eaSKashyap Desai /* SPDX-License-Identifier: GPL-2.0-or-later */
213ef29eaSKashyap Desai /*
3*e74f2fbdSRanjan Kumar  *  Copyright 2016-2023 Broadcom Inc. All rights reserved.
413ef29eaSKashyap Desai  */
513ef29eaSKashyap Desai #ifndef MPI30_SAS_H
613ef29eaSKashyap Desai #define MPI30_SAS_H     1
713ef29eaSKashyap Desai #define MPI3_SAS_DEVICE_INFO_SSP_TARGET             (0x00000100)
813ef29eaSKashyap Desai #define MPI3_SAS_DEVICE_INFO_STP_SATA_TARGET        (0x00000080)
913ef29eaSKashyap Desai #define MPI3_SAS_DEVICE_INFO_SMP_TARGET             (0x00000040)
1013ef29eaSKashyap Desai #define MPI3_SAS_DEVICE_INFO_SSP_INITIATOR          (0x00000020)
1113ef29eaSKashyap Desai #define MPI3_SAS_DEVICE_INFO_STP_INITIATOR          (0x00000010)
1213ef29eaSKashyap Desai #define MPI3_SAS_DEVICE_INFO_SMP_INITIATOR          (0x00000008)
1313ef29eaSKashyap Desai #define MPI3_SAS_DEVICE_INFO_DEVICE_TYPE_MASK       (0x00000007)
1413ef29eaSKashyap Desai #define MPI3_SAS_DEVICE_INFO_DEVICE_TYPE_NO_DEVICE  (0x00000000)
1513ef29eaSKashyap Desai #define MPI3_SAS_DEVICE_INFO_DEVICE_TYPE_END_DEVICE (0x00000001)
1613ef29eaSKashyap Desai #define MPI3_SAS_DEVICE_INFO_DEVICE_TYPE_EXPANDER   (0x00000002)
1713ef29eaSKashyap Desai struct mpi3_smp_passthrough_request {
1813ef29eaSKashyap Desai 	__le16                     host_tag;
1913ef29eaSKashyap Desai 	u8                         ioc_use_only02;
2013ef29eaSKashyap Desai 	u8                         function;
2113ef29eaSKashyap Desai 	__le16                     ioc_use_only04;
2213ef29eaSKashyap Desai 	u8                         ioc_use_only06;
2313ef29eaSKashyap Desai 	u8                         msg_flags;
2413ef29eaSKashyap Desai 	__le16                     change_count;
2513ef29eaSKashyap Desai 	u8                         reserved0a;
2613ef29eaSKashyap Desai 	u8                         io_unit_port;
2713ef29eaSKashyap Desai 	__le32                     reserved0c[3];
2813ef29eaSKashyap Desai 	__le64                     sas_address;
2913ef29eaSKashyap Desai 	struct mpi3_sge_common         request_sge;
3013ef29eaSKashyap Desai 	struct mpi3_sge_common         response_sge;
3113ef29eaSKashyap Desai };
32ec5ebd2cSSreekanth Reddy 
33ec5ebd2cSSreekanth Reddy struct mpi3_smp_passthrough_reply {
34ec5ebd2cSSreekanth Reddy 	__le16                     host_tag;
35ec5ebd2cSSreekanth Reddy 	u8                         ioc_use_only02;
36ec5ebd2cSSreekanth Reddy 	u8                         function;
37ec5ebd2cSSreekanth Reddy 	__le16                     ioc_use_only04;
38ec5ebd2cSSreekanth Reddy 	u8                         ioc_use_only06;
39ec5ebd2cSSreekanth Reddy 	u8                         msg_flags;
40ec5ebd2cSSreekanth Reddy 	__le16                     ioc_use_only08;
41ec5ebd2cSSreekanth Reddy 	__le16                     ioc_status;
42ec5ebd2cSSreekanth Reddy 	__le32                     ioc_log_info;
43ec5ebd2cSSreekanth Reddy 	__le16                     response_data_length;
44ec5ebd2cSSreekanth Reddy 	__le16                     reserved12;
45ec5ebd2cSSreekanth Reddy };
4613ef29eaSKashyap Desai #endif
47