Lines Matching refs:connector

74 	struct drm_connector *connector;  member
325 drm_do_get_edid(struct drm_connector *connector, device_t adapter) in drm_do_get_edid() argument
329 bool print_bad_edid = !connector->bad_edid_counter || (drm_debug & DRM_DEBUGBITS_KMS); in drm_do_get_edid()
341 connector->null_edid_counter++; in drm_do_get_edid()
373 dev_warn(connector->dev->dev, in drm_do_get_edid()
375 drm_get_connector_name(connector), j); in drm_do_get_edid()
377 connector->bad_edid_counter++; in drm_do_get_edid()
395 dev_warn(connector->dev->dev, "%s: EDID block %d invalid.\n", in drm_do_get_edid()
396 drm_get_connector_name(connector), j); in drm_do_get_edid()
398 connector->bad_edid_counter++; in drm_do_get_edid()
430 struct edid *drm_get_edid(struct drm_connector *connector, in drm_get_edid() argument
436 edid = (struct edid *)drm_do_get_edid(connector, adapter); in drm_get_edid()
496 static void edid_fixup_preferred(struct drm_connector *connector, in edid_fixup_preferred() argument
502 if (list_empty(&connector->probed_modes)) in edid_fixup_preferred()
510 preferred_mode = list_first_entry(&connector->probed_modes, in edid_fixup_preferred()
513 list_for_each_entry_safe(cur_mode, t, &connector->probed_modes, head) { in edid_fixup_preferred()
740 drm_mode_std(struct drm_connector *connector, struct edid *edid, in drm_mode_std() argument
743 struct drm_device *dev = connector->dev; in drm_mode_std()
787 list_for_each_entry(m, &connector->probed_modes, head) in drm_mode_std()
1076 static bool valid_inferred_mode(const struct drm_connector *connector, in valid_inferred_mode() argument
1082 list_for_each_entry(m, &connector->probed_modes, head) { in valid_inferred_mode()
1095 drm_dmt_modes_for_range(struct drm_connector *connector, struct edid *edid, in drm_dmt_modes_for_range() argument
1100 struct drm_device *dev = connector->dev; in drm_dmt_modes_for_range()
1104 valid_inferred_mode(connector, drm_dmt_modes + i)) { in drm_dmt_modes_for_range()
1107 drm_mode_probed_add(connector, newmode); in drm_dmt_modes_for_range()
1130 drm_gtf_modes_for_range(struct drm_connector *connector, struct edid *edid, in drm_gtf_modes_for_range() argument
1135 struct drm_device *dev = connector->dev; in drm_gtf_modes_for_range()
1145 !valid_inferred_mode(connector, newmode)) { in drm_gtf_modes_for_range()
1150 drm_mode_probed_add(connector, newmode); in drm_gtf_modes_for_range()
1158 drm_cvt_modes_for_range(struct drm_connector *connector, struct edid *edid, in drm_cvt_modes_for_range() argument
1163 struct drm_device *dev = connector->dev; in drm_cvt_modes_for_range()
1174 !valid_inferred_mode(connector, newmode)) { in drm_cvt_modes_for_range()
1179 drm_mode_probed_add(connector, newmode); in drm_cvt_modes_for_range()
1196 closure->modes += drm_dmt_modes_for_range(closure->connector, in do_inferred_modes()
1206 closure->modes += drm_gtf_modes_for_range(closure->connector, in do_inferred_modes()
1214 closure->modes += drm_cvt_modes_for_range(closure->connector, in do_inferred_modes()
1225 add_inferred_modes(struct drm_connector *connector, struct edid *edid) in add_inferred_modes() argument
1228 connector, edid, 0, 0, 0 in add_inferred_modes()
1239 drm_est3_modes(struct drm_connector *connector, struct detailed_timing *timing) in drm_est3_modes() argument
1251 mode = drm_mode_find_dmt(connector->dev, in drm_est3_modes()
1257 drm_mode_probed_add(connector, mode); in drm_est3_modes()
1274 closure->modes += drm_est3_modes(closure->connector, timing); in do_established_modes()
1285 add_established_modes(struct drm_connector *connector, struct edid *edid) in add_established_modes() argument
1287 struct drm_device *dev = connector->dev; in add_established_modes()
1293 connector, edid, 0, 0, 0 in add_established_modes()
1301 drm_mode_probed_add(connector, newmode); in add_established_modes()
1319 struct drm_connector *connector = closure->connector; in do_standard_modes() local
1329 newmode = drm_mode_std(connector, edid, std, in do_standard_modes()
1332 drm_mode_probed_add(connector, newmode); in do_standard_modes()
1347 add_standard_modes(struct drm_connector *connector, struct edid *edid) in add_standard_modes() argument
1351 connector, edid, 0, 0, 0 in add_standard_modes()
1357 newmode = drm_mode_std(connector, edid, in add_standard_modes()
1361 drm_mode_probed_add(connector, newmode); in add_standard_modes()
1375 static int drm_cvt_modes(struct drm_connector *connector, in drm_cvt_modes() argument
1380 struct drm_device *dev = connector->dev; in drm_cvt_modes()
1414 drm_mode_probed_add(connector, newmode); in drm_cvt_modes()
1431 closure->modes += drm_cvt_modes(closure->connector, timing); in do_cvt_mode()
1435 add_cvt_modes(struct drm_connector *connector, struct edid *edid) in add_cvt_modes() argument
1438 connector, edid, 0, 0, 0 in add_cvt_modes()
1456 newmode = drm_mode_detailed(closure->connector->dev, in do_detailed_mode()
1465 drm_mode_probed_add(closure->connector, newmode); in do_detailed_mode()
1478 add_detailed_modes(struct drm_connector *connector, struct edid *edid, in add_detailed_modes() argument
1482 connector, in add_detailed_modes()
1554 do_cea_modes (struct drm_connector *connector, u8 *db, u8 len) in do_cea_modes() argument
1556 struct drm_device *dev = connector->dev; in do_cea_modes()
1567 drm_mode_probed_add(connector, newmode); in do_cea_modes()
1611 add_cea_modes(struct drm_connector *connector, struct edid *edid) in add_cea_modes() argument
1628 modes += do_cea_modes (connector, db+1, dbl); in add_cea_modes()
1636 parse_hdmi_vsdb(struct drm_connector *connector, const u8 *db) in parse_hdmi_vsdb() argument
1641 connector->eld[5] |= (db[6] >> 7) << 1; /* Supports_AI */ in parse_hdmi_vsdb()
1642 connector->dvi_dual = db[6] & 1; in parse_hdmi_vsdb()
1645 connector->max_tmds_clock = db[7] * 5; in parse_hdmi_vsdb()
1647 connector->latency_present[0] = db[8] >> 7; in parse_hdmi_vsdb()
1648 connector->latency_present[1] = (db[8] >> 6) & 1; in parse_hdmi_vsdb()
1651 connector->video_latency[0] = db[9]; in parse_hdmi_vsdb()
1653 connector->audio_latency[0] = db[10]; in parse_hdmi_vsdb()
1655 connector->video_latency[1] = db[11]; in parse_hdmi_vsdb()
1657 connector->audio_latency[1] = db[12]; in parse_hdmi_vsdb()
1664 connector->dvi_dual, in parse_hdmi_vsdb()
1665 connector->max_tmds_clock, in parse_hdmi_vsdb()
1666 (int) connector->latency_present[0], in parse_hdmi_vsdb()
1667 (int) connector->latency_present[1], in parse_hdmi_vsdb()
1668 connector->video_latency[0], in parse_hdmi_vsdb()
1669 connector->video_latency[1], in parse_hdmi_vsdb()
1670 connector->audio_latency[0], in parse_hdmi_vsdb()
1671 connector->audio_latency[1]); in parse_hdmi_vsdb()
1707 void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid) in drm_edid_to_eld() argument
1709 uint8_t *eld = connector->eld; in drm_edid_to_eld()
1717 memset(eld, 0, sizeof(connector->eld)); in drm_edid_to_eld()
1769 parse_hdmi_vsdb(connector, db); in drm_edid_to_eld()
1788 int drm_av_sync_delay(struct drm_connector *connector, in drm_av_sync_delay() argument
1794 if (!connector->latency_present[0]) in drm_av_sync_delay()
1796 if (!connector->latency_present[1]) in drm_av_sync_delay()
1799 a = connector->audio_latency[i]; in drm_av_sync_delay()
1800 v = connector->video_latency[i]; in drm_av_sync_delay()
1832 struct drm_connector *connector; in drm_select_eld() local
1835 list_for_each_entry(connector, &dev->mode_config.connector_list, head) in drm_select_eld()
1836 if (connector->encoder == encoder && connector->eld[0]) in drm_select_eld()
1837 return connector; in drm_select_eld()
2006 int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid) in drm_add_edid_modes() argument
2015 dev_warn(connector->dev->dev, "%s: EDID invalid.\n", in drm_add_edid_modes()
2016 drm_get_connector_name(connector)); in drm_add_edid_modes()
2036 num_modes += add_detailed_modes(connector, edid, quirks); in drm_add_edid_modes()
2037 num_modes += add_cvt_modes(connector, edid); in drm_add_edid_modes()
2038 num_modes += add_standard_modes(connector, edid); in drm_add_edid_modes()
2039 num_modes += add_established_modes(connector, edid); in drm_add_edid_modes()
2041 num_modes += add_inferred_modes(connector, edid); in drm_add_edid_modes()
2042 num_modes += add_cea_modes(connector, edid); in drm_add_edid_modes()
2045 edid_fixup_preferred(connector, quirks); in drm_add_edid_modes()
2047 drm_add_display_info(edid, &connector->display_info); in drm_add_edid_modes()
2064 int drm_add_modes_noedid(struct drm_connector *connector, in drm_add_modes_noedid() argument
2069 struct drm_device *dev = connector->dev; in drm_add_modes_noedid()
2093 drm_mode_probed_add(connector, mode); in drm_add_modes_noedid()