Home
last modified time | relevance | path

Searched refs:dpagemap (Results 1 – 8 of 8) sorted by relevance

/linux/drivers/gpu/drm/
H A Ddrm_pagemap_util.c34 struct drm_pagemap *dpagemap; member
58 static bool drm_pagemap_shrinker_cancel(struct drm_pagemap *dpagemap);
63 struct drm_pagemap *dpagemap; in drm_pagemap_cache_fini() local
67 dpagemap = cache->dpagemap; in drm_pagemap_cache_fini()
68 cache->dpagemap = NULL; in drm_pagemap_cache_fini()
69 if (dpagemap && !drm_pagemap_shrinker_cancel(dpagemap)) in drm_pagemap_cache_fini()
70 dpagemap = NULL; in drm_pagemap_cache_fini()
73 if (dpagemap) in drm_pagemap_cache_fini()
74 drm_pagemap_destroy(dpagemap, false); in drm_pagemap_cache_fini()
177 struct drm_pagemap *dpagemap; in drm_pagemap_get_from_cache() local
[all …]
H A Ddrm_pagemap.c80 struct drm_pagemap *dpagemap; member
93 drm_pagemap_zdd_alloc(struct drm_pagemap *dpagemap) in drm_pagemap_zdd_alloc() argument
103 zdd->dpagemap = drm_pagemap_get(dpagemap); in drm_pagemap_zdd_alloc()
133 struct drm_pagemap *dpagemap = zdd->dpagemap; in drm_pagemap_zdd_destroy() local
141 drm_pagemap_put(dpagemap); in drm_pagemap_zdd_destroy()
213 zone_device_folio_init((struct folio *)page, zdd->dpagemap->pagemap, in drm_pagemap_get_devmem_page()
259 struct drm_pagemap *dpagemap = zdd->dpagemap; in drm_pagemap_migrate_map_pages() local
262 if (dpagemap == local_dpagemap) { in drm_pagemap_migrate_map_pages()
271 addr = dpagemap->ops->device_map(dpagemap, dev, page, order, dir); in drm_pagemap_migrate_map_pages()
330 struct drm_pagemap *dpagemap = zdd->dpagemap; in drm_pagemap_migrate_unmap_pages() local
[all …]
H A Ddrm_gpusvm.c1132 struct drm_pagemap *dpagemap = svm_pages->dpagemap; in __drm_gpusvm_unmap_pages() local
1151 else if (dpagemap && dpagemap->ops->device_unmap) in __drm_gpusvm_unmap_pages()
1152 dpagemap->ops->device_unmap(dpagemap, in __drm_gpusvm_unmap_pages()
1162 drm_pagemap_put(svm_pages->dpagemap); in __drm_gpusvm_unmap_pages()
1163 svm_pages->dpagemap = NULL; in __drm_gpusvm_unmap_pages()
1407 struct drm_pagemap *dpagemap; in drm_gpusvm_get_pages() local
1507 dpagemap = drm_pagemap_page_to_dpagemap(page); in drm_gpusvm_get_pages()
1508 if (drm_WARN_ON(gpusvm->drm, !dpagemap)) { in drm_gpusvm_get_pages()
1519 dpagemap->ops->device_map(dpagemap, in drm_gpusvm_get_pages()
1562 drm_pagemap_get(dpagemap); in drm_gpusvm_get_pages()
[all …]
/linux/drivers/gpu/drm/xe/
H A Dxe_svm.c771 static u64 block_offset_to_pfn(struct drm_pagemap *dpagemap, u64 offset) in block_offset_to_pfn() argument
773 struct xe_pagemap *xpagemap = container_of(dpagemap, typeof(*xpagemap), dpagemap); in block_offset_to_pfn()
795 u64 block_pfn = block_offset_to_pfn(devmem_allocation->dpagemap, in xe_svm_populate_devmem_pfn()
834 drm_pagemap_put(&xpagemap->dpagemap); in xe_pagemap_put()
855 return container_of(peer, struct xe_pagemap, peer)->dpagemap.drm->dev; in xe_peer_to_dev()
953 const struct drm_pagemap *dpagemap) in xe_svm_range_has_pagemap_locked() argument
955 return range->base.pages.dpagemap == dpagemap; in xe_svm_range_has_pagemap_locked()
959 const struct drm_pagemap *dpagemap) in xe_svm_range_has_pagemap() argument
965 ret = xe_svm_range_has_pagemap_locked(range, dpagemap); in xe_svm_range_has_pagemap()
974 const struct drm_pagemap *dpagemap) in xe_svm_range_is_valid() argument
[all …]
H A Dxe_vm_madvise.c39 struct drm_pagemap *dpagemap; member
119 drm_pagemap_put(loc->dpagemap); in madvise_preferred_mem_loc()
120 loc->dpagemap = NULL; in madvise_preferred_mem_loc()
121 if (details->dpagemap) in madvise_preferred_mem_loc()
122 loc->dpagemap = drm_pagemap_get(details->dpagemap); in madvise_preferred_mem_loc()
583 struct drm_pagemap *dpagemap; in xe_madvise_details_init() local
588 dpagemap = xe_drm_pagemap_from_fd(args->preferred_mem_loc.devmem_fd, in xe_madvise_details_init()
590 if (XE_IOCTL_DBG(xe, IS_ERR(dpagemap))) in xe_madvise_details_init()
591 return PTR_ERR(dpagemap); in xe_madvise_details_init()
594 if (XE_IOCTL_DBG(xe, dpagemap->pagemap->owner != vm->svm.peer.owner)) { in xe_madvise_details_init()
[all …]
H A Dxe_svm.h62 struct drm_pagemap dpagemap; member
99 struct drm_pagemap *dpagemap);
108 const struct drm_pagemap *dpagemap);
114 u8 tile_mask, const struct drm_pagemap *dpagemap);
284 struct drm_pagemap *dpagemap) in xe_svm_alloc_vram() argument
325 const struct drm_pagemap *dpagemap) in xe_svm_range_needs_migrate_to_vram() argument
H A Dxe_vm_types.h78 struct drm_pagemap *dpagemap; member
478 struct drm_pagemap *dpagemap; member
H A Dxe_vm.c1038 drm_pagemap_put(attr->preferred_loc.dpagemap); in xe_vma_mem_attr_fini()
1063 if (to->preferred_loc.dpagemap) in xe_vma_mem_attr_copy()
1064 drm_pagemap_get(to->preferred_loc.dpagemap); in xe_vma_mem_attr_copy()
2468 struct drm_pagemap *dpagemap = NULL; in vm_bind_ioctl_ops_create() local
2488 dpagemap = xe_vma_resolve_pagemap(vma, in vm_bind_ioctl_ops_create()
2493 dpagemap = xe_tile_local_pagemap(tile); in vm_bind_ioctl_ops_create()
2496 op->prefetch_range.dpagemap = dpagemap; in vm_bind_ioctl_ops_create()
2515 if (xe_svm_range_validate(vm, svm_range, tile_mask, dpagemap)) { in vm_bind_ioctl_ops_create()
3081 struct drm_pagemap *dpagemap = op->prefetch_range.dpagemap; in prefetch_ranges() local
3094 ctx.device_private_page_owner = xe_svm_private_page_owner(vm, !dpagemap); in prefetch_ranges()
[all …]