From: Oliver Graute <oliver.graute@xxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxx Signed-off-by: Oliver Graute <oliver.graute@xxxxxxxxxxxxxxxxx> Link: https://lore.kernel.org/r/20220210085322.15676-1-oliver.graute@xxxxxxxxxxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/staging/fbtft/fb_st7789v.c | 2 ++ 1 file changed, 2 insertions(+) --- a/drivers/staging/fbtft/fb_st7789v.c +++ b/drivers/staging/fbtft/fb_st7789v.c @@ -144,6 +144,8 @@ static int init_display(struct fbtft_par { int rc; + par->fbtftops.reset(par); + rc = init_tearing_effect_line(par); if (rc) return rc; Patches currently in stable-queue which might be from oliver.graute@xxxxxxxxxxxxxxxxx are queue-5.15/staging-fbtft-fb_st7789v-reset-display-before-initialization.patch