modesetting: Fix cirrus 24bpp breakage
Stefan Dirsch
sndirsch at suse.de
Thu Jul 19 12:38:19 UTC 2018
From: Takashi Iwai <tiwai at suse.de>
The recent rewrite of modesetting driver broke the 24bpp support.
As typically found on cirrus KMS, it leads to a blank screen, spewing
the error like:
failed to add fb -22
(EE) modeset(0): failed to set mode: Invalid argument
The culript is that the wrong bpp value of the front buffer is passed
to drmModeAddFB(). Fix it by replacing with the back buffer bpp,
drmmode->kbpp.
Signed-off-by: Takashi Iwai <tiwai at suse.de>
Tested-by: Stefan Dirsch <sndirsch at suse.de>
---
hw/xfree86/drivers/modesetting/drmmode_display.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/hw/xfree86/drivers/modesetting/drmmode_display.c
+++ b/hw/xfree86/drivers/modesetting/drmmode_display.c
@@ -990,7 +990,7 @@ drmmode_bo_import(drmmode_ptr drmmode, d
}
#endif
return drmModeAddFB(drmmode->fd, bo->width, bo->height,
- drmmode->scrn->depth, drmmode->scrn->bitsPerPixel,
+ drmmode->scrn->depth, drmmode->kbpp,
drmmode_bo_get_pitch(bo),
drmmode_bo_get_handle(bo), fb_id);
}
More information about the xorg-devel
mailing list