diff options
Diffstat (limited to 'drivers/scsi/ibmvscsi/ibmvfc.h')
-rw-r--r-- | drivers/scsi/ibmvscsi/ibmvfc.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/scsi/ibmvscsi/ibmvfc.h b/drivers/scsi/ibmvscsi/ibmvfc.h index 3a6a725fd396..6adaad80565d 100644 --- a/drivers/scsi/ibmvscsi/ibmvfc.h +++ b/drivers/scsi/ibmvscsi/ibmvfc.h | |||
@@ -57,9 +57,10 @@ | |||
57 | * Ensure we have resources for ERP and initialization: | 57 | * Ensure we have resources for ERP and initialization: |
58 | * 1 for ERP | 58 | * 1 for ERP |
59 | * 1 for initialization | 59 | * 1 for initialization |
60 | * 1 for NPIV Logout | ||
60 | * 2 for each discovery thread | 61 | * 2 for each discovery thread |
61 | */ | 62 | */ |
62 | #define IBMVFC_NUM_INTERNAL_REQ (1 + 1 + (disc_threads * 2)) | 63 | #define IBMVFC_NUM_INTERNAL_REQ (1 + 1 + 1 + (disc_threads * 2)) |
63 | 64 | ||
64 | #define IBMVFC_MAD_SUCCESS 0x00 | 65 | #define IBMVFC_MAD_SUCCESS 0x00 |
65 | #define IBMVFC_MAD_NOT_SUPPORTED 0xF1 | 66 | #define IBMVFC_MAD_NOT_SUPPORTED 0xF1 |
@@ -127,6 +128,7 @@ enum ibmvfc_mad_types { | |||
127 | IBMVFC_IMPLICIT_LOGOUT = 0x0040, | 128 | IBMVFC_IMPLICIT_LOGOUT = 0x0040, |
128 | IBMVFC_PASSTHRU = 0x0200, | 129 | IBMVFC_PASSTHRU = 0x0200, |
129 | IBMVFC_TMF_MAD = 0x0100, | 130 | IBMVFC_TMF_MAD = 0x0100, |
131 | IBMVFC_NPIV_LOGOUT = 0x0800, | ||
130 | }; | 132 | }; |
131 | 133 | ||
132 | struct ibmvfc_mad_common { | 134 | struct ibmvfc_mad_common { |
@@ -143,6 +145,10 @@ struct ibmvfc_npiv_login_mad { | |||
143 | struct srp_direct_buf buffer; | 145 | struct srp_direct_buf buffer; |
144 | }__attribute__((packed, aligned (8))); | 146 | }__attribute__((packed, aligned (8))); |
145 | 147 | ||
148 | struct ibmvfc_npiv_logout_mad { | ||
149 | struct ibmvfc_mad_common common; | ||
150 | }__attribute__((packed, aligned (8))); | ||
151 | |||
146 | #define IBMVFC_MAX_NAME 256 | 152 | #define IBMVFC_MAX_NAME 256 |
147 | 153 | ||
148 | struct ibmvfc_npiv_login { | 154 | struct ibmvfc_npiv_login { |
@@ -561,6 +567,7 @@ struct ibmvfc_async_crq_queue { | |||
561 | union ibmvfc_iu { | 567 | union ibmvfc_iu { |
562 | struct ibmvfc_mad_common mad_common; | 568 | struct ibmvfc_mad_common mad_common; |
563 | struct ibmvfc_npiv_login_mad npiv_login; | 569 | struct ibmvfc_npiv_login_mad npiv_login; |
570 | struct ibmvfc_npiv_logout_mad npiv_logout; | ||
564 | struct ibmvfc_discover_targets discover_targets; | 571 | struct ibmvfc_discover_targets discover_targets; |
565 | struct ibmvfc_port_login plogi; | 572 | struct ibmvfc_port_login plogi; |
566 | struct ibmvfc_process_login prli; | 573 | struct ibmvfc_process_login prli; |
@@ -627,6 +634,8 @@ struct ibmvfc_event_pool { | |||
627 | 634 | ||
628 | enum ibmvfc_host_action { | 635 | enum ibmvfc_host_action { |
629 | IBMVFC_HOST_ACTION_NONE = 0, | 636 | IBMVFC_HOST_ACTION_NONE = 0, |
637 | IBMVFC_HOST_ACTION_LOGO, | ||
638 | IBMVFC_HOST_ACTION_LOGO_WAIT, | ||
630 | IBMVFC_HOST_ACTION_INIT, | 639 | IBMVFC_HOST_ACTION_INIT, |
631 | IBMVFC_HOST_ACTION_INIT_WAIT, | 640 | IBMVFC_HOST_ACTION_INIT_WAIT, |
632 | IBMVFC_HOST_ACTION_QUERY, | 641 | IBMVFC_HOST_ACTION_QUERY, |
@@ -682,6 +691,7 @@ struct ibmvfc_host { | |||
682 | int reinit; | 691 | int reinit; |
683 | int delay_init; | 692 | int delay_init; |
684 | int scan_complete; | 693 | int scan_complete; |
694 | int logged_in; | ||
685 | int events_to_log; | 695 | int events_to_log; |
686 | #define IBMVFC_AE_LINKUP 0x0001 | 696 | #define IBMVFC_AE_LINKUP 0x0001 |
687 | #define IBMVFC_AE_LINKDOWN 0x0002 | 697 | #define IBMVFC_AE_LINKDOWN 0x0002 |