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);
249 struct lpfc_io_buf *psb; in lpfc_new_scsi_buf_s3() local
268 psb = kzalloc(sizeof(struct lpfc_io_buf), GFP_KERNEL); in lpfc_new_scsi_buf_s3()
269 if (!psb) in lpfc_new_scsi_buf_s3()
278 psb->data = dma_pool_zalloc(phba->lpfc_sg_dma_buf_pool, in lpfc_new_scsi_buf_s3()
279 GFP_KERNEL, &psb->dma_handle); in lpfc_new_scsi_buf_s3()
280 if (!psb->data) { in lpfc_new_scsi_buf_s3()
281 kfree(psb); in lpfc_new_scsi_buf_s3()
287 iotag = lpfc_sli_next_iotag(phba, &psb->cur_iocbq); in lpfc_new_scsi_buf_s3()
290 psb->data, psb->dma_handle); in lpfc_new_scsi_buf_s3()
291 kfree(psb); in lpfc_new_scsi_buf_s3()
294 psb->cur_iocbq.cmd_flag |= LPFC_IO_FCP; in lpfc_new_scsi_buf_s3()
296 psb->fcp_cmnd = psb->data; in lpfc_new_scsi_buf_s3()
297 psb->fcp_rsp = psb->data + sizeof(struct fcp_cmnd); in lpfc_new_scsi_buf_s3()
298 psb->dma_sgl = psb->data + sizeof(struct fcp_cmnd) + in lpfc_new_scsi_buf_s3()
302 bpl = (struct ulp_bde64 *)psb->dma_sgl; in lpfc_new_scsi_buf_s3()
303 pdma_phys_fcp_cmd = psb->dma_handle; in lpfc_new_scsi_buf_s3()
304 pdma_phys_fcp_rsp = psb->dma_handle + sizeof(struct fcp_cmnd); in lpfc_new_scsi_buf_s3()
305 pdma_phys_sgl = psb->dma_handle + sizeof(struct fcp_cmnd) + in lpfc_new_scsi_buf_s3()
330 iocb = &psb->cur_iocbq.iocb; in lpfc_new_scsi_buf_s3()
363 psb->status = IOSTAT_SUCCESS; in lpfc_new_scsi_buf_s3()
365 psb->cur_iocbq.io_buf = psb; in lpfc_new_scsi_buf_s3()
366 spin_lock_init(&psb->buf_lock); in lpfc_new_scsi_buf_s3()
367 lpfc_release_scsi_buf_s3(phba, psb); in lpfc_new_scsi_buf_s3()
385 struct lpfc_io_buf *psb, *next_psb; in lpfc_sli4_vport_delete_fcp_xri_aborted() local
398 list_for_each_entry_safe(psb, next_psb, in lpfc_sli4_vport_delete_fcp_xri_aborted()
400 if (psb->cur_iocbq.cmd_flag & LPFC_IO_NVME) in lpfc_sli4_vport_delete_fcp_xri_aborted()
403 if (psb->rdata && psb->rdata->pnode && in lpfc_sli4_vport_delete_fcp_xri_aborted()
404 psb->rdata->pnode->vport == vport) in lpfc_sli4_vport_delete_fcp_xri_aborted()
405 psb->rdata = NULL; in lpfc_sli4_vport_delete_fcp_xri_aborted()
427 struct lpfc_io_buf *psb, *next_psb; in lpfc_sli4_io_xri_aborted() local
448 list_for_each_entry_safe(psb, next_psb, in lpfc_sli4_io_xri_aborted()
451 xri = psb->cur_iocbq.sli4_xritag; in lpfc_sli4_io_xri_aborted()
452 if (psb->cur_iocbq.sli4_xritag == xri) { in lpfc_sli4_io_xri_aborted()
453 list_del_init(&psb->list); in lpfc_sli4_io_xri_aborted()
454 psb->flags &= ~LPFC_SBUF_XBUSY; in lpfc_sli4_io_xri_aborted()
455 psb->status = IOSTAT_SUCCESS; in lpfc_sli4_io_xri_aborted()
456 if (psb->cur_iocbq.cmd_flag & LPFC_IO_NVME) { in lpfc_sli4_io_xri_aborted()
462 psb); in lpfc_sli4_io_xri_aborted()
465 lpfc_sli4_nvme_pci_offline_aborted(phba, psb); in lpfc_sli4_io_xri_aborted()
473 if (psb->rdata && psb->rdata->pnode) in lpfc_sli4_io_xri_aborted()
474 ndlp = psb->rdata->pnode; in lpfc_sli4_io_xri_aborted()
482 psb->cur_iocbq.sli4_lxritag, rxid, 1); in lpfc_sli4_io_xri_aborted()
487 spin_lock_irqsave(&psb->buf_lock, iflag); in lpfc_sli4_io_xri_aborted()
488 cmd = psb->pCmd; in lpfc_sli4_io_xri_aborted()
489 psb->pCmd = NULL; in lpfc_sli4_io_xri_aborted()
490 spin_unlock_irqrestore(&psb->buf_lock, iflag); in lpfc_sli4_io_xri_aborted()
502 spin_lock_irqsave(&psb->buf_lock, iflag); in lpfc_sli4_io_xri_aborted()
503 psb->cur_iocbq.cmd_flag &= in lpfc_sli4_io_xri_aborted()
505 if (psb->waitq) in lpfc_sli4_io_xri_aborted()
506 wake_up(psb->waitq); in lpfc_sli4_io_xri_aborted()
507 spin_unlock_irqrestore(&psb->buf_lock, iflag); in lpfc_sli4_io_xri_aborted()
510 lpfc_release_scsi_buf_s4(phba, psb); in lpfc_sli4_io_xri_aborted()
530 psb = container_of(iocbq, struct lpfc_io_buf, cur_iocbq); in lpfc_sli4_io_xri_aborted()
531 psb->flags &= ~LPFC_SBUF_XBUSY; in lpfc_sli4_io_xri_aborted()
706 lpfc_release_scsi_buf_s3(struct lpfc_hba *phba, struct lpfc_io_buf *psb) in lpfc_release_scsi_buf_s3() argument
710 psb->seg_cnt = 0; in lpfc_release_scsi_buf_s3()
711 psb->prot_seg_cnt = 0; in lpfc_release_scsi_buf_s3()
714 psb->pCmd = NULL; in lpfc_release_scsi_buf_s3()
715 psb->cur_iocbq.cmd_flag = LPFC_IO_FCP; in lpfc_release_scsi_buf_s3()
716 list_add_tail(&psb->list, &phba->lpfc_scsi_buf_list_put); in lpfc_release_scsi_buf_s3()
731 lpfc_release_scsi_buf_s4(struct lpfc_hba *phba, struct lpfc_io_buf *psb) in lpfc_release_scsi_buf_s4() argument
736 psb->seg_cnt = 0; in lpfc_release_scsi_buf_s4()
737 psb->prot_seg_cnt = 0; in lpfc_release_scsi_buf_s4()
739 qp = psb->hdwq; in lpfc_release_scsi_buf_s4()
740 if (psb->flags & LPFC_SBUF_XBUSY) { in lpfc_release_scsi_buf_s4()
743 psb->pCmd = NULL; in lpfc_release_scsi_buf_s4()
744 list_add_tail(&psb->list, &qp->lpfc_abts_io_buf_list); in lpfc_release_scsi_buf_s4()
748 lpfc_release_io_buf(phba, (struct lpfc_io_buf *)psb, qp); in lpfc_release_scsi_buf_s4()
761 lpfc_release_scsi_buf(struct lpfc_hba *phba, struct lpfc_io_buf *psb) in lpfc_release_scsi_buf() argument
763 if ((psb->flags & LPFC_SBUF_BUMP_QDEPTH) && psb->ndlp) in lpfc_release_scsi_buf()
764 atomic_dec(&psb->ndlp->cmd_pending); in lpfc_release_scsi_buf()
766 psb->flags &= ~LPFC_SBUF_BUMP_QDEPTH; in lpfc_release_scsi_buf()
767 phba->lpfc_release_scsi_buf(phba, psb); in lpfc_release_scsi_buf()
3648 lpfc_scsi_unprep_dma_buf(struct lpfc_hba *phba, struct lpfc_io_buf *psb) in lpfc_scsi_unprep_dma_buf() argument
3656 if (psb->seg_cnt > 0) in lpfc_scsi_unprep_dma_buf()
3657 scsi_dma_unmap(psb->pCmd); in lpfc_scsi_unprep_dma_buf()
3658 if (psb->prot_seg_cnt > 0) in lpfc_scsi_unprep_dma_buf()
3659 dma_unmap_sg(&phba->pcidev->dev, scsi_prot_sglist(psb->pCmd), in lpfc_scsi_unprep_dma_buf()
3660 scsi_prot_sg_count(psb->pCmd), in lpfc_scsi_unprep_dma_buf()
3661 psb->pCmd->sc_data_direction); in lpfc_scsi_unprep_dma_buf()