aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/mpt2sas/mpt2sas_ctl.c
diff options
context:
space:
mode:
authorKashyap, Desai <kashyap.desai@lsi.com>2009-09-23 07:58:59 -0400
committerJames Bottomley <James.Bottomley@suse.de>2009-10-29 13:03:11 -0400
commit1b01fe3aa58b114b2dc296676023451c6434561e (patch)
tree6e300762006abc6accd43d5403298ded28b6679b /drivers/scsi/mpt2sas/mpt2sas_ctl.c
parent32e0eb569df09a8cb790cf370ee498721d88e5c6 (diff)
[SCSI] mpt2sas: Add Extended Type for Diagnostic Buffer support
Added tests for registry entries of EXBuffSize, EXImmed, and EXType to support the new Extended diag buffer type. Modified code where necessary to handle the new ExtendedType field in the F/W diagnostic Post and Release messages. Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com> Signed-off-by: Eric Moore <Eric.moore@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/mpt2sas/mpt2sas_ctl.c')
-rw-r--r--drivers/scsi/mpt2sas/mpt2sas_ctl.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/drivers/scsi/mpt2sas/mpt2sas_ctl.c b/drivers/scsi/mpt2sas/mpt2sas_ctl.c
index 99a332d76f51..8dfc5f6a39b0 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_ctl.c
+++ b/drivers/scsi/mpt2sas/mpt2sas_ctl.c
@@ -1230,7 +1230,7 @@ _ctl_btdh_mapping(void __user *arg)
1230/** 1230/**
1231 * _ctl_diag_capability - return diag buffer capability 1231 * _ctl_diag_capability - return diag buffer capability
1232 * @ioc: per adapter object 1232 * @ioc: per adapter object
1233 * @buffer_type: specifies either TRACE or SNAPSHOT 1233 * @buffer_type: specifies either TRACE, SNAPSHOT, or EXTENDED
1234 * 1234 *
1235 * returns 1 when diag buffer support is enabled in firmware 1235 * returns 1 when diag buffer support is enabled in firmware
1236 */ 1236 */
@@ -1250,6 +1250,10 @@ _ctl_diag_capability(struct MPT2SAS_ADAPTER *ioc, u8 buffer_type)
1250 MPI2_IOCFACTS_CAPABILITY_SNAPSHOT_BUFFER) 1250 MPI2_IOCFACTS_CAPABILITY_SNAPSHOT_BUFFER)
1251 rc = 1; 1251 rc = 1;
1252 break; 1252 break;
1253 case MPI2_DIAG_BUF_TYPE_EXTENDED:
1254 if (ioc->facts.IOCCapabilities &
1255 MPI2_IOCFACTS_CAPABILITY_EXTENDED_BUFFER)
1256 rc = 1;
1253 } 1257 }
1254 1258
1255 return rc; 1259 return rc;
@@ -1460,6 +1464,16 @@ mpt2sas_enable_diag_buffer(struct MPT2SAS_ADAPTER *ioc, u8 bits_to_register)
1460 diag_register.unique_id = 0x7075901; 1464 diag_register.unique_id = 0x7075901;
1461 _ctl_diag_register_2(ioc, &diag_register); 1465 _ctl_diag_register_2(ioc, &diag_register);
1462 } 1466 }
1467
1468 if (bits_to_register & 4) {
1469 printk(MPT2SAS_INFO_FMT "registering extended buffer support\n",
1470 ioc->name);
1471 diag_register.buffer_type = MPI2_DIAG_BUF_TYPE_EXTENDED;
1472 /* register for 2MB buffers */
1473 diag_register.requested_buffer_size = 2 * (1024 * 1024);
1474 diag_register.unique_id = 0x7075901;
1475 _ctl_diag_register_2(ioc, &diag_register);
1476 }
1463} 1477}
1464 1478
1465/** 1479/**
@@ -1652,7 +1666,7 @@ _ctl_diag_query(void __user *arg)
1652/** 1666/**
1653 * _ctl_send_release - Diag Release Message 1667 * _ctl_send_release - Diag Release Message
1654 * @ioc: per adapter object 1668 * @ioc: per adapter object
1655 * @buffer_type - specifies either TRACE or SNAPSHOT 1669 * @buffer_type - specifies either TRACE, SNAPSHOT, or EXTENDED
1656 * @issue_reset - specifies whether host reset is required. 1670 * @issue_reset - specifies whether host reset is required.
1657 * 1671 *
1658 */ 1672 */