]> Git Repo - linux.git/blobdiff - drivers/gpu/drm/drm_edid.c
drm/edid: check for HF-VSDB block
[linux.git] / drivers / gpu / drm / drm_edid.c
index e1743ab276dc05faa73217e6d74bde237c0ea51c..92e9551f3c3819315b07502cfb3cfe16a0970cc0 100644 (file)
@@ -1167,9 +1167,9 @@ bool drm_edid_block_valid(u8 *raw_edid, int block, bool print_bad_edid,
 bad:
        if (print_bad_edid) {
                if (drm_edid_is_zero(raw_edid, EDID_LENGTH)) {
-                       printk(KERN_NOTICE "EDID block is all zeroes\n");
+                       pr_notice("EDID block is all zeroes\n");
                } else {
-                       printk(KERN_NOTICE "Raw EDID:\n");
+                       pr_notice("Raw EDID:\n");
                        print_hex_dump(KERN_NOTICE,
                                       " \t", DUMP_PREFIX_NONE, 16, 1,
                                       raw_edid, EDID_LENGTH, false);
@@ -3248,6 +3248,21 @@ static bool cea_db_is_hdmi_vsdb(const u8 *db)
        return hdmi_id == HDMI_IEEE_OUI;
 }
 
+static bool cea_db_is_hdmi_forum_vsdb(const u8 *db)
+{
+       unsigned int oui;
+
+       if (cea_db_tag(db) != VENDOR_BLOCK)
+               return false;
+
+       if (cea_db_payload_len(db) < 7)
+               return false;
+
+       oui = db[3] << 16 | db[2] << 8 | db[1];
+
+       return oui == HDMI_FORUM_IEEE_OUI;
+}
+
 #define for_each_cea_db(cea, i, start, end) \
        for ((i) = (start); (i) < (end) && (i) + cea_db_payload_len(&(cea)[(i)]) < (end); (i) += cea_db_payload_len(&(cea)[(i)]) + 1)
 
This page took 0.027578 seconds and 4 git commands to generate.