Lines Matching refs:dma_map

121 			      struct dma_mapping *dma_map)
126 list_add(&dma_map->card_list, &cfile->map_list);
131 struct dma_mapping *dma_map)
136 list_del(&dma_map->card_list);
193 struct dma_mapping *dma_map;
198 dma_map = list_entry(node, struct dma_mapping, card_list);
200 list_del_init(&dma_map->card_list);
211 __func__, i++, dma_map->u_vaddr,
212 (unsigned long)dma_map->k_vaddr,
213 (unsigned long)dma_map->dma_addr);
215 if (dma_map->type == GENWQE_MAPPING_RAW) {
217 __genwqe_free_consistent(cd, dma_map->size,
218 dma_map->k_vaddr,
219 dma_map->dma_addr);
220 kfree(dma_map);
221 } else if (dma_map->type == GENWQE_MAPPING_SGL_TEMP) {
222 /* we use dma_map statically from the request */
223 genwqe_user_vunmap(cd, dma_map);
231 struct dma_mapping *dma_map;
235 dma_map = list_entry(node, struct dma_mapping, pin_list);
245 list_del_init(&dma_map->pin_list);
246 genwqe_user_vunmap(cd, dma_map);
247 kfree(dma_map);
394 struct dma_mapping *dma_map;
401 dma_map = __genwqe_search_mapping(cfile, vma->vm_start, vsize,
403 if (dma_map == NULL) {
410 __genwqe_del_mapping(cfile, dma_map);
411 __genwqe_free_consistent(cd, dma_map->size, dma_map->k_vaddr,
412 dma_map->dma_addr);
413 kfree(dma_map);
441 struct dma_mapping *dma_map;
449 dma_map = kzalloc(sizeof(struct dma_mapping), GFP_KERNEL);
450 if (dma_map == NULL)
453 genwqe_mapping_init(dma_map, GENWQE_MAPPING_RAW);
454 dma_map->u_vaddr = (void *)vma->vm_start;
455 dma_map->size = vsize;
456 dma_map->nr_pages = DIV_ROUND_UP(vsize, PAGE_SIZE);
457 dma_map->k_vaddr = __genwqe_alloc_consistent(cd, vsize,
458 &dma_map->dma_addr);
459 if (dma_map->k_vaddr == NULL) {
465 *(dma_addr_t *)dma_map->k_vaddr = dma_map->dma_addr;
467 pfn = virt_to_phys(dma_map->k_vaddr) >> PAGE_SHIFT;
480 __genwqe_add_mapping(cfile, dma_map);
485 __genwqe_free_consistent(cd, dma_map->size,
486 dma_map->k_vaddr,
487 dma_map->dma_addr);
489 kfree(dma_map);
774 struct dma_mapping *dma_map;
786 dma_map = kzalloc(sizeof(struct dma_mapping), GFP_KERNEL);
787 if (dma_map == NULL)
790 genwqe_mapping_init(dma_map, GENWQE_MAPPING_SGL_PINNED);
791 rc = genwqe_user_vmap(cd, dma_map, (void *)map_addr, map_size);
795 kfree(dma_map);
799 genwqe_add_pin(cfile, dma_map);
806 struct dma_mapping *dma_map;
816 dma_map = genwqe_search_pin(cfile, map_addr, map_size, NULL);
817 if (dma_map == NULL)
820 genwqe_del_pin(cfile, dma_map);
821 genwqe_user_vunmap(cd, dma_map);
822 kfree(dma_map);
836 struct dma_mapping *dma_map;
840 dma_map = &req->dma_mappings[i];
842 if (dma_mapping_used(dma_map)) {
843 __genwqe_del_mapping(cfile, dma_map);
844 genwqe_user_vunmap(cd, dma_map);