[SCSI] qla2xxx: Add changes to support extended IOs for ISPFX00
Signed-off-by: Armen Baloyan <armen.baloyan@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
parent
fabbb8df8e
commit
1fe19ee488
|
@ -1956,6 +1956,8 @@ qlafx00_fx_disc(scsi_qla_host_t *vha, fc_port_t *fcport, uint16_t fx_type)
|
|||
memcpy(&vha->hw->mr.fru_serial_num, pinfo->fru_serial_num,
|
||||
sizeof(vha->hw->mr.fru_serial_num));
|
||||
vha->hw->mr.critical_temperature = pinfo->nominal_temp_value;
|
||||
ha->mr.extended_io_enabled = (pinfo->enabled_capabilities &
|
||||
QLAFX00_EXTENDED_IO_EN_MASK) != 0;
|
||||
} else if (fx_type == FXDISC_GET_PORT_INFO) {
|
||||
struct port_info_data *pinfo =
|
||||
(struct port_info_data *) fdisc->u.fxiocb.rsp_addr;
|
||||
|
@ -2799,9 +2801,6 @@ qlafx00_process_response_queue(struct scsi_qla_host *vha,
|
|||
struct sts_entry_fx00 *pkt;
|
||||
response_t *lptr;
|
||||
|
||||
if (!vha->flags.online)
|
||||
return;
|
||||
|
||||
while (RD_REG_DWORD((void __iomem *)&(rsp->ring_ptr->signature)) !=
|
||||
RESPONSE_PROCESSED) {
|
||||
lptr = rsp->ring_ptr;
|
||||
|
|
|
@ -510,8 +510,11 @@ struct mr_data_fx00 {
|
|||
uint16_t fw_critemp_timer_tick;
|
||||
uint32_t old_aenmbx0_state;
|
||||
uint32_t critical_temperature;
|
||||
bool extended_io_enabled;
|
||||
};
|
||||
|
||||
#define QLAFX00_EXTENDED_IO_EN_MASK 0x20
|
||||
|
||||
/*
|
||||
* SoC Junction Temperature is stored in
|
||||
* bits 9:1 of SoC Junction Temperature Register
|
||||
|
|
|
@ -2876,6 +2876,13 @@ skip_dpc:
|
|||
|
||||
ha->isp_ops->enable_intrs(ha);
|
||||
|
||||
if (IS_QLAFX00(ha)) {
|
||||
ret = qlafx00_fx_disc(base_vha,
|
||||
&base_vha->hw->mr.fcport, FXDISC_GET_CONFIG_INFO);
|
||||
host->sg_tablesize = (ha->mr.extended_io_enabled) ?
|
||||
QLA_SG_ALL : 128;
|
||||
}
|
||||
|
||||
ret = scsi_add_host(host, &pdev->dev);
|
||||
if (ret)
|
||||
goto probe_failed;
|
||||
|
@ -2895,9 +2902,6 @@ skip_dpc:
|
|||
qla2x00_alloc_sysfs_attr(base_vha);
|
||||
|
||||
if (IS_QLAFX00(ha)) {
|
||||
ret = qlafx00_fx_disc(base_vha,
|
||||
&base_vha->hw->mr.fcport, FXDISC_GET_CONFIG_INFO);
|
||||
|
||||
ret = qlafx00_fx_disc(base_vha,
|
||||
&base_vha->hw->mr.fcport, FXDISC_GET_PORT_INFO);
|
||||
|
||||
|
|
Loading…
Reference in New Issue