diff options
author | Yakir Yang <ykk@rock-chips.com> | 2015-10-27 16:17:13 +0800 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2015-11-10 14:09:51 +0100 |
commit | 85810cce503403cb67596717b4f4d1c2a180f214 (patch) | |
tree | df7e4078eb1ae60c41ce20eb97a9138ae47e05cc /src | |
parent | dc5b10bd9280024e504d9127fbf96264b4b17c24 (diff) |
edid: add hdmi_monitor_detected in data struct edid
HDMI driver need to know whether the monitor is DVI
or HDMI interface, so this commit just introduce a
new number 'hdmi_monitor_detected' to struct edid.
There were four bits to indicate the monitor interfaces,
it's better to take use of that. But those bits only
existed in EDID 1.4 version, but didn't persented in
the previous EDID version, so I decided to detect the
hdmi cea block.
BRANCH=none
BUG=chrome-os-partner:43789
TEST=When mickey connect with HDMI monitor, see 'hdmi_monitor_detected' is 'true'.
When mickey connect with DVI monitor, see 'hdmi_monitor_detected' is 'false'.
Change-Id: I1a4f1410e1cce1474ffae858db161a18578cac3a
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 409f041805d9fdff2d49faa1a3a262cf4dc609c2
Original-Change-Id: Ife770898b0f2b4f58b8259711101a0cab4a5e4ac
Original-Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/309055
Original-Tested-by: David Hendricks <dhendrix@chromium.org>
Original-Reviewed-by: David Hendricks <dhendrix@chromium.org>
Reviewed-on: http://review.coreboot.org/12345
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/include/edid.h | 2 | ||||
-rw-r--r-- | src/lib/edid.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/include/edid.h b/src/include/edid.h index 43e6883796..d3cab17f49 100644 --- a/src/include/edid.h +++ b/src/include/edid.h @@ -87,6 +87,8 @@ struct edid { u32 x_resolution; u32 y_resolution; u32 bytes_per_line; + + int hdmi_monitor_detected; }; /* Defined in src/lib/edid.c */ diff --git a/src/lib/edid.c b/src/lib/edid.c index d0056788a3..0f5643d3cc 100644 --- a/src/lib/edid.c +++ b/src/lib/edid.c @@ -657,6 +657,8 @@ cea_hdmi_block(struct edid *out, unsigned char *x) { int length = x[0] & 0x1f; + out->hdmi_monitor_detected = 1; + printk(BIOS_SPEW, " (HDMI)\n"); printk(BIOS_SPEW, " Source physical address %d.%d.%d.%d\n", |