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@xxxxxxxxxxxx> Do you have commit rights to drm-misc-next? Sam