Lines Matching refs:connector

74 	struct drm_connector *connector;
1055 drm_do_get_edid(struct drm_connector *connector, struct i2c_adapter *adapter)
1059 bool print_bad_edid = !connector->bad_edid_counter;
1072 connector->null_edid_counter++;
1096 drm_get_connector_name(connector), j);
1109 drm_get_connector_name(connector), j);
1111 connector->bad_edid_counter++;
1134 * @connector: connector we're probing
1138 * attach it to the connector.
1142 struct edid *drm_get_edid(struct drm_connector *connector,
1148 edid = drm_do_get_edid(connector, adapter);
1201 * @connector: has mode list to fix up
1204 * Walk the mode list for @connector, clearing the preferred status
1207 static void edid_fixup_preferred(struct drm_connector *connector,
1213 if (list_empty(&connector->probed_modes))
1221 preferred_mode = list_first_entry(&connector->probed_modes,
1224 list_for_each_entry_safe(cur_mode, t, struct drm_display_mode, &connector->probed_modes, head) {
1450 drm_mode_std(struct drm_connector *connector, struct edid *edid,
1453 struct drm_device *dev = connector->dev;
1492 * If this connector already has a mode for this size and refresh
1497 list_for_each_entry(m, struct drm_display_mode, &connector->probed_modes, head)
1785 static bool valid_inferred_mode(const struct drm_connector *connector,
1791 list_for_each_entry(m, struct drm_display_mode, &connector->probed_modes, head) {
1804 drm_dmt_modes_for_range(struct drm_connector *connector, struct edid *edid,
1809 struct drm_device *dev = connector->dev;
1813 valid_inferred_mode(connector, drm_dmt_modes + i)) {
1816 drm_mode_probed_add(connector, newmode);
1839 drm_gtf_modes_for_range(struct drm_connector *connector, struct edid *edid,
1844 struct drm_device *dev = connector->dev;
1854 !valid_inferred_mode(connector, newmode)) {
1859 drm_mode_probed_add(connector, newmode);
1867 drm_cvt_modes_for_range(struct drm_connector *connector, struct edid *edid,
1872 struct drm_device *dev = connector->dev;
1883 !valid_inferred_mode(connector, newmode)) {
1888 drm_mode_probed_add(connector, newmode);
1905 closure->modes += drm_dmt_modes_for_range(closure->connector,
1915 closure->modes += drm_gtf_modes_for_range(closure->connector,
1923 closure->modes += drm_cvt_modes_for_range(closure->connector,
1934 add_inferred_modes(struct drm_connector *connector, struct edid *edid)
1937 connector, edid, 0, 0, 0
1948 drm_est3_modes(struct drm_connector *connector, struct detailed_timing *timing)
1960 mode = drm_mode_find_dmt(connector->dev,
1966 drm_mode_probed_add(connector, mode);
1983 closure->modes += drm_est3_modes(closure->connector, timing);
1994 add_established_modes(struct drm_connector *connector, struct edid *edid)
1996 struct drm_device *dev = connector->dev;
2002 connector, edid, 0, 0, 0
2010 drm_mode_probed_add(connector, newmode);
2028 struct drm_connector *connector = closure->connector;
2038 newmode = drm_mode_std(connector, edid, std,
2041 drm_mode_probed_add(connector, newmode);
2056 add_standard_modes(struct drm_connector *connector, struct edid *edid)
2060 connector, edid, 0, 0, 0
2066 newmode = drm_mode_std(connector, edid,
2070 drm_mode_probed_add(connector, newmode);
2084 static int drm_cvt_modes(struct drm_connector *connector,
2089 struct drm_device *dev = connector->dev;
2123 drm_mode_probed_add(connector, newmode);
2140 closure->modes += drm_cvt_modes(closure->connector, timing);
2144 add_cvt_modes(struct drm_connector *connector, struct edid *edid)
2147 connector, edid, 0, 0, 0
2165 newmode = drm_mode_detailed(closure->connector->dev,
2174 drm_mode_probed_add(closure->connector, newmode);
2182 * @connector: attached connector
2187 add_detailed_modes(struct drm_connector *connector, struct edid *edid,
2191 connector,
2299 add_alternate_cea_modes(struct drm_connector *connector, struct edid *edid)
2301 struct drm_device *dev = connector->dev;
2317 list_for_each_entry(mode, struct drm_display_mode, &connector->probed_modes, head) {
2355 drm_mode_probed_add(connector, mode);
2363 do_cea_modes (struct drm_connector *connector, u8 *db, u8 len)
2365 struct drm_device *dev = connector->dev;
2377 drm_mode_probed_add(connector, newmode);
2421 add_cea_modes(struct drm_connector *connector, struct edid *edid)
2438 modes += do_cea_modes (connector, db+1, dbl);
2446 parse_hdmi_vsdb(struct drm_connector *connector, const u8 *db)
2451 connector->eld[5] |= (db[6] >> 7) << 1; /* Supports_AI */
2452 connector->dvi_dual = db[6] & 1;
2455 connector->max_tmds_clock = db[7] * 5;
2457 connector->latency_present[0] = db[8] >> 7;
2458 connector->latency_present[1] = (db[8] >> 6) & 1;
2461 connector->video_latency[0] = db[9];
2463 connector->audio_latency[0] = db[10];
2465 connector->video_latency[1] = db[11];
2467 connector->audio_latency[1] = db[12];
2474 connector->dvi_dual,
2475 connector->max_tmds_clock,
2476 (int) connector->latency_present[0],
2477 (int) connector->latency_present[1],
2478 connector->video_latency[0],
2479 connector->video_latency[1],
2480 connector->audio_latency[0],
2481 connector->audio_latency[1]);
2508 * @connector: connector corresponding to the HDMI/DP sink
2517 void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid)
2519 uint8_t *eld = connector->eld;
2527 (void) memset(eld, 0, sizeof(connector->eld));
2579 parse_hdmi_vsdb(connector, db);
2652 * @connector: connector associated with the HDMI/DP sink
2655 int drm_av_sync_delay(struct drm_connector *connector,
2661 if (!connector->latency_present[0])
2663 if (!connector->latency_present[1])
2666 a = connector->audio_latency[i];
2667 v = connector->video_latency[i];
2699 struct drm_connector *connector;
2702 list_for_each_entry(connector, struct drm_connector, &dev->mode_config.connector_list, head)
2703 if (connector->encoder == encoder && connector->eld[0])
2704 return connector;
2818 * @info: display info (attached to connector)
2821 * structure that's part of the connector. Useful for tracking bpp and
2893 * @connector: connector we're probing
2896 * Add the specified modes to the connector's mode list.
2900 int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid)
2910 drm_get_connector_name(connector));
2930 num_modes += add_detailed_modes(connector, edid, quirks);
2931 num_modes += add_cvt_modes(connector, edid);
2932 num_modes += add_standard_modes(connector, edid);
2933 num_modes += add_established_modes(connector, edid);
2935 num_modes += add_inferred_modes(connector, edid);
2936 num_modes += add_cea_modes(connector, edid);
2937 num_modes += add_alternate_cea_modes(connector, edid);
2940 edid_fixup_preferred(connector, quirks);
2942 drm_add_display_info(edid, &connector->display_info);
2949 * @connector: connector we're probing
2953 * Add the specified modes to the connector's mode list. Only when the
2958 int drm_add_modes_noedid(struct drm_connector *connector,
2963 struct drm_device *dev = connector->dev;
2977 * the connector.
2987 drm_mode_probed_add(connector, mode);