aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorChristof Schmitt <christof.schmitt@de.ibm.com>2010-07-16 09:37:41 -0400
committerJames Bottomley <James.Bottomley@suse.de>2010-07-28 10:48:55 -0400
commitdcc18f48a2f1a44c5e8848f30d0cf53a8066c62a (patch)
tree6bf6e20f2309b0a077f328189d9f6656f554cedf /arch
parentd23948ea38c4c6aa13e4df903dfdd71cabd0e6a3 (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')
-rw-r--r--arch/s390/include/asm/qdio.h6
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
287struct qdio_ssqd_desc { 291struct 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;