Lines Matching refs:dmabuf
907 struct lpfc_dmabuf *dmabuf = NULL; in lpfc_bsg_ct_unsol_event() local
937 dmabuf = bdeBuf1; in lpfc_bsg_ct_unsol_event()
941 dmabuf = lpfc_sli_ringpostbuf_get(phba, pring, dma_addr); in lpfc_bsg_ct_unsol_event()
943 if (dmabuf == NULL) in lpfc_bsg_ct_unsol_event()
945 ct_req = (struct lpfc_sli_ct_request *)dmabuf->virt; in lpfc_bsg_ct_unsol_event()
949 lpfc_sli_ringpostbuf_put(phba, pring, dmabuf); in lpfc_bsg_ct_unsol_event()
1007 dmabuf = bdeBuf1; in lpfc_bsg_ct_unsol_event()
1013 dmabuf = bdeBuf2; in lpfc_bsg_ct_unsol_event()
1023 dmabuf = lpfc_sli_ringpostbuf_get(phba, in lpfc_bsg_ct_unsol_event()
1026 if (!dmabuf) { in lpfc_bsg_ct_unsol_event()
1041 dmabuf->virt, size); in lpfc_bsg_ct_unsol_event()
1047 dmabuf); in lpfc_bsg_ct_unsol_event()
1055 *)dmabuf); in lpfc_bsg_ct_unsol_event()
1064 dmabuf); in lpfc_bsg_ct_unsol_event()
1157 lpfc_bsg_ct_unsol_abort(struct lpfc_hba *phba, struct hbq_dmabuf *dmabuf) in lpfc_bsg_ct_unsol_abort() argument
1165 memcpy(fc_hdr_ptr, dmabuf->hbuf.virt, sizeof(struct fc_frame_header)); in lpfc_bsg_ct_unsol_abort()
2538 struct lpfc_dmabuf *dmabuf; in lpfcdiag_loop_get_xri() local
2561 dmabuf = kmalloc(sizeof(struct lpfc_dmabuf), GFP_KERNEL); in lpfcdiag_loop_get_xri()
2562 if (dmabuf) { in lpfcdiag_loop_get_xri()
2563 dmabuf->virt = lpfc_mbuf_alloc(phba, 0, &dmabuf->phys); in lpfcdiag_loop_get_xri()
2564 if (dmabuf->virt) { in lpfcdiag_loop_get_xri()
2565 INIT_LIST_HEAD(&dmabuf->list); in lpfcdiag_loop_get_xri()
2566 bpl = (struct ulp_bde64 *) dmabuf->virt; in lpfcdiag_loop_get_xri()
2570 le32_to_cpu(putPaddrHigh(dmabuf->phys + in lpfcdiag_loop_get_xri()
2573 le32_to_cpu(putPaddrLow(dmabuf->phys + in lpfcdiag_loop_get_xri()
2582 dmabuf == NULL || bpl == NULL || ctreq == NULL || in lpfcdiag_loop_get_xri()
2583 dmabuf->virt == NULL) { in lpfcdiag_loop_get_xri()
2601 cmd->un.xseq64.bdl.addrHigh = putPaddrHigh(dmabuf->phys); in lpfcdiag_loop_get_xri()
2602 cmd->un.xseq64.bdl.addrLow = putPaddrLow(dmabuf->phys); in lpfcdiag_loop_get_xri()
2655 if (dmabuf) { in lpfcdiag_loop_get_xri()
2656 if (dmabuf->virt) in lpfcdiag_loop_get_xri()
2657 lpfc_mbuf_free(phba, dmabuf->virt, dmabuf->phys); in lpfcdiag_loop_get_xri()
2658 kfree(dmabuf); in lpfcdiag_loop_get_xri()
2678 struct lpfc_dmabuf *dmabuf; in lpfc_bsg_dma_page_alloc() local
2682 dmabuf = kmalloc(sizeof(struct lpfc_dmabuf), GFP_KERNEL); in lpfc_bsg_dma_page_alloc()
2683 if (!dmabuf) in lpfc_bsg_dma_page_alloc()
2686 INIT_LIST_HEAD(&dmabuf->list); in lpfc_bsg_dma_page_alloc()
2689 dmabuf->virt = dma_zalloc_coherent(&pcidev->dev, BSG_MBOX_SIZE, in lpfc_bsg_dma_page_alloc()
2690 &(dmabuf->phys), GFP_KERNEL); in lpfc_bsg_dma_page_alloc()
2692 if (!dmabuf->virt) { in lpfc_bsg_dma_page_alloc()
2693 kfree(dmabuf); in lpfc_bsg_dma_page_alloc()
2697 return dmabuf; in lpfc_bsg_dma_page_alloc()
2709 lpfc_bsg_dma_page_free(struct lpfc_hba *phba, struct lpfc_dmabuf *dmabuf) in lpfc_bsg_dma_page_free() argument
2713 if (!dmabuf) in lpfc_bsg_dma_page_free()
2716 if (dmabuf->virt) in lpfc_bsg_dma_page_free()
2718 dmabuf->virt, dmabuf->phys); in lpfc_bsg_dma_page_free()
2719 kfree(dmabuf); in lpfc_bsg_dma_page_free()
2735 struct lpfc_dmabuf *dmabuf, *next_dmabuf; in lpfc_bsg_dma_page_list_free() local
2740 list_for_each_entry_safe(dmabuf, next_dmabuf, dmabuf_list, list) { in lpfc_bsg_dma_page_list_free()
2741 list_del_init(&dmabuf->list); in lpfc_bsg_dma_page_list_free()
2742 lpfc_bsg_dma_page_free(phba, dmabuf); in lpfc_bsg_dma_page_list_free()
3522 struct lpfc_dmabuf *dmabuf; in lpfc_bsg_issue_mbox_ext_handle_job() local
3547 dmabuf = phba->mbox_ext_buf_ctx.mbx_dmabuf; in lpfc_bsg_issue_mbox_ext_handle_job()
3548 sli_cfg_mbx = (struct lpfc_sli_config_mbox *)dmabuf->virt; in lpfc_bsg_issue_mbox_ext_handle_job()
3551 pmbx = (uint8_t *)dmabuf->virt; in lpfc_bsg_issue_mbox_ext_handle_job()
3773 struct lpfc_dmabuf *dmabuf) in lpfc_bsg_sli_cfg_read_cmd_ext() argument
3790 sli_cfg_mbx = (struct lpfc_sli_config_mbox *)dmabuf->virt; in lpfc_bsg_sli_cfg_read_cmd_ext()
3832 sta_pre_addr, dmabuf, ext_buf_cnt); in lpfc_bsg_sli_cfg_read_cmd_ext()
3867 lpfc_bsg_sli_cfg_dma_desc_setup(phba, nemb_tp, 0, dmabuf, dmabuf); in lpfc_bsg_sli_cfg_read_cmd_ext()
3875 ext_buf_index, dmabuf, in lpfc_bsg_sli_cfg_read_cmd_ext()
3883 sta_pos_addr, dmabuf, ext_buf_cnt); in lpfc_bsg_sli_cfg_read_cmd_ext()
3887 pmbx = (uint8_t *)dmabuf->virt; in lpfc_bsg_sli_cfg_read_cmd_ext()
3898 phba->mbox_ext_buf_ctx.mbx_dmabuf = dmabuf; in lpfc_bsg_sli_cfg_read_cmd_ext()
3960 struct lpfc_dmabuf *dmabuf) in lpfc_bsg_sli_cfg_write_cmd_ext() argument
3975 sli_cfg_mbx = (struct lpfc_sli_config_mbox *)dmabuf->virt; in lpfc_bsg_sli_cfg_write_cmd_ext()
4013 sta_pre_addr, dmabuf, ext_buf_cnt); in lpfc_bsg_sli_cfg_write_cmd_ext()
4019 lpfc_bsg_sli_cfg_dma_desc_setup(phba, nemb_tp, 0, dmabuf, dmabuf); in lpfc_bsg_sli_cfg_write_cmd_ext()
4023 sta_pos_addr, dmabuf, ext_buf_cnt); in lpfc_bsg_sli_cfg_write_cmd_ext()
4046 phba->mbox_ext_buf_ctx.mbx_dmabuf = dmabuf; in lpfc_bsg_sli_cfg_write_cmd_ext()
4064 mbx = (uint8_t *)dmabuf->virt; in lpfc_bsg_sli_cfg_write_cmd_ext()
4123 struct lpfc_dmabuf *dmabuf) in lpfc_bsg_handle_sli_cfg_mbox() argument
4133 sli_cfg_mbx = (struct lpfc_sli_config_mbox *)dmabuf->virt; in lpfc_bsg_handle_sli_cfg_mbox()
4150 nemb_mse, dmabuf); in lpfc_bsg_handle_sli_cfg_mbox()
4160 nemb_mse, dmabuf); in lpfc_bsg_handle_sli_cfg_mbox()
4180 nemb_mse, dmabuf); in lpfc_bsg_handle_sli_cfg_mbox()
4211 nemb_hbd, dmabuf); in lpfc_bsg_handle_sli_cfg_mbox()
4219 nemb_hbd, dmabuf); in lpfc_bsg_handle_sli_cfg_mbox()
4274 struct lpfc_dmabuf *dmabuf; in lpfc_bsg_read_ebuf_get() local
4300 dmabuf = list_first_entry(&phba->mbox_ext_buf_ctx.ext_dmabuf_list, in lpfc_bsg_read_ebuf_get()
4302 list_del_init(&dmabuf->list); in lpfc_bsg_read_ebuf_get()
4307 dmabuf, index); in lpfc_bsg_read_ebuf_get()
4309 pbuf = (uint8_t *)dmabuf->virt; in lpfc_bsg_read_ebuf_get()
4315 lpfc_bsg_dma_page_free(phba, dmabuf); in lpfc_bsg_read_ebuf_get()
4340 struct lpfc_dmabuf *dmabuf) in lpfc_bsg_write_ebuf_set() argument
4361 pbuf = (uint8_t *)dmabuf->virt; in lpfc_bsg_write_ebuf_set()
4384 dmabuf); in lpfc_bsg_write_ebuf_set()
4385 list_add_tail(&dmabuf->list, &phba->mbox_ext_buf_ctx.ext_dmabuf_list); in lpfc_bsg_write_ebuf_set()
4390 dmabuf, index); in lpfc_bsg_write_ebuf_set()
4444 lpfc_bsg_dma_page_free(phba, dmabuf); in lpfc_bsg_write_ebuf_set()
4461 struct lpfc_dmabuf *dmabuf) in lpfc_bsg_handle_sli_cfg_ebuf() argument
4480 lpfc_bsg_dma_page_free(phba, dmabuf); in lpfc_bsg_handle_sli_cfg_ebuf()
4490 rc = lpfc_bsg_write_ebuf_set(phba, job, dmabuf); in lpfc_bsg_handle_sli_cfg_ebuf()
4506 struct lpfc_dmabuf *dmabuf) in lpfc_bsg_handle_sli_cfg_ext() argument
4525 rc = lpfc_bsg_handle_sli_cfg_mbox(phba, job, dmabuf); in lpfc_bsg_handle_sli_cfg_ext()
4548 rc = lpfc_bsg_handle_sli_cfg_ebuf(phba, job, dmabuf); in lpfc_bsg_handle_sli_cfg_ext()
4590 struct lpfc_dmabuf *dmabuf = NULL; in lpfc_bsg_issue_mbox() local
4631 dmabuf = lpfc_bsg_dma_page_alloc(phba); in lpfc_bsg_issue_mbox()
4632 if (!dmabuf || !dmabuf->virt) { in lpfc_bsg_issue_mbox()
4638 pmbx = (uint8_t *)dmabuf->virt; in lpfc_bsg_issue_mbox()
4645 rc = lpfc_bsg_handle_sli_cfg_ext(phba, job, dmabuf); in lpfc_bsg_issue_mbox()
4719 putPaddrHigh(dmabuf->phys + sizeof(MAILBOX_t)); in lpfc_bsg_issue_mbox()
4721 putPaddrLow(dmabuf->phys + sizeof(MAILBOX_t)); in lpfc_bsg_issue_mbox()
4724 putPaddrHigh(dmabuf->phys + sizeof(MAILBOX_t) in lpfc_bsg_issue_mbox()
4727 putPaddrLow(dmabuf->phys + sizeof(MAILBOX_t) in lpfc_bsg_issue_mbox()
4744 pmb->un.varWords[3] = putPaddrLow(dmabuf->phys in lpfc_bsg_issue_mbox()
4746 pmb->un.varWords[4] = putPaddrHigh(dmabuf->phys in lpfc_bsg_issue_mbox()
4767 pmb->un.varWords[3] = putPaddrLow(dmabuf->phys in lpfc_bsg_issue_mbox()
4769 pmb->un.varWords[4] = putPaddrHigh(dmabuf->phys in lpfc_bsg_issue_mbox()
4781 bde->addrHigh = putPaddrHigh(dmabuf->phys in lpfc_bsg_issue_mbox()
4783 bde->addrLow = putPaddrLow(dmabuf->phys in lpfc_bsg_issue_mbox()
4808 putPaddrHigh(dmabuf->phys in lpfc_bsg_issue_mbox()
4811 putPaddrLow(dmabuf->phys in lpfc_bsg_issue_mbox()
4817 dd_data->context_un.mbox.dmabuffers = dmabuf; in lpfc_bsg_issue_mbox()
4861 lpfc_bsg_dma_page_free(phba, dmabuf); in lpfc_bsg_issue_mbox()