Searched refs:dpagemap (Results 1 – 7 of 7) sorted by relevance
| /linux/drivers/gpu/drm/ |
| H A D | drm_pagemap_util.c | 34 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 D | drm_pagemap.c | 80 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() 250 struct drm_pagemap *dpagemap; in drm_pagemap_migrate_map_device_private_pages() local 263 dpagemap = zdd->dpagemap; in drm_pagemap_migrate_map_device_private_pages() 265 if (dpagemap == local_dpagemap) { in drm_pagemap_migrate_map_device_private_pages() 274 addr = dpagemap->ops->device_map(dpagemap, dev, page, order, dir); in drm_pagemap_migrate_map_device_private_pages() [all …]
|
| /linux/include/drm/ |
| H A D | drm_pagemap.h | 85 struct drm_pagemap_addr (*device_map)(struct drm_pagemap *dpagemap, 98 void (*device_unmap)(struct drm_pagemap *dpagemap, 127 int (*populate_mm)(struct drm_pagemap *dpagemap, 148 void (*destroy)(struct drm_pagemap *dpagemap, 250 int drm_pagemap_init(struct drm_pagemap *dpagemap, 261 void drm_pagemap_put(struct drm_pagemap *dpagemap); 270 static inline void drm_pagemap_put(struct drm_pagemap *dpagemap) in drm_pagemap_put() argument 283 drm_pagemap_get(struct drm_pagemap *dpagemap) in drm_pagemap_get() argument 285 if (likely(dpagemap)) in drm_pagemap_get() 286 kref_get(&dpagemap->ref); in drm_pagemap_get() [all …]
|
| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_svm.c | 781 static u64 block_offset_to_pfn(struct drm_pagemap *dpagemap, u64 offset) in block_offset_to_pfn() argument 783 struct xe_pagemap *xpagemap = container_of(dpagemap, typeof(*xpagemap), dpagemap); in block_offset_to_pfn() 805 u64 block_pfn = block_offset_to_pfn(devmem_allocation->dpagemap, in xe_svm_populate_devmem_pfn() 844 drm_pagemap_put(&xpagemap->dpagemap); in xe_pagemap_put() 865 return container_of(peer, struct xe_pagemap, peer)->dpagemap.drm->dev; in xe_peer_to_dev() 976 const struct drm_pagemap *dpagemap) in xe_svm_range_has_pagemap_locked() argument 978 return range->pages.dpagemap == dpagemap; in xe_svm_range_has_pagemap_locked() 982 const struct drm_pagemap *dpagemap) in xe_svm_range_has_pagemap() argument 988 ret = xe_svm_range_has_pagemap_locked(range, dpagemap); in xe_svm_range_has_pagemap() 997 const struct drm_pagemap *dpagemap) in xe_svm_range_is_valid() argument [all …]
|
| H A D | xe_vm_madvise.c | 39 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() 455 struct drm_pagemap *dpagemap; in xe_madvise_details_init() local 460 dpagemap = xe_drm_pagemap_from_fd(args->preferred_mem_loc.devmem_fd, in xe_madvise_details_init() 462 if (XE_IOCTL_DBG(xe, IS_ERR(dpagemap))) in xe_madvise_details_init() 463 return PTR_ERR(dpagemap); in xe_madvise_details_init() 466 if (XE_IOCTL_DBG(xe, dpagemap->pagemap->owner != vm->svm.peer.owner)) { in xe_madvise_details_init() [all …]
|
| H A D | xe_svm.h | 64 struct drm_pagemap dpagemap; member 101 struct drm_pagemap *dpagemap); 110 const struct drm_pagemap *dpagemap); 116 u8 tile_mask, const struct drm_pagemap *dpagemap); 286 struct drm_pagemap *dpagemap) in xe_svm_alloc_vram() argument 327 const struct drm_pagemap *dpagemap) in xe_svm_range_needs_migrate_to_vram() argument
|
| H A D | xe_vm.c | 1078 drm_pagemap_put(attr->preferred_loc.dpagemap); in xe_vma_mem_attr_copy() 1103 if (to->preferred_loc.dpagemap) in xe_vma_create() 1104 drm_pagemap_get(to->preferred_loc.dpagemap); in xe_vma_create() 2529 struct drm_pagemap *dpagemap = NULL; in vm_bind_ioctl_ops_create() 2549 dpagemap = xe_vma_resolve_pagemap(vma, in vm_bind_ioctl_ops_create() 2554 dpagemap = xe_tile_local_pagemap(tile); in vm_bind_ioctl_ops_create() 2557 op->prefetch_range.dpagemap = dpagemap; in vm_bind_ioctl_ops_create() 2576 if (xe_svm_range_validate(vm, svm_range, tile_mask, dpagemap)) { in vm_bind_ioctl_ops_create() 3147 struct drm_pagemap *dpagemap in prefetch_ranges() 2504 struct drm_pagemap *dpagemap = NULL; vm_bind_ioctl_ops_create() local 3122 struct drm_pagemap *dpagemap = op->prefetch_range.dpagemap; prefetch_ranges() local [all...] |