Skip to contentSkip to conversation

mpt2sas: Added new driver module Parameter disable_eedp to Disable EEDP Support

PATCH In review Reddy, Sreekanth 4 participants 5 messages Mar 14, 2014 – Mar 20, 2014 SCSI

lore
Share & tools
lore
#0 lore raw

PATCH 2/11 mpt2sas: Added new driver module Parameter disable_eedp to Disable EEDP Support

A new mpt2sas driver module parameter 'disable_eedp' is added to Disable EEDP support. By default DIF support is enabled in the driver and this module parameter would allow users to turn it off.

---
 drivers/scsi/mpt2sas/mpt2sas_base.c  |    9 ++++--
 drivers/scsi/mpt2sas/mpt2sas_base.h  |    1 +
 drivers/scsi/mpt2sas/mpt2sas_scsih.c |   47 +++++++++++++++++++++++-----------
 3 files changed, 39 insertions(+), 18 deletions(-)
drivers/scsi/mpt2sas/mpt2sas_base.c +6 -3
index ed810fb..7355b28 100644
@@ -440,13 +440,16 @@ _base_sas_ioc_info(struct MPT2SAS_ADAPTER *ioc, MPI2DefaultReply_t *mpi_reply,
 ****************************************************************************/
 
 	case MPI2_IOCSTATUS_EEDP_GUARD_ERROR:
-		desc = "eedp guard error";
+		if (!ioc->disable_eedp_support)
+			desc = "eedp guard error";
 		break;
 	case MPI2_IOCSTATUS_EEDP_REF_TAG_ERROR:
-		desc = "eedp ref tag error";
+		if (!ioc->disable_eedp_support)
+			desc = "eedp ref tag error";
 		break;
 	case MPI2_IOCSTATUS_EEDP_APP_TAG_ERROR:
-		desc = "eedp app tag error";
+		if (!ioc->disable_eedp_support)
+			desc = "eedp app tag error";
 		break;
 
 /****************************************************************************
drivers/scsi/mpt2sas/mpt2sas_base.h +1 -0
index 1f2ac3a..61b02ee 100644
@@ -842,6 +842,7 @@ struct MPT2SAS_ADAPTER {
 	u32		ioc_reset_count;
 	MPT2SAS_FLUSH_RUNNING_CMDS schedule_dead_ioc_flush_running_cmds;
 	u32             non_operational_loop;
+	u8      disable_eedp_support;
 
 	/* internal commands, callback index */
 	u8		scsi_io_cb_idx;
drivers/scsi/mpt2sas/mpt2sas_scsih.c +32 -15

82 lines not on this page · raw message

Signature · 1 line
1.7.1
#1 lore raw
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Sreekanth" == Reddy, Sreekanth <[email protected]> writes:

Sreekanth> A new mpt2sas driver module parameter 'disable_eedp' is added Sreekanth> to Disable EEDP support. By default DIF support is enabled in Sreekanth> the driver and this module parameter would allow users to Sreekanth> turn it off.

Why don't you just set the prot_mask module parameter to 0?

Signature · 1 line
Martin K. Petersen	Oracle Linux Engineering
maintainer
#2 lore raw
Quoted 8 lines · Martin K. Petersen
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Sreekanth" == Reddy, Sreekanth <[email protected]> writes:

Sreekanth> A new mpt2sas driver module parameter 'disable_eedp' is added Sreekanth> to Disable EEDP support. By default DIF support is enabled in Sreekanth> the driver and this module parameter would allow users to Sreekanth> turn it off.

Why don't you just set the prot_mask module parameter to 0?

Is there an answer to this? It's holding up your patch submission.

James

#3 lore raw
Quoted 6 lines
Quoted 6 lines

Sreekanth> A new mpt2sas driver module parameter 'disable_eedp' is Sreekanth> added to Disable EEDP support. By default DIF support is Sreekanth> enabled in the driver and this module parameter would allow Sreekanth> users to turn it off.

Quoted 6 lines
Quoted 1 line

Why don't you just set the prot_mask module parameter to 0?

Is there an answer to this? It's holding up your patch submission.

James

Hi Martin,

The prot_mask module parameter is defined for the purpose of setting the DIF and DIX capabilities.
The disable_eedp module parameter is added with the intent to disable the complete EEDP related code and operations. This include even reading manufacting pages to get EEDPTagMode etc. Agree that this could also be achieved using prot_mask. We are giving new parameter to be clear that we are disabling the complete EEDP.

Thanks,
Sreekanth

#4 lore raw
In reply to Reddy, Sreekanth

drivers/scsi/mpt2sas/mpt2sas_scsih.c static int disable_discovery = -1; · line 133

Quoted 13 lines

u8 scsi_io_cb_idx;

drivers/scsi/mpt2sas/mpt2sas_scsih.c +4 -0
index 7f0af4f..d502728 100644
@@ -127,6 +127,11 @@ static int disable_discovery = -1;
  module_param(disable_discovery, int, 0);
  MODULE_PARM_DESC(disable_discovery, " disable discovery ");
 
+/* Enable or disable EEDP support */
+static int disable_eedp;
+module_param(disable_eedp, uint, 0);
+MODULE_PARM_DESC(disable_eedp, " disable EEDP support: (default=0)");

Wouldn't it make sense to exlain what EEDP means? Something like

MODULE_PARM_DESC(disable_eedp,

		" disable end-to-end data protection support (DIF): "
		"default=0)");