Lines Matching refs:psb

85 lpfc_release_scsi_buf_s4(struct lpfc_hba *phba, struct lpfc_io_buf *psb);
87 lpfc_release_scsi_buf_s3(struct lpfc_hba *phba, struct lpfc_io_buf *psb);
320 struct lpfc_io_buf *psb; in lpfc_new_scsi_buf_s3() local
339 psb = kzalloc(sizeof(struct lpfc_io_buf), GFP_KERNEL); in lpfc_new_scsi_buf_s3()
340 if (!psb) in lpfc_new_scsi_buf_s3()
349 psb->data = dma_pool_zalloc(phba->lpfc_sg_dma_buf_pool, in lpfc_new_scsi_buf_s3()
350 GFP_KERNEL, &psb->dma_handle); in lpfc_new_scsi_buf_s3()
351 if (!psb->data) { in lpfc_new_scsi_buf_s3()
352 kfree(psb); in lpfc_new_scsi_buf_s3()
358 iotag = lpfc_sli_next_iotag(phba, &psb->cur_iocbq); in lpfc_new_scsi_buf_s3()
361 psb->data, psb->dma_handle); in lpfc_new_scsi_buf_s3()
362 kfree(psb); in lpfc_new_scsi_buf_s3()
365 psb->cur_iocbq.iocb_flag |= LPFC_IO_FCP; in lpfc_new_scsi_buf_s3()
367 psb->fcp_cmnd = psb->data; in lpfc_new_scsi_buf_s3()
368 psb->fcp_rsp = psb->data + sizeof(struct fcp_cmnd); in lpfc_new_scsi_buf_s3()
369 psb->dma_sgl = psb->data + sizeof(struct fcp_cmnd) + in lpfc_new_scsi_buf_s3()
373 bpl = (struct ulp_bde64 *)psb->dma_sgl; in lpfc_new_scsi_buf_s3()
374 pdma_phys_fcp_cmd = psb->dma_handle; in lpfc_new_scsi_buf_s3()
375 pdma_phys_fcp_rsp = psb->dma_handle + sizeof(struct fcp_cmnd); in lpfc_new_scsi_buf_s3()
376 pdma_phys_sgl = psb->dma_handle + sizeof(struct fcp_cmnd) + in lpfc_new_scsi_buf_s3()
401 iocb = &psb->cur_iocbq.iocb; in lpfc_new_scsi_buf_s3()
434 psb->status = IOSTAT_SUCCESS; in lpfc_new_scsi_buf_s3()
436 psb->cur_iocbq.context1 = psb; in lpfc_new_scsi_buf_s3()
437 spin_lock_init(&psb->buf_lock); in lpfc_new_scsi_buf_s3()
438 lpfc_release_scsi_buf_s3(phba, psb); in lpfc_new_scsi_buf_s3()
456 struct lpfc_io_buf *psb, *next_psb; in lpfc_sli4_vport_delete_fcp_xri_aborted() local
469 list_for_each_entry_safe(psb, next_psb, in lpfc_sli4_vport_delete_fcp_xri_aborted()
471 if (psb->cur_iocbq.iocb_flag & LPFC_IO_NVME) in lpfc_sli4_vport_delete_fcp_xri_aborted()
474 if (psb->rdata && psb->rdata->pnode && in lpfc_sli4_vport_delete_fcp_xri_aborted()
475 psb->rdata->pnode->vport == vport) in lpfc_sli4_vport_delete_fcp_xri_aborted()
476 psb->rdata = NULL; in lpfc_sli4_vport_delete_fcp_xri_aborted()
498 struct lpfc_io_buf *psb, *next_psb; in lpfc_sli4_io_xri_aborted() local
519 list_for_each_entry_safe(psb, next_psb, in lpfc_sli4_io_xri_aborted()
522 xri = psb->cur_iocbq.sli4_xritag; in lpfc_sli4_io_xri_aborted()
523 if (psb->cur_iocbq.sli4_xritag == xri) { in lpfc_sli4_io_xri_aborted()
524 list_del_init(&psb->list); in lpfc_sli4_io_xri_aborted()
525 psb->flags &= ~LPFC_SBUF_XBUSY; in lpfc_sli4_io_xri_aborted()
526 psb->status = IOSTAT_SUCCESS; in lpfc_sli4_io_xri_aborted()
527 if (psb->cur_iocbq.iocb_flag & LPFC_IO_NVME) { in lpfc_sli4_io_xri_aborted()
533 psb); in lpfc_sli4_io_xri_aborted()
536 lpfc_sli4_nvme_pci_offline_aborted(phba, psb); in lpfc_sli4_io_xri_aborted()
544 if (psb->rdata && psb->rdata->pnode) in lpfc_sli4_io_xri_aborted()
545 ndlp = psb->rdata->pnode; in lpfc_sli4_io_xri_aborted()
553 psb->cur_iocbq.sli4_lxritag, rxid, 1); in lpfc_sli4_io_xri_aborted()
558 spin_lock_irqsave(&psb->buf_lock, iflag); in lpfc_sli4_io_xri_aborted()
559 cmd = psb->pCmd; in lpfc_sli4_io_xri_aborted()
560 psb->pCmd = NULL; in lpfc_sli4_io_xri_aborted()
561 spin_unlock_irqrestore(&psb->buf_lock, iflag); in lpfc_sli4_io_xri_aborted()
573 spin_lock_irqsave(&psb->buf_lock, iflag); in lpfc_sli4_io_xri_aborted()
574 psb->cur_iocbq.iocb_flag &= in lpfc_sli4_io_xri_aborted()
576 if (psb->waitq) in lpfc_sli4_io_xri_aborted()
577 wake_up(psb->waitq); in lpfc_sli4_io_xri_aborted()
578 spin_unlock_irqrestore(&psb->buf_lock, iflag); in lpfc_sli4_io_xri_aborted()
581 lpfc_release_scsi_buf_s4(phba, psb); in lpfc_sli4_io_xri_aborted()
601 psb = container_of(iocbq, struct lpfc_io_buf, cur_iocbq); in lpfc_sli4_io_xri_aborted()
602 psb->flags &= ~LPFC_SBUF_XBUSY; in lpfc_sli4_io_xri_aborted()
777 lpfc_release_scsi_buf_s3(struct lpfc_hba *phba, struct lpfc_io_buf *psb) in lpfc_release_scsi_buf_s3() argument
781 psb->seg_cnt = 0; in lpfc_release_scsi_buf_s3()
782 psb->prot_seg_cnt = 0; in lpfc_release_scsi_buf_s3()
785 psb->pCmd = NULL; in lpfc_release_scsi_buf_s3()
786 psb->cur_iocbq.iocb_flag = LPFC_IO_FCP; in lpfc_release_scsi_buf_s3()
787 list_add_tail(&psb->list, &phba->lpfc_scsi_buf_list_put); in lpfc_release_scsi_buf_s3()
802 lpfc_release_scsi_buf_s4(struct lpfc_hba *phba, struct lpfc_io_buf *psb) in lpfc_release_scsi_buf_s4() argument
807 psb->seg_cnt = 0; in lpfc_release_scsi_buf_s4()
808 psb->prot_seg_cnt = 0; in lpfc_release_scsi_buf_s4()
810 qp = psb->hdwq; in lpfc_release_scsi_buf_s4()
811 if (psb->flags & LPFC_SBUF_XBUSY) { in lpfc_release_scsi_buf_s4()
814 psb->pCmd = NULL; in lpfc_release_scsi_buf_s4()
815 list_add_tail(&psb->list, &qp->lpfc_abts_io_buf_list); in lpfc_release_scsi_buf_s4()
819 lpfc_release_io_buf(phba, (struct lpfc_io_buf *)psb, qp); in lpfc_release_scsi_buf_s4()
832 lpfc_release_scsi_buf(struct lpfc_hba *phba, struct lpfc_io_buf *psb) in lpfc_release_scsi_buf() argument
834 if ((psb->flags & LPFC_SBUF_BUMP_QDEPTH) && psb->ndlp) in lpfc_release_scsi_buf()
835 atomic_dec(&psb->ndlp->cmd_pending); in lpfc_release_scsi_buf()
837 psb->flags &= ~LPFC_SBUF_BUMP_QDEPTH; in lpfc_release_scsi_buf()
838 phba->lpfc_release_scsi_buf(phba, psb); in lpfc_release_scsi_buf()
3834 lpfc_scsi_unprep_dma_buf(struct lpfc_hba *phba, struct lpfc_io_buf *psb) in lpfc_scsi_unprep_dma_buf() argument
3842 if (psb->seg_cnt > 0) in lpfc_scsi_unprep_dma_buf()
3843 scsi_dma_unmap(psb->pCmd); in lpfc_scsi_unprep_dma_buf()
3844 if (psb->prot_seg_cnt > 0) in lpfc_scsi_unprep_dma_buf()
3845 dma_unmap_sg(&phba->pcidev->dev, scsi_prot_sglist(psb->pCmd), in lpfc_scsi_unprep_dma_buf()
3846 scsi_prot_sg_count(psb->pCmd), in lpfc_scsi_unprep_dma_buf()
3847 psb->pCmd->sc_data_direction); in lpfc_scsi_unprep_dma_buf()