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.c68 * @dpagemap: Refcounted pointer to the underlying struct drm_pagemap.
80 struct drm_pagemap *dpagemap; member
85 * @dpagemap: Pointer to the underlying struct drm_pagemap.
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 in drm_pagemap_get_devmem_page()
259 struct drm_pagemap *dpagemap = zdd->dpagemap; drm_pagemap_migrate_map_pages() local
330 struct drm_pagemap *dpagemap = zdd->dpagemap; drm_pagemap_migrate_unmap_pages() local
411 struct drm_pagemap *dpagemap; global() member
523 struct drm_pagemap *dpagemap = devmem_allocation->dpagemap; drm_pagemap_migrate_to_devmem() local
876 struct drm_pagemap *dpagemap = container_of(ref, typeof(*dpagemap), ref); drm_pagemap_release() local
918 drm_pagemap_dev_hold(struct drm_pagemap * dpagemap) drm_pagemap_dev_hold() argument
945 drm_pagemap_reinit(struct drm_pagemap * dpagemap) drm_pagemap_reinit() argument
971 drm_pagemap_init(struct drm_pagemap * dpagemap,struct dev_pagemap * pagemap,struct drm_device * drm,const struct drm_pagemap_ops * ops) drm_pagemap_init() argument
994 drm_pagemap_put(struct drm_pagemap * dpagemap) drm_pagemap_put() argument
1300 drm_pagemap_devmem_init(struct drm_pagemap_devmem * devmem_allocation,struct device * dev,struct mm_struct * mm,const struct drm_pagemap_devmem_ops * ops,struct drm_pagemap * dpagemap,size_t size,struct dma_fence * pre_migrate_fence) drm_pagemap_devmem_init() argument
1347 drm_pagemap_populate_mm(struct drm_pagemap * dpagemap,unsigned long start,unsigned long end,struct mm_struct * mm,unsigned long timeslice_ms) drm_pagemap_populate_mm() argument
1366 drm_pagemap_destroy(struct drm_pagemap * dpagemap,bool is_atomic_or_reclaim) drm_pagemap_destroy() argument
[all...]
H A Ddrm_gpusvm.c1137 struct drm_pagemap *dpagemap = svm_pages->dpagemap; in __drm_gpusvm_unmap_pages()
1162 else if (dpagemap && dpagemap->ops->device_unmap) in __drm_gpusvm_unmap_pages()
1163 dpagemap->ops->device_unmap(dpagemap, in __drm_gpusvm_unmap_pages()
1173 drm_pagemap_put(svm_pages->dpagemap);
1174 svm_pages->dpagemap = NULL; in __drm_gpusvm_free_pages()
1418 struct drm_pagemap *dpagemap; in drm_gpusvm_get_pages()
1522 dpagemap in drm_gpusvm_get_pages()
1132 struct drm_pagemap *dpagemap = svm_pages->dpagemap; __drm_gpusvm_unmap_pages() local
1407 struct drm_pagemap *dpagemap; drm_gpusvm_get_pages() local
[all...]
/linux/drivers/gpu/drm/xe/
H A Dxe_svm.c50 * That includes the range->pages.dpagemap pointer.
771 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 xe_svm_range_has_pagemap(struct xe_svm_range * range,const struct drm_pagemap * dpagemap) xe_svm_range_has_pagemap() argument
974 xe_svm_range_is_valid(struct xe_svm_range * range,struct xe_tile * tile,bool devmem_only,const struct drm_pagemap * dpagemap) xe_svm_range_is_valid() argument
1010 xe_svm_range_validate(struct xe_vm * vm,struct xe_svm_range * range,u8 tile_mask,const struct drm_pagemap * dpagemap) xe_svm_range_validate() argument
1050 xe_drm_pagemap_populate_mm(struct drm_pagemap * dpagemap,unsigned long start,unsigned long end,struct mm_struct * mm,unsigned long timeslice_ms) xe_drm_pagemap_populate_mm() argument
1141 xe_svm_range_needs_migrate_to_vram(struct xe_svm_range * range,struct xe_vma * vma,const struct drm_pagemap * dpagemap) xe_svm_range_needs_migrate_to_vram() argument
1231 struct drm_pagemap *dpagemap; global() local
1597 struct drm_pagemap *dpagemap = vma->attr.preferred_loc.dpagemap; xe_vma_resolve_pagemap() local
1624 xe_svm_alloc_vram(struct xe_svm_range * range,const struct drm_gpusvm_ctx * ctx,struct drm_pagemap * dpagemap) xe_svm_alloc_vram() argument
1681 xe_drm_pagemap_device_map(struct drm_pagemap * dpagemap,struct device * dev,struct page * page,unsigned int order,enum dma_data_direction dir) xe_drm_pagemap_device_map() argument
1705 xe_drm_pagemap_device_unmap(struct drm_pagemap * dpagemap,struct device * dev,const struct drm_pagemap_addr * addr) xe_drm_pagemap_device_unmap() argument
1739 xe_pagemap_destroy(struct drm_pagemap * dpagemap,bool from_atomic_or_reclaim) xe_pagemap_destroy() argument
1774 struct drm_pagemap *dpagemap; xe_pagemap_create() local
1854 struct drm_pagemap *dpagemap; xe_pagemap_find_or_create() local
1983 struct drm_pagemap *dpagemap; xe_drm_pagemap_from_fd() local
2029 xe_svm_alloc_vram(struct xe_svm_range * range,const struct drm_gpusvm_ctx * ctx,struct drm_pagemap * dpagemap) xe_svm_alloc_vram() 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()
441 struct drm_pagemap *dpagemap; in xe_madvise_details_init() local
446 dpagemap = xe_drm_pagemap_from_fd(args->preferred_mem_loc.devmem_fd, in xe_madvise_details_init()
448 if (XE_IOCTL_DBG(xe, IS_ERR(dpagemap))) in xe_madvise_details_init()
449 return PTR_ERR(dpagemap); in xe_madvise_details_init()
452 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.h73 * @preferred_loc.dpagemap: Reference-counted pointer to the drm_pagemap preferred
78 struct drm_pagemap *dpagemap; member
476 * @dpagemap: Pointer to the dpagemap structure containing memory to prefetch.
479 struct drm_pagemap *dpagemap;
478 struct drm_pagemap *dpagemap; global() member
H A Dxe_vm.c1037 drm_pagemap_put(attr->preferred_loc.dpagemap); in xe_vma_mem_attr_fini()
1062 if (to->preferred_loc.dpagemap) in xe_vma_mem_attr_copy()
1063 drm_pagemap_get(to->preferred_loc.dpagemap); in xe_vma_mem_attr_copy()
2493 struct drm_pagemap *dpagemap = NULL; in vm_bind_ioctl_ops_create()
2513 dpagemap = xe_vma_resolve_pagemap(vma, in vm_bind_ioctl_ops_create()
2518 dpagemap = xe_tile_local_pagemap(tile); in vm_bind_ioctl_ops_create()
2521 op->prefetch_range.dpagemap = dpagemap; in vm_bind_ioctl_ops_create()
2540 if (xe_svm_range_validate(vm, svm_range, tile_mask, dpagemap)) { in vm_bind_ioctl_ops_create()
3111 struct drm_pagemap *dpagemap in prefetch_ranges()
2494 struct drm_pagemap *dpagemap = NULL; vm_bind_ioctl_ops_create() local
3112 struct drm_pagemap *dpagemap = op->prefetch_range.dpagemap; prefetch_ranges() local
[all...]