Lines Matching refs:connector
118 drm_connector_has_preferred_mode(struct drm_connector *connector, int width, int height) in drm_connector_has_preferred_mode() argument
122 list_for_each_entry(mode, &connector->modes, head) { in drm_connector_has_preferred_mode()
133 drm_connector_pick_cmdline_mode(struct drm_connector *connector) in drm_connector_pick_cmdline_mode() argument
139 cmdline_mode = &connector->cmdline_mode; in drm_connector_pick_cmdline_mode()
151 list_for_each_entry(mode, &connector->modes, head) { in drm_connector_pick_cmdline_mode()
182 mode = drm_mode_create_from_cmdline_mode(connector->dev, cmdline_mode); in drm_connector_pick_cmdline_mode()
184 list_add(&mode->head, &connector->modes); in drm_connector_pick_cmdline_mode()
189 static bool drm_connector_enabled(struct drm_connector *connector, bool strict) in drm_connector_enabled() argument
193 if (connector->display_info.non_desktop) in drm_connector_enabled()
197 enable = connector->status == connector_status_connected; in drm_connector_enabled()
199 enable = connector->status != connector_status_disconnected; in drm_connector_enabled()
209 struct drm_connector *connector; in drm_client_connectors_enabled() local
213 connector = connectors[i]; in drm_client_connectors_enabled()
214 enabled[i] = drm_connector_enabled(connector, true); in drm_client_connectors_enabled()
215 DRM_DEBUG_KMS("connector %d enabled? %s\n", connector->base.id, in drm_client_connectors_enabled()
216 connector->display_info.non_desktop ? "non desktop" : enabled[i] ? "yes" : "no"); in drm_client_connectors_enabled()
315 struct drm_connector *connector; in drm_client_get_tile_offsets() local
320 connector = connectors[i]; in drm_client_get_tile_offsets()
321 if (!connector->has_tile) in drm_client_get_tile_offsets()
326 connector->base.id); in drm_client_get_tile_offsets()
329 if (connector->tile_h_loc < h_idx) in drm_client_get_tile_offsets()
332 if (connector->tile_v_loc < v_idx) in drm_client_get_tile_offsets()
348 struct drm_connector *connector; in drm_client_target_preferred() local
355 connector = connectors[i]; in drm_client_target_preferred()
366 if (tile_pass == 0 && connector->has_tile) in drm_client_target_preferred()
370 if (connector->tile_h_loc != 0 || in drm_client_target_preferred()
371 connector->tile_v_loc != 0) in drm_client_target_preferred()
375 if (connector->tile_h_loc != tile_pass - 1 && in drm_client_target_preferred()
376 connector->tile_v_loc != tile_pass - 1) in drm_client_target_preferred()
385 connector->tile_h_loc, connector->tile_v_loc); in drm_client_target_preferred()
388 connector->base.id); in drm_client_target_preferred()
391 modes[i] = drm_connector_pick_cmdline_mode(connector); in drm_client_target_preferred()
394 connector->base.id, connector->tile_group ? connector->tile_group->id : 0); in drm_client_target_preferred()
395 modes[i] = drm_connector_has_preferred_mode(connector, width, height); in drm_client_target_preferred()
398 if (!modes[i] && !list_empty(&connector->modes)) { in drm_client_target_preferred()
399 list_for_each_entry(modes[i], &connector->modes, head) in drm_client_target_preferred()
414 static bool connector_has_possible_crtc(struct drm_connector *connector, in connector_has_possible_crtc() argument
420 drm_connector_for_each_possible_encoder(connector, encoder, i) { in connector_has_possible_crtc()
436 struct drm_connector *connector; in drm_client_pick_crtcs() local
445 connector = connectors[n]; in drm_client_pick_crtcs()
458 if (connector->status == connector_status_connected) in drm_client_pick_crtcs()
460 if (connector->cmdline_mode.specified) in drm_client_pick_crtcs()
462 if (drm_connector_has_preferred_mode(connector, width, height)) in drm_client_pick_crtcs()
472 if (!connector_has_possible_crtc(connector, crtc)) in drm_client_pick_crtcs()
539 struct drm_connector *connector; in drm_client_firmware_config() local
543 connector = connectors[i]; in drm_client_firmware_config()
548 if (conn_seq == 0 && !connector->has_tile) in drm_client_firmware_config()
551 if (connector->status == connector_status_connected) in drm_client_firmware_config()
556 connector->name); in drm_client_firmware_config()
561 if (connector->force == DRM_FORCE_OFF) { in drm_client_firmware_config()
563 connector->name); in drm_client_firmware_config()
568 encoder = connector->state->best_encoder; in drm_client_firmware_config()
569 if (!encoder || WARN_ON(!connector->state->crtc)) { in drm_client_firmware_config()
570 if (connector->force > DRM_FORCE_OFF) in drm_client_firmware_config()
574 connector->name); in drm_client_firmware_config()
582 new_crtc = connector->state->crtc; in drm_client_firmware_config()
597 connector->name); in drm_client_firmware_config()
600 modes[i] = drm_connector_pick_cmdline_mode(connector); in drm_client_firmware_config()
605 connector->name, connector->has_tile); in drm_client_firmware_config()
606 modes[i] = drm_connector_has_preferred_mode(connector, width, height); in drm_client_firmware_config()
610 if (!modes[i] && !list_empty(&connector->modes)) { in drm_client_firmware_config()
612 connector->name); in drm_client_firmware_config()
613 modes[i] = list_first_entry(&connector->modes, in drm_client_firmware_config()
632 connector->name); in drm_client_firmware_config()
633 modes[i] = &connector->state->crtc->mode; in drm_client_firmware_config()
638 connector->name, in drm_client_firmware_config()
639 connector->state->crtc->base.id, in drm_client_firmware_config()
640 connector->state->crtc->name, in drm_client_firmware_config()
692 struct drm_connector *connector, **connectors = NULL; in drm_client_modeset_probe() local
711 drm_client_for_each_connector_iter(connector, &conn_iter) { in drm_client_modeset_probe()
721 drm_connector_get(connector); in drm_client_modeset_probe()
722 connectors[connector_count++] = connector; in drm_client_modeset_probe()
777 struct drm_connector *connector = connectors[i]; in drm_client_modeset_probe() local
789 drm_connector_get(connector); in drm_client_modeset_probe()
790 modeset->connectors[modeset->num_connectors++] = connector; in drm_client_modeset_probe()
826 struct drm_connector *connector = modeset->connectors[0]; in drm_client_rotation() local
835 switch (connector->display_info.panel_orientation) { in drm_client_rotation()
861 cmdline = &connector->cmdline_mode; in drm_client_rotation()
1078 struct drm_connector *connector; in drm_client_modeset_dpms_legacy() local
1088 connector = modeset->connectors[j]; in drm_client_modeset_dpms_legacy()
1089 connector->funcs->dpms(connector, dpms_mode); in drm_client_modeset_dpms_legacy()
1090 drm_object_property_set_value(&connector->base, in drm_client_modeset_dpms_legacy()