summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorSimon Glass <[email protected]>2023-09-19 21:00:11 -0600
committerBin Meng <[email protected]>2023-09-22 06:05:40 +0800
commit3fef0def84e65d399658b1d028ad558329a0669a (patch)
tree61b355812a48a710ca782ca9ffa04c1e6ed665f2 /drivers
parent85c35c794e637d88042656157cd00541640815c1 (diff)
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 <[email protected]> Reviewed-by: Bin Meng <[email protected]>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/coreboot.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/video/coreboot.c b/drivers/video/coreboot.c
index c586475e41e..5b718ae3e5a 100644
--- a/drivers/video/coreboot.c
+++ b/drivers/video/coreboot.c
@@ -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,
};