forked from Minki/linux
drm/cma: remove to make sg_table when gem cma is created
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@samsung.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
d1583c9997
commit
7550e3668c
@ -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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user