Lines Matching refs:vr
309 static struct xe_tile *vr_to_tile(struct xe_vram_region *vr) in vr_to_tile() argument
311 return container_of(vr, struct xe_tile, mem.vram); in vr_to_tile()
314 static u64 xe_vram_region_page_to_dpa(struct xe_vram_region *vr, in xe_vram_region_page_to_dpa() argument
318 struct xe_tile *tile = vr_to_tile(vr); in xe_vram_region_page_to_dpa()
323 xe_tile_assert(tile, (pfn << PAGE_SHIFT) >= vr->hpa_base); in xe_vram_region_page_to_dpa()
325 offset = (pfn << PAGE_SHIFT) - vr->hpa_base; in xe_vram_region_page_to_dpa()
326 dpa = vr->dpa_base + offset; in xe_vram_region_page_to_dpa()
339 struct xe_vram_region *vr = NULL; in xe_svm_copy() local
371 if (!vr && spage) { in xe_svm_copy()
372 vr = page_to_vr(spage); in xe_svm_copy()
373 tile = vr_to_tile(vr); in xe_svm_copy()
375 XE_WARN_ON(spage && page_to_vr(spage) != vr); in xe_svm_copy()
383 __vram_addr = xe_vram_region_page_to_dpa(vr, spage); in xe_svm_copy()
504 static u64 block_offset_to_pfn(struct xe_vram_region *vr, u64 offset) in block_offset_to_pfn() argument
506 return PHYS_PFN(offset + vr->hpa_base); in block_offset_to_pfn()
524 struct xe_vram_region *vr = block->private; in xe_svm_populate_devmem_pfn() local
525 struct xe_tile *tile = vr_to_tile(vr); in xe_svm_populate_devmem_pfn()
527 u64 block_pfn = block_offset_to_pfn(vr, drm_buddy_block_offset(block)); in xe_svm_populate_devmem_pfn()
699 struct xe_vram_region *vr = tile_to_vr(tile); in xe_drm_pagemap_populate_mm() local
730 block->private = vr; in xe_drm_pagemap_populate_mm()
1063 int xe_devm_add(struct xe_tile *tile, struct xe_vram_region *vr) in xe_devm_add() argument
1072 vr->usable_size); in xe_devm_add()
1078 vr->pagemap.type = MEMORY_DEVICE_PRIVATE; in xe_devm_add()
1079 vr->pagemap.range.start = res->start; in xe_devm_add()
1080 vr->pagemap.range.end = res->end; in xe_devm_add()
1081 vr->pagemap.nr_range = 1; in xe_devm_add()
1082 vr->pagemap.ops = drm_pagemap_pagemap_ops_get(); in xe_devm_add()
1083 vr->pagemap.owner = xe_svm_devm_owner(xe); in xe_devm_add()
1084 addr = devm_memremap_pages(dev, &vr->pagemap); in xe_devm_add()
1086 vr->dpagemap.dev = dev; in xe_devm_add()
1087 vr->dpagemap.ops = &xe_drm_pagemap_ops; in xe_devm_add()
1096 vr->hpa_base = res->start; in xe_devm_add()
1099 tile->id, vr->io_start, vr->io_start + vr->usable_size, res); in xe_devm_add()
1110 int xe_devm_add(struct xe_tile *tile, struct xe_vram_region *vr) in xe_devm_add() argument