linux/drivers/gpu/drm/bochs
Gerd Hoffmann 48b4422382 drm/bochs: fix DRM_FORMAT_* handling for big endian machines.
Use DRM_FORMAT_HOST_XRGB8888, so we are using the correct format code
on bigendian machines.  Also set the quirk_addfb_prefer_host_byte_order
mode_config bit so drm_mode_addfb() asks for the correct format code.

Create our own plane and use drm_crtc_init_with_planes() instead of
depending on the default created by drm_crtc_init().  That way the plane
format list is correct on bigendian machines.

Also re-add the framebuffer format check dropped by "df2052cc92 bochs:
convert to drm_fb_helper_fbdev_setup/teardown".

With this patch applied both ADDFB and ADDFB2 ioctls work correctly in
the bochs-drm.ko driver on big endian machines.  Without the patch only
ADDFB (which still seems to be used by the majority of userspace) works
correctly.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20180921134704.12826-4-kraxel@redhat.com
2018-09-25 14:49:49 +02:00
..
bochs_drv.c bochs: convert to drm_dev_register 2018-09-10 07:10:38 +02:00
bochs_fbdev.c drm/bochs: fix DRM_FORMAT_* handling for big endian machines. 2018-09-25 14:49:49 +02:00
bochs_hw.c bochs: convert to drm_dev_register 2018-09-10 07:10:38 +02:00
bochs_kms.c drm/bochs: fix DRM_FORMAT_* handling for big endian machines. 2018-09-25 14:49:49 +02:00
bochs_mm.c bochs: convert to drm_fb_helper_fbdev_setup/teardown 2018-09-10 07:10:38 +02:00
bochs.h bochs: convert to drm_dev_register 2018-09-10 07:10:38 +02:00
Kconfig
Makefile