Lines Matching refs:dma_mem

73     struct sec_dma_mem *dma_mem, bus_size_t size);
75 struct sec_dma_mem *dma_mem, struct cryptop *crp, bus_size_t size,
77 static void sec_free_dma_mem(struct sec_dma_mem *dma_mem);
154 sec_sync_dma_mem(struct sec_dma_mem *dma_mem, bus_dmasync_op_t op) in sec_sync_dma_mem() argument
158 if (dma_mem->dma_vaddr != NULL) in sec_sync_dma_mem()
159 bus_dmamap_sync(dma_mem->dma_tag, dma_mem->dma_map, op); in sec_sync_dma_mem()
714 struct sec_dma_mem *dma_mem = arg; in sec_alloc_dma_mem_cb() local
720 dma_mem->dma_paddr = segs->ds_addr; in sec_alloc_dma_mem_cb()
776 sec_alloc_dma_mem(struct sec_softc *sc, struct sec_dma_mem *dma_mem, in sec_alloc_dma_mem() argument
781 if (dma_mem->dma_vaddr != NULL) in sec_alloc_dma_mem()
792 &(dma_mem->dma_tag)); /* dmat */ in sec_alloc_dma_mem()
800 error = bus_dmamem_alloc(dma_mem->dma_tag, &(dma_mem->dma_vaddr), in sec_alloc_dma_mem()
801 BUS_DMA_NOWAIT | BUS_DMA_ZERO, &(dma_mem->dma_map)); in sec_alloc_dma_mem()
809 error = bus_dmamap_load(dma_mem->dma_tag, dma_mem->dma_map, in sec_alloc_dma_mem()
810 dma_mem->dma_vaddr, size, sec_alloc_dma_mem_cb, dma_mem, in sec_alloc_dma_mem()
819 dma_mem->dma_is_map = 0; in sec_alloc_dma_mem()
823 bus_dmamem_free(dma_mem->dma_tag, dma_mem->dma_vaddr, dma_mem->dma_map); in sec_alloc_dma_mem()
825 bus_dma_tag_destroy(dma_mem->dma_tag); in sec_alloc_dma_mem()
827 dma_mem->dma_vaddr = NULL; in sec_alloc_dma_mem()
832 sec_desc_map_dma(struct sec_softc *sc, struct sec_dma_mem *dma_mem, in sec_desc_map_dma() argument
837 if (dma_mem->dma_vaddr != NULL) in sec_desc_map_dma()
868 &(dma_mem->dma_tag)); /* dmat */ in sec_desc_map_dma()
873 dma_mem->dma_vaddr = NULL; in sec_desc_map_dma()
877 error = bus_dmamap_create(dma_mem->dma_tag, 0, &(dma_mem->dma_map)); in sec_desc_map_dma()
882 bus_dma_tag_destroy(dma_mem->dma_tag); in sec_desc_map_dma()
886 error = bus_dmamap_load_crp(dma_mem->dma_tag, dma_mem->dma_map, crp, in sec_desc_map_dma()
892 bus_dmamap_destroy(dma_mem->dma_tag, dma_mem->dma_map); in sec_desc_map_dma()
893 bus_dma_tag_destroy(dma_mem->dma_tag); in sec_desc_map_dma()
897 dma_mem->dma_is_map = 1; in sec_desc_map_dma()
898 dma_mem->dma_vaddr = crp; in sec_desc_map_dma()
904 sec_free_dma_mem(struct sec_dma_mem *dma_mem) in sec_free_dma_mem() argument
908 if (dma_mem->dma_vaddr == NULL) in sec_free_dma_mem()
911 bus_dmamap_unload(dma_mem->dma_tag, dma_mem->dma_map); in sec_free_dma_mem()
913 if (dma_mem->dma_is_map) in sec_free_dma_mem()
914 bus_dmamap_destroy(dma_mem->dma_tag, dma_mem->dma_map); in sec_free_dma_mem()
916 bus_dmamem_free(dma_mem->dma_tag, dma_mem->dma_vaddr, in sec_free_dma_mem()
917 dma_mem->dma_map); in sec_free_dma_mem()
919 bus_dma_tag_destroy(dma_mem->dma_tag); in sec_free_dma_mem()
920 dma_mem->dma_vaddr = NULL; in sec_free_dma_mem()