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()
538 qla25xx_free_rsp_que(struct scsi_qla_host *vha, struct rsp_que *rsp) in qla25xx_free_rsp_que() argument
541 uint16_t que_id = rsp->id; in qla25xx_free_rsp_que()
543 if (rsp->msix && rsp->msix->have_irq) { in qla25xx_free_rsp_que()
544 free_irq(rsp->msix->vector, rsp); in qla25xx_free_rsp_que()
545 rsp->msix->have_irq = 0; in qla25xx_free_rsp_que()
546 rsp->msix->rsp = NULL; in qla25xx_free_rsp_que()
548 dma_free_coherent(&ha->pdev->dev, (rsp->length + 1) * in qla25xx_free_rsp_que()
549 sizeof(response_t), rsp->ring, rsp->dma); in qla25xx_free_rsp_que()
550 rsp->ring = NULL; in qla25xx_free_rsp_que()
551 rsp->dma = 0; in qla25xx_free_rsp_que()
558 kfree(rsp); in qla25xx_free_rsp_que()
559 rsp = NULL; in qla25xx_free_rsp_que()
578 qla25xx_delete_rsp_que(struct scsi_qla_host *vha, struct rsp_que *rsp) in qla25xx_delete_rsp_que() argument
582 if (rsp) { in qla25xx_delete_rsp_que()
583 rsp->options |= BIT_0; in qla25xx_delete_rsp_que()
584 ret = qla25xx_init_rsp_que(vha, rsp); in qla25xx_delete_rsp_que()
587 qla25xx_free_rsp_que(vha, rsp); in qla25xx_delete_rsp_que()
598 struct rsp_que *rsp = NULL; in qla25xx_delete_queues() local
617 rsp = ha->rsp_q_map[cnt]; in qla25xx_delete_queues()
618 if (rsp && test_bit(cnt, ha->rsp_qid_map)) { in qla25xx_delete_queues()
619 ret = qla25xx_delete_rsp_que(vha, rsp); in qla25xx_delete_queues()
623 rsp->id); in qla25xx_delete_queues()
684 req->rsp = NULL; in qla25xx_create_req_que()
686 req->rsp = ha->rsp_q_map[rsp_que]; in qla25xx_create_req_que()
745 struct rsp_que *rsp = container_of(work, struct rsp_que, q_work); in qla_do_work() local
747 struct qla_hw_data *ha = rsp->hw; in qla_do_work()
749 spin_lock_irqsave(&rsp->hw->hardware_lock, flags); in qla_do_work()
751 qla24xx_process_response_queue(vha, rsp); in qla_do_work()
752 spin_unlock_irqrestore(&rsp->hw->hardware_lock, flags); in qla_do_work()
761 struct rsp_que *rsp = NULL; in qla25xx_create_rsp_que() local
766 rsp = kzalloc(sizeof(struct rsp_que), GFP_KERNEL); in qla25xx_create_rsp_que()
767 if (rsp == NULL) { in qla25xx_create_rsp_que()
773 rsp->length = RESPONSE_ENTRY_CNT_MQ; in qla25xx_create_rsp_que()
774 rsp->ring = dma_alloc_coherent(&ha->pdev->dev, in qla25xx_create_rsp_que()
775 (rsp->length + 1) * sizeof(response_t), in qla25xx_create_rsp_que()
776 &rsp->dma, GFP_KERNEL); in qla25xx_create_rsp_que()
777 if (rsp->ring == NULL) { in qla25xx_create_rsp_que()
794 rsp->msix = &ha->msix_entries[que_id + 1]; in qla25xx_create_rsp_que()
799 ha->rsp_q_map[que_id] = rsp; in qla25xx_create_rsp_que()
800 rsp->rid = rid; in qla25xx_create_rsp_que()
801 rsp->vp_idx = vp_idx; in qla25xx_create_rsp_que()
802 rsp->hw = ha; in qla25xx_create_rsp_que()
805 que_id, rsp->rid, rsp->vp_idx, rsp->hw); in qla25xx_create_rsp_que()
807 if (MSB(rsp->rid)) in qla25xx_create_rsp_que()
810 if (LSB(rsp->rid)) in qla25xx_create_rsp_que()
816 rsp->options = options; in qla25xx_create_rsp_que()
817 rsp->id = que_id; in qla25xx_create_rsp_que()
819 rsp->rsp_q_in = &reg->isp25mq.rsp_q_in; in qla25xx_create_rsp_que()
820 rsp->rsp_q_out = &reg->isp25mq.rsp_q_out; in qla25xx_create_rsp_que()
821 rsp->in_ptr = (void *)(rsp->ring + rsp->length); in qla25xx_create_rsp_que()
825 rsp->options, rsp->id, rsp->rsp_q_in, in qla25xx_create_rsp_que()
826 rsp->rsp_q_out); in qla25xx_create_rsp_que()
829 rsp->options, rsp->id, rsp->rsp_q_in, in qla25xx_create_rsp_que()
830 rsp->rsp_q_out); in qla25xx_create_rsp_que()
832 ret = qla25xx_request_irq(rsp); in qla25xx_create_rsp_que()
836 ret = qla25xx_init_rsp_que(base_vha, rsp); in qla25xx_create_rsp_que()
846 rsp->req = ha->req_q_map[req]; in qla25xx_create_rsp_que()
848 rsp->req = NULL; in qla25xx_create_rsp_que()
850 qla2x00_init_response_q_entries(rsp); in qla25xx_create_rsp_que()
851 if (rsp->hw->wq) in qla25xx_create_rsp_que()
852 INIT_WORK(&rsp->q_work, qla_do_work); in qla25xx_create_rsp_que()
853 return rsp->id; in qla25xx_create_rsp_que()
856 qla25xx_free_rsp_que(base_vha, rsp); in qla25xx_create_rsp_que()