aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarren Trapp <darren.trapp@cavium.com>2018-03-21 02:09:36 -0400
committerMartin K. Petersen <martin.petersen@oracle.com>2018-03-21 18:38:54 -0400
commit2e4c5d2ef76b6f04a3cb7a15bc0fee0ab029dedf (patch)
tree9ba5727bd1ab07798a8b6c4428a2ee61c6d78e01
parent870fe24f3c0b2cf40998f8ab21d4cf4e4e9cf619 (diff)
scsi: qla2xxx: Remove nvme_done_list
Signed-off-by: Darren Trapp <darren.trapp@cavium.com> Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r--drivers/scsi/qla2xxx/qla_def.h1
-rw-r--r--drivers/scsi/qla2xxx/qla_gbl.h2
-rw-r--r--drivers/scsi/qla2xxx/qla_init.c1
-rw-r--r--drivers/scsi/qla2xxx/qla_mid.c6
-rw-r--r--drivers/scsi/qla2xxx/qla_nvme.c13
-rw-r--r--drivers/scsi/qla2xxx/qla_os.c1
6 files changed, 2 insertions, 22 deletions
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
index 59c449b141cd..6aae126add0c 100644
--- a/drivers/scsi/qla2xxx/qla_def.h
+++ b/drivers/scsi/qla2xxx/qla_def.h
@@ -3464,7 +3464,6 @@ struct qla_qpair {
3464 struct work_struct q_work; 3464 struct work_struct q_work;
3465 struct list_head qp_list_elem; /* vha->qp_list */ 3465 struct list_head qp_list_elem; /* vha->qp_list */
3466 struct list_head hints_list; 3466 struct list_head hints_list;
3467 struct list_head nvme_done_list;
3468 uint16_t cpuid; 3467 uint16_t cpuid;
3469 struct qla_tgt_counters tgt_counters; 3468 struct qla_tgt_counters tgt_counters;
3470}; 3469};
diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h
index e9295398050c..19f44e12926b 100644
--- a/drivers/scsi/qla2xxx/qla_gbl.h
+++ b/drivers/scsi/qla2xxx/qla_gbl.h
@@ -896,6 +896,4 @@ void qlt_update_host_map(struct scsi_qla_host *, port_id_t);
896void qlt_remove_target_resources(struct qla_hw_data *); 896void qlt_remove_target_resources(struct qla_hw_data *);
897void qlt_clr_qp_table(struct scsi_qla_host *vha); 897void qlt_clr_qp_table(struct scsi_qla_host *vha);
898 898
899void qla_nvme_cmpl_io(struct srb_iocb *);
900
901#endif /* _QLA_GBL_H */ 899#endif /* _QLA_GBL_H */
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index 7f8bfa0454d2..33823d74c782 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -8405,7 +8405,6 @@ struct qla_qpair *qla2xxx_create_qpair(struct scsi_qla_host *vha, int qos,
8405 qpair->vp_idx = vp_idx; 8405 qpair->vp_idx = vp_idx;
8406 qpair->fw_started = ha->flags.fw_started; 8406 qpair->fw_started = ha->flags.fw_started;
8407 INIT_LIST_HEAD(&qpair->hints_list); 8407 INIT_LIST_HEAD(&qpair->hints_list);
8408 INIT_LIST_HEAD(&qpair->nvme_done_list);
8409 qpair->chip_reset = ha->base_qpair->chip_reset; 8408 qpair->chip_reset = ha->base_qpair->chip_reset;
8410 qpair->enable_class_2 = ha->base_qpair->enable_class_2; 8409 qpair->enable_class_2 = ha->base_qpair->enable_class_2;
8411 qpair->enable_explicit_conf = 8410 qpair->enable_explicit_conf =
diff --git a/drivers/scsi/qla2xxx/qla_mid.c b/drivers/scsi/qla2xxx/qla_mid.c
index e965b16f21e3..da85cd89639f 100644
--- a/drivers/scsi/qla2xxx/qla_mid.c
+++ b/drivers/scsi/qla2xxx/qla_mid.c
@@ -778,18 +778,12 @@ static void qla_do_work(struct work_struct *work)
778 struct qla_qpair *qpair = container_of(work, struct qla_qpair, q_work); 778 struct qla_qpair *qpair = container_of(work, struct qla_qpair, q_work);
779 struct scsi_qla_host *vha; 779 struct scsi_qla_host *vha;
780 struct qla_hw_data *ha = qpair->hw; 780 struct qla_hw_data *ha = qpair->hw;
781 struct srb_iocb *nvme, *nxt_nvme;
782 781
783 spin_lock_irqsave(&qpair->qp_lock, flags); 782 spin_lock_irqsave(&qpair->qp_lock, flags);
784 vha = pci_get_drvdata(ha->pdev); 783 vha = pci_get_drvdata(ha->pdev);
785 qla24xx_process_response_queue(vha, qpair->rsp); 784 qla24xx_process_response_queue(vha, qpair->rsp);
786 spin_unlock_irqrestore(&qpair->qp_lock, flags); 785 spin_unlock_irqrestore(&qpair->qp_lock, flags);
787 786
788 list_for_each_entry_safe(nvme, nxt_nvme, &qpair->nvme_done_list,
789 u.nvme.entry) {
790 list_del_init(&nvme->u.nvme.entry);
791 qla_nvme_cmpl_io(nvme);
792 }
793} 787}
794 788
795/* create response queue */ 789/* create response queue */
diff --git a/drivers/scsi/qla2xxx/qla_nvme.c b/drivers/scsi/qla2xxx/qla_nvme.c
index adeda6a4e4fd..8c05df30c083 100644
--- a/drivers/scsi/qla2xxx/qla_nvme.c
+++ b/drivers/scsi/qla2xxx/qla_nvme.c
@@ -149,16 +149,6 @@ static void qla_nvme_sp_ls_done(void *ptr, int res)
149 qla2x00_rel_sp(sp); 149 qla2x00_rel_sp(sp);
150} 150}
151 151
152void qla_nvme_cmpl_io(struct srb_iocb *nvme)
153{
154 srb_t *sp;
155 struct nvmefc_fcp_req *fd = nvme->u.nvme.desc;
156
157 sp = container_of(nvme, srb_t, u.iocb_cmd);
158 fd->done(fd);
159 qla2xxx_rel_qpair_sp(sp->qpair, sp);
160}
161
162static void qla_nvme_sp_done(void *ptr, int res) 152static void qla_nvme_sp_done(void *ptr, int res)
163{ 153{
164 srb_t *sp = ptr; 154 srb_t *sp = ptr;
@@ -177,7 +167,8 @@ static void qla_nvme_sp_done(void *ptr, int res)
177 fd->status = NVME_SC_INTERNAL; 167 fd->status = NVME_SC_INTERNAL;
178 168
179 fd->rcv_rsplen = nvme->u.nvme.rsp_pyld_len; 169 fd->rcv_rsplen = nvme->u.nvme.rsp_pyld_len;
180 list_add_tail(&nvme->u.nvme.entry, &sp->qpair->nvme_done_list); 170 fd->done(fd);
171 qla2xxx_rel_qpair_sp(sp->qpair, sp);
181 172
182 return; 173 return;
183} 174}
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index 12ee6e02d146..bd37a243c0bd 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -397,7 +397,6 @@ static void qla_init_base_qpair(struct scsi_qla_host *vha, struct req_que *req,
397 ha->base_qpair->use_shadow_reg = IS_SHADOW_REG_CAPABLE(ha) ? 1 : 0; 397 ha->base_qpair->use_shadow_reg = IS_SHADOW_REG_CAPABLE(ha) ? 1 : 0;
398 ha->base_qpair->msix = &ha->msix_entries[QLA_MSIX_RSP_Q]; 398 ha->base_qpair->msix = &ha->msix_entries[QLA_MSIX_RSP_Q];
399 INIT_LIST_HEAD(&ha->base_qpair->hints_list); 399 INIT_LIST_HEAD(&ha->base_qpair->hints_list);
400 INIT_LIST_HEAD(&ha->base_qpair->nvme_done_list);
401 ha->base_qpair->enable_class_2 = ql2xenableclass2; 400 ha->base_qpair->enable_class_2 = ql2xenableclass2;
402 /* init qpair to this cpu. Will adjust at run time. */ 401 /* init qpair to this cpu. Will adjust at run time. */
403 qla_cpu_update(rsp->qpair, raw_smp_processor_id()); 402 qla_cpu_update(rsp->qpair, raw_smp_processor_id());