modesetting: Fix cirrus 24bpp breakage

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@suse.de>
Tested-by: Stefan Dirsch <sndirsch@suse.de>
Reviewed-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
Takashi Iwai 2018-07-19 14:38:19 +02:00 committed by Adam Jackson
parent cdec2b3c19
commit d625e16918

View File

@ -995,7 +995,7 @@ drmmode_bo_import(drmmode_ptr drmmode, drmmode_bo *bo,
}
#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);
}