[PATCH 1/2] drm/exynos: use __free_page() to deallocate memory

2012-07-09 Thread Inki Dae
this patch uses __free_page() to deallocate the pages allocated
by alloc_page() and the pages doesn't need set_parge_dirty()
and mark_page_accessed() because they aren't from page cache so
removes them.

this patch has a pair with previous patch below,
http://www.spinics.net/lists/dri-devel/msg24382.html

Signed-off-by: Inki Dae 
Signed-off-by: Kyungmin Park 
---
 drivers/gpu/drm/exynos/exynos_drm_gem.c |   14 +++---
 1 files changed, 3 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c 
b/drivers/gpu/drm/exynos/exynos_drm_gem.c
index dceb69f..4b8b988 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_gem.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c
@@ -129,20 +129,12 @@ static void exynos_gem_put_pages(struct drm_gem_object 
*obj,
struct page **pages,
bool dirty, bool accessed)
 {
-   int i, npages;
+   unsigned int npages;

npages = obj->size >> PAGE_SHIFT;

-   for (i = 0; i < npages; i++) {
-   if (dirty)
-   set_page_dirty(pages[i]);
-
-   if (accessed)
-   mark_page_accessed(pages[i]);
-
-   /* Undo the reference we took when populating the table */
-   page_cache_release(pages[i]);
-   }
+   while (--npages >= 0)
+   __free_page(pages[npages]);

drm_free_large(pages);
 }
-- 
1.7.4.1



[PATCH 1/2] drm/exynos: use __free_page() to deallocate memory

2012-07-09 Thread Inki Dae
this patch uses __free_page() to deallocate the pages allocated
by alloc_page() and the pages doesn't need set_parge_dirty()
and mark_page_accessed() because they aren't from page cache so
removes them.

this patch has a pair with previous patch below,
http://www.spinics.net/lists/dri-devel/msg24382.html

Signed-off-by: Inki Dae inki@samsung.com
Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com
---
 drivers/gpu/drm/exynos/exynos_drm_gem.c |   14 +++---
 1 files changed, 3 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c 
b/drivers/gpu/drm/exynos/exynos_drm_gem.c
index dceb69f..4b8b988 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_gem.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c
@@ -129,20 +129,12 @@ static void exynos_gem_put_pages(struct drm_gem_object 
*obj,
struct page **pages,
bool dirty, bool accessed)
 {
-   int i, npages;
+   unsigned int npages;
 
npages = obj-size  PAGE_SHIFT;
 
-   for (i = 0; i  npages; i++) {
-   if (dirty)
-   set_page_dirty(pages[i]);
-
-   if (accessed)
-   mark_page_accessed(pages[i]);
-
-   /* Undo the reference we took when populating the table */
-   page_cache_release(pages[i]);
-   }
+   while (--npages = 0)
+   __free_page(pages[npages]);
 
drm_free_large(pages);
 }
-- 
1.7.4.1

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel