From 9549ddabba292f904769437098817dd158c76f49 Mon Sep 17 00:00:00 2001 From: Aidan MacDonald Date: Sun, 2 Oct 2022 01:35:06 +0100 Subject: lcd: Fix bug in grayscale clear_display() implementation clear_display() on grayscale LCDs sets the number of scrolling lines to 0 but that's wrong, the scollers need to be shut down first. Call scroll_stop() for that, as is done on color LCDs. Change-Id: I75fb6839ed04f6fe1eb8e2855c8db820fcedddb8 --- firmware/drivers/lcd-1bit-vert.c | 2 +- firmware/drivers/lcd-2bit-horz.c | 2 +- firmware/drivers/lcd-2bit-vert.c | 2 +- firmware/drivers/lcd-2bit-vi.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) (limited to 'firmware') diff --git a/firmware/drivers/lcd-1bit-vert.c b/firmware/drivers/lcd-1bit-vert.c index accce026cd..77eb4ab2a1 100644 --- a/firmware/drivers/lcd-1bit-vert.c +++ b/firmware/drivers/lcd-1bit-vert.c @@ -203,7 +203,7 @@ void LCDFN(clear_display)(void) unsigned bits = (CURRENT_VP->drawmode & DRMODE_INVERSEVID) ? 0xFFu : 0; memset(LCDFB(0, 0), bits, FBSIZE); - LCDFN(scroll_info).lines = 0; + LCDFN(scroll_stop)(); } /* Draw a horizontal line (optimised) */ diff --git a/firmware/drivers/lcd-2bit-horz.c b/firmware/drivers/lcd-2bit-horz.c index b8ebaff7e1..abe7443e01 100644 --- a/firmware/drivers/lcd-2bit-horz.c +++ b/firmware/drivers/lcd-2bit-horz.c @@ -345,7 +345,7 @@ void lcd_clear_display(void) memset(FBADDR(0,0), bg_pattern, FRAMEBUFFER_SIZE); } - lcd_scroll_info.lines = 0; + lcd_scroll_stop(); } /* Draw a horizontal line (optimised) */ diff --git a/firmware/drivers/lcd-2bit-vert.c b/firmware/drivers/lcd-2bit-vert.c index 9856b28819..6ea367e695 100644 --- a/firmware/drivers/lcd-2bit-vert.c +++ b/firmware/drivers/lcd-2bit-vert.c @@ -347,7 +347,7 @@ void lcd_clear_display(void) memset(FBADDR(0,0), bg_pattern, FRAMEBUFFER_SIZE); } - lcd_scroll_info.lines = 0; + lcd_scroll_stop(); } /* Draw a horizontal line (optimised) */ diff --git a/firmware/drivers/lcd-2bit-vi.c b/firmware/drivers/lcd-2bit-vi.c index d621951c78..5c615c4c9e 100644 --- a/firmware/drivers/lcd-2bit-vi.c +++ b/firmware/drivers/lcd-2bit-vi.c @@ -380,7 +380,7 @@ void LCDFN(clear_display)(void) FBSIZE); } - LCDFN(scroll_info).lines = 0; + LCDFN(scroll_stop)(); } /* Draw a horizontal line (optimised) */ -- cgit v1.2.3