[PATCH resend 0/5] video: fbdev: ssd1307fb: Optimizations and improvements

Sam Ravnborg sam at ravnborg.org
Mon Jul 19 19:23:29 UTC 2021


Hi Geert,

On Wed, Jul 14, 2021 at 04:57:59PM +0200, Geert Uytterhoeven wrote:
> 	Hi all,
> 
> This patch series optimizes console operations on ssd1307fb, after the
> customary fixes and cleanups.
> 
> Currently, each screen update triggers an I2C transfer of all screen
> data, up to 1 KiB of data for a 128x64 display, which takes at least 20
> ms in Fast mode.  While many displays are smaller, and thus require less
> data to be transferred, 20 ms is still an optimistic value, as the
> actual data transfer may be much slower, especially on bitbanged I2C
> drivers.  After this series, the amount of data transfer is reduced, as
> fillrect, copyarea, and imageblit only update the rectangle that
> changed.
> 
> This has been tested on an Adafruit FeatherWing OLED with an SSD1306
> controller and a 128x32 OLED, connected to an OrangeCrab ECP5 FPGA board
> running a 64 MHz VexRiscv RISC-V softcore, where it reduced the CPU
> usage for blinking the cursor from more than 70% to ca. 10%.
> 
> Thanks for your comments!
> 
> Geert Uytterhoeven (5):
>   video: fbdev: ssd1307fb: Propagate errors via
>     ssd1307fb_update_display()
>   video: fbdev: ssd1307fb: Simplify ssd1307fb_update_display()
>   video: fbdev: ssd1307fb: Extract ssd1307fb_set_address_range()
>   video: fbdev: ssd1307fb: Optimize screen updates
>   video: fbdev: ssd1307fb: Cache address ranges

A few comments left for a couple of patches.
The remaining patches are:
Acked-by: Sam Ravnborg <sam at ravnborg.org>

Do you have commit rights to drm-misc-next?

	Sam


More information about the dri-devel mailing list