• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/sys/dev/drm2/i915/

Lines Matching refs:intel_hdmi

41 static struct drm_device *intel_hdmi_to_dev(struct intel_hdmi *intel_hdmi)
43 return hdmi_to_dig_port(intel_hdmi)->base.base.dev;
47 assert_hdmi_port_disabled(struct intel_hdmi *intel_hdmi)
49 struct drm_device *dev = intel_hdmi_to_dev(intel_hdmi);
55 WARN(I915_READ(intel_hdmi->sdvox_reg) & enabled_bits,
59 struct intel_hdmi *enc_to_intel_hdmi(struct drm_encoder *encoder)
66 static struct intel_hdmi *intel_attached_hdmi(struct drm_connector *connector)
327 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
330 intel_hdmi->write_infoframe(encoder, frame);
369 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
374 assert_hdmi_port_disabled(intel_hdmi);
387 if (!intel_hdmi->has_hdmi_sink) {
396 switch (intel_hdmi->sdvox_reg) {
433 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
438 assert_hdmi_port_disabled(intel_hdmi);
443 if (!intel_hdmi->has_hdmi_sink) {
452 switch (intel_hdmi->sdvox_reg) {
493 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
497 assert_hdmi_port_disabled(intel_hdmi);
502 if (!intel_hdmi->has_hdmi_sink) {
528 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
532 assert_hdmi_port_disabled(intel_hdmi);
537 if (!intel_hdmi->has_hdmi_sink) {
562 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
566 assert_hdmi_port_disabled(intel_hdmi);
568 if (!intel_hdmi->has_hdmi_sink) {
591 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
596 sdvox |= intel_hdmi->color_range;
608 if (intel_hdmi->has_hdmi_sink && HAS_PCH_CPT(dev))
611 if (intel_hdmi->has_audio) {
624 I915_WRITE(intel_hdmi->sdvox_reg, sdvox);
625 POSTING_READ(intel_hdmi->sdvox_reg);
627 intel_hdmi->set_infoframes(encoder, adjusted_mode);
635 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
638 tmp = I915_READ(intel_hdmi->sdvox_reg);
655 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
659 if (intel_hdmi->has_audio)
662 temp = I915_READ(intel_hdmi->sdvox_reg);
679 I915_WRITE(intel_hdmi->sdvox_reg, temp & ~SDVO_ENABLE);
680 POSTING_READ(intel_hdmi->sdvox_reg);
685 I915_WRITE(intel_hdmi->sdvox_reg, temp);
686 POSTING_READ(intel_hdmi->sdvox_reg);
692 I915_WRITE(intel_hdmi->sdvox_reg, temp);
693 POSTING_READ(intel_hdmi->sdvox_reg);
701 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
705 temp = I915_READ(intel_hdmi->sdvox_reg);
715 I915_WRITE(intel_hdmi->sdvox_reg, temp);
716 POSTING_READ(intel_hdmi->sdvox_reg);
719 I915_WRITE(intel_hdmi->sdvox_reg, temp);
720 POSTING_READ(intel_hdmi->sdvox_reg);
735 I915_WRITE(intel_hdmi->sdvox_reg, temp & ~SDVO_ENABLE);
736 POSTING_READ(intel_hdmi->sdvox_reg);
741 I915_WRITE(intel_hdmi->sdvox_reg, temp);
742 POSTING_READ(intel_hdmi->sdvox_reg);
748 I915_WRITE(intel_hdmi->sdvox_reg, temp);
749 POSTING_READ(intel_hdmi->sdvox_reg);
774 static bool g4x_hdmi_connected(struct intel_hdmi *intel_hdmi)
776 struct drm_device *dev = intel_hdmi_to_dev(intel_hdmi);
780 switch (intel_hdmi->sdvox_reg) {
798 struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector);
800 hdmi_to_dig_port(intel_hdmi);
806 if (IS_G4X(connector->dev) && !g4x_hdmi_connected(intel_hdmi))
809 intel_hdmi->has_hdmi_sink = false;
810 intel_hdmi->has_audio = false;
813 intel_hdmi->ddc_bus));
818 if (intel_hdmi->force_audio != HDMI_AUDIO_OFF_DVI)
819 intel_hdmi->has_hdmi_sink =
821 intel_hdmi->has_audio = drm_detect_monitor_audio(edid);
827 if (intel_hdmi->force_audio != HDMI_AUDIO_AUTO)
828 intel_hdmi->has_audio =
829 (intel_hdmi->force_audio == HDMI_AUDIO_ON);
838 struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector);
847 intel_hdmi->ddc_bus));
853 struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector);
860 intel_hdmi->ddc_bus));
875 struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector);
877 hdmi_to_dig_port(intel_hdmi);
889 if (i == intel_hdmi->force_audio)
892 intel_hdmi->force_audio = i;
900 intel_hdmi->has_hdmi_sink = 0;
902 intel_hdmi->has_audio = has_audio;
907 if (val == !!intel_hdmi->color_range)
910 intel_hdmi->color_range = val ? SDVO_COLOR_RANGE_16_235 : 0;
957 intel_hdmi_add_properties(struct intel_hdmi *intel_hdmi, struct drm_connector *connector)
967 struct intel_hdmi *intel_hdmi = &intel_dig_port->hdmi;
983 intel_hdmi->ddc_bus = GMBUS_PORT_DPB;
987 intel_hdmi->ddc_bus = GMBUS_PORT_DPC;
991 intel_hdmi->ddc_bus = GMBUS_PORT_DPD;
1001 intel_hdmi->write_infoframe = g4x_write_infoframe;
1002 intel_hdmi->set_infoframes = g4x_set_infoframes;
1004 intel_hdmi->write_infoframe = vlv_write_infoframe;
1005 intel_hdmi->set_infoframes = vlv_set_infoframes;
1007 intel_hdmi->write_infoframe = hsw_write_infoframe;
1008 intel_hdmi->set_infoframes = hsw_set_infoframes;
1010 intel_hdmi->write_infoframe = ibx_write_infoframe;
1011 intel_hdmi->set_infoframes = ibx_set_infoframes;
1013 intel_hdmi->write_infoframe = cpt_write_infoframe;
1014 intel_hdmi->set_infoframes = cpt_set_infoframes;
1022 intel_hdmi_add_properties(intel_hdmi, connector);