summaryrefslogtreecommitdiff
path: root/src/drivers/emulation/qemu/cirrus.c
diff options
context:
space:
mode:
authorPatrick Rudolph <patrick.rudolph@9elements.com>2020-02-19 12:57:00 +0100
committerHung-Te Lin <hungte@chromium.org>2020-12-17 06:21:56 +0000
commit8b56c8c6b2694500318eba14e291a0586837ebe8 (patch)
tree69e6a5dc28afa8650449a0456e049536fa488165 /src/drivers/emulation/qemu/cirrus.c
parent6c04b353c5d9df899f4fb78294a992902e36e2bd (diff)
drivers: Replace set_vbe_mode_info_valid
Currently it's not possible to add multiple graphics driver into one coreboot image. This patch series will fix this issue by providing a single API that multiple graphics driver can use. This is required for platforms that have two graphic cards, but different graphic drivers, like Intel+Aspeed on server platforms or Intel+Nvidia on consumer notebooks. The goal is to remove duplicated fill_fb_framebuffer(), the advertisment of multiple indepent framebuffers in coreboot tables, and better runtime/build time graphic configuration options. Replace set_vbe_mode_info_valid with fb_add_framebuffer_info or fb_new_framebuffer_info_from_edid. Change-Id: I95d1d62385a201c68c6c2527c023ad2292a235c5 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/39004 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Diffstat (limited to 'src/drivers/emulation/qemu/cirrus.c')
-rw-r--r--src/drivers/emulation/qemu/cirrus.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/src/drivers/emulation/qemu/cirrus.c b/src/drivers/emulation/qemu/cirrus.c
index d63f490603..d9e0e1bd14 100644
--- a/src/drivers/emulation/qemu/cirrus.c
+++ b/src/drivers/emulation/qemu/cirrus.c
@@ -1,13 +1,13 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#include <stdint.h>
-#include <edid.h>
#include <console/console.h>
#include <device/device.h>
#include <device/pci.h>
#include <device/pci_ops.h>
#include <pc80/vga.h>
#include <pc80/vga_io.h>
+#include <framebuffer_info.h>
static int width = CONFIG_DRIVERS_EMULATION_QEMU_BOCHS_XRES;
static int height = CONFIG_DRIVERS_EMULATION_QEMU_BOCHS_YRES;
@@ -299,13 +299,7 @@ static void cirrus_init_linear_fb(struct device *dev)
vga_sr_write (CIRRUS_SR_EXTENDED_MODE, sr_ext);
write_hidden_dac (hidden_dac);
- struct edid edid;
- edid.mode.ha = width;
- edid.mode.va = height;
- edid.panel_bits_per_color = 8;
- edid.panel_bits_per_pixel = 24;
- edid_set_framebuffer_bits_per_pixel(&edid, 32, 0);
- set_vbe_mode_info_valid(&edid, addr);
+ fb_add_framebuffer_info(addr, width, height, 4 * width, 32);
}
static void cirrus_init_text_mode(struct device *dev)