From 71186f21bd55aa7c6898151b650d031da183a372 Mon Sep 17 00:00:00 2001 From: Yakir Yang Date: Tue, 27 Oct 2015 16:17:13 +0800 Subject: [PATCH] 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: Ife770898b0f2b4f58b8259711101a0cab4a5e4ac Signed-off-by: Yakir Yang Reviewed-on: https://chromium-review.googlesource.com/309275 Reviewed-by: Agnes Cheng Commit-Queue: Agnes Cheng Trybot-Ready: Agnes Cheng Tested-by: Agnes Cheng --- src/include/edid.h | 2 ++ src/lib/edid.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/include/edid.h b/src/include/edid.h index ab4ac342cc..924f0f2d1c 100644 --- a/src/include/edid.h +++ b/src/include/edid.h @@ -90,6 +90,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 1594c21a7c..2638d4d386 100644 --- a/src/lib/edid.c +++ b/src/lib/edid.c @@ -643,6 +643,8 @@ cea_hdmi_block(struct edid *out, unsigned char *x) { int length = x[0] & 0x1f; + out->hdmi_monitor_detected = true; + printk(BIOS_SPEW, " (HDMI)\n"); printk(BIOS_SPEW, " Source physical address %d.%d.%d.%d\n",