[PATCH 5.15.y] drm/tegra: fbdev: Remove offset into framebuffer memory
Sasha Levin <[email protected]> Fri, 31 Jul 2026 12:39:10 -0400
| Newsgroups | org.kernel.vger.linux-tegra,org.freedesktop.lists.dri-devel,org.kernel.vger.stable |
|---|---|
| Message-ID | <[email protected]> |
From: Thomas Zimmermann <[email protected]> [ Upstream commit a18b6e30ecd69096beda4a0c96d2570900c3879a ] 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 <[email protected]> Fixes: de2ba664c30f ("gpu: host1x: drm: Add memory manager and fb") Cc: [email protected] Cc: [email protected] Cc: <[email protected]> # v3.10+ Signed-off-by: Thierry Reding <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Sasha Levin <[email protected]> --- drivers/gpu/drm/tegra/fb.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/tegra/fb.c b/drivers/gpu/drm/tegra/fb.c index 6e35c7951dfb..daafaea41196 100644 --- a/drivers/gpu/drm/tegra/fb.c +++ b/drivers/gpu/drm/tegra/fb.c @@ -221,7 +221,6 @@ static int tegra_fbdev_probe(struct drm_fb_helper *helper, struct drm_mode_fb_cmd2 cmd = { 0 }; unsigned int bytes_per_pixel; struct drm_framebuffer *fb; - unsigned long offset; struct fb_info *info; struct tegra_bo *bo; size_t size; @@ -267,9 +266,6 @@ static int tegra_fbdev_probe(struct drm_fb_helper *helper, drm_fb_helper_fill_info(info, helper, sizes); - offset = info->var.xoffset * bytes_per_pixel + - info->var.yoffset * fb->pitches[0]; - if (bo->pages) { bo->vaddr = vmap(bo->pages, bo->num_pages, VM_MAP, pgprot_writecombine(PAGE_KERNEL)); @@ -281,9 +277,9 @@ static int tegra_fbdev_probe(struct drm_fb_helper *helper, } drm->mode_config.fb_base = (resource_size_t)bo->iova; - info->screen_base = (void __iomem *)bo->vaddr + offset; + info->screen_base = (void __iomem *)bo->vaddr; info->screen_size = size; - info->fix.smem_start = (unsigned long)(bo->iova + offset); + info->fix.smem_start = (unsigned long)(bo->iova); info->fix.smem_len = size; return 0; -- 2.53.0