diff options
author | Christof Schmitt <christof.schmitt@de.ibm.com> | 2010-07-16 09:37:41 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-07-28 10:48:55 -0400 |
commit | dcc18f48a2f1a44c5e8848f30d0cf53a8066c62a (patch) | |
tree | 6bf6e20f2309b0a077f328189d9f6656f554cedf /arch/s390 | |
parent | d23948ea38c4c6aa13e4df903dfdd71cabd0e6a3 (diff) |
[SCSI] zfcp: Enable data division support for FCP devices
Try to enable data division support for FCP devices and indicate in
the adapter status flag if it succeeded.
Reviewed-by: Swen Schillig <swen@vnet.ibm.com>
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/include/asm/qdio.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/s390/include/asm/qdio.h b/arch/s390/include/asm/qdio.h index 0eaae6260274..2ba630276295 100644 --- a/arch/s390/include/asm/qdio.h +++ b/arch/s390/include/asm/qdio.h | |||
@@ -84,6 +84,7 @@ struct qdr { | |||
84 | 84 | ||
85 | #define QIB_AC_OUTBOUND_PCI_SUPPORTED 0x40 | 85 | #define QIB_AC_OUTBOUND_PCI_SUPPORTED 0x40 |
86 | #define QIB_RFLAGS_ENABLE_QEBSM 0x80 | 86 | #define QIB_RFLAGS_ENABLE_QEBSM 0x80 |
87 | #define QIB_RFLAGS_ENABLE_DATA_DIV 0x02 | ||
87 | 88 | ||
88 | /** | 89 | /** |
89 | * struct qib - queue information block (QIB) | 90 | * struct qib - queue information block (QIB) |
@@ -284,6 +285,9 @@ struct slsb { | |||
284 | u8 val[QDIO_MAX_BUFFERS_PER_Q]; | 285 | u8 val[QDIO_MAX_BUFFERS_PER_Q]; |
285 | } __attribute__ ((packed, aligned(256))); | 286 | } __attribute__ ((packed, aligned(256))); |
286 | 287 | ||
288 | #define CHSC_AC2_DATA_DIV_AVAILABLE 0x0010 | ||
289 | #define CHSC_AC2_DATA_DIV_ENABLED 0x0002 | ||
290 | |||
287 | struct qdio_ssqd_desc { | 291 | struct qdio_ssqd_desc { |
288 | u8 flags; | 292 | u8 flags; |
289 | u8:8; | 293 | u8:8; |
@@ -332,6 +336,7 @@ typedef void qdio_handler_t(struct ccw_device *, unsigned int, int, | |||
332 | * @adapter_name: name for the adapter | 336 | * @adapter_name: name for the adapter |
333 | * @qib_param_field_format: format for qib_parm_field | 337 | * @qib_param_field_format: format for qib_parm_field |
334 | * @qib_param_field: pointer to 128 bytes or NULL, if no param field | 338 | * @qib_param_field: pointer to 128 bytes or NULL, if no param field |
339 | * @qib_rflags: rflags to set | ||
335 | * @input_slib_elements: pointer to no_input_qs * 128 words of data or NULL | 340 | * @input_slib_elements: pointer to no_input_qs * 128 words of data or NULL |
336 | * @output_slib_elements: pointer to no_output_qs * 128 words of data or NULL | 341 | * @output_slib_elements: pointer to no_output_qs * 128 words of data or NULL |
337 | * @no_input_qs: number of input queues | 342 | * @no_input_qs: number of input queues |
@@ -348,6 +353,7 @@ struct qdio_initialize { | |||
348 | unsigned char adapter_name[8]; | 353 | unsigned char adapter_name[8]; |
349 | unsigned int qib_param_field_format; | 354 | unsigned int qib_param_field_format; |
350 | unsigned char *qib_param_field; | 355 | unsigned char *qib_param_field; |
356 | unsigned char qib_rflags; | ||
351 | unsigned long *input_slib_elements; | 357 | unsigned long *input_slib_elements; |
352 | unsigned long *output_slib_elements; | 358 | unsigned long *output_slib_elements; |
353 | unsigned int no_input_qs; | 359 | unsigned int no_input_qs; |