6767#define MPI3_SECURITY_PGAD_SLOT_GROUP_MASK (0x0000ff00)
6868#define MPI3_SECURITY_PGAD_SLOT_GROUP_SHIFT (8)
6969#define MPI3_SECURITY_PGAD_SLOT_MASK (0x000000ff)
70+ #define MPI3_INSTANCE_PGAD_INSTANCE_MASK (0x0000ffff)
7071struct mpi3_config_request {
7172 __le16 host_tag ;
7273 u8 ioc_use_only02 ;
@@ -75,7 +76,8 @@ struct mpi3_config_request {
7576 u8 ioc_use_only06 ;
7677 u8 msg_flags ;
7778 __le16 change_count ;
78- __le16 reserved0a ;
79+ u8 proxy_ioc_number ;
80+ u8 reserved0b ;
7981 u8 page_version ;
8082 u8 page_number ;
8183 u8 page_type ;
@@ -206,6 +208,9 @@ struct mpi3_config_page_header {
206208#define MPI3_MFGPAGE_DEVID_SAS5116_MPI_MGMT (0x00b5)
207209#define MPI3_MFGPAGE_DEVID_SAS5116_NVME_MGMT (0x00b6)
208210#define MPI3_MFGPAGE_DEVID_SAS5116_PCIE_SWITCH (0x00b8)
211+ #define MPI3_MFGPAGE_DEVID_SAS5248_MPI (0x00f0)
212+ #define MPI3_MFGPAGE_DEVID_SAS5248_MPI_NS (0x00f1)
213+ #define MPI3_MFGPAGE_DEVID_SAS5248_PCIE_SWITCH (0x00f2)
209214struct mpi3_man_page0 {
210215 struct mpi3_config_page_header header ;
211216 u8 chip_revision [8 ];
@@ -1074,6 +1079,8 @@ struct mpi3_io_unit_page8 {
10741079#define MPI3_IOUNIT8_SBSTATE_SVN_UPDATE_PENDING (0x04)
10751080#define MPI3_IOUNIT8_SBSTATE_KEY_UPDATE_PENDING (0x02)
10761081#define MPI3_IOUNIT8_SBSTATE_SECURE_BOOT_ENABLED (0x01)
1082+ #define MPI3_IOUNIT8_SBMODE_CURRENT_KEY_IOUNIT17 (0x10)
1083+ #define MPI3_IOUNIT8_SBMODE_HARD_SECURE_RECERTIFIED (0x08)
10771084struct mpi3_io_unit_page9 {
10781085 struct mpi3_config_page_header header ;
10791086 __le32 flags ;
@@ -1089,6 +1096,8 @@ struct mpi3_io_unit_page9 {
10891096#define MPI3_IOUNIT9_FLAGS_UBM_ENCLOSURE_ORDER_BACKPLANE_TYPE (0x00000004)
10901097#define MPI3_IOUNIT9_FLAGS_VDFIRST_ENABLED (0x00000001)
10911098#define MPI3_IOUNIT9_FIRSTDEVICE_UNKNOWN (0xffff)
1099+ #define MPI3_IOUNIT9_FIRSTDEVICE_IN_DRIVER_PAGE_0 (0xfffe)
1100+
10921101struct mpi3_io_unit_page10 {
10931102 struct mpi3_config_page_header header ;
10941103 u8 flags ;
@@ -1224,6 +1233,19 @@ struct mpi3_io_unit_page15 {
12241233#define MPI3_IOUNIT15_FLAGS_EPRSUPPORT_WITHOUT_POWER_BRAKE_GPIO (0x01)
12251234#define MPI3_IOUNIT15_FLAGS_EPRSUPPORT_WITH_POWER_BRAKE_GPIO (0x02)
12261235#define MPI3_IOUNIT15_NUMPOWERBUDGETDATA_POWER_BUDGETING_DISABLED (0x00)
1236+
1237+ struct mpi3_io_unit_page17 {
1238+ struct mpi3_config_page_header header ;
1239+ u8 num_instances ;
1240+ u8 instance ;
1241+ __le16 reserved0a ;
1242+ __le32 reserved0c [4 ];
1243+ __le16 key_length ;
1244+ u8 encryption_algorithm ;
1245+ u8 reserved1f ;
1246+ __le32 current_key [];
1247+ };
1248+ #define MPI3_IOUNIT17_PAGEVERSION (0x00)
12271249struct mpi3_ioc_page0 {
12281250 struct mpi3_config_page_header header ;
12291251 __le32 reserved08 ;
@@ -1311,7 +1333,7 @@ struct mpi3_driver_page0 {
13111333 u8 tur_interval ;
13121334 u8 reserved10 ;
13131335 u8 security_key_timeout ;
1314- __le16 reserved12 ;
1336+ __le16 first_device ;
13151337 __le32 reserved14 ;
13161338 __le32 reserved18 ;
13171339};
@@ -1324,11 +1346,13 @@ struct mpi3_driver_page0 {
13241346#define MPI3_DRIVER0_BSDOPTS_REGISTRATION_IOC_AND_DEVS (0x00000000)
13251347#define MPI3_DRIVER0_BSDOPTS_REGISTRATION_IOC_ONLY (0x00000001)
13261348#define MPI3_DRIVER0_BSDOPTS_REGISTRATION_IOC_AND_INTERNAL_DEVS (0x00000002)
1349+ #define MPI3_DRIVER0_FIRSTDEVICE_IGNORE1 (0x0000)
1350+ #define MPI3_DRIVER0_FIRSTDEVICE_IGNORE2 (0xffff)
13271351struct mpi3_driver_page1 {
13281352 struct mpi3_config_page_header header ;
13291353 __le32 flags ;
13301354 u8 time_stamp_update ;
1331- __le32 reserved0c ;
1355+ u8 reserved0d [ 3 ] ;
13321356 __le16 host_diag_trace_max_size ;
13331357 __le16 host_diag_trace_min_size ;
13341358 __le16 host_diag_trace_decrement_size ;
@@ -2348,6 +2372,10 @@ struct mpi3_device0_vd_format {
23482372#define MPI3_DEVICE0_VD_DEVICE_INFO_SAS (0x0001)
23492373#define MPI3_DEVICE0_VD_FLAGS_IO_THROTTLE_GROUP_QD_MASK (0xf000)
23502374#define MPI3_DEVICE0_VD_FLAGS_IO_THROTTLE_GROUP_QD_SHIFT (12)
2375+ #define MPI3_DEVICE0_VD_FLAGS_OSEXPOSURE_MASK (0x0003)
2376+ #define MPI3_DEVICE0_VD_FLAGS_OSEXPOSURE_HDD (0x0000)
2377+ #define MPI3_DEVICE0_VD_FLAGS_OSEXPOSURE_SSD (0x0001)
2378+ #define MPI3_DEVICE0_VD_FLAGS_OSEXPOSURE_NO_GUIDANCE (0x0002)
23512379union mpi3_device0_dev_spec_format {
23522380 struct mpi3_device0_sas_sata_format sas_sata_format ;
23532381 struct mpi3_device0_pcie_format pcie_format ;
0 commit comments