Hi Am 15.05.23 um 10:01 schrieb Linus Walleij:
On Fri, May 12, 2023 at 4:11 PM Thomas Zimmermann <tzimmermann@xxxxxxx> wrote:Any hints on how we can fix this?According to a quick grep for fb_bpp, it's only used for the call to drm_fbdev_dma_setup(), right? In this case, you should set it to 15 for the models without rgb565. The switch at [1] should then pick the correct values.I tried this. It does work better, the selected format becomes 0x35315258 = LE '5', '1', 'R', 'X" = 'X', 'R', '1', '5', = DRM_FORMAT_XRGB1555.
That's good news.
But the display is flickering like crazy so the updating frequency is totally off, which is because it does not scale down the resolution, the print used to be: Console: switching to colour frame buffer device 80x30 drm-clcd-pl111 c1000000.display: [drm] fb0: pl111drmfb frame buffer device It is now: Console: switching to colour frame buffer device 100x37 drm-clcd-pl111 c1000000.display: [drm] fb0: pl111drmfb frame buffer device 100x37! (i.e. 800x296), this display can only do 640x240. Any idea what else is going wrong here? Or is this another regression on top of the first regression ... I was under the impression that your change was only about formats not resolutions.
If your display only supports 640x240, you should filter out all the other modes in the driver, if necessary. To me, that seems fix-worthy in any case.
It's important that the kernel's console is always available. We had reports where the display remained dark, which is not acceptable for the console. Therefore our fbdev helpers now try harder to a find a working display setup. It could be that this interferes with your driver somehow.
As you say, this patch is only about selecting a color format. There's probably another regression elsewhere.
Can you try to bisect again with your current fix on top? Best regards Thomas
Yours, Linus Walleij
-- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Frankenstrasse 146, 90461 Nuernberg, Germany GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman HRB 36809 (AG Nuernberg)
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature