Lines Matching refs:db
3781 do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len) in do_cea_modes() argument
3789 mode = drm_display_mode_from_vic_index(connector, db, len, i); in do_cea_modes()
3801 drm_add_cmdb_modes(connector, db[i]); in do_cea_modes()
3944 do_hdmi_vsdb_modes(struct drm_connector *connector, const u8 *db, u8 len, in do_hdmi_vsdb_modes() argument
3957 if (!(db[8] & (1 << 5))) in do_hdmi_vsdb_modes()
3961 if (db[8] & (1 << 7)) in do_hdmi_vsdb_modes()
3965 if (db[8] & (1 << 6)) in do_hdmi_vsdb_modes()
3975 if (db[8 + offset] & (1 << 7)) { in do_hdmi_vsdb_modes()
3979 multi_present = (db[8 + offset] & 0x60) >> 5; in do_hdmi_vsdb_modes()
3983 vic_len = db[8 + offset] >> 5; in do_hdmi_vsdb_modes()
3984 hdmi_3d_len = db[8 + offset] & 0x1f; in do_hdmi_vsdb_modes()
3989 vic = db[9 + offset + i]; in do_hdmi_vsdb_modes()
4009 structure_all = (db[8 + offset] << 8) | db[9 + offset]; in do_hdmi_vsdb_modes()
4013 mask = (db[10 + offset] << 8) | db[11 + offset]; in do_hdmi_vsdb_modes()
4034 detail_present = ((db[8 + offset + i] & 0x0f) > 7); in do_hdmi_vsdb_modes()
4040 vic_index = db[8 + offset + i] >> 4; in do_hdmi_vsdb_modes()
4043 switch (db[8 + offset + i] & 0x0f) { in do_hdmi_vsdb_modes()
4052 if ((db[9 + offset + i] >> 4) == 1) in do_hdmi_vsdb_modes()
4081 cea_db_payload_len(const u8 *db) in cea_db_payload_len() argument
4083 return db[0] & 0x1f; in cea_db_payload_len()
4087 cea_db_extended_tag(const u8 *db) in cea_db_extended_tag() argument
4089 return db[1]; in cea_db_extended_tag()
4093 cea_db_tag(const u8 *db) in cea_db_tag() argument
4095 return db[0] >> 5; in cea_db_tag()
4153 static bool cea_db_is_hdmi_vsdb(const u8 *db) in cea_db_is_hdmi_vsdb() argument
4157 if (cea_db_tag(db) != VENDOR_BLOCK) in cea_db_is_hdmi_vsdb()
4160 if (cea_db_payload_len(db) < 5) in cea_db_is_hdmi_vsdb()
4163 hdmi_id = db[1] | (db[2] << 8) | (db[3] << 16); in cea_db_is_hdmi_vsdb()
4168 static bool cea_db_is_hdmi_forum_vsdb(const u8 *db) in cea_db_is_hdmi_forum_vsdb() argument
4172 if (cea_db_tag(db) != VENDOR_BLOCK) in cea_db_is_hdmi_forum_vsdb()
4175 if (cea_db_payload_len(db) < 7) in cea_db_is_hdmi_forum_vsdb()
4178 oui = db[3] << 16 | db[2] << 8 | db[1]; in cea_db_is_hdmi_forum_vsdb()
4183 static bool cea_db_is_vcdb(const u8 *db) in cea_db_is_vcdb() argument
4185 if (cea_db_tag(db) != USE_EXTENDED_TAG) in cea_db_is_vcdb()
4188 if (cea_db_payload_len(db) != 2) in cea_db_is_vcdb()
4191 if (cea_db_extended_tag(db) != EXT_VIDEO_CAPABILITY_BLOCK) in cea_db_is_vcdb()
4197 static bool cea_db_is_y420cmdb(const u8 *db) in cea_db_is_y420cmdb() argument
4199 if (cea_db_tag(db) != USE_EXTENDED_TAG) in cea_db_is_y420cmdb()
4202 if (!cea_db_payload_len(db)) in cea_db_is_y420cmdb()
4205 if (cea_db_extended_tag(db) != EXT_VIDEO_CAP_BLOCK_Y420CMDB) in cea_db_is_y420cmdb()
4211 static bool cea_db_is_y420vdb(const u8 *db) in cea_db_is_y420vdb() argument
4213 if (cea_db_tag(db) != USE_EXTENDED_TAG) in cea_db_is_y420vdb()
4216 if (!cea_db_payload_len(db)) in cea_db_is_y420vdb()
4219 if (cea_db_extended_tag(db) != EXT_VIDEO_DATA_BLOCK_420) in cea_db_is_y420vdb()
4229 const u8 *db) in drm_parse_y420cmdb_bitmap() argument
4233 u8 map_len = cea_db_payload_len(db) - 1; in drm_parse_y420cmdb_bitmap()
4260 map |= (u64)db[2 + count] << (8 * count); in drm_parse_y420cmdb_bitmap()
4272 const u8 *db, *hdmi = NULL, *video = NULL; in add_cea_modes() local
4283 db = &cea[i]; in add_cea_modes()
4284 dbl = cea_db_payload_len(db); in add_cea_modes()
4286 if (cea_db_tag(db) == VIDEO_BLOCK) { in add_cea_modes()
4287 video = db + 1; in add_cea_modes()
4290 } else if (cea_db_is_hdmi_vsdb(db)) { in add_cea_modes()
4291 hdmi = db; in add_cea_modes()
4293 } else if (cea_db_is_y420vdb(db)) { in add_cea_modes()
4294 const u8 *vdb420 = &db[2]; in add_cea_modes()
4358 static bool cea_db_is_hdmi_hdr_metadata_block(const u8 *db) in cea_db_is_hdmi_hdr_metadata_block() argument
4360 if (cea_db_tag(db) != USE_EXTENDED_TAG) in cea_db_is_hdmi_hdr_metadata_block()
4363 if (db[1] != HDR_STATIC_METADATA_BLOCK) in cea_db_is_hdmi_hdr_metadata_block()
4366 if (cea_db_payload_len(db) < 3) in cea_db_is_hdmi_hdr_metadata_block()
4388 drm_parse_hdr_metadata_block(struct drm_connector *connector, const u8 *db) in drm_parse_hdr_metadata_block() argument
4392 len = cea_db_payload_len(db); in drm_parse_hdr_metadata_block()
4395 eotf_supported(db); in drm_parse_hdr_metadata_block()
4397 hdr_metadata_type(db); in drm_parse_hdr_metadata_block()
4400 connector->hdr_sink_metadata.hdmi_type1.max_cll = db[4]; in drm_parse_hdr_metadata_block()
4402 connector->hdr_sink_metadata.hdmi_type1.max_fall = db[5]; in drm_parse_hdr_metadata_block()
4404 connector->hdr_sink_metadata.hdmi_type1.min_cll = db[6]; in drm_parse_hdr_metadata_block()
4408 drm_parse_hdmi_vsdb_audio(struct drm_connector *connector, const u8 *db) in drm_parse_hdmi_vsdb_audio() argument
4410 u8 len = cea_db_payload_len(db); in drm_parse_hdmi_vsdb_audio()
4412 if (len >= 6 && (db[6] & (1 << 7))) in drm_parse_hdmi_vsdb_audio()
4415 connector->latency_present[0] = db[8] >> 7; in drm_parse_hdmi_vsdb_audio()
4416 connector->latency_present[1] = (db[8] >> 6) & 1; in drm_parse_hdmi_vsdb_audio()
4419 connector->video_latency[0] = db[9]; in drm_parse_hdmi_vsdb_audio()
4421 connector->audio_latency[0] = db[10]; in drm_parse_hdmi_vsdb_audio()
4423 connector->video_latency[1] = db[11]; in drm_parse_hdmi_vsdb_audio()
4425 connector->audio_latency[1] = db[12]; in drm_parse_hdmi_vsdb_audio()
4511 u8 *db; in drm_edid_to_eld() local
4550 db = &cea[i]; in drm_edid_to_eld()
4551 dbl = cea_db_payload_len(db); in drm_edid_to_eld()
4553 switch (cea_db_tag(db)) { in drm_edid_to_eld()
4559 &db[1], sad_count * 3); in drm_edid_to_eld()
4565 eld[DRM_ELD_SPEAKER] = db[1]; in drm_edid_to_eld()
4569 if (cea_db_is_hdmi_vsdb(db)) in drm_edid_to_eld()
4570 drm_parse_hdmi_vsdb_audio(connector, db); in drm_edid_to_eld()
4626 u8 *db = &cea[i]; in drm_edid_to_sad() local
4628 if (cea_db_tag(db) == AUDIO_BLOCK) { in drm_edid_to_sad()
4631 dbl = cea_db_payload_len(db); in drm_edid_to_sad()
4638 u8 *sad = &db[1 + j * 3]; in drm_edid_to_sad()
4688 const u8 *db = &cea[i]; in drm_edid_to_speaker_allocation() local
4690 if (cea_db_tag(db) == SPEAKER_BLOCK) { in drm_edid_to_speaker_allocation()
4691 dbl = cea_db_payload_len(db); in drm_edid_to_speaker_allocation()
4695 *sadb = kmemdup(&db[1], dbl, GFP_KERNEL); in drm_edid_to_speaker_allocation()
4854 static void drm_parse_vcdb(struct drm_connector *connector, const u8 *db) in drm_parse_vcdb() argument
4858 DRM_DEBUG_KMS("CEA VCDB 0x%02x\n", db[2]); in drm_parse_vcdb()
4860 if (db[2] & EDID_CEA_VCDB_QS) in drm_parse_vcdb()
4865 const u8 *db) in drm_parse_ycbcr420_deep_color_info() argument
4870 dc_mask = db[7] & DRM_EDID_YCBCR420_DC_MASK; in drm_parse_ycbcr420_deep_color_info()
4980 drm_parse_hdmi_vsdb_video(struct drm_connector *connector, const u8 *db) in drm_parse_hdmi_vsdb_video() argument
4983 u8 len = cea_db_payload_len(db); in drm_parse_hdmi_vsdb_video()
4988 info->dvi_dual = db[6] & 1; in drm_parse_hdmi_vsdb_video()
4990 info->max_tmds_clock = db[7] * 5000; in drm_parse_hdmi_vsdb_video()
4997 drm_parse_hdmi_deep_color_info(connector, db); in drm_parse_hdmi_vsdb_video()
5024 const u8 *db = &edid_ext[i]; in drm_parse_cea_ext() local
5026 if (cea_db_is_hdmi_vsdb(db)) in drm_parse_cea_ext()
5027 drm_parse_hdmi_vsdb_video(connector, db); in drm_parse_cea_ext()
5028 if (cea_db_is_hdmi_forum_vsdb(db)) in drm_parse_cea_ext()
5029 drm_parse_hdmi_forum_vsdb(connector, db); in drm_parse_cea_ext()
5030 if (cea_db_is_y420cmdb(db)) in drm_parse_cea_ext()
5031 drm_parse_y420cmdb_bitmap(connector, db); in drm_parse_cea_ext()
5032 if (cea_db_is_vcdb(db)) in drm_parse_cea_ext()
5033 drm_parse_vcdb(connector, db); in drm_parse_cea_ext()
5034 if (cea_db_is_hdmi_hdr_metadata_block(db)) in drm_parse_cea_ext()
5035 drm_parse_hdr_metadata_block(connector, db); in drm_parse_cea_ext()