Lines Matching refs:connector
107 static struct intel_encoder *intel_find_encoder(struct intel_connector *connector, int pipe) in intel_find_encoder() argument
109 if (!connector->mst_port) in intel_find_encoder()
110 return connector->encoder; in intel_find_encoder()
112 return &connector->mst_port->mst_encoders[pipe]->base; in intel_find_encoder()
5550 struct drm_connector *connector; in intel_crtc_disable() local
5562 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { in intel_crtc_disable()
5563 if (!connector->encoder || !connector->encoder->crtc) in intel_crtc_disable()
5566 if (connector->encoder->crtc != crtc) in intel_crtc_disable()
5569 connector->dpms = DRM_MODE_DPMS_OFF; in intel_crtc_disable()
5570 to_intel_encoder(connector->encoder)->connectors_active = false; in intel_crtc_disable()
5600 static void intel_connector_check_state(struct intel_connector *connector) in intel_connector_check_state() argument
5602 if (connector->get_hw_state(connector)) { in intel_connector_check_state()
5603 struct intel_encoder *encoder = connector->encoder; in intel_connector_check_state()
5609 connector->base.base.id, in intel_connector_check_state()
5610 connector->base.name); in intel_connector_check_state()
5612 I915_STATE_WARN(connector->base.dpms == DRM_MODE_DPMS_OFF, in intel_connector_check_state()
5614 I915_STATE_WARN(connector->base.encoder != &encoder->base, in intel_connector_check_state()
5637 int intel_connector_init(struct intel_connector *connector) in intel_connector_init() argument
5645 connector->base.state = connector_state; in intel_connector_init()
5651 struct intel_connector *connector; in intel_connector_alloc() local
5653 connector = kzalloc(sizeof *connector, GFP_KERNEL); in intel_connector_alloc()
5654 if (!connector) in intel_connector_alloc()
5657 if (intel_connector_init(connector) < 0) { in intel_connector_alloc()
5658 kfree(connector); in intel_connector_alloc()
5662 return connector; in intel_connector_alloc()
5667 void intel_connector_dpms(struct drm_connector *connector, int mode) in intel_connector_dpms() argument
5673 if (mode == connector->dpms) in intel_connector_dpms()
5676 connector->dpms = mode; in intel_connector_dpms()
5679 if (connector->encoder) in intel_connector_dpms()
5680 intel_encoder_dpms(to_intel_encoder(connector->encoder), mode); in intel_connector_dpms()
5682 intel_modeset_check_state(connector->dev); in intel_connector_dpms()
5688 bool intel_connector_get_hw_state(struct intel_connector *connector) in intel_connector_get_hw_state() argument
5691 struct intel_encoder *encoder = connector->encoder; in intel_connector_get_hw_state()
8979 bool intel_get_load_detect_pipe(struct drm_connector *connector, in intel_get_load_detect_pipe() argument
8986 intel_attached_encoder(connector); in intel_get_load_detect_pipe()
8998 connector->base.id, connector->name, in intel_get_load_detect_pipe()
9027 old->dpms_mode = connector->dpms; in intel_get_load_detect_pipe()
9031 if (connector->dpms != DRM_MODE_DPMS_ON) in intel_get_load_detect_pipe()
9032 connector->funcs->dpms(connector, DRM_MODE_DPMS_ON); in intel_get_load_detect_pipe()
9067 to_intel_connector(connector)->new_encoder = intel_encoder; in intel_get_load_detect_pipe()
9072 old->dpms_mode = connector->dpms; in intel_get_load_detect_pipe()
9082 connector_state = drm_atomic_get_connector_state(state, connector); in intel_get_load_detect_pipe()
9145 void intel_release_load_detect_pipe(struct drm_connector *connector, in intel_release_load_detect_pipe() argument
9149 struct drm_device *dev = connector->dev; in intel_release_load_detect_pipe()
9151 intel_attached_encoder(connector); in intel_release_load_detect_pipe()
9159 connector->base.id, connector->name, in intel_release_load_detect_pipe()
9169 connector_state = drm_atomic_get_connector_state(state, connector); in intel_release_load_detect_pipe()
9173 to_intel_connector(connector)->new_encoder = NULL; in intel_release_load_detect_pipe()
9195 connector->funcs->dpms(connector, old->dpms_mode); in intel_release_load_detect_pipe()
10302 struct intel_connector *connector; in intel_modeset_update_staged_output_state() local
10304 for_each_intel_connector(dev, connector) { in intel_modeset_update_staged_output_state()
10305 connector->new_encoder = in intel_modeset_update_staged_output_state()
10306 to_intel_encoder(connector->base.encoder); in intel_modeset_update_staged_output_state()
10330 struct intel_connector *connector; in intel_modeset_update_connector_atomic_state() local
10332 for_each_intel_connector(dev, connector) { in intel_modeset_update_connector_atomic_state()
10333 if (connector->base.encoder) { in intel_modeset_update_connector_atomic_state()
10334 connector->base.state->best_encoder = in intel_modeset_update_connector_atomic_state()
10335 connector->base.encoder; in intel_modeset_update_connector_atomic_state()
10336 connector->base.state->crtc = in intel_modeset_update_connector_atomic_state()
10337 connector->base.encoder->crtc; in intel_modeset_update_connector_atomic_state()
10339 connector->base.state->best_encoder = NULL; in intel_modeset_update_connector_atomic_state()
10340 connector->base.state->crtc = NULL; in intel_modeset_update_connector_atomic_state()
10354 struct intel_connector *connector; in intel_modeset_commit_output_state() local
10356 for_each_intel_connector(dev, connector) { in intel_modeset_commit_output_state()
10357 connector->base.encoder = &connector->new_encoder->base; in intel_modeset_commit_output_state()
10373 connected_sink_compute_bpp(struct intel_connector *connector, in connected_sink_compute_bpp() argument
10379 connector->base.base.id, in connected_sink_compute_bpp()
10380 connector->base.name); in connected_sink_compute_bpp()
10383 if (connector->base.display_info.bpc && in connected_sink_compute_bpp()
10384 connector->base.display_info.bpc * 3 < bpp) { in connected_sink_compute_bpp()
10386 bpp, connector->base.display_info.bpc*3); in connected_sink_compute_bpp()
10387 pipe_config->pipe_bpp = connector->base.display_info.bpc*3; in connected_sink_compute_bpp()
10391 if (connector->base.display_info.bpc == 0) { in connected_sink_compute_bpp()
10392 int type = connector->base.connector_type; in connected_sink_compute_bpp()
10415 struct intel_connector *connector; in compute_baseline_pipe_bpp() local
10463 connector = to_intel_connector(state->connectors[i]); in compute_baseline_pipe_bpp()
10467 connected_sink_compute_bpp(connector, pipe_config); in compute_baseline_pipe_bpp()
10581 struct intel_connector *connector; in check_digital_port_conflicts() local
10589 for_each_intel_connector(dev, connector) { in check_digital_port_conflicts()
10590 struct intel_encoder *encoder = connector->new_encoder; in check_digital_port_conflicts()
10639 struct intel_connector *connector; in intel_modeset_pipe_config() local
10718 connector = to_intel_connector(state->connectors[i]); in intel_modeset_pipe_config()
10719 if (!connector) in intel_modeset_pipe_config()
10775 struct intel_connector *connector; in intel_modeset_affected_pipes() local
10784 for_each_intel_connector(dev, connector) { in intel_modeset_affected_pipes()
10785 if (connector->base.encoder == &connector->new_encoder->base) in intel_modeset_affected_pipes()
10788 if (connector->base.encoder) { in intel_modeset_affected_pipes()
10789 tmp_crtc = connector->base.encoder->crtc; in intel_modeset_affected_pipes()
10794 if (connector->new_encoder) in intel_modeset_affected_pipes()
10796 1 << connector->new_encoder->new_crtc->pipe; in intel_modeset_affected_pipes()
10872 struct drm_connector *connector; in intel_modeset_update_state() local
10896 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { in intel_modeset_update_state()
10897 if (!connector->encoder || !connector->encoder->crtc) in intel_modeset_update_state()
10900 intel_crtc = to_intel_crtc(connector->encoder->crtc); in intel_modeset_update_state()
10906 connector->dpms = DRM_MODE_DPMS_ON; in intel_modeset_update_state()
10907 drm_object_property_set_value(&connector->base, in intel_modeset_update_state()
10911 intel_encoder = to_intel_encoder(connector->encoder); in intel_modeset_update_state()
11185 struct intel_connector *connector; in check_connector_state() local
11187 for_each_intel_connector(dev, connector) { in check_connector_state()
11190 intel_connector_check_state(connector); in check_connector_state()
11192 I915_STATE_WARN(&connector->new_encoder->base != connector->base.encoder, in check_connector_state()
11201 struct intel_connector *connector; in check_encoder_state() local
11217 for_each_intel_connector(dev, connector) { in check_encoder_state()
11218 if (connector->base.encoder != &encoder->base) in check_encoder_state()
11221 if (connector->base.dpms != DRM_MODE_DPMS_OFF) in check_encoder_state()
11696 struct intel_connector *connector; in intel_crtc_restore_mode() local
11717 for_each_intel_connector(dev, connector) { in intel_crtc_restore_mode()
11718 if (connector->new_encoder != encoder) in intel_crtc_restore_mode()
11721 connector_state = drm_atomic_get_connector_state(state, &connector->base); in intel_crtc_restore_mode()
11724 connector->base.base.id, in intel_crtc_restore_mode()
11725 connector->base.name, in intel_crtc_restore_mode()
11759 struct drm_connector *connector; in intel_set_config_save_state() local
11795 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { in intel_set_config_save_state()
11796 config->save_connector_encoders[count++] = connector->encoder; in intel_set_config_save_state()
11807 struct intel_connector *connector; in intel_set_config_restore_state() local
11827 for_each_intel_connector(dev, connector) { in intel_set_config_restore_state()
11828 connector->new_encoder = in intel_set_config_restore_state()
11910 struct intel_connector *connector; in intel_modeset_stage_output_state() local
11921 for_each_intel_connector(dev, connector) { in intel_modeset_stage_output_state()
11925 if (set->connectors[ro] == &connector->base) { in intel_modeset_stage_output_state()
11926 connector->new_encoder = intel_find_encoder(connector, to_intel_crtc(set->crtc)->pipe); in intel_modeset_stage_output_state()
11935 connector->base.encoder && in intel_modeset_stage_output_state()
11936 connector->base.encoder->crtc == set->crtc) { in intel_modeset_stage_output_state()
11937 connector->new_encoder = NULL; in intel_modeset_stage_output_state()
11940 connector->base.base.id, in intel_modeset_stage_output_state()
11941 connector->base.name); in intel_modeset_stage_output_state()
11945 if (&connector->new_encoder->base != connector->base.encoder) { in intel_modeset_stage_output_state()
11947 connector->base.base.id, in intel_modeset_stage_output_state()
11948 connector->base.name); in intel_modeset_stage_output_state()
11955 for_each_intel_connector(dev, connector) { in intel_modeset_stage_output_state()
11958 if (!connector->new_encoder) in intel_modeset_stage_output_state()
11961 new_crtc = connector->new_encoder->base.crtc; in intel_modeset_stage_output_state()
11964 if (set->connectors[ro] == &connector->base) in intel_modeset_stage_output_state()
11969 if (!drm_encoder_crtc_ok(&connector->new_encoder->base, in intel_modeset_stage_output_state()
11973 connector->new_encoder->new_crtc = to_intel_crtc(new_crtc); in intel_modeset_stage_output_state()
11976 drm_atomic_get_connector_state(state, &connector->base); in intel_modeset_stage_output_state()
11981 connector_state->best_encoder = &connector->new_encoder->base; in intel_modeset_stage_output_state()
11984 connector->base.base.id, in intel_modeset_stage_output_state()
11985 connector->base.name, in intel_modeset_stage_output_state()
11992 for_each_intel_connector(dev, connector) { in intel_modeset_stage_output_state()
11993 if (connector->new_encoder == encoder) { in intel_modeset_stage_output_state()
11994 WARN_ON(!connector->new_encoder->new_crtc); in intel_modeset_stage_output_state()
12014 for_each_intel_connector(dev, connector) { in intel_modeset_stage_output_state()
12016 drm_atomic_get_connector_state(state, &connector->base); in intel_modeset_stage_output_state()
12020 if (connector->new_encoder) { in intel_modeset_stage_output_state()
12021 if (connector->new_encoder != connector->encoder) in intel_modeset_stage_output_state()
12022 connector->encoder = connector->new_encoder; in intel_modeset_stage_output_state()
12057 struct intel_connector *connector; in disable_crtc_nofb() local
12062 for_each_intel_connector(dev, connector) { in disable_crtc_nofb()
12063 if (connector->new_encoder && in disable_crtc_nofb()
12064 connector->new_encoder->new_crtc == crtc) in disable_crtc_nofb()
12065 connector->new_encoder = NULL; in disable_crtc_nofb()
12959 enum pipe intel_get_pipe_from_connector(struct intel_connector *connector) in intel_get_pipe_from_connector() argument
12961 struct drm_encoder *encoder = connector->base.encoder; in intel_get_pipe_from_connector()
12962 struct drm_device *dev = connector->base.dev; in intel_get_pipe_from_connector()
13889 struct intel_connector *connector; in intel_enable_pipe_a() local
13897 for_each_intel_connector(dev, connector) { in intel_enable_pipe_a()
13898 if (connector->encoder->type == INTEL_OUTPUT_ANALOG) { in intel_enable_pipe_a()
13899 crt = &connector->base; in intel_enable_pipe_a()
13952 struct intel_connector *connector; in intel_sanitize_crtc() local
13968 for_each_intel_connector(dev, connector) { in intel_sanitize_crtc()
13969 if (connector->encoder->base.crtc != &crtc->base) in intel_sanitize_crtc()
13972 connector->base.dpms = DRM_MODE_DPMS_OFF; in intel_sanitize_crtc()
13973 connector->base.encoder = NULL; in intel_sanitize_crtc()
13977 for_each_intel_connector(dev, connector) in intel_sanitize_crtc()
13978 if (connector->encoder->base.crtc == &crtc->base) { in intel_sanitize_crtc()
13979 connector->encoder->base.crtc = NULL; in intel_sanitize_crtc()
13980 connector->encoder->connectors_active = false; in intel_sanitize_crtc()
14049 struct intel_connector *connector; in intel_sanitize_encoder() local
14081 for_each_intel_connector(dev, connector) { in intel_sanitize_encoder()
14082 if (connector->encoder != encoder) in intel_sanitize_encoder()
14084 connector->base.dpms = DRM_MODE_DPMS_OFF; in intel_sanitize_encoder()
14085 connector->base.encoder = NULL; in intel_sanitize_encoder()
14136 struct intel_connector *connector; in intel_modeset_readout_hw_state() local
14196 for_each_intel_connector(dev, connector) { in intel_modeset_readout_hw_state()
14197 if (connector->get_hw_state(connector)) { in intel_modeset_readout_hw_state()
14198 connector->base.dpms = DRM_MODE_DPMS_ON; in intel_modeset_readout_hw_state()
14199 connector->encoder->connectors_active = true; in intel_modeset_readout_hw_state()
14200 connector->base.encoder = &connector->encoder->base; in intel_modeset_readout_hw_state()
14202 connector->base.dpms = DRM_MODE_DPMS_OFF; in intel_modeset_readout_hw_state()
14203 connector->base.encoder = NULL; in intel_modeset_readout_hw_state()
14206 connector->base.base.id, in intel_modeset_readout_hw_state()
14207 connector->base.name, in intel_modeset_readout_hw_state()
14208 connector->base.encoder ? "enabled" : "disabled"); in intel_modeset_readout_hw_state()
14335 struct drm_connector *connector = &intel_connector->base; in intel_connector_unregister() local
14337 intel_panel_destroy_backlight(connector); in intel_connector_unregister()
14338 drm_connector_unregister(connector); in intel_connector_unregister()
14344 struct drm_connector *connector; in intel_modeset_cleanup() local
14375 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { in intel_modeset_cleanup()
14378 intel_connector = to_intel_connector(connector); in intel_modeset_cleanup()
14394 struct drm_encoder *intel_best_encoder(struct drm_connector *connector) in intel_best_encoder() argument
14396 return &intel_attached_encoder(connector)->base; in intel_best_encoder()
14399 void intel_connector_attach_encoder(struct intel_connector *connector, in intel_connector_attach_encoder() argument
14402 connector->encoder = encoder; in intel_connector_attach_encoder()
14403 drm_mode_connector_attach_encoder(&connector->base, in intel_connector_attach_encoder()