Creating framebuffers for fbdev emulation should use the correct format
code too, so switch drm_gem_fbdev_fb_create() over to use the new
drm_mode_legacy_fb_format2() function.

Signed-off-by: Gerd Hoffmann <kra...@redhat.com>
---
 drivers/gpu/drm/drm_gem_framebuffer_helper.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/drm_gem_framebuffer_helper.c 
b/drivers/gpu/drm/drm_gem_framebuffer_helper.c
index 7607f9cd6f..3619f1c78a 100644
--- a/drivers/gpu/drm/drm_gem_framebuffer_helper.c
+++ b/drivers/gpu/drm/drm_gem_framebuffer_helper.c
@@ -308,6 +308,7 @@ drm_gem_fbdev_fb_create(struct drm_device *dev,
                        const struct drm_framebuffer_funcs *funcs)
 {
        struct drm_mode_fb_cmd2 mode_cmd = { 0 };
+       bool native = dev->mode_config.quirk_addfb_prefer_host_byte_order;
 
        mode_cmd.width = sizes->surface_width;
        mode_cmd.height = sizes->surface_height;
@@ -316,8 +317,9 @@ drm_gem_fbdev_fb_create(struct drm_device *dev,
        if (pitch_align)
                mode_cmd.pitches[0] = roundup(mode_cmd.pitches[0],
                                              pitch_align);
-       mode_cmd.pixel_format = drm_mode_legacy_fb_format(sizes->surface_bpp,
-                                                       sizes->surface_depth);
+       mode_cmd.pixel_format = drm_mode_legacy_fb_format2(sizes->surface_bpp,
+                                                          sizes->surface_depth,
+                                                          native);
        if (obj->size < mode_cmd.pitches[0] * mode_cmd.height)
                return ERR_PTR(-EINVAL);
 
-- 
2.9.3

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to