/kernel/linux/linux-5.10/drivers/gpu/drm/msm/ |
H A D | msm_gem.c | 26 struct msm_gem_object *msm_obj = to_msm_bo(obj); in physaddr() local 28 return (((dma_addr_t)msm_obj->vram_node->start) << PAGE_SHIFT) + in physaddr() 34 struct msm_gem_object *msm_obj = to_msm_bo(obj); in use_pages() local 35 return !msm_obj->vram_node; in use_pages() 52 static void sync_for_device(struct msm_gem_object *msm_obj) in sync_for_device() argument 54 struct device *dev = msm_obj->base.dev->dev; in sync_for_device() 56 dma_map_sgtable(dev, msm_obj->sgt, DMA_BIDIRECTIONAL, 0); in sync_for_device() 59 static void sync_for_cpu(struct msm_gem_object *msm_obj) in sync_for_cpu() argument 61 struct device *dev = msm_obj->base.dev->dev; in sync_for_cpu() 63 dma_unmap_sgtable(dev, msm_obj in sync_for_cpu() 69 struct msm_gem_object *msm_obj = to_msm_bo(obj); get_pages_vram() local 98 struct msm_gem_object *msm_obj = to_msm_bo(obj); get_pages() local 139 struct msm_gem_object *msm_obj = to_msm_bo(obj); put_pages_vram() local 151 struct msm_gem_object *msm_obj = to_msm_bo(obj); put_pages() local 177 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_get_pages() local 200 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_mmap_obj() local 243 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_fault() local 291 struct msm_gem_object *msm_obj = to_msm_bo(obj); mmap_offset() local 310 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_mmap_offset() local 321 struct msm_gem_object *msm_obj = to_msm_bo(obj); add_vma() local 340 struct msm_gem_object *msm_obj = to_msm_bo(obj); lookup_vma() local 366 struct msm_gem_object *msm_obj = to_msm_bo(obj); put_iova() local 384 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_get_iova_locked() local 412 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_pin_iova() local 448 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_get_and_pin_iova_range() local 481 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_get_iova() local 497 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_iova() local 516 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_unpin_iova() local 560 struct msm_gem_object *msm_obj = to_msm_bo(obj); get_vaddr() local 624 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_put_vaddr() local 637 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_madvise() local 656 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_purge() local 690 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_vunmap_locked() local 703 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_vunmap() local 747 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_active_get() local 760 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_active_put() local 810 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_describe() local 892 struct msm_gem_object *msm_obj; msm_gem_describe_objects() local 912 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_free_object() local 920 free_object(struct msm_gem_object *msm_obj) free_object() argument 963 struct msm_gem_object *msm_obj, *next; msm_gem_free_work() local 1008 struct msm_gem_object *msm_obj; msm_gem_new_impl() local 1042 struct msm_gem_object *msm_obj; _msm_gem_new() local 1138 struct msm_gem_object *msm_obj; msm_gem_import() local 1257 struct msm_gem_object *msm_obj = to_msm_bo(bo); msm_gem_object_set_name() local [all...] |
H A D | msm_gem_shrinker.c | 19 * Also, msm_obj->madv is protected by struct_mutex. in msm_gem_shrinker_lock() 47 struct msm_gem_object *msm_obj; in msm_gem_shrinker_count() local 54 list_for_each_entry(msm_obj, &priv->inactive_list, mm_list) { in msm_gem_shrinker_count() 55 if (is_purgeable(msm_obj)) in msm_gem_shrinker_count() 56 count += msm_obj->base.size >> PAGE_SHIFT; in msm_gem_shrinker_count() 71 struct msm_gem_object *msm_obj; in msm_gem_shrinker_scan() local 78 list_for_each_entry(msm_obj, &priv->inactive_list, mm_list) { in msm_gem_shrinker_scan() 81 if (is_purgeable(msm_obj)) { in msm_gem_shrinker_scan() 82 msm_gem_purge(&msm_obj->base, OBJ_LOCK_SHRINKER); in msm_gem_shrinker_scan() 83 freed += msm_obj in msm_gem_shrinker_scan() 102 struct msm_gem_object *msm_obj; msm_gem_shrinker_vmap() local [all...] |
H A D | msm_gem.h | 96 static inline bool is_active(struct msm_gem_object *msm_obj) in is_active() argument 98 return atomic_read(&msm_obj->active_count); in is_active() 101 static inline bool is_purgeable(struct msm_gem_object *msm_obj) in is_purgeable() argument 103 WARN_ON(!mutex_is_locked(&msm_obj->base.dev->struct_mutex)); in is_purgeable() 104 return (msm_obj->madv == MSM_MADV_DONTNEED) && msm_obj->sgt && in is_purgeable() 105 !msm_obj->base.dma_buf && !msm_obj->base.import_attach; in is_purgeable() 108 static inline bool is_vunmapable(struct msm_gem_object *msm_obj) in is_vunmapable() argument 110 return (msm_obj in is_vunmapable() [all...] |
H A D | msm_gem_submit.c | 116 struct msm_gem_object *msm_obj; in submit_lookup_objects() local 128 msm_obj = to_msm_bo(obj); in submit_lookup_objects() 130 if (!list_empty(&msm_obj->submit_entry)) { in submit_lookup_objects() 139 submit->bos[i].obj = msm_obj; in submit_lookup_objects() 141 list_add_tail(&msm_obj->submit_entry, &submit->bo_list); in submit_lookup_objects() 156 struct msm_gem_object *msm_obj = submit->bos[i].obj; in submit_unlock_unpin_bo() local 159 msm_gem_unpin_iova(&msm_obj->base, submit->aspace); in submit_unlock_unpin_bo() 162 dma_resv_unlock(msm_obj->base.resv); in submit_unlock_unpin_bo() 177 struct msm_gem_object *msm_obj = submit->bos[i].obj; in submit_lock_objects() local 185 ret = dma_resv_lock_interruptible(msm_obj in submit_lock_objects() 205 struct msm_gem_object *msm_obj = submit->bos[contended].obj; submit_lock_objects() local 224 struct msm_gem_object *msm_obj = submit->bos[i].obj; submit_fence_sync() local 258 struct msm_gem_object *msm_obj = submit->bos[i].obj; submit_pin_objects() local 389 struct msm_gem_object *msm_obj = submit->bos[i].obj; submit_cleanup() local 715 struct msm_gem_object *msm_obj; msm_ioctl_gem_submit() local [all...] |
H A D | msm_gem_prime.c | 16 struct msm_gem_object *msm_obj = to_msm_bo(obj); in msm_gem_prime_get_sg_table() local 19 if (WARN_ON(!msm_obj->pages)) /* should have already pinned! */ in msm_gem_prime_get_sg_table() 22 return drm_prime_pages_to_sg(obj->dev, msm_obj->pages, npages); in msm_gem_prime_get_sg_table()
|
H A D | msm_drv.c | 802 struct msm_gem_object *msm_obj; in msm_ioctl_gem_info() local 826 msm_obj = to_msm_bo(obj); in msm_ioctl_gem_info() 837 if (args->len >= sizeof(msm_obj->name)) { in msm_ioctl_gem_info() 841 if (copy_from_user(msm_obj->name, u64_to_user_ptr(args->value), in msm_ioctl_gem_info() 843 msm_obj->name[0] = '\0'; in msm_ioctl_gem_info() 847 msm_obj->name[args->len] = '\0'; in msm_ioctl_gem_info() 849 if (!isprint(msm_obj->name[i])) { in msm_ioctl_gem_info() 850 msm_obj->name[i] = '\0'; in msm_ioctl_gem_info() 856 if (args->value && (args->len < strlen(msm_obj->name))) { in msm_ioctl_gem_info() 860 args->len = strlen(msm_obj in msm_ioctl_gem_info() [all...] |
H A D | msm_gpu.c | 700 struct msm_gem_object *msm_obj = submit->bos[i].obj; in retire_submit() local 702 msm_gem_active_put(&msm_obj->base); in retire_submit() 703 msm_gem_unpin_iova(&msm_obj->base, submit->aspace); in retire_submit() 704 drm_gem_object_put_locked(&msm_obj->base); in retire_submit() 776 struct msm_gem_object *msm_obj = submit->bos[i].obj; in msm_gpu_submit() local 777 struct drm_gem_object *drm_obj = &msm_obj->base; in msm_gpu_submit() 783 WARN_ON(is_active(msm_obj) && (msm_obj->gpu != gpu)); in msm_gpu_submit() 786 drm_gem_object_get(&msm_obj->base); in msm_gpu_submit() 787 msm_gem_get_and_pin_iova(&msm_obj in msm_gpu_submit() [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/msm/ |
H A D | msm_gem.c | 24 struct msm_gem_object *msm_obj = to_msm_bo(obj); in physaddr() local 26 return (((dma_addr_t)msm_obj->vram_node->start) << PAGE_SHIFT) + in physaddr() 32 struct msm_gem_object *msm_obj = to_msm_bo(obj); in use_pages() local 33 return !msm_obj->vram_node; in use_pages() 50 static void sync_for_device(struct msm_gem_object *msm_obj) in sync_for_device() argument 52 struct device *dev = msm_obj->base.dev->dev; in sync_for_device() 54 dma_map_sgtable(dev, msm_obj->sgt, DMA_BIDIRECTIONAL, 0); in sync_for_device() 57 static void sync_for_cpu(struct msm_gem_object *msm_obj) in sync_for_cpu() argument 59 struct device *dev = msm_obj->base.dev->dev; in sync_for_cpu() 61 dma_unmap_sgtable(dev, msm_obj in sync_for_cpu() 67 struct msm_gem_object *msm_obj = to_msm_bo(obj); update_lru_active() local 85 struct msm_gem_object *msm_obj = to_msm_bo(obj); update_lru_locked() local 110 struct msm_gem_object *msm_obj = to_msm_bo(obj); get_pages_vram() local 139 struct msm_gem_object *msm_obj = to_msm_bo(obj); get_pages() local 184 struct msm_gem_object *msm_obj = to_msm_bo(obj); put_pages_vram() local 196 struct msm_gem_object *msm_obj = to_msm_bo(obj); put_pages() local 225 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_pin_pages_locked() local 280 msm_gem_pgprot(struct msm_gem_object *msm_obj, pgprot_t prot) msm_gem_pgprot() argument 291 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_fault() local 368 struct msm_gem_object *msm_obj = to_msm_bo(obj); add_vma() local 385 struct msm_gem_object *msm_obj = to_msm_bo(obj); lookup_vma() local 416 struct msm_gem_object *msm_obj = to_msm_bo(obj); put_iova_spaces() local 434 struct msm_gem_object *msm_obj = to_msm_bo(obj); put_iova_vmas() local 477 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_pin_vma_locked() local 502 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_unpin_locked() local 521 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_unpin_active() local 697 struct msm_gem_object *msm_obj = to_msm_bo(obj); get_vaddr() local 766 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_put_vaddr_locked() local 788 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_madvise() local 815 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_purge() local 855 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_evict() local 870 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_vunmap() local 925 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_describe() local 1007 struct msm_gem_object *msm_obj; msm_gem_describe_objects() local 1032 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_free_object() local 1066 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_object_mmap() local 1100 struct msm_gem_object *msm_obj = to_msm_bo(obj); msm_gem_status() local 1135 struct msm_gem_object *msm_obj; msm_gem_new_impl() local 1170 struct msm_gem_object *msm_obj; msm_gem_new() local 1257 struct msm_gem_object *msm_obj; msm_gem_import() local 1361 struct msm_gem_object *msm_obj = to_msm_bo(bo); msm_gem_object_set_name() local [all...] |
H A D | msm_gem.h | 220 static inline bool is_unpurgeable(struct msm_gem_object *msm_obj) in is_unpurgeable() argument 222 return msm_obj->base.import_attach || msm_obj->pin_count; in is_unpurgeable() 225 static inline bool is_purgeable(struct msm_gem_object *msm_obj) in is_purgeable() argument 227 return (msm_obj->madv == MSM_MADV_DONTNEED) && msm_obj->sgt && in is_purgeable() 228 !is_unpurgeable(msm_obj); in is_purgeable() 231 static inline bool is_vunmapable(struct msm_gem_object *msm_obj) in is_vunmapable() argument 233 msm_gem_assert_locked(&msm_obj->base); in is_vunmapable() 234 return (msm_obj in is_vunmapable() 237 is_unevictable(struct msm_gem_object *msm_obj) is_unevictable() argument [all...] |
H A D | msm_gem_prime.c | 16 struct msm_gem_object *msm_obj = to_msm_bo(obj); in msm_gem_prime_get_sg_table() local 19 if (WARN_ON(!msm_obj->pages)) /* should have already pinned! */ in msm_gem_prime_get_sg_table() 22 return drm_prime_pages_to_sg(obj->dev, msm_obj->pages, npages); in msm_gem_prime_get_sg_table()
|
H A D | msm_drv.c | 830 struct msm_gem_object *msm_obj; in msm_ioctl_gem_info() local 856 msm_obj = to_msm_bo(obj); in msm_ioctl_gem_info() 879 if (args->len >= sizeof(msm_obj->name)) { in msm_ioctl_gem_info() 883 if (copy_from_user(msm_obj->name, u64_to_user_ptr(args->value), in msm_ioctl_gem_info() 885 msm_obj->name[0] = '\0'; in msm_ioctl_gem_info() 889 msm_obj->name[args->len] = '\0'; in msm_ioctl_gem_info() 891 if (!isprint(msm_obj->name[i])) { in msm_ioctl_gem_info() 892 msm_obj->name[i] = '\0'; in msm_ioctl_gem_info() 898 if (args->value && (args->len < strlen(msm_obj->name))) { in msm_ioctl_gem_info() 902 args->len = strlen(msm_obj in msm_ioctl_gem_info() [all...] |