]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
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>
Mon, 28 Mar 2022 07:57:08 +0000 (09:57 +0200)
commit b6821b0d9b56386d2bf14806f90ec401468c799f upstream.

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
[sudip: adjust context]
Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/fbtft/fb_st7789v.c

index 3a280cc1892ca027062006f5e4b6450123f29543..0a2dbed9ffc74f3399fa0fc6e1de2afb648d3de8 100644 (file)
@@ -82,6 +82,8 @@ enum st7789v_command {
  */
 static int init_display(struct fbtft_par *par)
 {
+       par->fbtftops.reset(par);
+
        /* turn off sleep mode */
        write_reg(par, MIPI_DCS_EXIT_SLEEP_MODE);
        mdelay(120);