[PATCH] drm/cma: remove to make sg_table when gem cma is created

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sat Mar 15 03:51:04 PDT 2014


Hi Joonyoung,

Thank you for the patch.

On Saturday 15 March 2014 16:30:28 Joonyoung Shim wrote:
> The sg_table made when gem cma is created isn't used anywhere. The sgt
> of struct drm_gem_cma_object will have only sg_tabel imported.
> 
> Signed-off-by: Joonyoung Shim <jy0922.shim at samsung.com>

Acked-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

> ---
>  drivers/gpu/drm/drm_gem_cma_helper.c | 19 -------------------
>  1 file changed, 19 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_gem_cma_helper.c
> b/drivers/gpu/drm/drm_gem_cma_helper.c index 6b51bf9..2c07cb9 100644
> --- a/drivers/gpu/drm/drm_gem_cma_helper.c
> +++ b/drivers/gpu/drm/drm_gem_cma_helper.c
> @@ -79,7 +79,6 @@ struct drm_gem_cma_object *drm_gem_cma_create(struct
> drm_device *drm, unsigned int size)
>  {
>  	struct drm_gem_cma_object *cma_obj;
> -	struct sg_table *sgt = NULL;
>  	int ret;
> 
>  	size = round_up(size, PAGE_SIZE);
> @@ -97,23 +96,9 @@ struct drm_gem_cma_object *drm_gem_cma_create(struct
> drm_device *drm, goto error;
>  	}
> 
> -	sgt = kzalloc(sizeof(*cma_obj->sgt), GFP_KERNEL);
> -	if (sgt == NULL) {
> -		ret = -ENOMEM;
> -		goto error;
> -	}
> -
> -	ret = dma_get_sgtable(drm->dev, sgt, cma_obj->vaddr,
> -			      cma_obj->paddr, size);
> -	if (ret < 0)
> -		goto error;
> -
> -	cma_obj->sgt = sgt;
> -
>  	return cma_obj;
> 
>  error:
> -	kfree(sgt);
>  	drm_gem_cma_free_object(&cma_obj->base);
>  	return ERR_PTR(ret);
>  }
> @@ -175,10 +160,6 @@ void drm_gem_cma_free_object(struct drm_gem_object
> *gem_obj) if (cma_obj->vaddr) {
>  		dma_free_writecombine(gem_obj->dev->dev, cma_obj->base.size,
>  				      cma_obj->vaddr, cma_obj->paddr);
> -		if (cma_obj->sgt) {
> -			sg_free_table(cma_obj->sgt);
> -			kfree(cma_obj->sgt);
> -		}
>  	} else if (gem_obj->import_attach) {
>  		drm_prime_gem_destroy(gem_obj, cma_obj->sgt);
>  	}

-- 
Regards,

Laurent Pinchart



More information about the dri-devel mailing list