Lines Matching refs:xe
27 struct xe_device *xe; member
57 static s64 __xe_shrinker_walk(struct xe_device *xe, in __xe_shrinker_walk() argument
66 struct ttm_resource_manager *man = ttm_manager_type(&xe->ttm, mem_type); in __xe_shrinker_walk()
90 xe_assert(xe, !IS_ERR(ttm_bo)); in __xe_shrinker_walk()
102 static s64 xe_shrinker_walk(struct xe_device *xe, in xe_shrinker_walk() argument
113 lret = __xe_shrinker_walk(xe, ctx, save_flags, to_scan, scanned); in xe_shrinker_walk()
120 lret = __xe_shrinker_walk(xe, ctx, save_flags, to_scan, scanned); in xe_shrinker_walk()
129 lret = __xe_shrinker_walk(xe, ctx, flags, to_scan, scanned); in xe_shrinker_walk()
169 struct xe_device *xe = shrinker->xe; in xe_shrinker_runtime_pm_get() local
171 if (IS_DGFX(xe) || !xe_device_has_flat_ccs(xe) || in xe_shrinker_runtime_pm_get()
183 if (!xe_pm_runtime_get_if_active(xe)) { in xe_shrinker_runtime_pm_get()
184 if (xe_rpm_reclaim_safe(xe) && !ttm_bo_shrink_avoid_wait()) { in xe_shrinker_runtime_pm_get()
185 xe_pm_runtime_get(xe); in xe_shrinker_runtime_pm_get()
188 queue_work(xe->unordered_wq, &shrinker->pm_worker); in xe_shrinker_runtime_pm_get()
198 xe_pm_runtime_put(shrinker->xe); in xe_shrinker_runtime_pm_put()
229 lret = xe_shrinker_walk(shrinker->xe, &ctx, shrink_flags, in xe_shrinker_scan()
245 lret = xe_shrinker_walk(shrinker->xe, &ctx, shrink_flags, in xe_shrinker_scan()
262 xe_pm_runtime_get(shrinker->xe); in xe_shrinker_pm()
263 xe_pm_runtime_put(shrinker->xe); in xe_shrinker_pm()
270 xe_assert(shrinker->xe, !shrinker->shrinkable_pages); in xe_shrinker_fini()
271 xe_assert(shrinker->xe, !shrinker->purgeable_pages); in xe_shrinker_fini()
283 int xe_shrinker_create(struct xe_device *xe) in xe_shrinker_create() argument
290 shrinker->shrink = shrinker_alloc(0, "drm-xe_gem:%s", xe->drm.unique); in xe_shrinker_create()
297 shrinker->xe = xe; in xe_shrinker_create()
303 xe->mem.shrinker = shrinker; in xe_shrinker_create()
305 return drmm_add_action_or_reset(&xe->drm, xe_shrinker_fini, shrinker); in xe_shrinker_create()