aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/vc4/vc4_bo.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c
index 80b2f9e55c5c..590c0912afc1 100644
--- a/drivers/gpu/drm/vc4/vc4_bo.c
+++ b/drivers/gpu/drm/vc4/vc4_bo.c
@@ -91,8 +91,7 @@ static void vc4_bo_destroy(struct vc4_bo *bo)
91 vc4->bo_stats.num_allocated--; 91 vc4->bo_stats.num_allocated--;
92 vc4->bo_stats.size_allocated -= obj->size; 92 vc4->bo_stats.size_allocated -= obj->size;
93 93
94 if (bo->resv == &bo->_resv) 94 reservation_object_fini(&bo->_resv);
95 reservation_object_fini(bo->resv);
96 95
97 drm_gem_cma_free_object(obj); 96 drm_gem_cma_free_object(obj);
98} 97}
@@ -212,6 +211,8 @@ struct drm_gem_object *vc4_create_object(struct drm_device *dev, size_t size)
212 vc4->bo_stats.num_allocated++; 211 vc4->bo_stats.num_allocated++;
213 vc4->bo_stats.size_allocated += size; 212 vc4->bo_stats.size_allocated += size;
214 mutex_unlock(&vc4->bo_lock); 213 mutex_unlock(&vc4->bo_lock);
214 bo->resv = &bo->_resv;
215 reservation_object_init(bo->resv);
215 216
216 return &bo->base.base; 217 return &bo->base.base;
217} 218}
@@ -250,12 +251,7 @@ struct vc4_bo *vc4_bo_create(struct drm_device *dev, size_t unaligned_size,
250 return ERR_PTR(-ENOMEM); 251 return ERR_PTR(-ENOMEM);
251 } 252 }
252 } 253 }
253 bo = to_vc4_bo(&cma_obj->base); 254 return to_vc4_bo(&cma_obj->base);
254
255 bo->resv = &bo->_resv;
256 reservation_object_init(bo->resv);
257
258 return bo;
259} 255}
260 256
261int vc4_dumb_create(struct drm_file *file_priv, 257int vc4_dumb_create(struct drm_file *file_priv,