aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/exynos
diff options
context:
space:
mode:
authorYoungJun Cho <yj44.cho@samsung.com>2013-07-03 04:09:19 -0400
committerInki Dae <inki.dae@samsung.com>2013-07-04 02:55:36 -0400
commitaf51a5e7068826fe5016ab38149243bacc449233 (patch)
treeb387c89a69f668218497bc3500cbaa19cfe30120 /drivers/gpu/drm/exynos
parentba3706c0f19ab77593b8b3be6649746ac56905d3 (diff)
drm/exynos: use drm_calloc_large when allocates pointer array
If the type of object is pointer array, the drm_calloc_large() is more suitable than kzalloc() for its allocation function. And uses drm_free_large() instead of kfree() also. Signed-off-by: YoungJun Cho <yj44.cho@samsung.com> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos')
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_buf.c9
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_g2d.c6
2 files changed, 7 insertions, 8 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_buf.c b/drivers/gpu/drm/exynos/exynos_drm_buf.c
index 22865baa03b1..245c9ae187a1 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_buf.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_buf.c
@@ -57,8 +57,7 @@ static int lowlevel_buffer_allocate(struct drm_device *dev,
57 dma_addr_t start_addr; 57 dma_addr_t start_addr;
58 unsigned int i = 0; 58 unsigned int i = 0;
59 59
60 buf->pages = kzalloc(sizeof(struct page) * nr_pages, 60 buf->pages = drm_calloc_large(nr_pages, sizeof(struct page));
61 GFP_KERNEL);
62 if (!buf->pages) { 61 if (!buf->pages) {
63 DRM_ERROR("failed to allocate pages.\n"); 62 DRM_ERROR("failed to allocate pages.\n");
64 return -ENOMEM; 63 return -ENOMEM;
@@ -69,7 +68,7 @@ static int lowlevel_buffer_allocate(struct drm_device *dev,
69 &buf->dma_attrs); 68 &buf->dma_attrs);
70 if (!buf->kvaddr) { 69 if (!buf->kvaddr) {
71 DRM_ERROR("failed to allocate buffer.\n"); 70 DRM_ERROR("failed to allocate buffer.\n");
72 kfree(buf->pages); 71 drm_free_large(buf->pages);
73 return -ENOMEM; 72 return -ENOMEM;
74 } 73 }
75 74
@@ -109,7 +108,7 @@ err_free_attrs:
109 buf->dma_addr = (dma_addr_t)NULL; 108 buf->dma_addr = (dma_addr_t)NULL;
110 109
111 if (!is_drm_iommu_supported(dev)) 110 if (!is_drm_iommu_supported(dev))
112 kfree(buf->pages); 111 drm_free_large(buf->pages);
113 112
114 return ret; 113 return ret;
115} 114}
@@ -134,7 +133,7 @@ static void lowlevel_buffer_deallocate(struct drm_device *dev,
134 if (!is_drm_iommu_supported(dev)) { 133 if (!is_drm_iommu_supported(dev)) {
135 dma_free_attrs(dev->dev, buf->size, buf->kvaddr, 134 dma_free_attrs(dev->dev, buf->size, buf->kvaddr,
136 (dma_addr_t)buf->dma_addr, &buf->dma_attrs); 135 (dma_addr_t)buf->dma_addr, &buf->dma_attrs);
137 kfree(buf->pages); 136 drm_free_large(buf->pages);
138 } else 137 } else
139 dma_free_attrs(dev->dev, buf->size, buf->pages, 138 dma_free_attrs(dev->dev, buf->size, buf->pages,
140 (dma_addr_t)buf->dma_addr, &buf->dma_attrs); 139 (dma_addr_t)buf->dma_addr, &buf->dma_attrs);
diff --git a/drivers/gpu/drm/exynos/exynos_drm_g2d.c b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
index af75434ee4d7..fb19ee53ecbb 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_g2d.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
@@ -390,7 +390,7 @@ out:
390 kfree(g2d_userptr->sgt); 390 kfree(g2d_userptr->sgt);
391 g2d_userptr->sgt = NULL; 391 g2d_userptr->sgt = NULL;
392 392
393 kfree(g2d_userptr->pages); 393 drm_free_large(g2d_userptr->pages);
394 g2d_userptr->pages = NULL; 394 g2d_userptr->pages = NULL;
395 kfree(g2d_userptr); 395 kfree(g2d_userptr);
396 g2d_userptr = NULL; 396 g2d_userptr = NULL;
@@ -463,7 +463,7 @@ static dma_addr_t *g2d_userptr_get_dma_addr(struct drm_device *drm_dev,
463 npages = (end - start) >> PAGE_SHIFT; 463 npages = (end - start) >> PAGE_SHIFT;
464 g2d_userptr->npages = npages; 464 g2d_userptr->npages = npages;
465 465
466 pages = kzalloc(npages * sizeof(struct page *), GFP_KERNEL); 466 pages = drm_calloc_large(npages, sizeof(struct page *));
467 if (!pages) { 467 if (!pages) {
468 DRM_ERROR("failed to allocate pages.\n"); 468 DRM_ERROR("failed to allocate pages.\n");
469 kfree(g2d_userptr); 469 kfree(g2d_userptr);
@@ -554,7 +554,7 @@ err_put_vma:
554 exynos_gem_put_vma(g2d_userptr->vma); 554 exynos_gem_put_vma(g2d_userptr->vma);
555 555
556err_free_pages: 556err_free_pages:
557 kfree(pages); 557 drm_free_large(pages);
558 kfree(g2d_userptr); 558 kfree(g2d_userptr);
559 pages = NULL; 559 pages = NULL;
560 g2d_userptr = NULL; 560 g2d_userptr = NULL;