]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/sysfb: Do not page-align visible size of the framebuffer
authorThomas Zimmermann <tzimmermann@suse.de>
Thu, 18 Jun 2026 08:41:57 +0000 (10:41 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Mon, 22 Jun 2026 09:03:21 +0000 (11:03 +0200)
Only return the actually visible size of the system framebuffer in
drm_sysfb_get_visible_size_si(). Drivers use this size value for
reserving access to framebuffer memory. Increasing the value can
make later attempts to do so fail.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: 32ae90c66fb6 ("drm/sysfb: Add efidrm for EFI displays")
Fixes: a84eb6abe2b6 ("drm/sysfb: Add vesadrm for VESA displays")
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Javier Martinez Canillas <javierm@redhat.com>
Cc: dri-devel@lists.freedesktop.org
Cc: <stable@vger.kernel.org> # v6.16+
Link: https://patch.msgid.link/20260618084327.46567-2-tzimmermann@suse.de
drivers/gpu/drm/sysfb/drm_sysfb_screen_info.c

index 749290196c6af9cf1f1990fbe02f1bf64f937130..361b7233600c252f352f705381e96d4e79bdba24 100644 (file)
@@ -67,7 +67,7 @@ EXPORT_SYMBOL(drm_sysfb_get_stride_si);
 u64 drm_sysfb_get_visible_size_si(struct drm_device *dev, const struct screen_info *si,
                                  unsigned int height, unsigned int stride, u64 size)
 {
-       u64 vsize = PAGE_ALIGN(height * stride);
+       u64 vsize = height * stride;
 
        return drm_sysfb_get_validated_size0(dev, "visible size", vsize, size);
 }