67
67
#define MPI3_SECURITY_PGAD_SLOT_GROUP_MASK (0x0000ff00)
68
68
#define MPI3_SECURITY_PGAD_SLOT_GROUP_SHIFT (8)
69
69
#define MPI3_SECURITY_PGAD_SLOT_MASK (0x000000ff)
70
+ #define MPI3_INSTANCE_PGAD_INSTANCE_MASK (0x0000ffff)
70
71
struct mpi3_config_request {
71
72
__le16 host_tag ;
72
73
u8 ioc_use_only02 ;
@@ -75,7 +76,8 @@ struct mpi3_config_request {
75
76
u8 ioc_use_only06 ;
76
77
u8 msg_flags ;
77
78
__le16 change_count ;
78
- __le16 reserved0a ;
79
+ u8 proxy_ioc_number ;
80
+ u8 reserved0b ;
79
81
u8 page_version ;
80
82
u8 page_number ;
81
83
u8 page_type ;
@@ -206,6 +208,9 @@ struct mpi3_config_page_header {
206
208
#define MPI3_MFGPAGE_DEVID_SAS5116_MPI_MGMT (0x00b5)
207
209
#define MPI3_MFGPAGE_DEVID_SAS5116_NVME_MGMT (0x00b6)
208
210
#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)
209
214
struct mpi3_man_page0 {
210
215
struct mpi3_config_page_header header ;
211
216
u8 chip_revision [8 ];
@@ -1074,6 +1079,8 @@ struct mpi3_io_unit_page8 {
1074
1079
#define MPI3_IOUNIT8_SBSTATE_SVN_UPDATE_PENDING (0x04)
1075
1080
#define MPI3_IOUNIT8_SBSTATE_KEY_UPDATE_PENDING (0x02)
1076
1081
#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)
1077
1084
struct mpi3_io_unit_page9 {
1078
1085
struct mpi3_config_page_header header ;
1079
1086
__le32 flags ;
@@ -1089,6 +1096,8 @@ struct mpi3_io_unit_page9 {
1089
1096
#define MPI3_IOUNIT9_FLAGS_UBM_ENCLOSURE_ORDER_BACKPLANE_TYPE (0x00000004)
1090
1097
#define MPI3_IOUNIT9_FLAGS_VDFIRST_ENABLED (0x00000001)
1091
1098
#define MPI3_IOUNIT9_FIRSTDEVICE_UNKNOWN (0xffff)
1099
+ #define MPI3_IOUNIT9_FIRSTDEVICE_IN_DRIVER_PAGE_0 (0xfffe)
1100
+
1092
1101
struct mpi3_io_unit_page10 {
1093
1102
struct mpi3_config_page_header header ;
1094
1103
u8 flags ;
@@ -1224,6 +1233,19 @@ struct mpi3_io_unit_page15 {
1224
1233
#define MPI3_IOUNIT15_FLAGS_EPRSUPPORT_WITHOUT_POWER_BRAKE_GPIO (0x01)
1225
1234
#define MPI3_IOUNIT15_FLAGS_EPRSUPPORT_WITH_POWER_BRAKE_GPIO (0x02)
1226
1235
#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)
1227
1249
struct mpi3_ioc_page0 {
1228
1250
struct mpi3_config_page_header header ;
1229
1251
__le32 reserved08 ;
@@ -1311,7 +1333,7 @@ struct mpi3_driver_page0 {
1311
1333
u8 tur_interval ;
1312
1334
u8 reserved10 ;
1313
1335
u8 security_key_timeout ;
1314
- __le16 reserved12 ;
1336
+ __le16 first_device ;
1315
1337
__le32 reserved14 ;
1316
1338
__le32 reserved18 ;
1317
1339
};
@@ -1324,11 +1346,13 @@ struct mpi3_driver_page0 {
1324
1346
#define MPI3_DRIVER0_BSDOPTS_REGISTRATION_IOC_AND_DEVS (0x00000000)
1325
1347
#define MPI3_DRIVER0_BSDOPTS_REGISTRATION_IOC_ONLY (0x00000001)
1326
1348
#define MPI3_DRIVER0_BSDOPTS_REGISTRATION_IOC_AND_INTERNAL_DEVS (0x00000002)
1349
+ #define MPI3_DRIVER0_FIRSTDEVICE_IGNORE1 (0x0000)
1350
+ #define MPI3_DRIVER0_FIRSTDEVICE_IGNORE2 (0xffff)
1327
1351
struct mpi3_driver_page1 {
1328
1352
struct mpi3_config_page_header header ;
1329
1353
__le32 flags ;
1330
1354
u8 time_stamp_update ;
1331
- __le32 reserved0c ;
1355
+ u8 reserved0d [ 3 ] ;
1332
1356
__le16 host_diag_trace_max_size ;
1333
1357
__le16 host_diag_trace_min_size ;
1334
1358
__le16 host_diag_trace_decrement_size ;
@@ -2348,6 +2372,10 @@ struct mpi3_device0_vd_format {
2348
2372
#define MPI3_DEVICE0_VD_DEVICE_INFO_SAS (0x0001)
2349
2373
#define MPI3_DEVICE0_VD_FLAGS_IO_THROTTLE_GROUP_QD_MASK (0xf000)
2350
2374
#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)
2351
2379
union mpi3_device0_dev_spec_format {
2352
2380
struct mpi3_device0_sas_sata_format sas_sata_format ;
2353
2381
struct mpi3_device0_pcie_format pcie_format ;
0 commit comments