staging: fbtft: fb_st7789v: reset display before initialization
authorOliver Graute <oliver.graute@kococonnector.com>
Thu, 10 Feb 2022 08:53:22 +0000 (09:53 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 15 Feb 2022 16:14:22 +0000 (17:14 +0100)
In rare cases the display is flipped or mirrored. This was observed more
often in a low temperature environment. A clean reset on init_display()
should help to get registers in a sane state.

Fixes: ef8f317795da (staging: fbtft: use init function instead of init sequence)
Cc: stable@vger.kernel.org
Signed-off-by: Oliver Graute <oliver.graute@kococonnector.com>
Link: https://lore.kernel.org/r/20220210085322.15676-1-oliver.graute@kococonnector.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/fbtft/fb_st7789v.c

index abe9395..861a154 100644 (file)
@@ -144,6 +144,8 @@ static int init_display(struct fbtft_par *par)
 {
        int rc;
 
+       par->fbtftops.reset(par);
+
        rc = init_tearing_effect_line(par);
        if (rc)
                return rc;