Lines Matching refs:dmap
566 i40e_free_dma_buffer(i40e_dma_buffer_t *dmap) in i40e_free_dma_buffer() argument
568 if (dmap->dmab_dma_address != 0) { in i40e_free_dma_buffer()
569 VERIFY(dmap->dmab_dma_handle != NULL); in i40e_free_dma_buffer()
570 (void) ddi_dma_unbind_handle(dmap->dmab_dma_handle); in i40e_free_dma_buffer()
571 dmap->dmab_dma_address = 0; in i40e_free_dma_buffer()
572 dmap->dmab_size = 0; in i40e_free_dma_buffer()
575 if (dmap->dmab_acc_handle != NULL) { in i40e_free_dma_buffer()
576 ddi_dma_mem_free(&dmap->dmab_acc_handle); in i40e_free_dma_buffer()
577 dmap->dmab_acc_handle = NULL; in i40e_free_dma_buffer()
578 dmap->dmab_address = NULL; in i40e_free_dma_buffer()
581 if (dmap->dmab_dma_handle != NULL) { in i40e_free_dma_buffer()
582 ddi_dma_free_handle(&dmap->dmab_dma_handle); in i40e_free_dma_buffer()
583 dmap->dmab_dma_handle = NULL; in i40e_free_dma_buffer()
591 ASSERT(dmap->dmab_dma_address == 0); in i40e_free_dma_buffer()
592 ASSERT(dmap->dmab_address == NULL); in i40e_free_dma_buffer()
593 ASSERT(dmap->dmab_size == 0); in i40e_free_dma_buffer()
594 dmap->dmab_len = 0; in i40e_free_dma_buffer()
603 i40e_alloc_dma_buffer(i40e_t *i40e, i40e_dma_buffer_t *dmap, in i40e_alloc_dma_buffer() argument
622 NULL, &dmap->dmab_dma_handle); in i40e_alloc_dma_buffer()
626 dmap->dmab_dma_handle = NULL; in i40e_alloc_dma_buffer()
633 ret = ddi_dma_mem_alloc(dmap->dmab_dma_handle, size, accp, flags, in i40e_alloc_dma_buffer()
634 DDI_DMA_DONTWAIT, NULL, &dmap->dmab_address, &len, in i40e_alloc_dma_buffer()
635 &dmap->dmab_acc_handle); in i40e_alloc_dma_buffer()
639 dmap->dmab_address = NULL; in i40e_alloc_dma_buffer()
640 dmap->dmab_acc_handle = NULL; in i40e_alloc_dma_buffer()
641 i40e_free_dma_buffer(dmap); in i40e_alloc_dma_buffer()
649 bzero(dmap->dmab_address, len); in i40e_alloc_dma_buffer()
654 ret = ddi_dma_addr_bind_handle(dmap->dmab_dma_handle, NULL, in i40e_alloc_dma_buffer()
655 dmap->dmab_address, len, DDI_DMA_RDWR | flags, DDI_DMA_DONTWAIT, in i40e_alloc_dma_buffer()
660 i40e_free_dma_buffer(dmap); in i40e_alloc_dma_buffer()
665 dmap->dmab_dma_address = cookie.dmac_laddress; in i40e_alloc_dma_buffer()
666 dmap->dmab_size = len; in i40e_alloc_dma_buffer()
667 dmap->dmab_len = 0; in i40e_alloc_dma_buffer()
841 i40e_dma_buffer_t *dmap; in i40e_alloc_rx_dma() local
850 dmap = &rcb->rcb_dma; in i40e_alloc_rx_dma()
851 if (i40e_alloc_dma_buffer(i40e, dmap, in i40e_alloc_rx_dma()
866 dmap->dmab_size -= I40E_BUF_IPHDR_ALIGNMENT; in i40e_alloc_rx_dma()
867 dmap->dmab_address += I40E_BUF_IPHDR_ALIGNMENT; in i40e_alloc_rx_dma()
868 dmap->dmab_dma_address += I40E_BUF_IPHDR_ALIGNMENT; in i40e_alloc_rx_dma()
874 rcb->rcb_mp = desballoc((unsigned char *)dmap->dmab_address, in i40e_alloc_rx_dma()
875 dmap->dmab_size, 0, &rcb->rcb_free_rtn); in i40e_alloc_rx_dma()