[PATCH 3/5] drm: ssd130x: Fix rectangle updates
Javier Martinez Canillas
javierm at redhat.com
Tue Mar 15 12:28:27 UTC 2022
On 3/15/22 12:07, Geert Uytterhoeven wrote:
> The rectangle update functions ssd130x_fb_blit_rect() and
> ssd130x_update_rect() do not behave correctly when x1 != 0 or y1 !=
> 0, or when y1 or y2 are not aligned to display page boundaries.
> E.g. when used as a text console, only the first line of text is shown
> on the display.
>
> 1. The buffer passed by ssd130x_fb_blit_rect() points to the first
> byte of monochrome bitmap data, and thus has its origin at (x1,
> y1), while ssd130x_update_rect() assumes it is at (0, 0).
> Fix ssd130x_update_rect() by changing the vertical and horizontal
> loop ranges, and adding the offsets only when needed.
>
> 2. In ssd130x_fb_blit_rect(), align y1 and y2 to the display page
> boundaries before doing the color conversion, so the full page
> is converted and updated.
> Remove the correction for an unaligned y1 from
> ssd130x_update_rect(), and add a check to make sure y1 is aligned.
>
> Fixes: a61732e808672cfa ("drm: Add driver for Solomon SSD130x OLED displays")
> Signed-off-by: Geert Uytterhoeven <geert at linux-m68k.org>
> ---
Thanks for fixing this too.
Acked-by: Javier Martinez Canillas <javierm at redhat.com>
--
Best regards,
Javier Martinez Canillas
Linux Engineering
Red Hat
More information about the dri-devel
mailing list