]> git.dujemihanovic.xyz Git - u-boot.git/commit
video: Add support for copying to a hardware framebuffer
authorSimon Glass <sjg@chromium.org>
Fri, 3 Jul 2020 03:12:20 +0000 (21:12 -0600)
committerBin Meng <bmeng.cn@gmail.com>
Thu, 9 Jul 2020 04:33:24 +0000 (12:33 +0800)
commit9beac5daf700bdee407f095586129d5622ead407
treea0f72ea5cb5f898c2327e7100270026765e6420c
parent5a6cea37c672a6579338b60e74965210c785c0f3
video: Add support for copying to a hardware framebuffer

Some architectures use a cached framebuffer and flush the cache as needed
so that changes are visible. This is supported by U-Boot.

However x86 uses an uncached framebuffer with a 'write-combining' feature
to speed up writes.  Reads are permitted but they are extremely expensive.

Unfortunately, reading from the frame buffer is quite common, e.g. to
scroll it. This makes scrolling very slow.

Add a new feature which supports copying modified parts of the frame
buffer to the uncached hardware buffer. This speeds up scrolling by at
least 10x on x86 so the extra complexity cost seems worth it.

As a starting point, add the Kconfig, update the video structures to keep
track of the buffer and add a function to do the copy.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
drivers/video/Kconfig
drivers/video/video-uclass.c
include/video.h