summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur Heymans <arthur@aheymans.xyz>2017-04-29 14:00:47 +0200
committerNico Huber <nico.h@gmx.de>2017-05-03 16:18:15 +0200
commitdbe81612adba70d02831ffae57dd406fa08785b8 (patch)
treeabda1ed473383e69efe0ca72aa0ddd3657309430
parent53485d2eabc4312f5e48429e8f9a5e51b4c961e4 (diff)
lib/edid: Save the display ASCII string
Change-Id: Ic31af53dcb9947e2264c809ee8f80ea4f89f347d Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/19499 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
-rw-r--r--src/include/edid.h3
-rw-r--r--src/lib/edid.c6
2 files changed, 7 insertions, 2 deletions
diff --git a/src/include/edid.h b/src/include/edid.h
index 100dbe9ba3..1eb8c4d306 100644
--- a/src/include/edid.h
+++ b/src/include/edid.h
@@ -53,6 +53,8 @@ struct edid_mode {
* unsigned int. We can move more into into this struct as needed.
*/
+#define EDID_ASCII_STRING_LENGTH 13
+
struct edid {
/* These next three things used to all be called bpp.
* Merriment ensued. The identifier
@@ -89,6 +91,7 @@ struct edid {
u32 bytes_per_line;
int hdmi_monitor_detected;
+ char ascii_string[EDID_ASCII_STRING_LENGTH + 1];
};
enum edid_status {
diff --git a/src/lib/edid.c b/src/lib/edid.c
index 7b7098a0e8..405b3fdbc1 100644
--- a/src/lib/edid.c
+++ b/src/lib/edid.c
@@ -470,9 +470,11 @@ detailed_block(struct edid *result_edid, unsigned char *x, int in_extension,
* slots, seems to be specified by SPWG:
* http://www.spwg.org/
*/
+ strcpy(result_edid->ascii_string, extract_string(x + 5,
+ &c->has_valid_string_termination,
+ EDID_ASCII_STRING_LENGTH));
printk(BIOS_SPEW, "ASCII string: %s\n",
- extract_string(x + 5,
- &c->has_valid_string_termination, 13));
+ result_edid->ascii_string);
return 1;
case 0xFF:
printk(BIOS_SPEW, "Serial number: %s\n",