summaryrefslogtreecommitdiff
path: root/src/include/framebuffer_info.h
diff options
context:
space:
mode:
authorPatrick Rudolph <patrick.rudolph@9elements.com>2020-02-19 12:10:51 +0100
committerAngel Pons <th3fanbus@gmail.com>2020-12-10 19:31:29 +0000
commit73192888b4b92f0de96d329949296a8924cee3ef (patch)
treef7c1cf1129026b3209fa7428cb9acf848ca1d574 /src/include/framebuffer_info.h
parentbd8bb8eae0bdf4dec2b92a8be50c5286e34d7e0f (diff)
lib/edid_fill_fb: Support multiple framebuffers
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 and Aspeed on server platforms or Intel and Nvidia on consumer notebooks. The goals are to remove duplicated fill_fb_framebuffer(), to advertise multiple independent framebuffers in coreboot tables, and better runtime/build time graphic configuration options. Add an implementation in edid_fill_fb that supports registering multiple framebuffers, each with its own configuration. As the current code is only compiled for a single graphics driver there's no change in functionality. Change-Id: I7264c2ea2f72f36adfd26f26b00e3ce172133621 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/39002 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'src/include/framebuffer_info.h')
-rw-r--r--src/include/framebuffer_info.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/include/framebuffer_info.h b/src/include/framebuffer_info.h
new file mode 100644
index 0000000000..5251f2901a
--- /dev/null
+++ b/src/include/framebuffer_info.h
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#ifndef __FRAMEBUFFER_INFO_H_
+#define __FRAMEBUFFER_INFO_H_
+
+#include <stdint.h>
+#include <stdbool.h>
+#include <commonlib/coreboot_tables.h>
+
+struct fb_info;
+
+struct fb_info *
+fb_add_framebuffer_info_ex(const struct lb_framebuffer *fb);
+
+struct fb_info *fb_add_framebuffer_info(uintptr_t fb_addr, uint32_t x_resolution,
+ uint32_t y_resolution, uint32_t bytes_per_line,
+ uint8_t bits_per_pixel);
+
+void fb_set_orientation(struct fb_info *info,
+ enum lb_fb_orientation orientation);
+
+#endif /* __FRAMEBUFFER_INFO_H_ */