Lines Matching refs:psb

84 lpfc_release_scsi_buf_s4(struct lpfc_hba *phba, struct lpfc_io_buf *psb);
86 lpfc_release_scsi_buf_s3(struct lpfc_hba *phba, struct lpfc_io_buf *psb);
333 struct lpfc_io_buf *psb; in lpfc_new_scsi_buf_s3() local
352 psb = kzalloc(sizeof(struct lpfc_io_buf), GFP_KERNEL); in lpfc_new_scsi_buf_s3()
353 if (!psb) in lpfc_new_scsi_buf_s3()
362 psb->data = dma_pool_zalloc(phba->lpfc_sg_dma_buf_pool, in lpfc_new_scsi_buf_s3()
363 GFP_KERNEL, &psb->dma_handle); in lpfc_new_scsi_buf_s3()
364 if (!psb->data) { in lpfc_new_scsi_buf_s3()
365 kfree(psb); in lpfc_new_scsi_buf_s3()
371 iotag = lpfc_sli_next_iotag(phba, &psb->cur_iocbq); in lpfc_new_scsi_buf_s3()
374 psb->data, psb->dma_handle); in lpfc_new_scsi_buf_s3()
375 kfree(psb); in lpfc_new_scsi_buf_s3()
378 psb->cur_iocbq.iocb_flag |= LPFC_IO_FCP; in lpfc_new_scsi_buf_s3()
380 psb->fcp_cmnd = psb->data; in lpfc_new_scsi_buf_s3()
381 psb->fcp_rsp = psb->data + sizeof(struct fcp_cmnd); in lpfc_new_scsi_buf_s3()
382 psb->dma_sgl = psb->data + sizeof(struct fcp_cmnd) + in lpfc_new_scsi_buf_s3()
386 bpl = (struct ulp_bde64 *)psb->dma_sgl; in lpfc_new_scsi_buf_s3()
387 pdma_phys_fcp_cmd = psb->dma_handle; in lpfc_new_scsi_buf_s3()
388 pdma_phys_fcp_rsp = psb->dma_handle + sizeof(struct fcp_cmnd); in lpfc_new_scsi_buf_s3()
389 pdma_phys_sgl = psb->dma_handle + sizeof(struct fcp_cmnd) + in lpfc_new_scsi_buf_s3()
414 iocb = &psb->cur_iocbq.iocb; in lpfc_new_scsi_buf_s3()
447 psb->status = IOSTAT_SUCCESS; in lpfc_new_scsi_buf_s3()
449 psb->cur_iocbq.context1 = psb; in lpfc_new_scsi_buf_s3()
450 spin_lock_init(&psb->buf_lock); in lpfc_new_scsi_buf_s3()
451 lpfc_release_scsi_buf_s3(phba, psb); in lpfc_new_scsi_buf_s3()
469 struct lpfc_io_buf *psb, *next_psb; in lpfc_sli4_vport_delete_fcp_xri_aborted() local
482 list_for_each_entry_safe(psb, next_psb, in lpfc_sli4_vport_delete_fcp_xri_aborted()
484 if (psb->cur_iocbq.iocb_flag & LPFC_IO_NVME) in lpfc_sli4_vport_delete_fcp_xri_aborted()
487 if (psb->rdata && psb->rdata->pnode && in lpfc_sli4_vport_delete_fcp_xri_aborted()
488 psb->rdata->pnode->vport == vport) in lpfc_sli4_vport_delete_fcp_xri_aborted()
489 psb->rdata = NULL; in lpfc_sli4_vport_delete_fcp_xri_aborted()
510 struct lpfc_io_buf *psb, *next_psb; in lpfc_sli4_io_xri_aborted() local
525 list_for_each_entry_safe(psb, next_psb, in lpfc_sli4_io_xri_aborted()
527 if (psb->cur_iocbq.sli4_xritag == xri) { in lpfc_sli4_io_xri_aborted()
528 list_del_init(&psb->list); in lpfc_sli4_io_xri_aborted()
529 psb->flags &= ~LPFC_SBUF_XBUSY; in lpfc_sli4_io_xri_aborted()
530 psb->status = IOSTAT_SUCCESS; in lpfc_sli4_io_xri_aborted()
531 if (psb->cur_iocbq.iocb_flag & LPFC_IO_NVME) { in lpfc_sli4_io_xri_aborted()
535 lpfc_sli4_nvme_xri_aborted(phba, axri, psb); in lpfc_sli4_io_xri_aborted()
541 if (psb->rdata && psb->rdata->pnode) in lpfc_sli4_io_xri_aborted()
542 ndlp = psb->rdata->pnode; in lpfc_sli4_io_xri_aborted()
550 psb->cur_iocbq.sli4_lxritag, rxid, 1); in lpfc_sli4_io_xri_aborted()
553 lpfc_release_scsi_buf_s4(phba, psb); in lpfc_sli4_io_xri_aborted()
568 psb = container_of(iocbq, struct lpfc_io_buf, cur_iocbq); in lpfc_sli4_io_xri_aborted()
569 psb->flags &= ~LPFC_SBUF_XBUSY; in lpfc_sli4_io_xri_aborted()
757 lpfc_release_scsi_buf_s3(struct lpfc_hba *phba, struct lpfc_io_buf *psb) in lpfc_release_scsi_buf_s3() argument
761 psb->seg_cnt = 0; in lpfc_release_scsi_buf_s3()
762 psb->prot_seg_cnt = 0; in lpfc_release_scsi_buf_s3()
765 psb->pCmd = NULL; in lpfc_release_scsi_buf_s3()
766 psb->cur_iocbq.iocb_flag = LPFC_IO_FCP; in lpfc_release_scsi_buf_s3()
767 list_add_tail(&psb->list, &phba->lpfc_scsi_buf_list_put); in lpfc_release_scsi_buf_s3()
782 lpfc_release_scsi_buf_s4(struct lpfc_hba *phba, struct lpfc_io_buf *psb) in lpfc_release_scsi_buf_s4() argument
787 psb->seg_cnt = 0; in lpfc_release_scsi_buf_s4()
788 psb->prot_seg_cnt = 0; in lpfc_release_scsi_buf_s4()
790 qp = psb->hdwq; in lpfc_release_scsi_buf_s4()
791 if (psb->flags & LPFC_SBUF_XBUSY) { in lpfc_release_scsi_buf_s4()
793 psb->pCmd = NULL; in lpfc_release_scsi_buf_s4()
794 list_add_tail(&psb->list, &qp->lpfc_abts_io_buf_list); in lpfc_release_scsi_buf_s4()
798 lpfc_release_io_buf(phba, (struct lpfc_io_buf *)psb, qp); in lpfc_release_scsi_buf_s4()
811 lpfc_release_scsi_buf(struct lpfc_hba *phba, struct lpfc_io_buf *psb) in lpfc_release_scsi_buf() argument
813 if ((psb->flags & LPFC_SBUF_BUMP_QDEPTH) && psb->ndlp) in lpfc_release_scsi_buf()
814 atomic_dec(&psb->ndlp->cmd_pending); in lpfc_release_scsi_buf()
816 psb->flags &= ~LPFC_SBUF_BUMP_QDEPTH; in lpfc_release_scsi_buf()
817 phba->lpfc_release_scsi_buf(phba, psb); in lpfc_release_scsi_buf()
3581 lpfc_scsi_unprep_dma_buf(struct lpfc_hba *phba, struct lpfc_io_buf *psb) in lpfc_scsi_unprep_dma_buf() argument
3589 if (psb->seg_cnt > 0) in lpfc_scsi_unprep_dma_buf()
3590 scsi_dma_unmap(psb->pCmd); in lpfc_scsi_unprep_dma_buf()
3591 if (psb->prot_seg_cnt > 0) in lpfc_scsi_unprep_dma_buf()
3592 dma_unmap_sg(&phba->pcidev->dev, scsi_prot_sglist(psb->pCmd), in lpfc_scsi_unprep_dma_buf()
3593 scsi_prot_sg_count(psb->pCmd), in lpfc_scsi_unprep_dma_buf()
3594 psb->pCmd->sc_data_direction); in lpfc_scsi_unprep_dma_buf()