Lines Matching refs:map
509 struct ttm_bo_kmap_obj *map) in ttm_bo_ioremap() argument
514 map->bo_kmap_type = ttm_bo_map_premapped; in ttm_bo_ioremap()
515 map->virtual = (void *)(((u8 *)bo->mem.bus.addr) + offset); in ttm_bo_ioremap()
517 map->bo_kmap_type = ttm_bo_map_iomap; in ttm_bo_ioremap()
519 map->virtual = ioremap_wc(bo->mem.bus.base + bo->mem.bus.offset + offset, in ttm_bo_ioremap()
522 map->virtual = ioremap_nocache(bo->mem.bus.base + bo->mem.bus.offset + offset, in ttm_bo_ioremap()
525 return (!map->virtual) ? -ENOMEM : 0; in ttm_bo_ioremap()
531 struct ttm_bo_kmap_obj *map) in ttm_bo_kmap_ttm() argument
551 map->bo_kmap_type = ttm_bo_map_kmap; in ttm_bo_kmap_ttm()
552 map->page = ttm->pages[start_page]; in ttm_bo_kmap_ttm()
553 map->virtual = kmap(map->page); in ttm_bo_kmap_ttm()
560 map->bo_kmap_type = ttm_bo_map_vmap; in ttm_bo_kmap_ttm()
561 map->virtual = vmap(ttm->pages + start_page, num_pages, in ttm_bo_kmap_ttm()
564 return (!map->virtual) ? -ENOMEM : 0; in ttm_bo_kmap_ttm()
569 struct ttm_bo_kmap_obj *map) in ttm_bo_kmap() argument
577 map->virtual = NULL; in ttm_bo_kmap()
578 map->bo = bo; in ttm_bo_kmap()
593 return ttm_bo_kmap_ttm(bo, start_page, num_pages, map); in ttm_bo_kmap()
597 return ttm_bo_ioremap(bo, offset, size, map); in ttm_bo_kmap()
602 void ttm_bo_kunmap(struct ttm_bo_kmap_obj *map) in ttm_bo_kunmap() argument
604 struct ttm_buffer_object *bo = map->bo; in ttm_bo_kunmap()
608 if (!map->virtual) in ttm_bo_kunmap()
610 switch (map->bo_kmap_type) { in ttm_bo_kunmap()
612 iounmap(map->virtual); in ttm_bo_kunmap()
615 vunmap(map->virtual); in ttm_bo_kunmap()
618 kunmap(map->page); in ttm_bo_kunmap()
626 ttm_mem_io_free(map->bo->bdev, &map->bo->mem); in ttm_bo_kunmap()
628 map->virtual = NULL; in ttm_bo_kunmap()
629 map->page = NULL; in ttm_bo_kunmap()