[PATCH 5.15 123/139] staging: fbtft: fb_st7789v: reset display before initialization
From: Greg Kroah-Hartman
Date: Mon Feb 28 2022 - 12:57:05 EST
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;