Commit 35079323 authored by Christian König's avatar Christian König

drm/ttm: move default BO destructor into VMWGFX v2

It's the only driver using this.

v2: use BUG_ON() in vmw_bo_create() as suggested by Zack
Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarZack Rusin <zackr@vmware.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220329110243.6335-5-christian.koenig@amd.com
parent f0eaf60c
...@@ -44,12 +44,6 @@ ...@@ -44,12 +44,6 @@
#include "ttm_module.h" #include "ttm_module.h"
/* default destructor */
static void ttm_bo_default_destroy(struct ttm_buffer_object *bo)
{
kfree(bo);
}
static void ttm_bo_mem_space_debug(struct ttm_buffer_object *bo, static void ttm_bo_mem_space_debug(struct ttm_buffer_object *bo,
struct ttm_placement *placement) struct ttm_placement *placement)
{ {
...@@ -936,8 +930,7 @@ int ttm_bo_init_reserved(struct ttm_device *bdev, ...@@ -936,8 +930,7 @@ int ttm_bo_init_reserved(struct ttm_device *bdev,
bool locked; bool locked;
int ret; int ret;
bo->destroy = destroy ? destroy : ttm_bo_default_destroy; bo->destroy = destroy;
kref_init(&bo->kref); kref_init(&bo->kref);
INIT_LIST_HEAD(&bo->ddestroy); INIT_LIST_HEAD(&bo->ddestroy);
bo->bdev = bdev; bo->bdev = bdev;
......
...@@ -393,6 +393,12 @@ void vmw_bo_bo_free(struct ttm_buffer_object *bo) ...@@ -393,6 +393,12 @@ void vmw_bo_bo_free(struct ttm_buffer_object *bo)
kfree(vmw_bo); kfree(vmw_bo);
} }
/* default destructor */
static void vmw_bo_default_destroy(struct ttm_buffer_object *bo)
{
kfree(bo);
}
/** /**
* vmw_bo_create_kernel - Create a pinned BO for internal kernel use. * vmw_bo_create_kernel - Create a pinned BO for internal kernel use.
* *
...@@ -425,7 +431,7 @@ int vmw_bo_create_kernel(struct vmw_private *dev_priv, unsigned long size, ...@@ -425,7 +431,7 @@ int vmw_bo_create_kernel(struct vmw_private *dev_priv, unsigned long size,
ret = ttm_bo_init_reserved(&dev_priv->bdev, bo, size, ret = ttm_bo_init_reserved(&dev_priv->bdev, bo, size,
ttm_bo_type_kernel, placement, 0, ttm_bo_type_kernel, placement, 0,
&ctx, NULL, NULL, NULL); &ctx, NULL, NULL, vmw_bo_default_destroy);
if (unlikely(ret)) if (unlikely(ret))
goto error_free; goto error_free;
...@@ -448,6 +454,8 @@ int vmw_bo_create(struct vmw_private *vmw, ...@@ -448,6 +454,8 @@ int vmw_bo_create(struct vmw_private *vmw,
{ {
int ret; int ret;
BUG_ON(!bo_free);
*p_bo = kmalloc(sizeof(**p_bo), GFP_KERNEL); *p_bo = kmalloc(sizeof(**p_bo), GFP_KERNEL);
if (unlikely(!*p_bo)) { if (unlikely(!*p_bo)) {
DRM_ERROR("Failed to allocate a buffer.\n"); DRM_ERROR("Failed to allocate a buffer.\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment