Lines Matching refs:db
3751 do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len) in do_cea_modes() argument
3759 mode = drm_display_mode_from_vic_index(connector, db, len, i); in do_cea_modes()
3771 drm_add_cmdb_modes(connector, db[i]); in do_cea_modes()
3914 do_hdmi_vsdb_modes(struct drm_connector *connector, const u8 *db, u8 len, in do_hdmi_vsdb_modes() argument
3927 if (!(db[8] & (1 << 5))) in do_hdmi_vsdb_modes()
3931 if (db[8] & (1 << 7)) in do_hdmi_vsdb_modes()
3935 if (db[8] & (1 << 6)) in do_hdmi_vsdb_modes()
3945 if (db[8 + offset] & (1 << 7)) { in do_hdmi_vsdb_modes()
3949 multi_present = (db[8 + offset] & 0x60) >> 5; in do_hdmi_vsdb_modes()
3953 vic_len = db[8 + offset] >> 5; in do_hdmi_vsdb_modes()
3954 hdmi_3d_len = db[8 + offset] & 0x1f; in do_hdmi_vsdb_modes()
3959 vic = db[9 + offset + i]; in do_hdmi_vsdb_modes()
3979 structure_all = (db[8 + offset] << 8) | db[9 + offset]; in do_hdmi_vsdb_modes()
3983 mask = (db[10 + offset] << 8) | db[11 + offset]; in do_hdmi_vsdb_modes()
4004 detail_present = ((db[8 + offset + i] & 0x0f) > 7); in do_hdmi_vsdb_modes()
4010 vic_index = db[8 + offset + i] >> 4; in do_hdmi_vsdb_modes()
4013 switch (db[8 + offset + i] & 0x0f) { in do_hdmi_vsdb_modes()
4022 if ((db[9 + offset + i] >> 4) == 1) in do_hdmi_vsdb_modes()
4051 cea_db_payload_len(const u8 *db) in cea_db_payload_len() argument
4053 return db[0] & 0x1f; in cea_db_payload_len()
4057 cea_db_extended_tag(const u8 *db) in cea_db_extended_tag() argument
4059 return db[1]; in cea_db_extended_tag()
4063 cea_db_tag(const u8 *db) in cea_db_tag() argument
4065 return db[0] >> 5; in cea_db_tag()
4123 static bool cea_db_is_hdmi_vsdb(const u8 *db) in cea_db_is_hdmi_vsdb() argument
4127 if (cea_db_tag(db) != VENDOR_BLOCK) in cea_db_is_hdmi_vsdb()
4130 if (cea_db_payload_len(db) < 5) in cea_db_is_hdmi_vsdb()
4133 hdmi_id = db[1] | (db[2] << 8) | (db[3] << 16); in cea_db_is_hdmi_vsdb()
4138 static bool cea_db_is_hdmi_forum_vsdb(const u8 *db) in cea_db_is_hdmi_forum_vsdb() argument
4142 if (cea_db_tag(db) != VENDOR_BLOCK) in cea_db_is_hdmi_forum_vsdb()
4145 if (cea_db_payload_len(db) < 7) in cea_db_is_hdmi_forum_vsdb()
4148 oui = db[3] << 16 | db[2] << 8 | db[1]; in cea_db_is_hdmi_forum_vsdb()
4153 static bool cea_db_is_vcdb(const u8 *db) in cea_db_is_vcdb() argument
4155 if (cea_db_tag(db) != USE_EXTENDED_TAG) in cea_db_is_vcdb()
4158 if (cea_db_payload_len(db) != 2) in cea_db_is_vcdb()
4161 if (cea_db_extended_tag(db) != EXT_VIDEO_CAPABILITY_BLOCK) in cea_db_is_vcdb()
4167 static bool cea_db_is_y420cmdb(const u8 *db) in cea_db_is_y420cmdb() argument
4169 if (cea_db_tag(db) != USE_EXTENDED_TAG) in cea_db_is_y420cmdb()
4172 if (!cea_db_payload_len(db)) in cea_db_is_y420cmdb()
4175 if (cea_db_extended_tag(db) != EXT_VIDEO_CAP_BLOCK_Y420CMDB) in cea_db_is_y420cmdb()
4181 static bool cea_db_is_y420vdb(const u8 *db) in cea_db_is_y420vdb() argument
4183 if (cea_db_tag(db) != USE_EXTENDED_TAG) in cea_db_is_y420vdb()
4186 if (!cea_db_payload_len(db)) in cea_db_is_y420vdb()
4189 if (cea_db_extended_tag(db) != EXT_VIDEO_DATA_BLOCK_420) in cea_db_is_y420vdb()
4199 const u8 *db) in drm_parse_y420cmdb_bitmap() argument
4203 u8 map_len = cea_db_payload_len(db) - 1; in drm_parse_y420cmdb_bitmap()
4230 map |= (u64)db[2 + count] << (8 * count); in drm_parse_y420cmdb_bitmap()
4242 const u8 *db, *hdmi = NULL, *video = NULL; in add_cea_modes() local
4253 db = &cea[i]; in add_cea_modes()
4254 dbl = cea_db_payload_len(db); in add_cea_modes()
4256 if (cea_db_tag(db) == VIDEO_BLOCK) { in add_cea_modes()
4257 video = db + 1; in add_cea_modes()
4260 } else if (cea_db_is_hdmi_vsdb(db)) { in add_cea_modes()
4261 hdmi = db; in add_cea_modes()
4263 } else if (cea_db_is_y420vdb(db)) { in add_cea_modes()
4264 const u8 *vdb420 = &db[2]; in add_cea_modes()
4328 static bool cea_db_is_hdmi_hdr_metadata_block(const u8 *db) in cea_db_is_hdmi_hdr_metadata_block() argument
4330 if (cea_db_tag(db) != USE_EXTENDED_TAG) in cea_db_is_hdmi_hdr_metadata_block()
4333 if (db[1] != HDR_STATIC_METADATA_BLOCK) in cea_db_is_hdmi_hdr_metadata_block()
4336 if (cea_db_payload_len(db) < 3) in cea_db_is_hdmi_hdr_metadata_block()
4358 drm_parse_hdr_metadata_block(struct drm_connector *connector, const u8 *db) in drm_parse_hdr_metadata_block() argument
4362 len = cea_db_payload_len(db); in drm_parse_hdr_metadata_block()
4365 eotf_supported(db); in drm_parse_hdr_metadata_block()
4367 hdr_metadata_type(db); in drm_parse_hdr_metadata_block()
4370 connector->hdr_sink_metadata.hdmi_type1.max_cll = db[4]; in drm_parse_hdr_metadata_block()
4372 connector->hdr_sink_metadata.hdmi_type1.max_fall = db[5]; in drm_parse_hdr_metadata_block()
4374 connector->hdr_sink_metadata.hdmi_type1.min_cll = db[6]; in drm_parse_hdr_metadata_block()
4378 drm_parse_hdmi_vsdb_audio(struct drm_connector *connector, const u8 *db) in drm_parse_hdmi_vsdb_audio() argument
4380 u8 len = cea_db_payload_len(db); in drm_parse_hdmi_vsdb_audio()
4382 if (len >= 6 && (db[6] & (1 << 7))) in drm_parse_hdmi_vsdb_audio()
4385 connector->latency_present[0] = db[8] >> 7; in drm_parse_hdmi_vsdb_audio()
4386 connector->latency_present[1] = (db[8] >> 6) & 1; in drm_parse_hdmi_vsdb_audio()
4389 connector->video_latency[0] = db[9]; in drm_parse_hdmi_vsdb_audio()
4391 connector->audio_latency[0] = db[10]; in drm_parse_hdmi_vsdb_audio()
4393 connector->video_latency[1] = db[11]; in drm_parse_hdmi_vsdb_audio()
4395 connector->audio_latency[1] = db[12]; in drm_parse_hdmi_vsdb_audio()
4481 const u8 *db; in drm_edid_to_eld() local
4520 db = &cea[i]; in drm_edid_to_eld()
4521 dbl = cea_db_payload_len(db); in drm_edid_to_eld()
4523 switch (cea_db_tag(db)) { in drm_edid_to_eld()
4529 &db[1], sad_count * 3); in drm_edid_to_eld()
4535 eld[DRM_ELD_SPEAKER] = db[1]; in drm_edid_to_eld()
4539 if (cea_db_is_hdmi_vsdb(db)) in drm_edid_to_eld()
4540 drm_parse_hdmi_vsdb_audio(connector, db); in drm_edid_to_eld()
4596 const u8 *db = &cea[i]; in drm_edid_to_sad() local
4598 if (cea_db_tag(db) == AUDIO_BLOCK) { in drm_edid_to_sad()
4601 dbl = cea_db_payload_len(db); in drm_edid_to_sad()
4608 const u8 *sad = &db[1 + j * 3]; in drm_edid_to_sad()
4658 const u8 *db = &cea[i]; in drm_edid_to_speaker_allocation() local
4660 if (cea_db_tag(db) == SPEAKER_BLOCK) { in drm_edid_to_speaker_allocation()
4661 dbl = cea_db_payload_len(db); in drm_edid_to_speaker_allocation()
4665 *sadb = kmemdup(&db[1], dbl, GFP_KERNEL); in drm_edid_to_speaker_allocation()
4823 static void drm_parse_vcdb(struct drm_connector *connector, const u8 *db) in drm_parse_vcdb() argument
4827 DRM_DEBUG_KMS("CEA VCDB 0x%02x\n", db[2]); in drm_parse_vcdb()
4829 if (db[2] & EDID_CEA_VCDB_QS) in drm_parse_vcdb()
4869 const u8 *db) in drm_parse_ycbcr420_deep_color_info() argument
4874 dc_mask = db[7] & DRM_EDID_YCBCR420_DC_MASK; in drm_parse_ycbcr420_deep_color_info()
5060 drm_parse_hdmi_vsdb_video(struct drm_connector *connector, const u8 *db) in drm_parse_hdmi_vsdb_video() argument
5063 u8 len = cea_db_payload_len(db); in drm_parse_hdmi_vsdb_video()
5068 info->dvi_dual = db[6] & 1; in drm_parse_hdmi_vsdb_video()
5070 info->max_tmds_clock = db[7] * 5000; in drm_parse_hdmi_vsdb_video()
5077 drm_parse_hdmi_deep_color_info(connector, db); in drm_parse_hdmi_vsdb_video()
5104 const u8 *db = &edid_ext[i]; in drm_parse_cea_ext() local
5106 if (cea_db_is_hdmi_vsdb(db)) in drm_parse_cea_ext()
5107 drm_parse_hdmi_vsdb_video(connector, db); in drm_parse_cea_ext()
5108 if (cea_db_is_hdmi_forum_vsdb(db)) in drm_parse_cea_ext()
5109 drm_parse_hdmi_forum_vsdb(connector, db); in drm_parse_cea_ext()
5110 if (cea_db_is_y420cmdb(db)) in drm_parse_cea_ext()
5111 drm_parse_y420cmdb_bitmap(connector, db); in drm_parse_cea_ext()
5112 if (cea_db_is_vcdb(db)) in drm_parse_cea_ext()
5113 drm_parse_vcdb(connector, db); in drm_parse_cea_ext()
5114 if (cea_db_is_hdmi_hdr_metadata_block(db)) in drm_parse_cea_ext()
5115 drm_parse_hdr_metadata_block(connector, db); in drm_parse_cea_ext()