File tree Expand file tree Collapse file tree 2 files changed +15
-5
lines changed Expand file tree Collapse file tree 2 files changed +15
-5
lines changed Original file line number Diff line number Diff line change @@ -2320,6 +2320,20 @@ void xe_bo_put_commit(struct llist_head *deferred)
2320
2320
drm_gem_object_free (& bo -> ttm .base .refcount );
2321
2321
}
2322
2322
2323
+ void xe_bo_put (struct xe_bo * bo )
2324
+ {
2325
+ might_sleep ();
2326
+ if (bo ) {
2327
+ #ifdef CONFIG_PROC_FS
2328
+ if (bo -> client )
2329
+ might_lock (& bo -> client -> bos_lock );
2330
+ #endif
2331
+ if (bo -> ggtt_node && bo -> ggtt_node -> ggtt )
2332
+ might_lock (& bo -> ggtt_node -> ggtt -> lock );
2333
+ drm_gem_object_put (& bo -> ttm .base );
2334
+ }
2335
+ }
2336
+
2323
2337
/**
2324
2338
* xe_bo_dumb_create - Create a dumb bo as backing for a fb
2325
2339
* @file_priv: ...
Original file line number Diff line number Diff line change @@ -126,11 +126,7 @@ static inline struct xe_bo *xe_bo_get(struct xe_bo *bo)
126
126
return bo ;
127
127
}
128
128
129
- static inline void xe_bo_put (struct xe_bo * bo )
130
- {
131
- if (bo )
132
- drm_gem_object_put (& bo -> ttm .base );
133
- }
129
+ void xe_bo_put (struct xe_bo * bo );
134
130
135
131
static inline void __xe_bo_unset_bulk_move (struct xe_bo * bo )
136
132
{
You can’t perform that action at this time.
0 commit comments