]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/exynos: fbdev: Remove offset into screen_buffer
authorThomas Zimmermann <tzimmermann@suse.de>
Mon, 11 May 2026 11:54:31 +0000 (13:54 +0200)
committerInki Dae <inki.dae@samsung.com>
Thu, 21 May 2026 14:11:34 +0000 (23:11 +0900)
The screen_buffer field in struct fb_info contains the kernel address
of the first byte of framebuffer memory. Do not add the display offset.
This offset only describes scrolling during scanout.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: 19c8b8343d9c ("drm/exynos: fixed overlay data updating.")
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Cc: dri-devel@lists.freedesktop.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: <stable@vger.kernel.org> # v3.2+
drivers/gpu/drm/exynos/exynos_drm_fbdev.c

index 637927818dfe475a711d8e1c8e801c3f4d1d7dbf..d283ded266d5dd9bb98930c7e6e3551c18b73b91 100644 (file)
@@ -61,17 +61,13 @@ static int exynos_drm_fbdev_update(struct drm_fb_helper *helper,
        struct fb_info *fbi = helper->info;
        struct drm_framebuffer *fb = helper->fb;
        unsigned int size = fb->width * fb->height * fb->format->cpp[0];
-       unsigned long offset;
 
        fbi->fbops = &exynos_drm_fb_ops;
 
        drm_fb_helper_fill_info(fbi, helper, sizes);
 
-       offset = fbi->var.xoffset * fb->format->cpp[0];
-       offset += fbi->var.yoffset * fb->pitches[0];
-
        fbi->flags |= FBINFO_VIRTFB;
-       fbi->screen_buffer = exynos_gem->kvaddr + offset;
+       fbi->screen_buffer = exynos_gem->kvaddr;
        fbi->screen_size = size;
        fbi->fix.smem_len = size;