diff options
Diffstat (limited to 'drivers/s390/scsi/zfcp_fc.h')
-rw-r--r-- | drivers/s390/scsi/zfcp_fc.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/drivers/s390/scsi/zfcp_fc.h b/drivers/s390/scsi/zfcp_fc.h index 231e231b7fd7..12fc6ebbc244 100644 --- a/drivers/s390/scsi/zfcp_fc.h +++ b/drivers/s390/scsi/zfcp_fc.h | |||
@@ -12,9 +12,89 @@ | |||
12 | 12 | ||
13 | #include <scsi/fc/fc_els.h> | 13 | #include <scsi/fc/fc_els.h> |
14 | #include <scsi/fc/fc_fcp.h> | 14 | #include <scsi/fc/fc_fcp.h> |
15 | #include <scsi/fc/fc_ns.h> | ||
15 | #include <scsi/scsi_cmnd.h> | 16 | #include <scsi/scsi_cmnd.h> |
16 | #include <scsi/scsi_tcq.h> | 17 | #include <scsi/scsi_tcq.h> |
17 | 18 | ||
19 | #define ZFCP_FC_CT_SIZE_PAGE (PAGE_SIZE - sizeof(struct fc_ct_hdr)) | ||
20 | #define ZFCP_FC_GPN_FT_ENT_PAGE (ZFCP_FC_CT_SIZE_PAGE \ | ||
21 | / sizeof(struct fc_gpn_ft_resp)) | ||
22 | #define ZFCP_FC_GPN_FT_NUM_BUFS 4 /* memory pages */ | ||
23 | |||
24 | #define ZFCP_FC_GPN_FT_MAX_SIZE (ZFCP_FC_GPN_FT_NUM_BUFS * PAGE_SIZE \ | ||
25 | - sizeof(struct fc_ct_hdr)) | ||
26 | #define ZFCP_FC_GPN_FT_MAX_ENT (ZFCP_FC_GPN_FT_NUM_BUFS * \ | ||
27 | (ZFCP_FC_GPN_FT_ENT_PAGE + 1)) | ||
28 | |||
29 | /** | ||
30 | * struct zfcp_fc_gid_pn_req - container for ct header plus gid_pn request | ||
31 | * @ct_hdr: FC GS common transport header | ||
32 | * @gid_pn: GID_PN request | ||
33 | */ | ||
34 | struct zfcp_fc_gid_pn_req { | ||
35 | struct fc_ct_hdr ct_hdr; | ||
36 | struct fc_ns_gid_pn gid_pn; | ||
37 | } __packed; | ||
38 | |||
39 | /** | ||
40 | * struct zfcp_fc_gid_pn_resp - container for ct header plus gid_pn response | ||
41 | * @ct_hdr: FC GS common transport header | ||
42 | * @gid_pn: GID_PN response | ||
43 | */ | ||
44 | struct zfcp_fc_gid_pn_resp { | ||
45 | struct fc_ct_hdr ct_hdr; | ||
46 | struct fc_gid_pn_resp gid_pn; | ||
47 | } __packed; | ||
48 | |||
49 | /** | ||
50 | * struct zfcp_fc_gid_pn - everything required in zfcp for gid_pn request | ||
51 | * @ct: data passed to zfcp_fsf for issuing fsf request | ||
52 | * @sg_req: scatterlist entry for request data | ||
53 | * @sg_resp: scatterlist entry for response data | ||
54 | * @gid_pn_req: GID_PN request data | ||
55 | * @gid_pn_resp: GID_PN response data | ||
56 | */ | ||
57 | struct zfcp_fc_gid_pn { | ||
58 | struct zfcp_send_ct ct; | ||
59 | struct scatterlist sg_req; | ||
60 | struct scatterlist sg_resp; | ||
61 | struct zfcp_fc_gid_pn_req gid_pn_req; | ||
62 | struct zfcp_fc_gid_pn_resp gid_pn_resp; | ||
63 | struct zfcp_port *port; | ||
64 | }; | ||
65 | |||
66 | /** | ||
67 | * struct zfcp_fc_gpn_ft - container for ct header plus gpn_ft request | ||
68 | * @ct_hdr: FC GS common transport header | ||
69 | * @gpn_ft: GPN_FT request | ||
70 | */ | ||
71 | struct zfcp_fc_gpn_ft_req { | ||
72 | struct fc_ct_hdr ct_hdr; | ||
73 | struct fc_ns_gid_ft gpn_ft; | ||
74 | } __packed; | ||
75 | |||
76 | /** | ||
77 | * struct zfcp_fc_gpn_ft_resp - container for ct header plus gpn_ft response | ||
78 | * @ct_hdr: FC GS common transport header | ||
79 | * @gpn_ft: Array of gpn_ft response data to fill one memory page | ||
80 | */ | ||
81 | struct zfcp_fc_gpn_ft_resp { | ||
82 | struct fc_ct_hdr ct_hdr; | ||
83 | struct fc_gpn_ft_resp gpn_ft[ZFCP_FC_GPN_FT_ENT_PAGE]; | ||
84 | } __packed; | ||
85 | |||
86 | /** | ||
87 | * struct zfcp_fc_gpn_ft - zfcp data for gpn_ft request | ||
88 | * @ct: data passed to zfcp_fsf for issuing fsf request | ||
89 | * @sg_req: scatter list entry for gpn_ft request | ||
90 | * @sg_resp: scatter list entries for gpn_ft responses (per memory page) | ||
91 | */ | ||
92 | struct zfcp_fc_gpn_ft { | ||
93 | struct zfcp_send_ct ct; | ||
94 | struct scatterlist sg_req; | ||
95 | struct scatterlist sg_resp[ZFCP_FC_GPN_FT_NUM_BUFS]; | ||
96 | }; | ||
97 | |||
18 | /** | 98 | /** |
19 | * struct zfcp_fc_els_adisc - everything required in zfcp for issuing ELS ADISC | 99 | * struct zfcp_fc_els_adisc - everything required in zfcp for issuing ELS ADISC |
20 | * @els: data required for issuing els fsf command | 100 | * @els: data required for issuing els fsf command |