| /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 | 68 * @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 D | drm_gpusvm.c | 1137 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 D | xe_svm.c | 50 * 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 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() 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 D | xe_svm.h | 62 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 D | xe_vm_types.h | 73 * @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 D | xe_vm.c | 1037 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...] |