Commit e6853aaf authored by David Ung's avatar David Ung Committed by Tomi Valkeinen

video: Check EDID for HDMI connection

Check EDID Vendor Specific Data Block bytes to see if the connection
is HDMI and set FB_MISC_HDMI.
Signed-off-by: default avatarDavid Ung <davidu@nvidia.com>
Signed-off-by: default avatarChristopher Freeman <cfreeman@nvidia.com>
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent f474f0e1
...@@ -1012,13 +1012,20 @@ void fb_edid_add_monspecs(unsigned char *edid, struct fb_monspecs *specs) ...@@ -1012,13 +1012,20 @@ void fb_edid_add_monspecs(unsigned char *edid, struct fb_monspecs *specs)
while (pos < edid[2]) { while (pos < edid[2]) {
u8 len = edid[pos] & 0x1f, type = (edid[pos] >> 5) & 7; u8 len = edid[pos] & 0x1f, type = (edid[pos] >> 5) & 7;
pr_debug("Data block %u of %u bytes\n", type, len); pr_debug("Data block %u of %u bytes\n", type, len);
if (type == 2) if (type == 2) {
for (i = pos; i < pos + len; i++) { for (i = pos; i < pos + len; i++) {
u8 idx = edid[pos + i] & 0x7f; u8 idx = edid[pos + i] & 0x7f;
svd[svd_n++] = idx; svd[svd_n++] = idx;
pr_debug("N%sative mode #%d\n", pr_debug("N%sative mode #%d\n",
edid[pos + i] & 0x80 ? "" : "on-n", idx); edid[pos + i] & 0x80 ? "" : "on-n", idx);
} }
} else if (type == 3 && len >= 3) {
/* Check Vendor Specific Data Block. For HDMI,
it is always 00-0C-03 for HDMI Licensing, LLC. */
if (edid[pos + 1] == 3 && edid[pos + 2] == 0xc &&
edid[pos + 3] == 0)
specs->misc |= FB_MISC_HDMI;
}
pos += len + 1; pos += len + 1;
} }
......
...@@ -47,6 +47,7 @@ struct device_node; ...@@ -47,6 +47,7 @@ struct device_node;
#define FB_MISC_PRIM_COLOR 1 #define FB_MISC_PRIM_COLOR 1
#define FB_MISC_1ST_DETAIL 2 /* First Detailed Timing is preferred */ #define FB_MISC_1ST_DETAIL 2 /* First Detailed Timing is preferred */
#define FB_MISC_HDMI 4
struct fb_chroma { struct fb_chroma {
__u32 redx; /* in fraction of 1024 */ __u32 redx; /* in fraction of 1024 */
__u32 greenx; __u32 greenx;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment