x86: coreboot: Enable VIDEO_COPY
At least on modern machines the write-back mechanism for the frame buffer is quite slow when scrolling, since it must read the entire frame buffer and write it back. Enable the VIDEO_COPY feature to resolve this problem. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
@@ -42,6 +42,7 @@
|
||||
};
|
||||
|
||||
coreboot-fb {
|
||||
bootph-some-ram;
|
||||
compatible = "coreboot-fb";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -59,6 +59,7 @@ CONFIG_NVME_PCI=y
|
||||
CONFIG_SYS_NS16550_MEM32=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SOUND_I8254=y
|
||||
CONFIG_VIDEO_COPY=y
|
||||
CONFIG_CONSOLE_SCROLL_LINES=5
|
||||
CONFIG_SPL_ACPI=y
|
||||
CONFIG_CMD_DHRYSTONE=y
|
||||
|
||||
@@ -53,6 +53,7 @@ CONFIG_NVME_PCI=y
|
||||
CONFIG_SYS_NS16550_MEM32=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SOUND_I8254=y
|
||||
CONFIG_VIDEO_COPY=y
|
||||
CONFIG_CONSOLE_SCROLL_LINES=5
|
||||
CONFIG_CMD_DHRYSTONE=y
|
||||
# CONFIG_GZIP is not set
|
||||
|
||||
@@ -73,6 +73,17 @@ err:
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int coreboot_video_bind(struct udevice *dev)
|
||||
{
|
||||
struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
|
||||
|
||||
/* Set the maximum supported resolution */
|
||||
uc_plat->size = 4096 * 2160 * 4;
|
||||
log_debug("%s: Frame buffer size %x\n", __func__, uc_plat->size);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct udevice_id coreboot_video_ids[] = {
|
||||
{ .compatible = "coreboot-fb" },
|
||||
{ }
|
||||
@@ -82,5 +93,6 @@ U_BOOT_DRIVER(coreboot_video) = {
|
||||
.name = "coreboot_video",
|
||||
.id = UCLASS_VIDEO,
|
||||
.of_match = coreboot_video_ids,
|
||||
.bind = coreboot_video_bind,
|
||||
.probe = coreboot_video_probe,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user