diff options
author | James Smart <james.smart@emulex.com> | 2010-11-20 23:11:55 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-12-21 13:24:01 -0500 |
commit | 19ca760979e4be41a3eb215fb8d0e96637161947 (patch) | |
tree | de6c32815eb813ba770a26178c1612015acf719b /drivers/scsi/lpfc/lpfc_attr.c | |
parent | 76a95d75ede64e4f1684ddb8c626fdfdb641bda2 (diff) |
[SCSI] lpfc 8.3.19: Added support for ELS RRQ command
Added support for ELS RRQ command
- Add new routine lpfc_set_rrq_active() to track XRI qualifier state.
- Add new module parameter lpfc_enable_rrq to control RRQ operation.
- Add logic to ELS RRQ completion handler and xri qualifier timeout
to clear XRI qualifier state.
- Use OX_ID from XRI_ABORTED_CQE for RRQ payload.
- Tie abort and XRI_ABORTED_CQE andler to RRQ generation.
Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com>
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_attr.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_attr.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c index 45bd72a9f60e..6be942ae8a07 100644 --- a/drivers/scsi/lpfc/lpfc_attr.c +++ b/drivers/scsi/lpfc/lpfc_attr.c | |||
@@ -1977,6 +1977,13 @@ lpfc_param_show(enable_npiv); | |||
1977 | lpfc_param_init(enable_npiv, 1, 0, 1); | 1977 | lpfc_param_init(enable_npiv, 1, 0, 1); |
1978 | static DEVICE_ATTR(lpfc_enable_npiv, S_IRUGO, lpfc_enable_npiv_show, NULL); | 1978 | static DEVICE_ATTR(lpfc_enable_npiv, S_IRUGO, lpfc_enable_npiv_show, NULL); |
1979 | 1979 | ||
1980 | int lpfc_enable_rrq; | ||
1981 | module_param(lpfc_enable_rrq, int, 0); | ||
1982 | MODULE_PARM_DESC(lpfc_enable_rrq, "Enable RRQ functionality"); | ||
1983 | lpfc_param_show(enable_rrq); | ||
1984 | lpfc_param_init(enable_rrq, 0, 0, 1); | ||
1985 | static DEVICE_ATTR(lpfc_enable_rrq, S_IRUGO, lpfc_enable_rrq_show, NULL); | ||
1986 | |||
1980 | /* | 1987 | /* |
1981 | # lpfc_suppress_link_up: Bring link up at initialization | 1988 | # lpfc_suppress_link_up: Bring link up at initialization |
1982 | # 0x0 = bring link up (issue MBX_INIT_LINK) | 1989 | # 0x0 = bring link up (issue MBX_INIT_LINK) |
@@ -3394,6 +3401,7 @@ struct device_attribute *lpfc_hba_attrs[] = { | |||
3394 | &dev_attr_lpfc_fdmi_on, | 3401 | &dev_attr_lpfc_fdmi_on, |
3395 | &dev_attr_lpfc_max_luns, | 3402 | &dev_attr_lpfc_max_luns, |
3396 | &dev_attr_lpfc_enable_npiv, | 3403 | &dev_attr_lpfc_enable_npiv, |
3404 | &dev_attr_lpfc_enable_rrq, | ||
3397 | &dev_attr_nport_evt_cnt, | 3405 | &dev_attr_nport_evt_cnt, |
3398 | &dev_attr_board_mode, | 3406 | &dev_attr_board_mode, |
3399 | &dev_attr_max_vpi, | 3407 | &dev_attr_max_vpi, |
@@ -4610,6 +4618,7 @@ lpfc_get_cfgparam(struct lpfc_hba *phba) | |||
4610 | lpfc_link_speed_init(phba, lpfc_link_speed); | 4618 | lpfc_link_speed_init(phba, lpfc_link_speed); |
4611 | lpfc_poll_tmo_init(phba, lpfc_poll_tmo); | 4619 | lpfc_poll_tmo_init(phba, lpfc_poll_tmo); |
4612 | lpfc_enable_npiv_init(phba, lpfc_enable_npiv); | 4620 | lpfc_enable_npiv_init(phba, lpfc_enable_npiv); |
4621 | lpfc_enable_rrq_init(phba, lpfc_enable_rrq); | ||
4613 | lpfc_use_msi_init(phba, lpfc_use_msi); | 4622 | lpfc_use_msi_init(phba, lpfc_use_msi); |
4614 | lpfc_fcp_imax_init(phba, lpfc_fcp_imax); | 4623 | lpfc_fcp_imax_init(phba, lpfc_fcp_imax); |
4615 | lpfc_fcp_wq_count_init(phba, lpfc_fcp_wq_count); | 4624 | lpfc_fcp_wq_count_init(phba, lpfc_fcp_wq_count); |