scsi: qla2xxx: Accelerate SCSI BUSY status generation in target mode

Accelerate generation of SCSI busy to let initiators slow down when
target is running low in resources.

Signed-off-by: Quinn Tran <quinn.tran@cavium.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Quinn Tran 2017-06-02 09:12:05 -07:00 committed by Martin K. Petersen
parent 3a33dc95b0
commit 2da5273752
2 changed files with 13 additions and 2 deletions

View file

@ -7374,10 +7374,19 @@ qla81xx_update_fw_options(scsi_qla_host_t *vha)
}
if (qla_tgt_mode_enabled(vha) ||
qla_dual_mode_enabled(vha))
qla_dual_mode_enabled(vha)) {
/* FW auto send SCSI status during */
ha->fw_options[1] |= BIT_8;
ha->fw_options[10] |= (u16)SAM_STAT_BUSY << 8;
/* FW perform Exchange validation */
ha->fw_options[2] |= BIT_4;
else
} else {
ha->fw_options[1] &= ~BIT_8;
ha->fw_options[10] &= 0x00ff;
ha->fw_options[2] &= ~BIT_4;
}
if (ql2xetsenable) {
/* Enable ETS Burst. */

View file

@ -1048,6 +1048,8 @@ qla2x00_set_fw_options(scsi_qla_host_t *vha, uint16_t *fwopts)
mcp->in_mb = MBX_0;
if (IS_FWI2_CAPABLE(vha->hw)) {
mcp->in_mb |= MBX_1;
mcp->mb[10] = fwopts[10];
mcp->out_mb |= MBX_10;
} else {
mcp->mb[10] = fwopts[10];
mcp->mb[11] = fwopts[11];