Lines Matching refs:mm
106 INIT_LIST_HEAD(&obj->mm.link); in i915_gem_object_init()
120 obj->mm.madv = I915_MADV_WILLNEED; in i915_gem_object_init()
121 INIT_RADIX_TREE(&obj->mm.get_page.radix, GFP_KERNEL | __GFP_NOWARN); in i915_gem_object_init()
122 mutex_init(&obj->mm.get_page.lock); in i915_gem_object_init()
123 INIT_RADIX_TREE(&obj->mm.get_dma_page.radix, GFP_KERNEL | __GFP_NOWARN); in i915_gem_object_init()
124 mutex_init(&obj->mm.get_dma_page.lock); in i915_gem_object_init()
138 mutex_destroy(&obj->mm.get_page.lock); in __i915_gem_object_fini()
139 mutex_destroy(&obj->mm.get_dma_page.lock); in __i915_gem_object_fini()
297 GEM_BUG_ON(!atomic_read(&i915->mm.free_count)); in __i915_gem_free_object_rcu()
298 atomic_dec(&i915->mm.free_count); in __i915_gem_free_object_rcu()
356 atomic_set(&obj->mm.pages_pin_count, 0); in __i915_gem_object_pages_fini()
391 if (obj->mm.n_placements > 1) in __i915_gem_free_object()
392 kfree(obj->mm.placements); in __i915_gem_free_object()
423 struct llist_node *freed = llist_del_all(&i915->mm.free_list); in i915_gem_flush_free_objects()
432 container_of(work, struct drm_i915_private, mm.free_work); in __i915_gem_free_work()
450 atomic_inc(&i915->mm.free_count); in i915_gem_free_object()
463 if (llist_add(&obj->freed, &i915->mm.free_list)) in i915_gem_free_object()
464 queue_work(i915->wq, &i915->mm.free_work); in i915_gem_free_object()
516 src_map = io_mapping_map_wc(&obj->mm.region->iomap, in i915_gem_object_read_from_page_iomap()
517 dma - obj->mm.region->region.start, in i915_gem_object_read_from_page_iomap()
584 int pin_count = atomic_read(&obj->mm.pages_pin_count); in i915_gem_object_evictable()
614 struct intel_memory_region *mr = READ_ONCE(obj->mm.region); in i915_gem_object_migratable()
619 return obj->mm.n_placements > 1; in i915_gem_object_migratable()
681 unsigned int num_allowed = obj->mm.n_placements; in i915_gem_object_can_migrate()
686 GEM_BUG_ON(obj->mm.madv != I915_MADV_WILLNEED); in i915_gem_object_can_migrate()
688 mr = i915->mm.regions[id]; in i915_gem_object_can_migrate()
695 if (obj->mm.region == mr) in i915_gem_object_can_migrate()
711 if (mr == obj->mm.placements[i]) in i915_gem_object_can_migrate()
786 GEM_BUG_ON(obj->mm.madv != I915_MADV_WILLNEED); in __i915_gem_object_migrate()
789 mr = i915->mm.regions[id]; in __i915_gem_object_migrate()
796 if (GEM_WARN_ON(obj->mm.region != mr)) in __i915_gem_object_migrate()
817 if (!obj->mm.n_placements) { in i915_gem_object_placement_possible()
830 for (i = 0; i < obj->mm.n_placements; i++) { in i915_gem_object_placement_possible()
831 if (obj->mm.placements[i]->type == type) in i915_gem_object_placement_possible()
858 for (i = 0; i < obj->mm.n_placements; i++) { in i915_gem_object_needs_ccs_pages()
860 if (obj->mm.placements[i]->type == INTEL_MEMORY_SYSTEM) in i915_gem_object_needs_ccs_pages()
863 obj->mm.placements[i]->type == INTEL_MEMORY_LOCAL) in i915_gem_object_needs_ccs_pages()
872 INIT_WORK(&i915->mm.free_work, __i915_gem_free_work); in i915_gem_init__objects()
958 return obj->mm.unknown_state; in i915_gem_object_has_unknown_state()