Lines Matching refs:connector
97 struct drm_connector *connector; member
1845 static void connector_bad_edid(struct drm_connector *connector, in connector_bad_edid() argument
1861 connector->real_edid_checksum = in connector_bad_edid()
1864 if (connector->bad_edid_counter++ && !drm_debug_enabled(DRM_UT_KMS)) in connector_bad_edid()
1867 drm_dbg_kms(connector->dev, "%s: EDID is invalid:\n", connector->name); in connector_bad_edid()
1886 static struct edid *drm_get_override_edid(struct drm_connector *connector) in drm_get_override_edid() argument
1890 if (connector->override_edid) in drm_get_override_edid()
1891 override = drm_edid_duplicate(connector->edid_blob_ptr->data); in drm_get_override_edid()
1894 override = drm_load_edid_firmware(connector); in drm_get_override_edid()
1910 int drm_add_override_edid_modes(struct drm_connector *connector) in drm_add_override_edid_modes() argument
1915 override = drm_get_override_edid(connector); in drm_add_override_edid_modes()
1917 drm_connector_update_edid_property(connector, override); in drm_add_override_edid_modes()
1918 num_modes = drm_add_edid_modes(connector, override); in drm_add_override_edid_modes()
1922 connector->base.id, connector->name, num_modes); in drm_add_override_edid_modes()
1929 static struct edid *drm_do_get_edid_base_block(struct drm_connector *connector, in drm_do_get_edid_base_block() argument
1934 int *null_edid_counter = connector ? &connector->null_edid_counter : NULL; in drm_do_get_edid_base_block()
1935 bool *edid_corrupt = connector ? &connector->edid_corrupt : NULL; in drm_do_get_edid_base_block()
1961 if (connector) in drm_do_get_edid_base_block()
1962 connector_bad_edid(connector, edid, 1); in drm_do_get_edid_base_block()
1988 struct edid *drm_do_get_edid(struct drm_connector *connector, in drm_do_get_edid() argument
1997 override = drm_get_override_edid(connector); in drm_do_get_edid()
2001 edid = (u8 *)drm_do_get_edid_base_block(connector, get_edid_block, data); in drm_do_get_edid()
2032 connector_bad_edid(connector, edid, edid[0x7e] + 1); in drm_do_get_edid()
2090 struct edid *drm_get_edid(struct drm_connector *connector, in drm_get_edid() argument
2095 if (connector->force == DRM_FORCE_OFF) in drm_get_edid()
2098 if (connector->force == DRM_FORCE_UNSPECIFIED && !drm_probe_ddc(adapter)) in drm_get_edid()
2101 edid = drm_do_get_edid(connector, drm_do_probe_ddc_edid, adapter); in drm_get_edid()
2102 drm_connector_update_edid_property(connector, edid); in drm_get_edid()
2183 struct edid *drm_get_edid_switcheroo(struct drm_connector *connector, in drm_get_edid_switcheroo() argument
2186 struct drm_device *dev = connector->dev; in drm_get_edid_switcheroo()
2194 edid = drm_get_edid(connector, adapter); in drm_get_edid_switcheroo()
2247 static void edid_fixup_preferred(struct drm_connector *connector, in edid_fixup_preferred() argument
2254 if (list_empty(&connector->probed_modes)) in edid_fixup_preferred()
2262 preferred_mode = list_first_entry(&connector->probed_modes, in edid_fixup_preferred()
2265 list_for_each_entry_safe(cur_mode, t, &connector->probed_modes, head) { in edid_fixup_preferred()
2534 drm_mode_std(struct drm_connector *connector, struct edid *edid, in drm_mode_std() argument
2537 struct drm_device *dev = connector->dev; in drm_mode_std()
2581 list_for_each_entry(m, &connector->probed_modes, head) in drm_mode_std()
2871 static bool valid_inferred_mode(const struct drm_connector *connector, in valid_inferred_mode() argument
2877 list_for_each_entry(m, &connector->probed_modes, head) { in valid_inferred_mode()
2890 drm_dmt_modes_for_range(struct drm_connector *connector, struct edid *edid, in drm_dmt_modes_for_range() argument
2895 struct drm_device *dev = connector->dev; in drm_dmt_modes_for_range()
2899 valid_inferred_mode(connector, drm_dmt_modes + i)) { in drm_dmt_modes_for_range()
2902 drm_mode_probed_add(connector, newmode); in drm_dmt_modes_for_range()
2925 drm_gtf_modes_for_range(struct drm_connector *connector, struct edid *edid, in drm_gtf_modes_for_range() argument
2930 struct drm_device *dev = connector->dev; in drm_gtf_modes_for_range()
2941 !valid_inferred_mode(connector, newmode)) { in drm_gtf_modes_for_range()
2946 drm_mode_probed_add(connector, newmode); in drm_gtf_modes_for_range()
2954 drm_cvt_modes_for_range(struct drm_connector *connector, struct edid *edid, in drm_cvt_modes_for_range() argument
2959 struct drm_device *dev = connector->dev; in drm_cvt_modes_for_range()
2971 !valid_inferred_mode(connector, newmode)) { in drm_cvt_modes_for_range()
2976 drm_mode_probed_add(connector, newmode); in drm_cvt_modes_for_range()
2993 closure->modes += drm_dmt_modes_for_range(closure->connector, in do_inferred_modes()
3003 closure->modes += drm_gtf_modes_for_range(closure->connector, in do_inferred_modes()
3011 closure->modes += drm_cvt_modes_for_range(closure->connector, in do_inferred_modes()
3022 add_inferred_modes(struct drm_connector *connector, struct edid *edid) in add_inferred_modes() argument
3025 .connector = connector, in add_inferred_modes()
3037 drm_est3_modes(struct drm_connector *connector, struct detailed_timing *timing) in drm_est3_modes() argument
3049 mode = drm_mode_find_dmt(connector->dev, in drm_est3_modes()
3055 drm_mode_probed_add(connector, mode); in drm_est3_modes()
3073 closure->modes += drm_est3_modes(closure->connector, timing); in do_established_modes()
3085 add_established_modes(struct drm_connector *connector, struct edid *edid) in add_established_modes() argument
3087 struct drm_device *dev = connector->dev; in add_established_modes()
3093 .connector = connector, in add_established_modes()
3103 drm_mode_probed_add(connector, newmode); in add_established_modes()
3121 struct drm_connector *connector = closure->connector; in do_standard_modes() local
3132 newmode = drm_mode_std(connector, edid, std); in do_standard_modes()
3134 drm_mode_probed_add(connector, newmode); in do_standard_modes()
3149 add_standard_modes(struct drm_connector *connector, struct edid *edid) in add_standard_modes() argument
3153 .connector = connector, in add_standard_modes()
3160 newmode = drm_mode_std(connector, edid, in add_standard_modes()
3163 drm_mode_probed_add(connector, newmode); in add_standard_modes()
3177 static int drm_cvt_modes(struct drm_connector *connector, in drm_cvt_modes() argument
3182 struct drm_device *dev = connector->dev; in drm_cvt_modes()
3219 drm_mode_probed_add(connector, newmode); in drm_cvt_modes()
3237 closure->modes += drm_cvt_modes(closure->connector, timing); in do_cvt_mode()
3241 add_cvt_modes(struct drm_connector *connector, struct edid *edid) in add_cvt_modes() argument
3244 .connector = connector, in add_cvt_modes()
3267 newmode = drm_mode_detailed(closure->connector->dev, in do_detailed_mode()
3283 drm_mode_probed_add(closure->connector, newmode); in do_detailed_mode()
3295 add_detailed_modes(struct drm_connector *connector, struct edid *edid, in add_detailed_modes() argument
3299 .connector = connector, in add_detailed_modes()
3641 add_alternate_cea_modes(struct drm_connector *connector, struct edid *edid) in add_alternate_cea_modes() argument
3643 struct drm_device *dev = connector->dev; in add_alternate_cea_modes()
3656 list_for_each_entry(mode, &connector->probed_modes, head) { in add_alternate_cea_modes()
3705 drm_mode_probed_add(connector, mode); in add_alternate_cea_modes()
3722 drm_display_mode_from_vic_index(struct drm_connector *connector, in drm_display_mode_from_vic_index() argument
3726 struct drm_device *dev = connector->dev; in drm_display_mode_from_vic_index()
3755 static int do_y420vdb_modes(struct drm_connector *connector, in do_y420vdb_modes() argument
3759 struct drm_device *dev = connector->dev; in do_y420vdb_modes()
3760 struct drm_display_info *info = &connector->display_info; in do_y420vdb_modes()
3774 drm_mode_probed_add(connector, newmode); in do_y420vdb_modes()
3791 drm_add_cmdb_modes(struct drm_connector *connector, u8 svd) in drm_add_cmdb_modes() argument
3794 struct drm_hdmi_info *hdmi = &connector->display_info.hdmi; in drm_add_cmdb_modes()
3831 do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len) in do_cea_modes() argument
3834 struct drm_hdmi_info *hdmi = &connector->display_info.hdmi; in do_cea_modes()
3839 mode = drm_display_mode_from_vic_index(connector, db, len, i); in do_cea_modes()
3851 drm_add_cmdb_modes(connector, db[i]); in do_cea_modes()
3853 drm_mode_probed_add(connector, mode); in do_cea_modes()
3891 static int add_hdmi_mandatory_stereo_modes(struct drm_connector *connector) in add_hdmi_mandatory_stereo_modes() argument
3893 struct drm_device *dev = connector->dev; in add_hdmi_mandatory_stereo_modes()
3900 list_for_each_entry(mode, &connector->probed_modes, head) { in add_hdmi_mandatory_stereo_modes()
3920 list_splice_tail(&stereo_modes, &connector->probed_modes); in add_hdmi_mandatory_stereo_modes()
3925 static int add_hdmi_mode(struct drm_connector *connector, u8 vic) in add_hdmi_mode() argument
3927 struct drm_device *dev = connector->dev; in add_hdmi_mode()
3939 drm_mode_probed_add(connector, newmode); in add_hdmi_mode()
3944 static int add_3d_struct_modes(struct drm_connector *connector, u16 structure, in add_3d_struct_modes() argument
3951 newmode = drm_display_mode_from_vic_index(connector, video_db, in add_3d_struct_modes()
3956 drm_mode_probed_add(connector, newmode); in add_3d_struct_modes()
3961 newmode = drm_display_mode_from_vic_index(connector, video_db, in add_3d_struct_modes()
3966 drm_mode_probed_add(connector, newmode); in add_3d_struct_modes()
3971 newmode = drm_display_mode_from_vic_index(connector, video_db, in add_3d_struct_modes()
3976 drm_mode_probed_add(connector, newmode); in add_3d_struct_modes()
3994 do_hdmi_vsdb_modes(struct drm_connector *connector, const u8 *db, u8 len, in do_hdmi_vsdb_modes() argument
3997 struct drm_display_info *info = &connector->display_info; in do_hdmi_vsdb_modes()
4026 modes += add_hdmi_mandatory_stereo_modes(connector); in do_hdmi_vsdb_modes()
4040 modes += add_hdmi_mode(connector, vic); in do_hdmi_vsdb_modes()
4069 modes += add_3d_struct_modes(connector, in do_hdmi_vsdb_modes()
4108 newmode = drm_display_mode_from_vic_index(connector, in do_hdmi_vsdb_modes()
4115 drm_mode_probed_add(connector, newmode); in do_hdmi_vsdb_modes()
4270 static void drm_parse_y420cmdb_bitmap(struct drm_connector *connector, in drm_parse_y420cmdb_bitmap() argument
4273 struct drm_display_info *info = &connector->display_info; in drm_parse_y420cmdb_bitmap()
4311 add_cea_modes(struct drm_connector *connector, struct edid *edid) in add_cea_modes() argument
4331 modes += do_cea_modes(connector, video, dbl); in add_cea_modes()
4339 modes += do_y420vdb_modes(connector, in add_cea_modes()
4351 modes += do_hdmi_vsdb_modes(connector, hdmi, hdmi_len, video, in add_cea_modes()
4430 drm_parse_hdr_metadata_block(struct drm_connector *connector, const u8 *db) in drm_parse_hdr_metadata_block() argument
4436 connector->hdr_sink_metadata.hdmi_type1.eotf = in drm_parse_hdr_metadata_block()
4438 connector->hdr_sink_metadata.hdmi_type1.metadata_type = in drm_parse_hdr_metadata_block()
4442 connector->hdr_sink_metadata.hdmi_type1.max_cll = db[4]; in drm_parse_hdr_metadata_block()
4444 connector->hdr_sink_metadata.hdmi_type1.max_fall = db[5]; in drm_parse_hdr_metadata_block()
4446 connector->hdr_sink_metadata.hdmi_type1.min_cll = db[6]; in drm_parse_hdr_metadata_block()
4450 drm_parse_hdmi_vsdb_audio(struct drm_connector *connector, const u8 *db) in drm_parse_hdmi_vsdb_audio() argument
4455 connector->eld[DRM_ELD_SAD_COUNT_CONN_TYPE] |= DRM_ELD_SUPPORTS_AI; in drm_parse_hdmi_vsdb_audio()
4457 connector->latency_present[0] = db[8] >> 7; in drm_parse_hdmi_vsdb_audio()
4458 connector->latency_present[1] = (db[8] >> 6) & 1; in drm_parse_hdmi_vsdb_audio()
4461 connector->video_latency[0] = db[9]; in drm_parse_hdmi_vsdb_audio()
4463 connector->audio_latency[0] = db[10]; in drm_parse_hdmi_vsdb_audio()
4465 connector->video_latency[1] = db[11]; in drm_parse_hdmi_vsdb_audio()
4467 connector->audio_latency[1] = db[12]; in drm_parse_hdmi_vsdb_audio()
4472 connector->latency_present[0], in drm_parse_hdmi_vsdb_audio()
4473 connector->latency_present[1], in drm_parse_hdmi_vsdb_audio()
4474 connector->video_latency[0], in drm_parse_hdmi_vsdb_audio()
4475 connector->video_latency[1], in drm_parse_hdmi_vsdb_audio()
4476 connector->audio_latency[0], in drm_parse_hdmi_vsdb_audio()
4477 connector->audio_latency[1]); in drm_parse_hdmi_vsdb_audio()
4529 static void clear_eld(struct drm_connector *connector) in clear_eld() argument
4531 memset(connector->eld, 0, sizeof(connector->eld)); in clear_eld()
4533 connector->latency_present[0] = false; in clear_eld()
4534 connector->latency_present[1] = false; in clear_eld()
4535 connector->video_latency[0] = 0; in clear_eld()
4536 connector->audio_latency[0] = 0; in clear_eld()
4537 connector->video_latency[1] = 0; in clear_eld()
4538 connector->audio_latency[1] = 0; in clear_eld()
4549 static void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid) in drm_edid_to_eld() argument
4551 uint8_t *eld = connector->eld; in drm_edid_to_eld()
4558 clear_eld(connector); in drm_edid_to_eld()
4612 drm_parse_hdmi_vsdb_audio(connector, db); in drm_edid_to_eld()
4621 if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort || in drm_edid_to_eld()
4622 connector->connector_type == DRM_MODE_CONNECTOR_eDP) in drm_edid_to_eld()
4758 int drm_av_sync_delay(struct drm_connector *connector, in drm_av_sync_delay() argument
4764 if (!connector->latency_present[0]) in drm_av_sync_delay()
4766 if (!connector->latency_present[1]) in drm_av_sync_delay()
4769 a = connector->audio_latency[i]; in drm_av_sync_delay()
4770 v = connector->video_latency[i]; in drm_av_sync_delay()
4895 static void drm_parse_vcdb(struct drm_connector *connector, const u8 *db) in drm_parse_vcdb() argument
4897 struct drm_display_info *info = &connector->display_info; in drm_parse_vcdb()
4940 static void drm_parse_ycbcr420_deep_color_info(struct drm_connector *connector, in drm_parse_ycbcr420_deep_color_info() argument
4944 struct drm_hdmi_info *hdmi = &connector->display_info.hdmi; in drm_parse_ycbcr420_deep_color_info()
4950 static void drm_parse_hdmi_forum_vsdb(struct drm_connector *connector, in drm_parse_hdmi_forum_vsdb() argument
4953 struct drm_display_info *display = &connector->display_info; in drm_parse_hdmi_forum_vsdb()
5061 drm_parse_ycbcr420_deep_color_info(connector, hf_vsdb); in drm_parse_hdmi_forum_vsdb()
5064 static void drm_parse_hdmi_deep_color_info(struct drm_connector *connector, in drm_parse_hdmi_deep_color_info() argument
5067 struct drm_display_info *info = &connector->display_info; in drm_parse_hdmi_deep_color_info()
5080 connector->name); in drm_parse_hdmi_deep_color_info()
5087 connector->name); in drm_parse_hdmi_deep_color_info()
5094 connector->name); in drm_parse_hdmi_deep_color_info()
5099 connector->name); in drm_parse_hdmi_deep_color_info()
5104 connector->name, dc_bpc); in drm_parse_hdmi_deep_color_info()
5118 connector->name); in drm_parse_hdmi_deep_color_info()
5127 connector->name); in drm_parse_hdmi_deep_color_info()
5132 drm_parse_hdmi_vsdb_video(struct drm_connector *connector, const u8 *db) in drm_parse_hdmi_vsdb_video() argument
5134 struct drm_display_info *info = &connector->display_info; in drm_parse_hdmi_vsdb_video()
5149 drm_parse_hdmi_deep_color_info(connector, db); in drm_parse_hdmi_vsdb_video()
5152 static void drm_parse_cea_ext(struct drm_connector *connector, in drm_parse_cea_ext() argument
5155 struct drm_display_info *info = &connector->display_info; in drm_parse_cea_ext()
5179 drm_parse_hdmi_vsdb_video(connector, db); in drm_parse_cea_ext()
5181 drm_parse_hdmi_forum_vsdb(connector, db); in drm_parse_cea_ext()
5183 drm_parse_y420cmdb_bitmap(connector, db); in drm_parse_cea_ext()
5185 drm_parse_vcdb(connector, db); in drm_parse_cea_ext()
5187 drm_parse_hdr_metadata_block(connector, db); in drm_parse_cea_ext()
5216 void drm_get_monitor_range(struct drm_connector *connector, in drm_get_monitor_range() argument
5219 struct drm_display_info *info = &connector->display_info; in drm_get_monitor_range()
5232 static void drm_parse_vesa_mso_data(struct drm_connector *connector, in drm_parse_vesa_mso_data() argument
5237 struct drm_display_info *info = &connector->display_info; in drm_parse_vesa_mso_data()
5240 drm_dbg_kms(connector->dev, "Unexpected vendor block size %u\n", in drm_parse_vesa_mso_data()
5249 drm_dbg_kms(connector->dev, "Unexpected VESA vendor block size\n"); in drm_parse_vesa_mso_data()
5255 drm_dbg_kms(connector->dev, "Reserved MSO mode value\n"); in drm_parse_vesa_mso_data()
5275 drm_dbg_kms(connector->dev, "Reserved MSO pixel overlap value %u\n", in drm_parse_vesa_mso_data()
5280 drm_dbg_kms(connector->dev, "MSO stream count %u, pixel overlap %u\n", in drm_parse_vesa_mso_data()
5284 static void drm_update_mso(struct drm_connector *connector, const struct edid *edid) in drm_update_mso() argument
5292 drm_parse_vesa_mso_data(connector, block); in drm_update_mso()
5301 drm_reset_display_info(struct drm_connector *connector) in drm_reset_display_info() argument
5303 struct drm_display_info *info = &connector->display_info; in drm_reset_display_info()
5325 u32 drm_add_display_info(struct drm_connector *connector, const struct edid *edid) in drm_add_display_info() argument
5327 struct drm_display_info *info = &connector->display_info; in drm_add_display_info()
5331 drm_reset_display_info(connector); in drm_add_display_info()
5338 drm_get_monitor_range(connector, edid); in drm_add_display_info()
5348 drm_parse_cea_ext(connector, edid); in drm_add_display_info()
5361 connector->name, info->bpc); in drm_add_display_info()
5394 connector->name, info->bpc); in drm_add_display_info()
5402 drm_update_mso(connector, edid); in drm_add_display_info()
5452 static int add_displayid_detailed_1_modes(struct drm_connector *connector, in add_displayid_detailed_1_modes() argument
5468 newmode = drm_mode_displayid_detailed(connector->dev, timings); in add_displayid_detailed_1_modes()
5472 drm_mode_probed_add(connector, newmode); in add_displayid_detailed_1_modes()
5478 static int add_displayid_detailed_modes(struct drm_connector *connector, in add_displayid_detailed_modes() argument
5488 num_modes += add_displayid_detailed_1_modes(connector, block); in add_displayid_detailed_modes()
5506 int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid) in drm_add_edid_modes() argument
5512 clear_eld(connector); in drm_add_edid_modes()
5516 clear_eld(connector); in drm_add_edid_modes()
5517 drm_warn(connector->dev, "%s: EDID invalid.\n", in drm_add_edid_modes()
5518 connector->name); in drm_add_edid_modes()
5522 drm_edid_to_eld(connector, edid); in drm_add_edid_modes()
5529 quirks = drm_add_display_info(connector, edid); in drm_add_edid_modes()
5545 num_modes += add_detailed_modes(connector, edid, quirks); in drm_add_edid_modes()
5546 num_modes += add_cvt_modes(connector, edid); in drm_add_edid_modes()
5547 num_modes += add_standard_modes(connector, edid); in drm_add_edid_modes()
5548 num_modes += add_established_modes(connector, edid); in drm_add_edid_modes()
5549 num_modes += add_cea_modes(connector, edid); in drm_add_edid_modes()
5550 num_modes += add_alternate_cea_modes(connector, edid); in drm_add_edid_modes()
5551 num_modes += add_displayid_detailed_modes(connector, edid); in drm_add_edid_modes()
5553 num_modes += add_inferred_modes(connector, edid); in drm_add_edid_modes()
5556 edid_fixup_preferred(connector, quirks); in drm_add_edid_modes()
5559 connector->display_info.bpc = 6; in drm_add_edid_modes()
5562 connector->display_info.bpc = 8; in drm_add_edid_modes()
5565 connector->display_info.bpc = 10; in drm_add_edid_modes()
5568 connector->display_info.bpc = 12; in drm_add_edid_modes()
5585 int drm_add_modes_noedid(struct drm_connector *connector, in drm_add_modes_noedid() argument
5590 struct drm_device *dev = connector->dev; in drm_add_modes_noedid()
5615 drm_mode_probed_add(connector, mode); in drm_add_modes_noedid()
5632 void drm_set_preferred_mode(struct drm_connector *connector, in drm_set_preferred_mode() argument
5637 list_for_each_entry(mode, &connector->probed_modes, head) { in drm_set_preferred_mode()
5645 static bool is_hdmi2_sink(const struct drm_connector *connector) in is_hdmi2_sink() argument
5651 if (!connector) in is_hdmi2_sink()
5654 return connector->display_info.hdmi.scdc.supported || in is_hdmi2_sink()
5655 connector->display_info.color_formats & DRM_COLOR_FORMAT_YCRCB420; in is_hdmi2_sink()
5675 struct drm_connector *connector; in drm_hdmi_infoframe_set_hdr_metadata() local
5682 connector = conn_state->connector; in drm_hdmi_infoframe_set_hdr_metadata()
5689 if (!hdr_metadata || !connector) in drm_hdmi_infoframe_set_hdr_metadata()
5694 connector->hdr_sink_metadata.hdmi_type1.eotf)) { in drm_hdmi_infoframe_set_hdr_metadata()
5730 static u8 drm_mode_hdmi_vic(const struct drm_connector *connector, in drm_mode_hdmi_vic() argument
5733 bool has_hdmi_infoframe = connector ? in drm_mode_hdmi_vic()
5734 connector->display_info.has_hdmi_infoframe : false; in drm_mode_hdmi_vic()
5746 static u8 drm_mode_cea_vic(const struct drm_connector *connector, in drm_mode_cea_vic() argument
5757 if (drm_mode_hdmi_vic(connector, mode)) in drm_mode_cea_vic()
5767 if (!is_hdmi2_sink(connector) && vic > 64) in drm_mode_cea_vic()
5784 const struct drm_connector *connector, in drm_hdmi_avi_infoframe_from_display_mode() argument
5798 vic = drm_mode_cea_vic(connector, mode); in drm_hdmi_avi_infoframe_from_display_mode()
5799 hdmi_vic = drm_mode_hdmi_vic(connector, mode); in drm_hdmi_avi_infoframe_from_display_mode()
5931 const struct drm_connector *connector, in drm_hdmi_avi_infoframe_quant_range() argument
5935 const struct drm_display_info *info = &connector->display_info; in drm_hdmi_avi_infoframe_quant_range()
5966 if (!is_hdmi2_sink(connector) || in drm_hdmi_avi_infoframe_quant_range()
6035 const struct drm_connector *connector, in drm_hdmi_vendor_infoframe_from_display_mode() argument
6042 bool has_hdmi_infoframe = connector ? in drm_hdmi_vendor_infoframe_from_display_mode()
6043 connector->display_info.has_hdmi_infoframe : false; in drm_hdmi_vendor_infoframe_from_display_mode()
6065 frame->vic = drm_mode_hdmi_vic(connector, mode); in drm_hdmi_vendor_infoframe_from_display_mode()
6072 static void drm_parse_tiled_block(struct drm_connector *connector, in drm_parse_tiled_block() argument
6089 connector->has_tile = true; in drm_parse_tiled_block()
6091 connector->tile_is_single_monitor = true; in drm_parse_tiled_block()
6093 connector->num_h_tile = num_h_tile + 1; in drm_parse_tiled_block()
6094 connector->num_v_tile = num_v_tile + 1; in drm_parse_tiled_block()
6095 connector->tile_h_loc = tile_h_loc; in drm_parse_tiled_block()
6096 connector->tile_v_loc = tile_v_loc; in drm_parse_tiled_block()
6097 connector->tile_h_size = w + 1; in drm_parse_tiled_block()
6098 connector->tile_v_size = h + 1; in drm_parse_tiled_block()
6106 tg = drm_mode_get_tile_group(connector->dev, tile->topology_id); in drm_parse_tiled_block()
6108 tg = drm_mode_create_tile_group(connector->dev, tile->topology_id); in drm_parse_tiled_block()
6112 if (connector->tile_group != tg) { in drm_parse_tiled_block()
6115 if (connector->tile_group) in drm_parse_tiled_block()
6116 drm_mode_put_tile_group(connector->dev, connector->tile_group); in drm_parse_tiled_block()
6117 connector->tile_group = tg; in drm_parse_tiled_block()
6120 drm_mode_put_tile_group(connector->dev, tg); in drm_parse_tiled_block()
6124 void drm_update_tile_info(struct drm_connector *connector, in drm_update_tile_info() argument
6130 connector->has_tile = false; in drm_update_tile_info()
6135 drm_parse_tiled_block(connector, block); in drm_update_tile_info()
6139 if (!connector->has_tile && connector->tile_group) { in drm_update_tile_info()
6140 drm_mode_put_tile_group(connector->dev, connector->tile_group); in drm_update_tile_info()
6141 connector->tile_group = NULL; in drm_update_tile_info()