Lines Matching full:encoder
101 struct intel_encoder *encoder)
108 if (encoder) {
109 conn_state->best_encoder = &encoder->base;
110 conn_state->crtc = encoder->base.crtc;
118 static void reset_encoder_connector_state(struct intel_encoder *encoder)
120 struct intel_display *display = to_intel_display(encoder);
121 struct drm_i915_private *i915 = to_i915(encoder->base.dev);
129 if (connector->base.encoder != &encoder->base)
133 intel_pmdemand_update_phys_mask(display, encoder,
139 connector->base.encoder = NULL;
147 struct intel_encoder *encoder;
149 for_each_encoder_on_crtc(&i915->drm, &crtc->base, encoder) {
150 reset_encoder_connector_state(encoder);
151 encoder->base.crtc = NULL;
304 struct intel_encoder *encoder =
305 to_intel_encoder(connector->base.encoder);
307 set_encoder_for_connector(connector, encoder);
309 if (encoder) {
311 to_intel_crtc(encoder->base.crtc);
402 struct intel_encoder *encoder;
404 for_each_encoder_on_crtc(dev, &crtc->base, encoder)
413 struct intel_encoder *encoder;
415 for_each_encoder_on_crtc(dev, &crtc->base, encoder) {
416 struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
425 static struct intel_connector *intel_encoder_find_connector(struct intel_encoder *encoder)
427 struct drm_i915_private *i915 = to_i915(encoder->base.dev);
434 if (&encoder->base == connector->base.encoder) {
575 static void intel_sanitize_encoder(struct intel_encoder *encoder)
577 struct intel_display *display = to_intel_display(encoder);
578 struct drm_i915_private *i915 = to_i915(encoder->base.dev);
580 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc);
587 * We need to check both for a crtc link (meaning that the encoder is
601 connector = intel_encoder_find_connector(encoder);
604 "[ENCODER:%d:%s] has active connectors but no active pipe!\n",
605 encoder->base.base.id,
606 encoder->base.name);
609 intel_pmdemand_update_phys_mask(display, encoder,
614 * from our resume register restoring. Disable the encoder
621 "[ENCODER:%d:%s] manually disabled\n",
622 encoder->base.base.id,
623 encoder->base.name);
627 connector->base.state->best_encoder = &encoder->base;
630 if (encoder->disable)
631 encoder->disable(NULL, encoder, crtc_state,
633 if (encoder->post_disable)
634 encoder->post_disable(NULL, encoder, crtc_state,
639 encoder->base.crtc = NULL;
648 connector->base.encoder = NULL;
651 /* notify opregion of the sanitized encoder state */
652 intel_opregion_notify_encoder(encoder, connector && has_active_crtc);
655 intel_ddi_sanitize_encoder_pll_mapping(encoder);
700 struct intel_encoder *encoder;
727 for_each_intel_encoder(&i915->drm, encoder) {
732 if (encoder->get_hw_state(encoder, &pipe)) {
736 encoder->base.crtc = &crtc->base;
737 intel_encoder_get_config(encoder, crtc_state);
743 /* encoder should read be linked to joiner primary */
751 intel_encoder_get_config(encoder, secondary_crtc_state);
755 intel_pmdemand_update_phys_mask(display, encoder,
759 intel_pmdemand_update_phys_mask(display, encoder,
763 encoder->base.crtc = NULL;
766 if (encoder->sync_state)
767 encoder->sync_state(encoder, crtc_state);
770 "[ENCODER:%d:%s] hw state readout: %s, pipe %c\n",
771 encoder->base.base.id, encoder->base.name,
772 str_enabled_disabled(encoder->base.crtc),
787 encoder = intel_attached_encoder(connector);
788 connector->base.encoder = &encoder->base;
790 crtc = to_intel_crtc(encoder->base.crtc);
802 drm_encoder_mask(&encoder->base);
806 connector->base.encoder = NULL;
815 str_enabled_disabled(connector->base.encoder));
888 struct intel_encoder *encoder;
890 for_each_intel_encoder(&i915->drm, encoder) {
893 if (!encoder->get_power_domains)
900 if (!encoder->base.crtc)
903 crtc_state = to_intel_crtc_state(encoder->base.crtc->state);
904 encoder->get_power_domains(encoder, crtc_state);
938 struct intel_encoder *encoder;
976 for_each_intel_encoder(&i915->drm, encoder)
977 intel_sanitize_encoder(encoder);