Commit d154f350 authored by Arun Easi's avatar Arun Easi Committed by Christoph Hellwig

qla2xxx: Enable SLER conditionally in target mode.

Sequence level error recovery (aka FC Tape) is not really required
for disk devices. On heavily loaded system, with slow turn around,
a bunch of status enquiries using REC puts additional burden to the
target, so just turn off SLER by default.
Signed-off-by: default avatarArun Easi <arun.easi@qlogic.com>
Signed-off-by: default avatarSaurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent 667024a3
...@@ -42,6 +42,11 @@ ...@@ -42,6 +42,11 @@
#include "qla_def.h" #include "qla_def.h"
#include "qla_target.h" #include "qla_target.h"
static int ql2xtgt_tape_enable;
module_param(ql2xtgt_tape_enable, int, S_IRUGO|S_IWUSR);
MODULE_PARM_DESC(ql2xtgt_tape_enable,
"Enables Sequence level error recovery (aka FC Tape). Default is 0 - no SLER. 1 - Enable SLER.");
static char *qlini_mode = QLA2XXX_INI_MODE_STR_ENABLED; static char *qlini_mode = QLA2XXX_INI_MODE_STR_ENABLED;
module_param(qlini_mode, charp, S_IRUGO); module_param(qlini_mode, charp, S_IRUGO);
MODULE_PARM_DESC(qlini_mode, MODULE_PARM_DESC(qlini_mode,
...@@ -5172,8 +5177,13 @@ qlt_24xx_config_nvram_stage1(struct scsi_qla_host *vha, struct nvram_24xx *nv) ...@@ -5172,8 +5177,13 @@ qlt_24xx_config_nvram_stage1(struct scsi_qla_host *vha, struct nvram_24xx *nv)
nv->firmware_options_1 &= __constant_cpu_to_le32(~BIT_13); nv->firmware_options_1 &= __constant_cpu_to_le32(~BIT_13);
/* Enable initial LIP */ /* Enable initial LIP */
nv->firmware_options_1 &= __constant_cpu_to_le32(~BIT_9); nv->firmware_options_1 &= __constant_cpu_to_le32(~BIT_9);
/* Enable FC tapes support */ if (ql2xtgt_tape_enable)
nv->firmware_options_2 |= __constant_cpu_to_le32(BIT_12); /* Enable FC Tape support */
nv->firmware_options_2 |= cpu_to_le32(BIT_12);
else
/* Disable FC Tape support */
nv->firmware_options_2 &= cpu_to_le32(~BIT_12);
/* Disable Full Login after LIP */ /* Disable Full Login after LIP */
nv->host_p &= __constant_cpu_to_le32(~BIT_10); nv->host_p &= __constant_cpu_to_le32(~BIT_10);
/* Enable target PRLI control */ /* Enable target PRLI control */
...@@ -5255,8 +5265,13 @@ qlt_81xx_config_nvram_stage1(struct scsi_qla_host *vha, struct nvram_81xx *nv) ...@@ -5255,8 +5265,13 @@ qlt_81xx_config_nvram_stage1(struct scsi_qla_host *vha, struct nvram_81xx *nv)
nv->firmware_options_1 &= __constant_cpu_to_le32(~BIT_13); nv->firmware_options_1 &= __constant_cpu_to_le32(~BIT_13);
/* Enable initial LIP */ /* Enable initial LIP */
nv->firmware_options_1 &= __constant_cpu_to_le32(~BIT_9); nv->firmware_options_1 &= __constant_cpu_to_le32(~BIT_9);
/* Enable FC tapes support */ if (ql2xtgt_tape_enable)
nv->firmware_options_2 |= __constant_cpu_to_le32(BIT_12); /* Enable FC tape support */
nv->firmware_options_2 |= cpu_to_le32(BIT_12);
else
/* Disable FC tape support */
nv->firmware_options_2 &= cpu_to_le32(~BIT_12);
/* Disable Full Login after LIP */ /* Disable Full Login after LIP */
nv->host_p &= __constant_cpu_to_le32(~BIT_10); nv->host_p &= __constant_cpu_to_le32(~BIT_10);
/* Enable target PRLI control */ /* Enable target PRLI control */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment