@@ -30,6 +30,7 @@ struct msm_framebuffer {
30
30
#define to_msm_framebuffer (x ) container_of(x, struct msm_framebuffer, base)
31
31
32
32
static struct drm_framebuffer * msm_framebuffer_init (struct drm_device * dev ,
33
+ const struct drm_format_info * info ,
33
34
const struct drm_mode_fb_cmd2 * mode_cmd , struct drm_gem_object * * bos );
34
35
35
36
static int msm_framebuffer_dirtyfb (struct drm_framebuffer * fb ,
@@ -154,7 +155,7 @@ struct drm_framebuffer *msm_framebuffer_create(struct drm_device *dev,
154
155
}
155
156
}
156
157
157
- fb = msm_framebuffer_init (dev , mode_cmd , bos );
158
+ fb = msm_framebuffer_init (dev , info , mode_cmd , bos );
158
159
if (IS_ERR (fb )) {
159
160
ret = PTR_ERR (fb );
160
161
goto out_unref ;
@@ -169,11 +170,9 @@ struct drm_framebuffer *msm_framebuffer_create(struct drm_device *dev,
169
170
}
170
171
171
172
static struct drm_framebuffer * msm_framebuffer_init (struct drm_device * dev ,
173
+ const struct drm_format_info * info ,
172
174
const struct drm_mode_fb_cmd2 * mode_cmd , struct drm_gem_object * * bos )
173
175
{
174
- const struct drm_format_info * info = drm_get_format_info (dev ,
175
- mode_cmd -> pixel_format ,
176
- mode_cmd -> modifier [0 ]);
177
176
struct msm_drm_private * priv = dev -> dev_private ;
178
177
struct msm_kms * kms = priv -> kms ;
179
178
struct msm_framebuffer * msm_fb = NULL ;
@@ -227,7 +226,7 @@ static struct drm_framebuffer *msm_framebuffer_init(struct drm_device *dev,
227
226
msm_fb -> base .obj [i ] = bos [i ];
228
227
}
229
228
230
- drm_helper_mode_fill_fb_struct (dev , fb , NULL , mode_cmd );
229
+ drm_helper_mode_fill_fb_struct (dev , fb , info , mode_cmd );
231
230
232
231
ret = drm_framebuffer_init (dev , fb , & msm_framebuffer_funcs );
233
232
if (ret ) {
@@ -276,7 +275,10 @@ msm_alloc_stolen_fb(struct drm_device *dev, int w, int h, int p, uint32_t format
276
275
277
276
msm_gem_object_set_name (bo , "stolenfb" );
278
277
279
- fb = msm_framebuffer_init (dev , & mode_cmd , & bo );
278
+ fb = msm_framebuffer_init (dev ,
279
+ drm_get_format_info (dev , mode_cmd .pixel_format ,
280
+ mode_cmd .modifier [0 ]),
281
+ & mode_cmd , & bo );
280
282
if (IS_ERR (fb )) {
281
283
DRM_DEV_ERROR (dev -> dev , "failed to allocate fb\n" );
282
284
/* note: if fb creation failed, we can't rely on fb destroy
0 commit comments