CHROMIUM: drm/exynos: fb: exynos_drm_fb functions take an exynos_drm_fb
authorDaniel Kurtz <djkurtz@chromium.org>
Mon, 10 Dec 2012 06:12:55 +0000 (14:12 +0800)
committerGerrit <chrome-bot@google.com>
Wed, 12 Dec 2012 21:37:14 +0000 (13:37 -0800)
This is a simple refactoring that reduces some casting, and hopefully
reduces some of the driver's layer violations.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
BUG=chromium-os:37097
TEST=compile test

Change-Id: I2089215c2dc6fbbc6850126504114d1fe3b00401
Reviewed-on: https://gerrit.chromium.org/gerrit/39477
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Commit-Ready: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
drivers/gpu/drm/exynos/exynos_drm_crtc.c
drivers/gpu/drm/exynos/exynos_drm_fb.c
drivers/gpu/drm/exynos/exynos_drm_fb.h
drivers/gpu/drm/exynos/exynos_drm_fbdev.c

index 3526fff..db08053 100644 (file)
@@ -55,11 +55,12 @@ void exynos_drm_overlay_update(struct exynos_drm_overlay *overlay,
        struct exynos_drm_gem_buf *buffer;
        unsigned int actual_w;
        unsigned int actual_h;
+       struct exynos_drm_fb *exynos_fb = to_exynos_fb(fb);
        int nr = exynos_drm_format_num_buffers(fb->pixel_format);
        int i;
 
        for (i = 0; i < nr; i++) {
-               buffer = exynos_drm_fb_buffer(fb, i);
+               buffer = exynos_drm_fb_buffer(exynos_fb, i);
 
                overlay->dma_addr[i] = buffer->dma_addr;
 
index 9d470c6..61eae70 100644 (file)
 #include "exynos_drm_crtc.h"
 
 /* Helper functions to push things in/out of the iommu. */
-static int exynos_drm_fb_map(struct drm_framebuffer *fb)
+static int exynos_drm_fb_map(struct exynos_drm_fb *exynos_fb)
 {
-       struct exynos_drm_fb *exynos_fb = to_exynos_fb(fb);
        struct exynos_drm_gem_obj *gem_ob = exynos_fb->exynos_gem_obj[0];
        struct drm_gem_object *obj = &gem_ob->base;
        struct exynos_drm_gem_buf *buf;
        int ret;
 
-       buf = exynos_drm_fb_buffer(fb, 0);
+       buf = exynos_drm_fb_buffer(exynos_fb, 0);
        if (!buf) {
                DRM_ERROR("buffer is null\n");
                return -ENOMEM;
@@ -67,14 +66,13 @@ static int exynos_drm_fb_map(struct drm_framebuffer *fb)
        return 0;
 }
 
-static int exynos_drm_fb_unmap(struct drm_framebuffer *fb)
+static int exynos_drm_fb_unmap(struct exynos_drm_fb *exynos_fb)
 {
-       struct exynos_drm_fb *exynos_fb = to_exynos_fb(fb);
        struct exynos_drm_gem_obj *gem_ob = exynos_fb->exynos_gem_obj[0];
        struct drm_gem_object *obj = &gem_ob->base;
        struct exynos_drm_gem_buf *buf;
 
-       buf = exynos_drm_fb_buffer(fb, 0);
+       buf = exynos_drm_fb_buffer(exynos_fb, 0);
        if (!buf) {
                DRM_ERROR("buffer is null\n");
                return -ENOMEM;
@@ -126,7 +124,7 @@ static void exynos_drm_fb_release_work_fn(struct work_struct *work)
 
        drm_framebuffer_cleanup(fb);
 
-       if (exynos_drm_fb_unmap(fb))
+       if (exynos_drm_fb_unmap(exynos_fb))
                DRM_ERROR("Couldn't unmap buffer\n");
 
        nr = exynos_drm_format_num_buffers(fb->pixel_format);
@@ -242,7 +240,7 @@ exynos_user_fb_create(struct drm_device *dev, struct drm_file *file_priv,
                exynos_fb->exynos_gem_obj[i] = to_exynos_gem_obj(obj);
        }
 
-       if (exynos_drm_fb_map(fb)) {
+       if (exynos_drm_fb_map(exynos_fb)) {
                DRM_ERROR("Failed to map gem object\n");
                ret = -ENOMEM;
                goto err_map;
@@ -260,10 +258,9 @@ err_lookup:
        return ERR_PTR(ret);
 }
 
-struct exynos_drm_gem_buf *exynos_drm_fb_buffer(struct drm_framebuffer *fb,
-                                               int index)
+struct exynos_drm_gem_buf *
+exynos_drm_fb_buffer(struct exynos_drm_fb *exynos_fb, int index)
 {
-       struct exynos_drm_fb *exynos_fb = to_exynos_fb(fb);
        struct exynos_drm_gem_buf *buffer;
 
        DRM_DEBUG_KMS("%s\n", __FILE__);
index 51e854f..f4aa24c 100644 (file)
@@ -46,8 +46,8 @@ exynos_drm_framebuffer_init(struct drm_device *dev,
                            struct drm_mode_fb_cmd2 *mode_cmd);
 
 /* get memory information of a drm framebuffer */
-struct exynos_drm_gem_buf *exynos_drm_fb_buffer(struct drm_framebuffer *fb,
-                                                int index);
+struct exynos_drm_gem_buf *
+exynos_drm_fb_buffer(struct exynos_drm_fb *exynos_fb, int index);
 
 void exynos_drm_mode_config_init(struct drm_device *dev);
 
index ae8313a..5c6348e 100644 (file)
@@ -78,6 +78,7 @@ static int exynos_drm_fbdev_update(struct drm_fb_helper *helper,
 {
        struct fb_info *fbi = helper->fbdev;
        struct drm_device *dev = helper->dev;
+       struct exynos_drm_fb *exynos_fb = to_exynos_fb(fb);
        struct exynos_drm_gem_buf *buffer;
        unsigned int size = fb->width * fb->height * (fb->bits_per_pixel >> 3);
        unsigned long offset;
@@ -88,7 +89,7 @@ static int exynos_drm_fbdev_update(struct drm_fb_helper *helper,
        drm_fb_helper_fill_var(fbi, helper, fb->width, fb->height);
 
        /* RGB formats use only one buffer */
-       buffer = exynos_drm_fb_buffer(fb, 0);
+       buffer = exynos_drm_fb_buffer(exynos_fb, 0);
        if (!buffer) {
                DRM_LOG_KMS("buffer is null.\n");
                return -EFAULT;