Lines Matching refs:encoder

59 struct intel_hdmi *enc_to_intel_hdmi(struct drm_encoder *encoder)  in enc_to_intel_hdmi()  argument
62 container_of(encoder, struct intel_digital_port, base.base); in enc_to_intel_hdmi()
134 static void g4x_write_infoframe(struct drm_encoder *encoder, in g4x_write_infoframe() argument
139 struct drm_device *dev = encoder->dev; in g4x_write_infoframe()
171 static bool g4x_infoframe_enabled(struct drm_encoder *encoder) in g4x_infoframe_enabled() argument
173 struct drm_device *dev = encoder->dev; in g4x_infoframe_enabled()
175 struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder); in g4x_infoframe_enabled()
188 static void ibx_write_infoframe(struct drm_encoder *encoder, in ibx_write_infoframe() argument
193 struct drm_device *dev = encoder->dev; in ibx_write_infoframe()
195 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in ibx_write_infoframe()
226 static bool ibx_infoframe_enabled(struct drm_encoder *encoder) in ibx_infoframe_enabled() argument
228 struct drm_device *dev = encoder->dev; in ibx_infoframe_enabled()
230 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in ibx_infoframe_enabled()
231 struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder); in ibx_infoframe_enabled()
246 static void cpt_write_infoframe(struct drm_encoder *encoder, in cpt_write_infoframe() argument
251 struct drm_device *dev = encoder->dev; in cpt_write_infoframe()
253 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in cpt_write_infoframe()
287 static bool cpt_infoframe_enabled(struct drm_encoder *encoder) in cpt_infoframe_enabled() argument
289 struct drm_device *dev = encoder->dev; in cpt_infoframe_enabled()
291 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in cpt_infoframe_enabled()
303 static void vlv_write_infoframe(struct drm_encoder *encoder, in vlv_write_infoframe() argument
308 struct drm_device *dev = encoder->dev; in vlv_write_infoframe()
310 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in vlv_write_infoframe()
341 static bool vlv_infoframe_enabled(struct drm_encoder *encoder) in vlv_infoframe_enabled() argument
343 struct drm_device *dev = encoder->dev; in vlv_infoframe_enabled()
345 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in vlv_infoframe_enabled()
346 struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder); in vlv_infoframe_enabled()
361 static void hsw_write_infoframe(struct drm_encoder *encoder, in hsw_write_infoframe() argument
366 struct drm_device *dev = encoder->dev; in hsw_write_infoframe()
368 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in hsw_write_infoframe()
399 static bool hsw_infoframe_enabled(struct drm_encoder *encoder) in hsw_infoframe_enabled() argument
401 struct drm_device *dev = encoder->dev; in hsw_infoframe_enabled()
403 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in hsw_infoframe_enabled()
429 static void intel_write_infoframe(struct drm_encoder *encoder, in intel_write_infoframe() argument
432 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); in intel_write_infoframe()
448 intel_hdmi->write_infoframe(encoder, frame->any.type, buffer, len); in intel_write_infoframe()
451 static void intel_hdmi_set_avi_infoframe(struct drm_encoder *encoder, in intel_hdmi_set_avi_infoframe() argument
454 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); in intel_hdmi_set_avi_infoframe()
455 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in intel_hdmi_set_avi_infoframe()
475 intel_write_infoframe(encoder, &frame); in intel_hdmi_set_avi_infoframe()
478 static void intel_hdmi_set_spd_infoframe(struct drm_encoder *encoder) in intel_hdmi_set_spd_infoframe() argument
491 intel_write_infoframe(encoder, &frame); in intel_hdmi_set_spd_infoframe()
495 intel_hdmi_set_hdmi_infoframe(struct drm_encoder *encoder, in intel_hdmi_set_hdmi_infoframe() argument
506 intel_write_infoframe(encoder, &frame); in intel_hdmi_set_hdmi_infoframe()
509 static void g4x_set_infoframes(struct drm_encoder *encoder, in g4x_set_infoframes() argument
513 struct drm_i915_private *dev_priv = encoder->dev->dev_private; in g4x_set_infoframes()
514 struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder); in g4x_set_infoframes()
565 intel_hdmi_set_avi_infoframe(encoder, adjusted_mode); in g4x_set_infoframes()
566 intel_hdmi_set_spd_infoframe(encoder); in g4x_set_infoframes()
567 intel_hdmi_set_hdmi_infoframe(encoder, adjusted_mode); in g4x_set_infoframes()
570 static bool hdmi_sink_is_deep_color(struct drm_encoder *encoder) in hdmi_sink_is_deep_color() argument
572 struct drm_device *dev = encoder->dev; in hdmi_sink_is_deep_color()
583 if (connector->encoder == encoder) in hdmi_sink_is_deep_color()
632 static bool intel_hdmi_set_gcp_infoframe(struct drm_encoder *encoder) in intel_hdmi_set_gcp_infoframe() argument
634 struct drm_i915_private *dev_priv = encoder->dev->dev_private; in intel_hdmi_set_gcp_infoframe()
635 struct intel_crtc *crtc = to_intel_crtc(encoder->crtc); in intel_hdmi_set_gcp_infoframe()
648 if (hdmi_sink_is_deep_color(encoder)) in intel_hdmi_set_gcp_infoframe()
661 static void ibx_set_infoframes(struct drm_encoder *encoder, in ibx_set_infoframes() argument
665 struct drm_i915_private *dev_priv = encoder->dev->dev_private; in ibx_set_infoframes()
666 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in ibx_set_infoframes()
667 struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder); in ibx_set_infoframes()
702 if (intel_hdmi_set_gcp_infoframe(encoder)) in ibx_set_infoframes()
708 intel_hdmi_set_avi_infoframe(encoder, adjusted_mode); in ibx_set_infoframes()
709 intel_hdmi_set_spd_infoframe(encoder); in ibx_set_infoframes()
710 intel_hdmi_set_hdmi_infoframe(encoder, adjusted_mode); in ibx_set_infoframes()
713 static void cpt_set_infoframes(struct drm_encoder *encoder, in cpt_set_infoframes() argument
717 struct drm_i915_private *dev_priv = encoder->dev->dev_private; in cpt_set_infoframes()
718 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in cpt_set_infoframes()
719 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); in cpt_set_infoframes()
744 if (intel_hdmi_set_gcp_infoframe(encoder)) in cpt_set_infoframes()
750 intel_hdmi_set_avi_infoframe(encoder, adjusted_mode); in cpt_set_infoframes()
751 intel_hdmi_set_spd_infoframe(encoder); in cpt_set_infoframes()
752 intel_hdmi_set_hdmi_infoframe(encoder, adjusted_mode); in cpt_set_infoframes()
755 static void vlv_set_infoframes(struct drm_encoder *encoder, in vlv_set_infoframes() argument
759 struct drm_i915_private *dev_priv = encoder->dev->dev_private; in vlv_set_infoframes()
760 struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder); in vlv_set_infoframes()
761 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in vlv_set_infoframes()
762 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); in vlv_set_infoframes()
796 if (intel_hdmi_set_gcp_infoframe(encoder)) in vlv_set_infoframes()
802 intel_hdmi_set_avi_infoframe(encoder, adjusted_mode); in vlv_set_infoframes()
803 intel_hdmi_set_spd_infoframe(encoder); in vlv_set_infoframes()
804 intel_hdmi_set_hdmi_infoframe(encoder, adjusted_mode); in vlv_set_infoframes()
807 static void hsw_set_infoframes(struct drm_encoder *encoder, in hsw_set_infoframes() argument
811 struct drm_i915_private *dev_priv = encoder->dev->dev_private; in hsw_set_infoframes()
812 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); in hsw_set_infoframes()
813 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); in hsw_set_infoframes()
829 if (intel_hdmi_set_gcp_infoframe(encoder)) in hsw_set_infoframes()
835 intel_hdmi_set_avi_infoframe(encoder, adjusted_mode); in hsw_set_infoframes()
836 intel_hdmi_set_spd_infoframe(encoder); in hsw_set_infoframes()
837 intel_hdmi_set_hdmi_infoframe(encoder, adjusted_mode); in hsw_set_infoframes()
840 static void intel_hdmi_prepare(struct intel_encoder *encoder) in intel_hdmi_prepare() argument
842 struct drm_device *dev = encoder->base.dev; in intel_hdmi_prepare()
844 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in intel_hdmi_prepare()
845 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base); in intel_hdmi_prepare()
876 static bool intel_hdmi_get_hw_state(struct intel_encoder *encoder, in intel_hdmi_get_hw_state() argument
879 struct drm_device *dev = encoder->base.dev; in intel_hdmi_get_hw_state()
881 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base); in intel_hdmi_get_hw_state()
885 power_domain = intel_display_port_power_domain(encoder); in intel_hdmi_get_hw_state()
904 static void intel_hdmi_get_config(struct intel_encoder *encoder, in intel_hdmi_get_config() argument
907 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base); in intel_hdmi_get_config()
908 struct drm_device *dev = encoder->base.dev; in intel_hdmi_get_config()
928 if (intel_hdmi->infoframe_enabled(&encoder->base)) in intel_hdmi_get_config()
954 static void intel_enable_hdmi_audio(struct intel_encoder *encoder) in intel_enable_hdmi_audio() argument
956 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in intel_enable_hdmi_audio()
961 intel_audio_codec_enable(encoder); in intel_enable_hdmi_audio()
964 static void g4x_enable_hdmi(struct intel_encoder *encoder) in g4x_enable_hdmi() argument
966 struct drm_device *dev = encoder->base.dev; in g4x_enable_hdmi()
968 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in g4x_enable_hdmi()
969 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base); in g4x_enable_hdmi()
982 intel_enable_hdmi_audio(encoder); in g4x_enable_hdmi()
985 static void ibx_enable_hdmi(struct intel_encoder *encoder) in ibx_enable_hdmi() argument
987 struct drm_device *dev = encoder->base.dev; in ibx_enable_hdmi()
989 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in ibx_enable_hdmi()
990 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base); in ibx_enable_hdmi()
1031 intel_enable_hdmi_audio(encoder); in ibx_enable_hdmi()
1034 static void cpt_enable_hdmi(struct intel_encoder *encoder) in cpt_enable_hdmi() argument
1036 struct drm_device *dev = encoder->base.dev; in cpt_enable_hdmi()
1038 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in cpt_enable_hdmi()
1039 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base); in cpt_enable_hdmi()
1084 intel_enable_hdmi_audio(encoder); in cpt_enable_hdmi()
1087 static void vlv_enable_hdmi(struct intel_encoder *encoder) in vlv_enable_hdmi() argument
1091 static void intel_disable_hdmi(struct intel_encoder *encoder) in intel_disable_hdmi() argument
1093 struct drm_device *dev = encoder->base.dev; in intel_disable_hdmi()
1095 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base); in intel_disable_hdmi()
1096 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in intel_disable_hdmi()
1127 intel_hdmi->set_infoframes(&encoder->base, false, NULL); in intel_disable_hdmi()
1130 static void g4x_disable_hdmi(struct intel_encoder *encoder) in g4x_disable_hdmi() argument
1132 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in g4x_disable_hdmi()
1135 intel_audio_codec_disable(encoder); in g4x_disable_hdmi()
1137 intel_disable_hdmi(encoder); in g4x_disable_hdmi()
1140 static void pch_disable_hdmi(struct intel_encoder *encoder) in pch_disable_hdmi() argument
1142 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in pch_disable_hdmi()
1145 intel_audio_codec_disable(encoder); in pch_disable_hdmi()
1148 static void pch_post_disable_hdmi(struct intel_encoder *encoder) in pch_post_disable_hdmi() argument
1150 intel_disable_hdmi(encoder); in pch_post_disable_hdmi()
1217 struct intel_encoder *encoder; in hdmi_12bpc_possible() local
1232 encoder = to_intel_encoder(connector_state->best_encoder); in hdmi_12bpc_possible()
1234 count_hdmi += encoder->type == INTEL_OUTPUT_HDMI; in hdmi_12bpc_possible()
1245 bool intel_hdmi_compute_config(struct intel_encoder *encoder, in intel_hdmi_compute_config() argument
1248 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base); in intel_hdmi_compute_config()
1249 struct drm_device *dev = encoder->base.dev; in intel_hdmi_compute_config()
1547 static void intel_hdmi_pre_enable(struct intel_encoder *encoder) in intel_hdmi_pre_enable() argument
1549 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base); in intel_hdmi_pre_enable()
1550 struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc); in intel_hdmi_pre_enable()
1553 intel_hdmi_prepare(encoder); in intel_hdmi_pre_enable()
1555 intel_hdmi->set_infoframes(&encoder->base, in intel_hdmi_pre_enable()
1560 static void vlv_hdmi_pre_enable(struct intel_encoder *encoder) in vlv_hdmi_pre_enable() argument
1562 struct intel_digital_port *dport = enc_to_dig_port(&encoder->base); in vlv_hdmi_pre_enable()
1564 struct drm_device *dev = encoder->base.dev; in vlv_hdmi_pre_enable()
1567 to_intel_crtc(encoder->base.crtc); in vlv_hdmi_pre_enable()
1599 intel_hdmi->set_infoframes(&encoder->base, in vlv_hdmi_pre_enable()
1603 g4x_enable_hdmi(encoder); in vlv_hdmi_pre_enable()
1608 static void vlv_hdmi_pre_pll_enable(struct intel_encoder *encoder) in vlv_hdmi_pre_pll_enable() argument
1610 struct intel_digital_port *dport = enc_to_dig_port(&encoder->base); in vlv_hdmi_pre_pll_enable()
1611 struct drm_device *dev = encoder->base.dev; in vlv_hdmi_pre_pll_enable()
1614 to_intel_crtc(encoder->base.crtc); in vlv_hdmi_pre_pll_enable()
1618 intel_hdmi_prepare(encoder); in vlv_hdmi_pre_pll_enable()
1641 static void chv_data_lane_soft_reset(struct intel_encoder *encoder, in chv_data_lane_soft_reset() argument
1644 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in chv_data_lane_soft_reset()
1645 enum dpio_channel ch = vlv_dport_to_channel(enc_to_dig_port(&encoder->base)); in chv_data_lane_soft_reset()
1646 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in chv_data_lane_soft_reset()
1685 static void chv_hdmi_pre_pll_enable(struct intel_encoder *encoder) in chv_hdmi_pre_pll_enable() argument
1687 struct intel_digital_port *dport = enc_to_dig_port(&encoder->base); in chv_hdmi_pre_pll_enable()
1688 struct drm_device *dev = encoder->base.dev; in chv_hdmi_pre_pll_enable()
1691 to_intel_crtc(encoder->base.crtc); in chv_hdmi_pre_pll_enable()
1696 intel_hdmi_prepare(encoder); in chv_hdmi_pre_pll_enable()
1706 chv_phy_powergate_lanes(encoder, true, 0x0); in chv_hdmi_pre_pll_enable()
1711 chv_data_lane_soft_reset(encoder, true); in chv_hdmi_pre_pll_enable()
1764 static void chv_hdmi_post_pll_disable(struct intel_encoder *encoder) in chv_hdmi_post_pll_disable() argument
1766 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in chv_hdmi_post_pll_disable()
1767 enum pipe pipe = to_intel_crtc(encoder->base.crtc)->pipe; in chv_hdmi_post_pll_disable()
1794 chv_phy_powergate_lanes(encoder, false, 0x0); in chv_hdmi_post_pll_disable()
1797 static void vlv_hdmi_post_disable(struct intel_encoder *encoder) in vlv_hdmi_post_disable() argument
1799 struct intel_digital_port *dport = enc_to_dig_port(&encoder->base); in vlv_hdmi_post_disable()
1800 struct drm_i915_private *dev_priv = encoder->base.dev->dev_private; in vlv_hdmi_post_disable()
1802 to_intel_crtc(encoder->base.crtc); in vlv_hdmi_post_disable()
1813 static void chv_hdmi_post_disable(struct intel_encoder *encoder) in chv_hdmi_post_disable() argument
1815 struct drm_device *dev = encoder->base.dev; in chv_hdmi_post_disable()
1821 chv_data_lane_soft_reset(encoder, true); in chv_hdmi_post_disable()
1826 static void chv_hdmi_pre_enable(struct intel_encoder *encoder) in chv_hdmi_pre_enable() argument
1828 struct intel_digital_port *dport = enc_to_dig_port(&encoder->base); in chv_hdmi_pre_enable()
1830 struct drm_device *dev = encoder->base.dev; in chv_hdmi_pre_enable()
1833 to_intel_crtc(encoder->base.crtc); in chv_hdmi_pre_enable()
1894 chv_data_lane_soft_reset(encoder, false); in chv_hdmi_pre_enable()
1968 intel_hdmi->set_infoframes(&encoder->base, in chv_hdmi_pre_enable()
1972 g4x_enable_hdmi(encoder); in chv_hdmi_pre_enable()