Skip to content

Commit 8fbc9af

Browse files
author
Thomas Zimmermann
committed
drm/fbdev-generic: Set screen size to size of GEM buffer
The size of the screen memory should be equivalent to the size of the screen's GEM buffer. Don't recalculate the value. Signed-off-by: Thomas Zimmermann <[email protected]> Reviewed-by: Javier Martinez Canillas <[email protected]> Tested-by: Sui Jingfeng <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent 24dc4f4 commit 8fbc9af

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

drivers/gpu/drm/drm_fbdev_generic.c

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#include <drm/drm_drv.h>
88
#include <drm/drm_fb_helper.h>
99
#include <drm/drm_framebuffer.h>
10+
#include <drm/drm_gem.h>
1011
#include <drm/drm_print.h>
1112

1213
#include <drm/drm_fbdev_generic.h>
@@ -74,8 +75,8 @@ static int drm_fbdev_fb_probe(struct drm_fb_helper *fb_helper,
7475
struct drm_client_dev *client = &fb_helper->client;
7576
struct drm_device *dev = fb_helper->dev;
7677
struct drm_client_buffer *buffer;
77-
struct drm_framebuffer *fb;
7878
struct fb_info *info;
79+
size_t screen_size;
7980
u32 format;
8081
int ret;
8182

@@ -91,20 +92,20 @@ static int drm_fbdev_fb_probe(struct drm_fb_helper *fb_helper,
9192

9293
fb_helper->buffer = buffer;
9394
fb_helper->fb = buffer->fb;
94-
fb = buffer->fb;
95+
screen_size = buffer->gem->size;
9596

9697
info = drm_fb_helper_alloc_info(fb_helper);
9798
if (IS_ERR(info))
9899
return PTR_ERR(info);
99100

100101
info->fbops = &drm_fbdev_fb_ops;
101-
info->screen_size = sizes->surface_height * fb->pitches[0];
102-
info->fix.smem_len = info->screen_size;
102+
info->screen_size = screen_size;
103+
info->fix.smem_len = screen_size;
103104
info->flags = FBINFO_DEFAULT;
104105

105106
drm_fb_helper_fill_info(info, fb_helper, sizes);
106107

107-
info->screen_buffer = vzalloc(info->screen_size);
108+
info->screen_buffer = vzalloc(screen_size);
108109
if (!info->screen_buffer)
109110
return -ENOMEM;
110111
info->flags |= FBINFO_VIRTFB | FBINFO_READS_FAST;

0 commit comments

Comments
 (0)