|
Thomas Zimmermann |
1a3a04 |
From cd9f7f7ac5932129fe81b4c7559cfcb226ec7c5c Mon Sep 17 00:00:00 2001
|
|
Thomas Zimmermann |
1a3a04 |
From: Thomas Zimmermann <tzimmermann@suse.de>
|
|
Thomas Zimmermann |
1a3a04 |
Date: Tue, 1 Feb 2022 12:53:05 +0100
|
|
Thomas Zimmermann |
1a3a04 |
Subject: drm/fb-helper: Mark screen buffers in system memory with
|
|
Thomas Zimmermann |
1a3a04 |
FBINFO_VIRTFB
|
|
Thomas Zimmermann |
1a3a04 |
Git-commit: cd9f7f7ac5932129fe81b4c7559cfcb226ec7c5c
|
|
Thomas Zimmermann |
1a3a04 |
Patch-mainline: v5.18-rc1
|
|
Thomas Zimmermann |
1a3a04 |
References: bsc#1129770
|
|
Thomas Zimmermann |
1a3a04 |
|
|
Thomas Zimmermann |
1a3a04 |
Mark screen buffers in system memory with FBINFO_VIRTFB. Otherwise, fbdev
|
|
Thomas Zimmermann |
1a3a04 |
deferred I/O marks mmap'ed areas of system memory with VM_IO. (There's an
|
|
Thomas Zimmermann |
1a3a04 |
inverse relationship between the two flags.)
|
|
Thomas Zimmermann |
1a3a04 |
|
|
Thomas Zimmermann |
1a3a04 |
For shadow buffers, also set the FBINFO_READS_FAST hint.
|
|
Thomas Zimmermann |
1a3a04 |
|
|
Thomas Zimmermann |
1a3a04 |
v3:
|
|
Thomas Zimmermann |
1a3a04 |
* change FB_ to FBINFO_ in commit description
|
|
Thomas Zimmermann |
1a3a04 |
v2:
|
|
Thomas Zimmermann |
1a3a04 |
* updated commit description (Daniel)
|
|
Thomas Zimmermann |
1a3a04 |
* added Fixes tag
|
|
Thomas Zimmermann |
1a3a04 |
|
|
Thomas Zimmermann |
1a3a04 |
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
|
|
Thomas Zimmermann |
1a3a04 |
Fixes: d536540f304c ("drm/fb-helper: Add generic fbdev emulation .fb_probe function")
|
|
Thomas Zimmermann |
1a3a04 |
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
Thomas Zimmermann |
1a3a04 |
Cc: dri-devel@lists.freedesktop.org
|
|
Thomas Zimmermann |
1a3a04 |
Cc: <stable@vger.kernel.org> # v4.19+
|
|
Thomas Zimmermann |
1a3a04 |
Link: https://patchwork.freedesktop.org/patch/msgid/20220201115305.9333-1-tzimmermann@suse.de
|
|
Thomas Zimmermann |
1a3a04 |
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
|
|
Thomas Zimmermann |
1a3a04 |
---
|
|
Thomas Zimmermann |
1a3a04 |
drivers/gpu/drm/drm_fb_helper.c | 2 ++
|
|
Thomas Zimmermann |
1a3a04 |
1 file changed, 2 insertions(+)
|
|
Thomas Zimmermann |
1a3a04 |
|
|
Thomas Zimmermann |
1a3a04 |
--- a/drivers/gpu/drm/drm_fb_helper.c
|
|
Thomas Zimmermann |
1a3a04 |
+++ b/drivers/gpu/drm/drm_fb_helper.c
|
|
Thomas Zimmermann |
1a3a04 |
@@ -3083,6 +3083,7 @@ int drm_fb_helper_generic_probe(struct d
|
|
Thomas Zimmermann |
1a3a04 |
fbi->fix.smem_len = fbi->screen_size;
|
|
Thomas Zimmermann |
1a3a04 |
fbi->screen_buffer = buffer->vaddr;
|
|
Thomas Zimmermann |
1a3a04 |
strcpy(fbi->fix.id, "DRM emulated");
|
|
Thomas Zimmermann |
1a3a04 |
+ fbi->flags = FBINFO_DEFAULT;
|
|
Thomas Zimmermann |
1a3a04 |
|
|
Thomas Zimmermann |
1a3a04 |
drm_fb_helper_fill_fix(fbi, fb->pitches[0], fb->format->depth);
|
|
Thomas Zimmermann |
1a3a04 |
drm_fb_helper_fill_var(fbi, fb_helper, sizes->fb_width, sizes->fb_height);
|
|
Thomas Zimmermann |
1a3a04 |
@@ -3106,6 +3107,7 @@ int drm_fb_helper_generic_probe(struct d
|
|
Thomas Zimmermann |
1a3a04 |
*fbops = *fbi->fbops;
|
|
Thomas Zimmermann |
1a3a04 |
fbi->fbops = fbops;
|
|
Thomas Zimmermann |
1a3a04 |
fbi->screen_buffer = shadow;
|
|
Thomas Zimmermann |
1a3a04 |
+ fbi->flags |= FBINFO_VIRTFB | FBINFO_READS_FAST;
|
|
Thomas Zimmermann |
1a3a04 |
fbi->fbdefio = &drm_fbdev_defio;
|
|
Thomas Zimmermann |
1a3a04 |
|
|
Thomas Zimmermann |
1a3a04 |
fb_deferred_io_init(fbi);
|