Lines Matching refs:map
282 struct tioce_dmamap *map; in tioce_alloc_map() local
350 map = kzalloc(sizeof(struct tioce_dmamap), GFP_ATOMIC); in tioce_alloc_map()
351 if (!map) in tioce_alloc_map()
364 map->refcnt = 1; in tioce_alloc_map()
365 map->nbytes = nates * pagesize; in tioce_alloc_map()
366 map->ct_start = ct_addr & ~ATE_PAGEMASK(pagesize); in tioce_alloc_map()
367 map->pci_start = bus_base + (i * pagesize); in tioce_alloc_map()
368 map->ate_hw = &ate_reg[i]; in tioce_alloc_map()
369 map->ate_shadow = &ate_shadow[i]; in tioce_alloc_map()
370 map->ate_count = nates; in tioce_alloc_map()
372 list_add(&map->ce_dmamap_list, &ce_kern->ce_dmamap_list); in tioce_alloc_map()
374 return (map->pci_start + (ct_addr - map->ct_start)); in tioce_alloc_map()
484 struct tioce_dmamap *map; in tioce_dma_unmap() local
486 list_for_each_entry(map, &ce_kern->ce_dmamap_list, in tioce_dma_unmap()
490 last = map->pci_start + map->nbytes - 1; in tioce_dma_unmap()
491 if (bus_addr >= map->pci_start && bus_addr <= last) in tioce_dma_unmap()
495 if (&map->ce_dmamap_list == &ce_kern->ce_dmamap_list) { in tioce_dma_unmap()
499 } else if (--map->refcnt == 0) { in tioce_dma_unmap()
500 for (i = 0; i < map->ate_count; i++) { in tioce_dma_unmap()
501 map->ate_shadow[i] = 0; in tioce_dma_unmap()
502 tioce_mmr_storei(ce_kern, &map->ate_hw[i], 0); in tioce_dma_unmap()
505 list_del(&map->ce_dmamap_list); in tioce_dma_unmap()
506 kfree(map); in tioce_dma_unmap()
530 struct tioce_dmamap *map; in tioce_do_dma_map() local
564 list_for_each_entry(map, &ce_kern->ce_dmamap_list, ce_dmamap_list) { in tioce_do_dma_map()
567 last = map->ct_start + map->nbytes - 1; in tioce_do_dma_map()
568 if (ct_addr >= map->ct_start && in tioce_do_dma_map()
570 map->pci_start <= dma_mask) { in tioce_do_dma_map()
571 map->refcnt++; in tioce_do_dma_map()
572 mapaddr = map->pci_start + (ct_addr - map->ct_start); in tioce_do_dma_map()