7
7
#include <drm/drm_drv.h>
8
8
#include <drm/drm_fb_helper.h>
9
9
#include <drm/drm_framebuffer.h>
10
+ #include <drm/drm_gem.h>
10
11
#include <drm/drm_print.h>
11
12
12
13
#include <drm/drm_fbdev_generic.h>
@@ -74,8 +75,8 @@ static int drm_fbdev_fb_probe(struct drm_fb_helper *fb_helper,
74
75
struct drm_client_dev * client = & fb_helper -> client ;
75
76
struct drm_device * dev = fb_helper -> dev ;
76
77
struct drm_client_buffer * buffer ;
77
- struct drm_framebuffer * fb ;
78
78
struct fb_info * info ;
79
+ size_t screen_size ;
79
80
u32 format ;
80
81
int ret ;
81
82
@@ -91,20 +92,20 @@ static int drm_fbdev_fb_probe(struct drm_fb_helper *fb_helper,
91
92
92
93
fb_helper -> buffer = buffer ;
93
94
fb_helper -> fb = buffer -> fb ;
94
- fb = buffer -> fb ;
95
+ screen_size = buffer -> gem -> size ;
95
96
96
97
info = drm_fb_helper_alloc_info (fb_helper );
97
98
if (IS_ERR (info ))
98
99
return PTR_ERR (info );
99
100
100
101
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 ;
103
104
info -> flags = FBINFO_DEFAULT ;
104
105
105
106
drm_fb_helper_fill_info (info , fb_helper , sizes );
106
107
107
- info -> screen_buffer = vzalloc (info -> screen_size );
108
+ info -> screen_buffer = vzalloc (screen_size );
108
109
if (!info -> screen_buffer )
109
110
return - ENOMEM ;
110
111
info -> flags |= FBINFO_VIRTFB | FBINFO_READS_FAST ;
0 commit comments