40 lines
1.2 KiB
Diff
40 lines
1.2 KiB
Diff
diff --git c/drivers/gpu/drm/xe/xe_shrinker.c i/drivers/gpu/drm/xe/xe_shrinker.c
|
|
--- c/drivers/gpu/drm/xe/xe_shrinker.c
|
|
+++ i/drivers/gpu/drm/xe/xe_shrinker.c
|
|
@@ -71,6 +71,12 @@ static bool __xe_shrinker_runtime_pm_get(struct xe_shrinker *shrinker)
|
|
return false;
|
|
}
|
|
|
|
+static void xe_shrinker_runtime_pm_put(struct xe_shrinker *shrinker, bool runtime_pm)
|
|
+{
|
|
+ if (runtime_pm)
|
|
+ xe_pm_runtime_put(shrinker->xe);
|
|
+}
|
|
+
|
|
static int __xe_shrinker_walk(struct xe_shrinker *shrinker,
|
|
struct ttm_operation_ctx *ctx,
|
|
const struct xe_bo_shrink_flags flags,
|
|
@@ -121,8 +127,7 @@ static int __xe_shrinker_walk(struct xe_shrinker *shrinker,
|
|
}
|
|
|
|
out:
|
|
- if (rpm)
|
|
- xe_pm_runtime_put(xe);
|
|
+ xe_shrinker_runtime_pm_put(shrinker, rpm);
|
|
|
|
return ret;
|
|
}
|
|
@@ -213,12 +218,6 @@ static bool xe_shrinker_runtime_pm_get(struct xe_shrinker *shrinker, bool force,
|
|
return __xe_shrinker_runtime_pm_get(shrinker);
|
|
}
|
|
|
|
-static void xe_shrinker_runtime_pm_put(struct xe_shrinker *shrinker, bool runtime_pm)
|
|
-{
|
|
- if (runtime_pm)
|
|
- xe_pm_runtime_put(shrinker->xe);
|
|
-}
|
|
-
|
|
static unsigned long xe_shrinker_scan(struct shrinker *shrink, struct shrink_control *sc)
|
|
{
|
|
struct xe_shrinker *shrinker = to_xe_shrinker(shrink);
|