Lines Matching refs:qpair
101 struct qla_qpair *qpair = sp->qpair; in qla24xx_abort_iocb_timeout() local
115 spin_lock_irqsave(qpair->qp_lock_ptr, flags); in qla24xx_abort_iocb_timeout()
116 for (handle = 1; handle < qpair->req->num_outstanding_cmds; handle++) { in qla24xx_abort_iocb_timeout()
117 if (sp->cmd_sp && (qpair->req->outstanding_cmds[handle] == in qla24xx_abort_iocb_timeout()
119 qpair->req->outstanding_cmds[handle] = NULL; in qla24xx_abort_iocb_timeout()
122 if (qpair->req->outstanding_cmds[handle] == sp) { in qla24xx_abort_iocb_timeout()
123 qpair->req->outstanding_cmds[handle] = NULL; in qla24xx_abort_iocb_timeout()
127 spin_unlock_irqrestore(qpair->qp_lock_ptr, flags); in qla24xx_abort_iocb_timeout()
154 sp = qla2xxx_get_qpair_sp(cmd_sp->vha, cmd_sp->qpair, cmd_sp->fcport, in qla24xx_async_abort_cmd()
162 sp->qpair = cmd_sp->qpair; in qla24xx_async_abort_cmd()
173 abt_iocb->u.abt.req_que_no = cpu_to_le16(cmd_sp->qpair->req->id); in qla24xx_async_abort_cmd()
226 spin_lock_irqsave(sp->qpair->qp_lock_ptr, flags); in qla2x00_async_iocb_timeout()
227 for (h = 1; h < sp->qpair->req->num_outstanding_cmds; in qla2x00_async_iocb_timeout()
229 if (sp->qpair->req->outstanding_cmds[h] == in qla2x00_async_iocb_timeout()
231 sp->qpair->req->outstanding_cmds[h] = in qla2x00_async_iocb_timeout()
236 spin_unlock_irqrestore(sp->qpair->qp_lock_ptr, flags); in qla2x00_async_iocb_timeout()
250 spin_lock_irqsave(sp->qpair->qp_lock_ptr, flags); in qla2x00_async_iocb_timeout()
251 for (h = 1; h < sp->qpair->req->num_outstanding_cmds; in qla2x00_async_iocb_timeout()
253 if (sp->qpair->req->outstanding_cmds[h] == in qla2x00_async_iocb_timeout()
255 sp->qpair->req->outstanding_cmds[h] = in qla2x00_async_iocb_timeout()
260 spin_unlock_irqrestore(sp->qpair->qp_lock_ptr, flags); in qla2x00_async_iocb_timeout()
1867 spin_lock_irqsave(sp->qpair->qp_lock_ptr, flags); in qla2x00_tmf_iocb_timeout()
1868 for (h = 1; h < sp->qpair->req->num_outstanding_cmds; h++) { in qla2x00_tmf_iocb_timeout()
1869 if (sp->qpair->req->outstanding_cmds[h] == sp) { in qla2x00_tmf_iocb_timeout()
1870 sp->qpair->req->outstanding_cmds[h] = NULL; in qla2x00_tmf_iocb_timeout()
1874 spin_unlock_irqrestore(sp->qpair->qp_lock_ptr, flags); in qla2x00_tmf_iocb_timeout()
1955 struct qla_qpair *qpair = sp->qpair; in qla24xx_async_abort_command() local
1957 struct req_que *req = qpair->req; in qla24xx_async_abort_command()
1959 spin_lock_irqsave(qpair->qp_lock_ptr, flags); in qla24xx_async_abort_command()
1964 spin_unlock_irqrestore(qpair->qp_lock_ptr, flags); in qla24xx_async_abort_command()
9107 struct qla_qpair *qpair = NULL; in qla2xxx_create_qpair() local
9117 qpair = kzalloc(sizeof(struct qla_qpair), GFP_KERNEL); in qla2xxx_create_qpair()
9118 if (qpair == NULL) { in qla2xxx_create_qpair()
9124 qpair->hw = vha->hw; in qla2xxx_create_qpair()
9125 qpair->vha = vha; in qla2xxx_create_qpair()
9126 qpair->qp_lock_ptr = &qpair->qp_lock; in qla2xxx_create_qpair()
9127 spin_lock_init(&qpair->qp_lock); in qla2xxx_create_qpair()
9128 qpair->use_shadow_reg = IS_SHADOW_REG_CAPABLE(ha) ? 1 : 0; in qla2xxx_create_qpair()
9141 ha->queue_pair_map[qpair_id] = qpair; in qla2xxx_create_qpair()
9142 qpair->id = qpair_id; in qla2xxx_create_qpair()
9143 qpair->vp_idx = vp_idx; in qla2xxx_create_qpair()
9144 qpair->fw_started = ha->flags.fw_started; in qla2xxx_create_qpair()
9145 INIT_LIST_HEAD(&qpair->hints_list); in qla2xxx_create_qpair()
9146 qpair->chip_reset = ha->base_qpair->chip_reset; in qla2xxx_create_qpair()
9147 qpair->enable_class_2 = ha->base_qpair->enable_class_2; in qla2xxx_create_qpair()
9148 qpair->enable_explicit_conf = in qla2xxx_create_qpair()
9155 qpair->msix = msix; in qla2xxx_create_qpair()
9160 if (!qpair->msix) { in qla2xxx_create_qpair()
9166 qpair->msix->in_use = 1; in qla2xxx_create_qpair()
9167 list_add_tail(&qpair->qp_list_elem, &vha->qp_list); in qla2xxx_create_qpair()
9168 qpair->pdev = ha->pdev; in qla2xxx_create_qpair()
9170 qpair->reqq_start_iocbs = qla_83xx_start_iocbs; in qla2xxx_create_qpair()
9175 rsp_id = qla25xx_create_rsp_que(ha, 0, 0, 0, qpair, startqp); in qla2xxx_create_qpair()
9182 qpair->rsp = ha->rsp_q_map[rsp_id]; in qla2xxx_create_qpair()
9193 qpair->req = ha->req_q_map[req_id]; in qla2xxx_create_qpair()
9194 qpair->rsp->req = qpair->req; in qla2xxx_create_qpair()
9195 qpair->rsp->qpair = qpair; in qla2xxx_create_qpair()
9197 qla_cpu_update(qpair, raw_smp_processor_id()); in qla2xxx_create_qpair()
9201 qpair->difdix_supported = 1; in qla2xxx_create_qpair()
9204 qpair->srb_mempool = mempool_create_slab_pool(SRB_MIN_REQ, srb_cachep); in qla2xxx_create_qpair()
9205 if (!qpair->srb_mempool) { in qla2xxx_create_qpair()
9208 qpair->id); in qla2xxx_create_qpair()
9213 qpair->online = 1; in qla2xxx_create_qpair()
9220 qpair->id); in qla2xxx_create_qpair()
9223 qpair->id); in qla2xxx_create_qpair()
9225 return qpair; in qla2xxx_create_qpair()
9229 qla25xx_delete_rsp_que(vha, qpair->rsp); in qla2xxx_create_qpair()
9232 qpair->msix->in_use = 0; in qla2xxx_create_qpair()
9233 list_del(&qpair->qp_list_elem); in qla2xxx_create_qpair()
9242 kfree(qpair); in qla2xxx_create_qpair()
9246 int qla2xxx_delete_qpair(struct scsi_qla_host *vha, struct qla_qpair *qpair) in qla2xxx_delete_qpair() argument
9249 struct qla_hw_data *ha = qpair->hw; in qla2xxx_delete_qpair()
9251 qpair->delete_in_progress = 1; in qla2xxx_delete_qpair()
9253 ret = qla25xx_delete_req_que(vha, qpair->req); in qla2xxx_delete_qpair()
9257 ret = qla25xx_delete_rsp_que(vha, qpair->rsp); in qla2xxx_delete_qpair()
9262 ha->queue_pair_map[qpair->id] = NULL; in qla2xxx_delete_qpair()
9263 clear_bit(qpair->id, ha->qpair_qid_map); in qla2xxx_delete_qpair()
9265 list_del(&qpair->qp_list_elem); in qla2xxx_delete_qpair()
9271 mempool_destroy(qpair->srb_mempool); in qla2xxx_delete_qpair()
9272 kfree(qpair); in qla2xxx_delete_qpair()