CHROMIUM: drm/exynos: fbdev: Offset is always zero
authorDaniel Kurtz <djkurtz@chromium.org>
Mon, 10 Dec 2012 07:34:24 +0000 (15:34 +0800)
committerGerrit <chrome-bot@google.com>
Wed, 12 Dec 2012 21:37:20 +0000 (13:37 -0800)
A freshly filled fb_info will always have .xoffset and .yoffset = 0.
So, computing an offset during during fbdev_update is not necessary,
since it is only called in the fbdev_probe/fbdev_create path.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
BUG=chromium-os:37097
TEST=compile test; manual check fbdev created and shows chromeball at boot

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

index af58e98..e3c4826 100644 (file)
@@ -81,7 +81,6 @@ static int exynos_drm_fbdev_update(struct drm_fb_helper *helper,
        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;
 
        DRM_DEBUG_KMS("%s\n", __FILE__);
 
@@ -95,12 +94,9 @@ static int exynos_drm_fbdev_update(struct drm_fb_helper *helper,
                return -EFAULT;
        }
 
-       offset = fbi->var.xoffset * (fb->bits_per_pixel >> 3);
-       offset += fbi->var.yoffset * fb->pitches[0];
-
        dev->mode_config.fb_base = (resource_size_t)buffer->dma_addr;
-       fbi->screen_base = buffer->kvaddr + offset;
-       fbi->fix.smem_start = (unsigned long)(buffer->dma_addr + offset);
+       fbi->screen_base = buffer->kvaddr;
+       fbi->fix.smem_start = (unsigned long)(buffer->dma_addr);
        fbi->screen_size = size;
        fbi->fix.smem_len = size;