Lines Matching refs:connector

45  * 						connector list
48 * Some userspace presumes that the first connected connector is the main
51 * (eDP/LVDS) panels to the front of the connector list, instead of
56 struct drm_connector *connector, *tmp;
62 list_for_each_entry_safe(connector, tmp, struct drm_connector,
64 if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS ||
65 connector->connector_type == DRM_MODE_CONNECTOR_eDP)
66 list_move_tail(&connector->head, &panel_list, (caddr_t)connector);
74 static void drm_mode_validate_flag(struct drm_connector *connector,
82 list_for_each_entry(mode, struct drm_display_mode, &connector->modes, head) {
104 * modes on them. Modes will first be added to the connector's probed_modes
114 * Number of modes found on @connector.
116 int drm_helper_probe_single_connector_modes(struct drm_connector *connector,
119 struct drm_device *dev = connector->dev;
122 connector->helper_private;
127 DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n", connector->base.id,
128 drm_get_connector_name(connector));
130 list_for_each_entry(mode, struct drm_display_mode, &connector->modes, head)
133 if (connector->force) {
134 if (connector->force == DRM_FORCE_ON)
135 connector->status = connector_status_connected;
137 connector->status = connector_status_disconnected;
138 if (connector->funcs->force)
139 connector->funcs->force(connector);
141 connector->status = connector->funcs->detect(connector, true);
149 if (connector->status == connector_status_disconnected) {
151 connector->base.id, drm_get_connector_name(connector));
152 (void) drm_mode_connector_update_edid_property(connector, NULL);
158 count = drm_load_edid_firmware(connector);
161 count = (*connector_funcs->get_modes)(connector);
163 if (count == 0 && connector->status == connector_status_connected)
164 count = drm_add_modes_noedid(connector, 1024, 768);
168 drm_mode_connector_list_update(connector);
171 drm_mode_validate_size(dev, &connector->modes, maxX,
174 if (connector->interlace_allowed)
176 if (connector->doublescan_allowed)
178 drm_mode_validate_flag(connector, mode_flags);
180 list_for_each_entry(mode, struct drm_display_mode, &connector->modes, head){
182 mode->status = connector_funcs->mode_valid(connector,
187 drm_mode_prune_invalid(dev, &connector->modes, verbose_prune);
189 if (list_empty(&connector->modes))
192 list_for_each_entry(mode, struct drm_display_mode, &connector->modes, head)
195 drm_mode_sort(&connector->modes);
197 DRM_DEBUG_KMS("[CONNECTOR:%d:%s] probed modes :\n", connector->base.id,
198 drm_get_connector_name(connector));
199 list_for_each_entry(mode, struct drm_display_mode, &connector->modes, head){
222 struct drm_connector *connector;
224 list_for_each_entry(connector, struct drm_connector, &dev->mode_config.connector_list, head)
225 if (connector->encoder == encoder)
270 * If an connector or CRTC isn't part of @dev's mode_config, it can be disabled
276 struct drm_connector *connector;
279 list_for_each_entry(connector, struct drm_connector, &dev->mode_config.connector_list, head) {
280 if (!connector->encoder)
282 if (connector->status == connector_status_disconnected)
283 connector->encoder = NULL;
289 /* disconnector encoder from any connector */
418 * adjust it according to limitations or connector properties, and also
511 struct drm_connector *connector;
519 list_for_each_entry(connector, struct drm_connector, &dev->mode_config.connector_list, head) {
520 if (connector->encoder != encoder)
523 connector->encoder = NULL;
555 struct drm_connector *save_connectors, *connector;
589 * connector data. */
625 list_for_each_entry(connector, struct drm_connector, &dev->mode_config.connector_list, head) {
626 save_connectors[count++] = *connector;
661 /* a) traverse passed in connector list and get encoders for them */
663 list_for_each_entry(connector, struct drm_connector, &dev->mode_config.connector_list, head) {
665 connector->helper_private;
666 new_encoder = connector->encoder;
668 if (set->connectors[ro] == connector) {
669 new_encoder = connector_funcs->best_encoder(connector);
670 /* if we can't get an encoder for a connector
677 if (connector->dpms != DRM_MODE_DPMS_ON) {
678 DRM_DEBUG_KMS("connector dpms not on, full mode switch\n");
685 if (new_encoder != connector->encoder) {
688 /* If the encoder is reused for another connector, then
691 if (connector->encoder)
692 connector->encoder->crtc = NULL;
693 connector->encoder = new_encoder;
703 list_for_each_entry(connector, struct drm_connector, &dev->mode_config.connector_list, head) {
704 if (!connector->encoder)
707 if (connector->encoder->crtc == set->crtc)
710 new_crtc = connector->encoder->crtc;
713 if (set->connectors[ro] == connector)
719 !drm_encoder_crtc_ok(connector->encoder, new_crtc)) {
723 if (new_crtc != connector->encoder->crtc) {
726 connector->encoder->crtc = new_crtc;
730 connector->base.id, drm_get_connector_name(connector),
734 connector->base.id, drm_get_connector_name(connector));
759 DRM_DEBUG_KMS("Setting connector DPMS state to on\n");
800 list_for_each_entry(connector, struct drm_connector, &dev->mode_config.connector_list, head) {
801 *connector = save_connectors[count++];
820 struct drm_connector *connector;
823 list_for_each_entry(connector, struct drm_connector, &dev->mode_config.connector_list, head)
824 if (connector->encoder == encoder)
825 if (connector->dpms < dpms)
826 dpms = connector->dpms;
833 struct drm_connector *connector;
836 list_for_each_entry(connector, struct drm_connector, &dev->mode_config.connector_list, head)
837 if (connector->encoder && connector->encoder->crtc == crtc)
838 if (connector->dpms < dpms)
839 dpms = connector->dpms;
845 * @connector affected connector
849 * implementing the DPMS connector attribute. It computes the new desired DPMS
853 void drm_helper_connector_dpms(struct drm_connector *connector, int mode)
855 struct drm_encoder *encoder = connector->encoder;
859 if (mode == connector->dpms)
862 old_dpms = connector->dpms;
863 connector->dpms = mode;
972 struct drm_connector *connector;
980 list_for_each_entry(connector, struct drm_connector, &dev->mode_config.connector_list, head) {
983 if (connector->force)
988 if (!connector->polled || connector->polled == DRM_CONNECTOR_POLL_HPD)
993 old_status = connector->status;
997 !(connector->polled & DRM_CONNECTOR_POLL_DISCONNECT))
1000 connector->status = connector->funcs->detect(connector, false);
1001 if (old_status != connector->status) {
1005 new = drm_get_connector_status_name(connector->status);
1009 connector->base.id,
1010 drm_get_connector_name(connector),
1043 struct drm_connector *connector;
1048 list_for_each_entry(connector, struct drm_connector, &dev->mode_config.connector_list, head) {
1049 if (connector->polled)