Lines Matching refs:rsp
241 qla2x00_alert_all_vps(struct rsp_que *rsp, uint16_t *mb) in qla2x00_alert_all_vps() argument
244 struct qla_hw_data *ha = rsp->hw; in qla2x00_alert_all_vps()
266 qla2x00_async_event(vha, rsp, mb); in qla2x00_alert_all_vps()
537 qla25xx_free_rsp_que(struct scsi_qla_host *vha, struct rsp_que *rsp) in qla25xx_free_rsp_que() argument
540 uint16_t que_id = rsp->id; in qla25xx_free_rsp_que()
542 if (rsp->msix && rsp->msix->have_irq) { in qla25xx_free_rsp_que()
543 free_irq(rsp->msix->vector, rsp); in qla25xx_free_rsp_que()
544 rsp->msix->have_irq = 0; in qla25xx_free_rsp_que()
545 rsp->msix->rsp = NULL; in qla25xx_free_rsp_que()
547 dma_free_coherent(&ha->pdev->dev, (rsp->length + 1) * in qla25xx_free_rsp_que()
548 sizeof(response_t), rsp->ring, rsp->dma); in qla25xx_free_rsp_que()
549 rsp->ring = NULL; in qla25xx_free_rsp_que()
550 rsp->dma = 0; in qla25xx_free_rsp_que()
557 kfree(rsp); in qla25xx_free_rsp_que()
558 rsp = NULL; in qla25xx_free_rsp_que()
577 qla25xx_delete_rsp_que(struct scsi_qla_host *vha, struct rsp_que *rsp) in qla25xx_delete_rsp_que() argument
581 if (rsp) { in qla25xx_delete_rsp_que()
582 rsp->options |= BIT_0; in qla25xx_delete_rsp_que()
583 ret = qla25xx_init_rsp_que(vha, rsp); in qla25xx_delete_rsp_que()
586 qla25xx_free_rsp_que(vha, rsp); in qla25xx_delete_rsp_que()
597 struct rsp_que *rsp = NULL; in qla25xx_delete_queues() local
616 rsp = ha->rsp_q_map[cnt]; in qla25xx_delete_queues()
617 if (rsp && test_bit(cnt, ha->rsp_qid_map)) { in qla25xx_delete_queues()
618 ret = qla25xx_delete_rsp_que(vha, rsp); in qla25xx_delete_queues()
622 rsp->id); in qla25xx_delete_queues()
683 req->rsp = NULL; in qla25xx_create_req_que()
685 req->rsp = ha->rsp_q_map[rsp_que]; in qla25xx_create_req_que()
744 struct rsp_que *rsp = container_of(work, struct rsp_que, q_work); in qla_do_work() local
746 struct qla_hw_data *ha = rsp->hw; in qla_do_work()
748 spin_lock_irqsave(&rsp->hw->hardware_lock, flags); in qla_do_work()
750 qla24xx_process_response_queue(vha, rsp); in qla_do_work()
751 spin_unlock_irqrestore(&rsp->hw->hardware_lock, flags); in qla_do_work()
760 struct rsp_que *rsp = NULL; in qla25xx_create_rsp_que() local
765 rsp = kzalloc(sizeof(struct rsp_que), GFP_KERNEL); in qla25xx_create_rsp_que()
766 if (rsp == NULL) { in qla25xx_create_rsp_que()
772 rsp->length = RESPONSE_ENTRY_CNT_MQ; in qla25xx_create_rsp_que()
773 rsp->ring = dma_alloc_coherent(&ha->pdev->dev, in qla25xx_create_rsp_que()
774 (rsp->length + 1) * sizeof(response_t), in qla25xx_create_rsp_que()
775 &rsp->dma, GFP_KERNEL); in qla25xx_create_rsp_que()
776 if (rsp->ring == NULL) { in qla25xx_create_rsp_que()
793 rsp->msix = &ha->msix_entries[que_id + 1]; in qla25xx_create_rsp_que()
798 ha->rsp_q_map[que_id] = rsp; in qla25xx_create_rsp_que()
799 rsp->rid = rid; in qla25xx_create_rsp_que()
800 rsp->vp_idx = vp_idx; in qla25xx_create_rsp_que()
801 rsp->hw = ha; in qla25xx_create_rsp_que()
804 que_id, rsp->rid, rsp->vp_idx, rsp->hw); in qla25xx_create_rsp_que()
806 if (MSB(rsp->rid)) in qla25xx_create_rsp_que()
809 if (LSB(rsp->rid)) in qla25xx_create_rsp_que()
815 rsp->options = options; in qla25xx_create_rsp_que()
816 rsp->id = que_id; in qla25xx_create_rsp_que()
818 rsp->rsp_q_in = ®->isp25mq.rsp_q_in; in qla25xx_create_rsp_que()
819 rsp->rsp_q_out = ®->isp25mq.rsp_q_out; in qla25xx_create_rsp_que()
820 rsp->in_ptr = (void *)(rsp->ring + rsp->length); in qla25xx_create_rsp_que()
824 rsp->options, rsp->id, rsp->rsp_q_in, in qla25xx_create_rsp_que()
825 rsp->rsp_q_out); in qla25xx_create_rsp_que()
828 rsp->options, rsp->id, rsp->rsp_q_in, in qla25xx_create_rsp_que()
829 rsp->rsp_q_out); in qla25xx_create_rsp_que()
831 ret = qla25xx_request_irq(rsp); in qla25xx_create_rsp_que()
835 ret = qla25xx_init_rsp_que(base_vha, rsp); in qla25xx_create_rsp_que()
845 rsp->req = ha->req_q_map[req]; in qla25xx_create_rsp_que()
847 rsp->req = NULL; in qla25xx_create_rsp_que()
849 qla2x00_init_response_q_entries(rsp); in qla25xx_create_rsp_que()
850 if (rsp->hw->wq) in qla25xx_create_rsp_que()
851 INIT_WORK(&rsp->q_work, qla_do_work); in qla25xx_create_rsp_que()
852 return rsp->id; in qla25xx_create_rsp_que()
855 qla25xx_free_rsp_que(base_vha, rsp); in qla25xx_create_rsp_que()