Lines Matching defs:dmabuf
78 struct hbq_dmabuf *dmabuf);
2387 struct lpfc_dmabuf *dmabuf, *next_dmabuf;
2396 list_for_each_entry_safe(dmabuf, next_dmabuf,
2398 hbq_buf = container_of(dmabuf, struct hbq_dmabuf, dbuf);
4515 struct hbq_dmabuf *dmabuf;
4544 dmabuf = container_of(cq_event, struct hbq_dmabuf,
4546 lpfc_sli4_handle_received_buffer(phba, dmabuf);
5880 struct lpfc_dmabuf *dmabuf;
5883 dmabuf = kzalloc(sizeof(struct lpfc_dmabuf), GFP_KERNEL);
5884 if (!dmabuf)
5892 dmabuf->virt = dma_alloc_coherent(&phba->pcidev->dev, dma_size,
5893 &dmabuf->phys, GFP_KERNEL);
5894 if (!dmabuf->virt) {
5895 kfree(dmabuf);
5906 mqe->un.read_rev.vpd_paddr_high = putPaddrHigh(dmabuf->phys);
5907 mqe->un.read_rev.vpd_paddr_low = putPaddrLow(dmabuf->phys);
5915 dmabuf->virt, dmabuf->phys);
5916 kfree(dmabuf);
5928 memcpy(vpd, dmabuf->virt, *vpd_size);
5931 dmabuf->virt, dmabuf->phys);
5932 kfree(dmabuf);
6870 struct lpfc_dmabuf *dmabuf, *next;
6873 list_for_each_entry_safe(dmabuf, next,
6876 list_del(&dmabuf->list);
6879 dmabuf->virt, dmabuf->phys);
6880 kfree(dmabuf);
6913 struct lpfc_dmabuf *dmabuf;
6933 dmabuf = kzalloc(sizeof(struct lpfc_dmabuf),
6935 if (!dmabuf) {
6942 dmabuf->virt = dma_alloc_coherent(&phba->pcidev->dev,
6944 &dmabuf->phys, GFP_KERNEL);
6945 if (!dmabuf->virt) {
6946 kfree(dmabuf);
6952 dmabuf->buffer_tag = i;
6953 list_add_tail(&dmabuf->list, &ras_fwlog->fwlog_buff_list);
7025 struct lpfc_dmabuf *dmabuf;
7079 list_for_each_entry(dmabuf, &ras_fwlog->fwlog_buff_list, list) {
7080 memset(dmabuf->virt, 0, LPFC_RAS_MAX_ENTRY_SIZE);
7082 mbx_fwlog->u.request.buff_fwlog[dmabuf->buffer_tag].addr_lo =
7083 putPaddrLow(dmabuf->phys);
7085 mbx_fwlog->u.request.buff_fwlog[dmabuf->buffer_tag].addr_hi =
7086 putPaddrHigh(dmabuf->phys);
15789 struct lpfc_dmabuf *dmabuf;
15798 list_remove_head(&queue->page_list, dmabuf, struct lpfc_dmabuf,
15801 dmabuf->virt, dmabuf->phys);
15802 kfree(dmabuf);
15833 struct lpfc_dmabuf *dmabuf;
15871 dmabuf = kzalloc_node(sizeof(*dmabuf), GFP_KERNEL,
15873 if (!dmabuf)
15875 dmabuf->virt = dma_alloc_coherent(&phba->pcidev->dev,
15876 hw_page_size, &dmabuf->phys,
15878 if (!dmabuf->virt) {
15879 kfree(dmabuf);
15882 dmabuf->buffer_tag = x;
15883 list_add_tail(&dmabuf->list, &queue->page_list);
15885 queue->q_pgs[x] = dmabuf->virt;
16069 struct lpfc_dmabuf *dmabuf;
16140 list_for_each_entry(dmabuf, &eq->page_list, list) {
16141 memset(dmabuf->virt, 0, hw_page_size);
16142 eq_create->u.request.page[dmabuf->buffer_tag].addr_lo =
16143 putPaddrLow(dmabuf->phys);
16144 eq_create->u.request.page[dmabuf->buffer_tag].addr_hi =
16145 putPaddrHigh(dmabuf->phys);
16267 struct lpfc_dmabuf *dmabuf;
16341 list_for_each_entry(dmabuf, &cq->page_list, list) {
16342 memset(dmabuf->virt, 0, cq->page_size);
16343 cq_create->u.request.page[dmabuf->buffer_tag].addr_lo =
16344 putPaddrLow(dmabuf->phys);
16345 cq_create->u.request.page[dmabuf->buffer_tag].addr_hi =
16346 putPaddrHigh(dmabuf->phys);
16417 struct lpfc_dmabuf *dmabuf;
16595 list_for_each_entry(dmabuf, &cq->page_list, list) {
16596 memset(dmabuf->virt, 0, hw_page_size);
16597 cnt = page_idx + dmabuf->buffer_tag;
16599 putPaddrLow(dmabuf->phys);
16601 putPaddrHigh(dmabuf->phys);
16657 struct lpfc_dmabuf *dmabuf;
16689 list_for_each_entry(dmabuf, &mq->page_list, list) {
16690 mq_create->u.request.page[dmabuf->buffer_tag].addr_lo =
16691 putPaddrLow(dmabuf->phys);
16692 mq_create->u.request.page[dmabuf->buffer_tag].addr_hi =
16693 putPaddrHigh(dmabuf->phys);
16724 struct lpfc_dmabuf *dmabuf;
16800 list_for_each_entry(dmabuf, &mq->page_list, list) {
16801 memset(dmabuf->virt, 0, hw_page_size);
16802 mq_create_ext->u.request.page[dmabuf->buffer_tag].addr_lo =
16803 putPaddrLow(dmabuf->phys);
16804 mq_create_ext->u.request.page[dmabuf->buffer_tag].addr_hi =
16805 putPaddrHigh(dmabuf->phys);
16878 struct lpfc_dmabuf *dmabuf;
16958 list_for_each_entry(dmabuf, &wq->page_list, list) {
16959 memset(dmabuf->virt, 0, hw_page_size);
16960 page[dmabuf->buffer_tag].addr_lo = putPaddrLow(dmabuf->phys);
16961 page[dmabuf->buffer_tag].addr_hi = putPaddrHigh(dmabuf->phys);
17142 struct lpfc_dmabuf *dmabuf;
17222 list_for_each_entry(dmabuf, &hrq->page_list, list) {
17223 memset(dmabuf->virt, 0, hw_page_size);
17224 rq_create->u.request.page[dmabuf->buffer_tag].addr_lo =
17225 putPaddrLow(dmabuf->phys);
17226 rq_create->u.request.page[dmabuf->buffer_tag].addr_hi =
17227 putPaddrHigh(dmabuf->phys);
17365 list_for_each_entry(dmabuf, &drq->page_list, list) {
17366 rq_create->u.request.page[dmabuf->buffer_tag].addr_lo =
17367 putPaddrLow(dmabuf->phys);
17368 rq_create->u.request.page[dmabuf->buffer_tag].addr_hi =
17369 putPaddrHigh(dmabuf->phys);
17434 struct lpfc_dmabuf *dmabuf;
17521 list_for_each_entry(dmabuf, &hrq->page_list, list) {
17522 memset(dmabuf->virt, 0, hw_page_size);
17523 cnt = page_idx + dmabuf->buffer_tag;
17525 putPaddrLow(dmabuf->phys);
17527 putPaddrHigh(dmabuf->phys);
17533 list_for_each_entry(dmabuf, &drq->page_list, list) {
17534 memset(dmabuf->virt, 0, hw_page_size);
17535 cnt = page_idx + dmabuf->buffer_tag;
17537 putPaddrLow(dmabuf->phys);
17539 putPaddrHigh(dmabuf->phys);
18584 struct hbq_dmabuf *dmabuf = NULL;
18591 dmabuf = container_of(h_buf, struct hbq_dmabuf, hbuf);
18592 vport->rcv_buffer_time_stamp = dmabuf->time_stamp;
18608 struct hbq_dmabuf *dmabuf = NULL;
18612 dmabuf = container_of(h_buf, struct hbq_dmabuf, hbuf);
18613 list_del_init(&dmabuf->hbuf.list);
18615 &dmabuf->dbuf.list, list) {
18619 lpfc_in_buf_free(vport->phba, &dmabuf->dbuf);
18640 struct hbq_dmabuf *dmabuf = NULL;
18651 dmabuf = container_of(h_buf, struct hbq_dmabuf, hbuf);
18653 dmabuf->time_stamp);
18657 list_del_init(&dmabuf->hbuf.list);
18659 &dmabuf->dbuf.list, list) {
18663 lpfc_in_buf_free(vport->phba, &dmabuf->dbuf);
18672 * @dmabuf: pointer to a dmabuf that describes the hdr and data of the FC frame
18676 * sequences then the dbuf in the @dmabuf is added to the list of frames that
18678 * the function will add the hbuf in the @dmabuf to the @vport's rcv_buffer_list
18679 * This function returns a pointer to the first dmabuf in the sequence list that
18683 lpfc_fc_frame_add(struct lpfc_vport *vport, struct hbq_dmabuf *dmabuf)
18693 INIT_LIST_HEAD(&dmabuf->dbuf.list);
18694 dmabuf->time_stamp = jiffies;
18695 new_hdr = (struct fc_frame_header *)dmabuf->hbuf.virt;
18713 list_add_tail(&dmabuf->hbuf.list, &vport->rcv_buffer_list);
18715 return dmabuf;
18721 list_add_tail(&dmabuf->hbuf.list, &vport->rcv_buffer_list);
18722 list_add_tail(&dmabuf->dbuf.list, &seq_dmabuf->dbuf.list);
18724 return dmabuf;
18731 list_add_tail(&dmabuf->dbuf.list, &seq_dmabuf->dbuf.list);
18745 list_add(&dmabuf->dbuf.list, &temp_dmabuf->dbuf.list);
18763 * @dmabuf: pointer to a dmabuf that describes the FC sequence
18766 * by the information from basic abbort @dmabuf. It checks to see whether such
18778 struct hbq_dmabuf *dmabuf)
18786 INIT_LIST_HEAD(&dmabuf->dbuf.list);
18787 INIT_LIST_HEAD(&dmabuf->hbuf.list);
18788 new_hdr = (struct fc_frame_header *)dmabuf->hbuf.virt;
18815 * @dmabuf: pointer to a dmabuf that describes the FC sequence
18818 * protocol, described by the information from basic abbort @dmabuf. It
18829 lpfc_sli4_abort_ulp_seq(struct lpfc_vport *vport, struct hbq_dmabuf *dmabuf)
18839 handled = lpfc_ct_handle_unsol_abort(phba, dmabuf);
19044 * @dmabuf: pointer to a dmabuf that describes the FC sequence
19056 struct hbq_dmabuf *dmabuf)
19063 /* Make a copy of fc_hdr before the dmabuf being released */
19064 memcpy(&fc_hdr, dmabuf->hbuf.virt, sizeof(struct fc_frame_header));
19072 aborted = lpfc_sli4_abort_partial_seq(vport, dmabuf);
19074 aborted = lpfc_sli4_abort_ulp_seq(vport, dmabuf);
19076 lpfc_in_buf_free(phba, &dmabuf->dbuf);
19089 * @dmabuf: pointer to a dmabuf that describes the FC sequence
19092 * @dmabuf, to see if all the frames associated with this sequence are present.
19093 * the frames associated with this sequence are linked to the @dmabuf using the
19100 lpfc_seq_complete(struct hbq_dmabuf *dmabuf)
19108 hdr = (struct fc_frame_header *)dmabuf->hbuf.virt;
19118 list_for_each_entry(d_buf, &dmabuf->dbuf.list, list) {
19137 * @seq_dmabuf: pointer to a dmabuf that describes the FC sequence
19319 struct hbq_dmabuf *dmabuf)
19330 fc_hdr = (struct fc_frame_header *)dmabuf->hbuf.virt;
19331 frame_len = bf_get(lpfc_rcqe_length, &dmabuf->cq_event.cqe.rcqe_cmpl);
19338 list_add_tail(&dmabuf->cq_event.list,
19357 memcpy(pcmd->virt, dmabuf->dbuf.virt, frame_len);
19403 lpfc_in_buf_free(phba, &dmabuf->dbuf);
19414 lpfc_in_buf_free(phba, &dmabuf->dbuf);
19420 * @dmabuf: Pointer to a dmabuf that describes the FC sequence.
19431 struct hbq_dmabuf *dmabuf)
19440 fc_hdr = (struct fc_frame_header *)dmabuf->hbuf.virt;
19447 lpfc_sli4_handle_mds_loopback(vport, dmabuf);
19449 lpfc_in_buf_free(phba, &dmabuf->dbuf);
19455 lpfc_in_buf_free(phba, &dmabuf->dbuf);
19460 &dmabuf->cq_event.cqe.rcqe_cmpl) == CQE_CODE_RECEIVE_V1))
19462 &dmabuf->cq_event.cqe.rcqe_cmpl);
19465 &dmabuf->cq_event.cqe.rcqe_cmpl);
19472 &dmabuf->cq_event.cqe.rcqe_cmpl));
19474 lpfc_sli4_handle_mds_loopback(vport, dmabuf);
19484 lpfc_in_buf_free(phba, &dmabuf->dbuf);
19498 lpfc_in_buf_free(phba, &dmabuf->dbuf);
19505 lpfc_sli4_handle_unsol_abort(vport, dmabuf);
19510 seq_dmabuf = lpfc_fc_frame_add(vport, dmabuf);
19513 lpfc_in_buf_free(phba, &dmabuf->dbuf);
19637 hdr_tmpl->rpi_paddr_lo = putPaddrLow(rpi_page->dmabuf->phys);
19638 hdr_tmpl->rpi_paddr_hi = putPaddrHigh(rpi_page->dmabuf->phys);
20895 struct lpfc_dmabuf *dmabuf;
20914 list_for_each_entry(dmabuf, dmabuf_list, list) {
20917 wr_object->u.request.bde[i].addrLow = putPaddrLow(dmabuf->phys);
20919 putPaddrHigh(dmabuf->phys);
21210 struct lpfc_dmabuf *dmabuf;
21235 dmabuf = pwqeq->bpl_dmabuf;
21239 bpl = (struct ulp_bde64 *)dmabuf->virt;