diff options
Diffstat (limited to 'drivers/s390/scsi/zfcp_fsf.h')
-rw-r--r-- | drivers/s390/scsi/zfcp_fsf.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/drivers/s390/scsi/zfcp_fsf.h b/drivers/s390/scsi/zfcp_fsf.h index 8cce5cc11d50..099970b27001 100644 --- a/drivers/s390/scsi/zfcp_fsf.h +++ b/drivers/s390/scsi/zfcp_fsf.h | |||
@@ -213,6 +213,7 @@ | |||
213 | #define FSF_FEATURE_HBAAPI_MANAGEMENT 0x00000010 | 213 | #define FSF_FEATURE_HBAAPI_MANAGEMENT 0x00000010 |
214 | #define FSF_FEATURE_ELS_CT_CHAINED_SBALS 0x00000020 | 214 | #define FSF_FEATURE_ELS_CT_CHAINED_SBALS 0x00000020 |
215 | #define FSF_FEATURE_UPDATE_ALERT 0x00000100 | 215 | #define FSF_FEATURE_UPDATE_ALERT 0x00000100 |
216 | #define FSF_FEATURE_MEASUREMENT_DATA 0x00000200 | ||
216 | 217 | ||
217 | /* host connection features */ | 218 | /* host connection features */ |
218 | #define FSF_FEATURE_NPIV_MODE 0x00000001 | 219 | #define FSF_FEATURE_NPIV_MODE 0x00000001 |
@@ -340,6 +341,15 @@ struct fsf_qtcb_prefix { | |||
340 | u8 res1[20]; | 341 | u8 res1[20]; |
341 | } __attribute__ ((packed)); | 342 | } __attribute__ ((packed)); |
342 | 343 | ||
344 | struct fsf_statistics_info { | ||
345 | u64 input_req; | ||
346 | u64 output_req; | ||
347 | u64 control_req; | ||
348 | u64 input_mb; | ||
349 | u64 output_mb; | ||
350 | u64 seconds_act; | ||
351 | } __attribute__ ((packed)); | ||
352 | |||
343 | union fsf_status_qual { | 353 | union fsf_status_qual { |
344 | u8 byte[FSF_STATUS_QUALIFIER_SIZE]; | 354 | u8 byte[FSF_STATUS_QUALIFIER_SIZE]; |
345 | u16 halfword[FSF_STATUS_QUALIFIER_SIZE / sizeof (u16)]; | 355 | u16 halfword[FSF_STATUS_QUALIFIER_SIZE / sizeof (u16)]; |
@@ -436,7 +446,8 @@ struct fsf_qtcb_bottom_config { | |||
436 | u32 hardware_version; | 446 | u32 hardware_version; |
437 | u8 serial_number[32]; | 447 | u8 serial_number[32]; |
438 | struct fsf_nport_serv_param plogi_payload; | 448 | struct fsf_nport_serv_param plogi_payload; |
439 | u8 res4[160]; | 449 | struct fsf_statistics_info stat_info; |
450 | u8 res4[112]; | ||
440 | } __attribute__ ((packed)); | 451 | } __attribute__ ((packed)); |
441 | 452 | ||
442 | struct fsf_qtcb_bottom_port { | 453 | struct fsf_qtcb_bottom_port { |
@@ -469,7 +480,10 @@ struct fsf_qtcb_bottom_port { | |||
469 | u64 control_requests; | 480 | u64 control_requests; |
470 | u64 input_mb; /* where 1 MByte == 1.000.000 Bytes */ | 481 | u64 input_mb; /* where 1 MByte == 1.000.000 Bytes */ |
471 | u64 output_mb; /* where 1 MByte == 1.000.000 Bytes */ | 482 | u64 output_mb; /* where 1 MByte == 1.000.000 Bytes */ |
472 | u8 res2[256]; | 483 | u8 cp_util; |
484 | u8 cb_util; | ||
485 | u8 a_util; | ||
486 | u8 res2[253]; | ||
473 | } __attribute__ ((packed)); | 487 | } __attribute__ ((packed)); |
474 | 488 | ||
475 | union fsf_qtcb_bottom { | 489 | union fsf_qtcb_bottom { |