Lines Matching full:encoder
746 bdw_get_buf_trans_edp(struct intel_encoder *encoder, int *n_entries) in bdw_get_buf_trans_edp() argument
748 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in bdw_get_buf_trans_edp()
760 skl_get_buf_trans_dp(struct intel_encoder *encoder, int *n_entries) in skl_get_buf_trans_dp() argument
762 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in skl_get_buf_trans_dp()
777 kbl_get_buf_trans_dp(struct intel_encoder *encoder, int *n_entries) in kbl_get_buf_trans_dp() argument
779 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in kbl_get_buf_trans_dp()
798 skl_get_buf_trans_edp(struct intel_encoder *encoder, int *n_entries) in skl_get_buf_trans_edp() argument
800 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in skl_get_buf_trans_edp()
824 return kbl_get_buf_trans_dp(encoder, n_entries); in skl_get_buf_trans_edp()
826 return skl_get_buf_trans_dp(encoder, n_entries); in skl_get_buf_trans_edp()
854 intel_ddi_get_buf_trans_dp(struct intel_encoder *encoder, int *n_entries) in intel_ddi_get_buf_trans_dp() argument
856 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_ddi_get_buf_trans_dp()
862 kbl_get_buf_trans_dp(encoder, n_entries); in intel_ddi_get_buf_trans_dp()
863 *n_entries = skl_buf_trans_num_entries(encoder->port, *n_entries); in intel_ddi_get_buf_trans_dp()
867 skl_get_buf_trans_dp(encoder, n_entries); in intel_ddi_get_buf_trans_dp()
868 *n_entries = skl_buf_trans_num_entries(encoder->port, *n_entries); in intel_ddi_get_buf_trans_dp()
883 intel_ddi_get_buf_trans_edp(struct intel_encoder *encoder, int *n_entries) in intel_ddi_get_buf_trans_edp() argument
885 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_ddi_get_buf_trans_edp()
889 skl_get_buf_trans_edp(encoder, n_entries); in intel_ddi_get_buf_trans_edp()
890 *n_entries = skl_buf_trans_num_entries(encoder->port, *n_entries); in intel_ddi_get_buf_trans_edp()
893 return bdw_get_buf_trans_edp(encoder, n_entries); in intel_ddi_get_buf_trans_edp()
920 intel_ddi_get_buf_trans_hdmi(struct intel_encoder *encoder, in intel_ddi_get_buf_trans_hdmi() argument
923 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_ddi_get_buf_trans_hdmi()
940 bxt_get_buf_trans_dp(struct intel_encoder *encoder, int *n_entries) in bxt_get_buf_trans_dp() argument
947 bxt_get_buf_trans_edp(struct intel_encoder *encoder, int *n_entries) in bxt_get_buf_trans_edp() argument
949 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in bxt_get_buf_trans_edp()
956 return bxt_get_buf_trans_dp(encoder, n_entries); in bxt_get_buf_trans_edp()
960 bxt_get_buf_trans_hdmi(struct intel_encoder *encoder, int *n_entries) in bxt_get_buf_trans_hdmi() argument
967 cnl_get_buf_trans_hdmi(struct intel_encoder *encoder, int *n_entries) in cnl_get_buf_trans_hdmi() argument
969 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in cnl_get_buf_trans_hdmi()
989 cnl_get_buf_trans_dp(struct intel_encoder *encoder, int *n_entries) in cnl_get_buf_trans_dp() argument
991 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in cnl_get_buf_trans_dp()
1011 cnl_get_buf_trans_edp(struct intel_encoder *encoder, int *n_entries) in cnl_get_buf_trans_edp() argument
1013 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in cnl_get_buf_trans_edp()
1032 return cnl_get_buf_trans_dp(encoder, n_entries); in cnl_get_buf_trans_edp()
1037 icl_get_combo_buf_trans(struct intel_encoder *encoder, int type, int rate, in icl_get_combo_buf_trans() argument
1040 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in icl_get_combo_buf_trans()
1058 icl_get_mg_buf_trans(struct intel_encoder *encoder, int type, int rate, in icl_get_mg_buf_trans() argument
1074 ehl_get_combo_buf_trans(struct intel_encoder *encoder, int type, int rate, in ehl_get_combo_buf_trans() argument
1077 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in ehl_get_combo_buf_trans()
1102 tgl_get_combo_buf_trans(struct intel_encoder *encoder, int type, int rate, in tgl_get_combo_buf_trans() argument
1105 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in tgl_get_combo_buf_trans()
1113 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in tgl_get_combo_buf_trans()
1148 tgl_get_dkl_buf_trans(struct intel_encoder *encoder, int type, int rate, in tgl_get_dkl_buf_trans() argument
1163 static int intel_ddi_hdmi_level(struct intel_encoder *encoder) in intel_ddi_hdmi_level() argument
1165 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_ddi_hdmi_level()
1167 enum phy phy = intel_port_to_phy(dev_priv, encoder->port); in intel_ddi_hdmi_level()
1171 tgl_get_combo_buf_trans(encoder, INTEL_OUTPUT_HDMI, in intel_ddi_hdmi_level()
1174 tgl_get_dkl_buf_trans(encoder, INTEL_OUTPUT_HDMI, 0, in intel_ddi_hdmi_level()
1179 icl_get_combo_buf_trans(encoder, INTEL_OUTPUT_HDMI, in intel_ddi_hdmi_level()
1182 icl_get_mg_buf_trans(encoder, INTEL_OUTPUT_HDMI, 0, in intel_ddi_hdmi_level()
1186 cnl_get_buf_trans_hdmi(encoder, &n_entries); in intel_ddi_hdmi_level()
1189 bxt_get_buf_trans_hdmi(encoder, &n_entries); in intel_ddi_hdmi_level()
1192 intel_ddi_get_buf_trans_hdmi(encoder, &n_entries); in intel_ddi_hdmi_level()
1195 intel_ddi_get_buf_trans_hdmi(encoder, &n_entries); in intel_ddi_hdmi_level()
1198 intel_ddi_get_buf_trans_hdmi(encoder, &n_entries); in intel_ddi_hdmi_level()
1208 level = intel_bios_hdmi_level_shift(encoder); in intel_ddi_hdmi_level()
1223 static void intel_prepare_dp_ddi_buffers(struct intel_encoder *encoder, in intel_prepare_dp_ddi_buffers() argument
1226 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_prepare_dp_ddi_buffers()
1229 enum port port = encoder->port; in intel_prepare_dp_ddi_buffers()
1236 ddi_translations = intel_ddi_get_buf_trans_edp(encoder, in intel_prepare_dp_ddi_buffers()
1239 ddi_translations = intel_ddi_get_buf_trans_dp(encoder, in intel_prepare_dp_ddi_buffers()
1243 if (IS_GEN9_BC(dev_priv) && intel_bios_dp_boost_level(encoder)) in intel_prepare_dp_ddi_buffers()
1259 static void intel_prepare_hdmi_ddi_buffers(struct intel_encoder *encoder, in intel_prepare_hdmi_ddi_buffers() argument
1262 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_prepare_hdmi_ddi_buffers()
1265 enum port port = encoder->port; in intel_prepare_hdmi_ddi_buffers()
1268 ddi_translations = intel_ddi_get_buf_trans_hdmi(encoder, &n_entries); in intel_prepare_hdmi_ddi_buffers()
1276 if (IS_GEN9_BC(dev_priv) && intel_bios_hdmi_boost_level(encoder)) in intel_prepare_hdmi_ddi_buffers()
1336 static u32 icl_pll_to_ddi_clk_sel(struct intel_encoder *encoder, in icl_pll_to_ddi_clk_sel() argument
1384 void hsw_fdi_link_train(struct intel_encoder *encoder, in hsw_fdi_link_train() argument
1391 intel_prepare_dp_ddi_buffers(encoder, crtc_state); in hsw_fdi_link_train()
1510 static void intel_ddi_init_dp_buf_reg(struct intel_encoder *encoder) in intel_ddi_init_dp_buf_reg() argument
1512 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in intel_ddi_init_dp_buf_reg()
1513 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_ddi_init_dp_buf_reg()
1567 static void intel_ddi_clock_get(struct intel_encoder *encoder, in intel_ddi_clock_get() argument
1570 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_ddi_clock_get()
1571 enum phy phy = intel_port_to_phy(dev_priv, encoder->port); in intel_ddi_clock_get()
1577 encoder->port); in intel_ddi_clock_get()
1660 intel_ddi_transcoder_func_reg_val_get(struct intel_encoder *encoder, in intel_ddi_transcoder_func_reg_val_get() argument
1667 enum port port = encoder->port; in intel_ddi_transcoder_func_reg_val_get()
1765 void intel_ddi_enable_transcoder_func(struct intel_encoder *encoder, in intel_ddi_enable_transcoder_func() argument
1789 intel_ddi_transcoder_func_reg_val_get(encoder, in intel_ddi_enable_transcoder_func()
1798 intel_ddi_config_transcoder_func(struct intel_encoder *encoder, in intel_ddi_config_transcoder_func() argument
1806 ctl = intel_ddi_transcoder_func_reg_val_get(encoder, crtc_state); in intel_ddi_config_transcoder_func()
1881 struct intel_encoder *encoder = intel_attached_encoder(intel_connector); in intel_ddi_connector_get_hw_state() local
1883 enum port port = encoder->port; in intel_ddi_connector_get_hw_state()
1891 encoder->power_domain); in intel_ddi_connector_get_hw_state()
1895 if (!encoder->get_hw_state(encoder, &pipe)) { in intel_ddi_connector_get_hw_state()
1934 intel_display_power_put(dev_priv, encoder->power_domain, wakeref); in intel_ddi_connector_get_hw_state()
1939 static void intel_ddi_get_encoder_pipes(struct intel_encoder *encoder, in intel_ddi_get_encoder_pipes() argument
1942 struct drm_device *dev = encoder->base.dev; in intel_ddi_get_encoder_pipes()
1944 enum port port = encoder->port; in intel_ddi_get_encoder_pipes()
1954 encoder->power_domain); in intel_ddi_get_encoder_pipes()
2021 "No pipe for [ENCODER:%d:%s] found\n", in intel_ddi_get_encoder_pipes()
2022 encoder->base.base.id, encoder->base.name); in intel_ddi_get_encoder_pipes()
2026 "Multiple pipes for [ENCODER:%d:%s] (pipe_mask %02x)\n", in intel_ddi_get_encoder_pipes()
2027 encoder->base.base.id, encoder->base.name, in intel_ddi_get_encoder_pipes()
2034 … "Conflicting MST and non-MST state for [ENCODER:%d:%s] (pipe_mask %02x mst_pipe_mask %02x)\n", in intel_ddi_get_encoder_pipes()
2035 encoder->base.base.id, encoder->base.name, in intel_ddi_get_encoder_pipes()
2047 "[ENCODER:%d:%s] enabled but PHY powered down? (PHY_CTL %08x)\n", in intel_ddi_get_encoder_pipes()
2048 encoder->base.base.id, encoder->base.name, tmp); in intel_ddi_get_encoder_pipes()
2051 intel_display_power_put(dev_priv, encoder->power_domain, wakeref); in intel_ddi_get_encoder_pipes()
2054 bool intel_ddi_get_hw_state(struct intel_encoder *encoder, in intel_ddi_get_hw_state() argument
2060 intel_ddi_get_encoder_pipes(encoder, &pipe_mask, &is_mst); in intel_ddi_get_hw_state()
2089 static void intel_ddi_get_power_domains(struct intel_encoder *encoder, in intel_ddi_get_power_domains() argument
2092 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_ddi_get_power_domains()
2094 enum phy phy = intel_port_to_phy(dev_priv, encoder->port); in intel_ddi_get_power_domains()
2105 dig_port = enc_to_dig_port(encoder); in intel_ddi_get_power_domains()
2129 void intel_ddi_enable_pipe_clock(struct intel_encoder *encoder, in intel_ddi_enable_pipe_clock() argument
2134 enum port port = encoder->port; in intel_ddi_enable_pipe_clock()
2180 static void skl_ddi_set_iboost(struct intel_encoder *encoder, in skl_ddi_set_iboost() argument
2183 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in skl_ddi_set_iboost()
2184 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in skl_ddi_set_iboost()
2188 iboost = intel_bios_hdmi_boost_level(encoder); in skl_ddi_set_iboost()
2190 iboost = intel_bios_dp_boost_level(encoder); in skl_ddi_set_iboost()
2197 ddi_translations = intel_ddi_get_buf_trans_hdmi(encoder, &n_entries); in skl_ddi_set_iboost()
2199 ddi_translations = intel_ddi_get_buf_trans_edp(encoder, in skl_ddi_set_iboost()
2202 ddi_translations = intel_ddi_get_buf_trans_dp(encoder, in skl_ddi_set_iboost()
2219 _skl_ddi_set_iboost(dev_priv, encoder->port, iboost); in skl_ddi_set_iboost()
2221 if (encoder->port == PORT_A && dig_port->max_lanes == 4) in skl_ddi_set_iboost()
2225 static void bxt_ddi_vswing_sequence(struct intel_encoder *encoder, in bxt_ddi_vswing_sequence() argument
2228 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in bxt_ddi_vswing_sequence()
2230 enum port port = encoder->port; in bxt_ddi_vswing_sequence()
2234 ddi_translations = bxt_get_buf_trans_hdmi(encoder, &n_entries); in bxt_ddi_vswing_sequence()
2236 ddi_translations = bxt_get_buf_trans_edp(encoder, &n_entries); in bxt_ddi_vswing_sequence()
2238 ddi_translations = bxt_get_buf_trans_dp(encoder, &n_entries); in bxt_ddi_vswing_sequence()
2254 struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base; in intel_ddi_dp_voltage_max() local
2255 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_ddi_dp_voltage_max()
2256 enum port port = encoder->port; in intel_ddi_dp_voltage_max()
2262 tgl_get_combo_buf_trans(encoder, encoder->type, in intel_ddi_dp_voltage_max()
2265 tgl_get_dkl_buf_trans(encoder, encoder->type, in intel_ddi_dp_voltage_max()
2269 ehl_get_combo_buf_trans(encoder, encoder->type, in intel_ddi_dp_voltage_max()
2272 icl_get_combo_buf_trans(encoder, encoder->type, in intel_ddi_dp_voltage_max()
2275 icl_get_mg_buf_trans(encoder, encoder->type, in intel_ddi_dp_voltage_max()
2278 if (encoder->type == INTEL_OUTPUT_EDP) in intel_ddi_dp_voltage_max()
2279 cnl_get_buf_trans_edp(encoder, &n_entries); in intel_ddi_dp_voltage_max()
2281 cnl_get_buf_trans_dp(encoder, &n_entries); in intel_ddi_dp_voltage_max()
2283 if (encoder->type == INTEL_OUTPUT_EDP) in intel_ddi_dp_voltage_max()
2284 bxt_get_buf_trans_edp(encoder, &n_entries); in intel_ddi_dp_voltage_max()
2286 bxt_get_buf_trans_dp(encoder, &n_entries); in intel_ddi_dp_voltage_max()
2288 if (encoder->type == INTEL_OUTPUT_EDP) in intel_ddi_dp_voltage_max()
2289 intel_ddi_get_buf_trans_edp(encoder, &n_entries); in intel_ddi_dp_voltage_max()
2291 intel_ddi_get_buf_trans_dp(encoder, &n_entries); in intel_ddi_dp_voltage_max()
2314 static void cnl_ddi_vswing_program(struct intel_encoder *encoder, in cnl_ddi_vswing_program() argument
2317 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in cnl_ddi_vswing_program()
2319 enum port port = encoder->port; in cnl_ddi_vswing_program()
2324 ddi_translations = cnl_get_buf_trans_hdmi(encoder, &n_entries); in cnl_ddi_vswing_program()
2326 ddi_translations = cnl_get_buf_trans_edp(encoder, &n_entries); in cnl_ddi_vswing_program()
2328 ddi_translations = cnl_get_buf_trans_dp(encoder, &n_entries); in cnl_ddi_vswing_program()
2378 static void cnl_ddi_vswing_sequence(struct intel_encoder *encoder, in cnl_ddi_vswing_sequence() argument
2381 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in cnl_ddi_vswing_sequence()
2382 enum port port = encoder->port; in cnl_ddi_vswing_sequence()
2390 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in cnl_ddi_vswing_sequence()
2437 cnl_ddi_vswing_program(encoder, level, type); in cnl_ddi_vswing_sequence()
2445 static void icl_ddi_combo_vswing_program(struct intel_encoder *encoder, in icl_ddi_combo_vswing_program() argument
2448 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in icl_ddi_combo_vswing_program()
2449 enum phy phy = intel_port_to_phy(dev_priv, encoder->port); in icl_ddi_combo_vswing_program()
2455 ddi_translations = tgl_get_combo_buf_trans(encoder, type, rate, in icl_ddi_combo_vswing_program()
2458 ddi_translations = ehl_get_combo_buf_trans(encoder, type, rate, in icl_ddi_combo_vswing_program()
2461 ddi_translations = icl_get_combo_buf_trans(encoder, type, rate, in icl_ddi_combo_vswing_program()
2474 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in icl_ddi_combo_vswing_program()
2520 static void icl_combo_phy_ddi_vswing_sequence(struct intel_encoder *encoder, in icl_combo_phy_ddi_vswing_sequence() argument
2524 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in icl_combo_phy_ddi_vswing_sequence()
2525 enum phy phy = intel_port_to_phy(dev_priv, encoder->port); in icl_combo_phy_ddi_vswing_sequence()
2535 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in icl_combo_phy_ddi_vswing_sequence()
2582 icl_ddi_combo_vswing_program(encoder, level, type, rate); in icl_combo_phy_ddi_vswing_sequence()
2590 static void icl_mg_phy_ddi_vswing_sequence(struct intel_encoder *encoder, in icl_mg_phy_ddi_vswing_sequence() argument
2594 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in icl_mg_phy_ddi_vswing_sequence()
2595 enum tc_port tc_port = intel_port_to_tc(dev_priv, encoder->port); in icl_mg_phy_ddi_vswing_sequence()
2601 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in icl_mg_phy_ddi_vswing_sequence()
2606 ddi_translations = icl_get_mg_buf_trans(encoder, type, rate, in icl_mg_phy_ddi_vswing_sequence()
2720 static void icl_ddi_vswing_sequence(struct intel_encoder *encoder, in icl_ddi_vswing_sequence() argument
2725 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in icl_ddi_vswing_sequence()
2726 enum phy phy = intel_port_to_phy(dev_priv, encoder->port); in icl_ddi_vswing_sequence()
2729 icl_combo_phy_ddi_vswing_sequence(encoder, level, type); in icl_ddi_vswing_sequence()
2731 icl_mg_phy_ddi_vswing_sequence(encoder, link_clock, level, in icl_ddi_vswing_sequence()
2736 tgl_dkl_phy_ddi_vswing_sequence(struct intel_encoder *encoder, int link_clock, in tgl_dkl_phy_ddi_vswing_sequence() argument
2739 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in tgl_dkl_phy_ddi_vswing_sequence()
2740 enum tc_port tc_port = intel_port_to_tc(dev_priv, encoder->port); in tgl_dkl_phy_ddi_vswing_sequence()
2746 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in tgl_dkl_phy_ddi_vswing_sequence()
2751 ddi_translations = tgl_get_dkl_buf_trans(encoder, encoder->type, rate, in tgl_dkl_phy_ddi_vswing_sequence()
2787 static void tgl_ddi_vswing_sequence(struct intel_encoder *encoder, in tgl_ddi_vswing_sequence() argument
2792 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in tgl_ddi_vswing_sequence()
2793 enum phy phy = intel_port_to_phy(dev_priv, encoder->port); in tgl_ddi_vswing_sequence()
2796 icl_combo_phy_ddi_vswing_sequence(encoder, level, type); in tgl_ddi_vswing_sequence()
2798 tgl_dkl_phy_ddi_vswing_sequence(encoder, link_clock, level, type); in tgl_ddi_vswing_sequence()
2830 struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base; in tgl_set_signal_levels() local
2833 tgl_ddi_vswing_sequence(encoder, intel_dp->link_rate, in tgl_set_signal_levels()
2834 level, encoder->type); in tgl_set_signal_levels()
2840 struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base; in icl_set_signal_levels() local
2843 icl_ddi_vswing_sequence(encoder, intel_dp->link_rate, in icl_set_signal_levels()
2844 level, encoder->type); in icl_set_signal_levels()
2850 struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base; in cnl_set_signal_levels() local
2853 cnl_ddi_vswing_sequence(encoder, level, encoder->type); in cnl_set_signal_levels()
2859 struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base; in bxt_set_signal_levels() local
2862 bxt_ddi_vswing_sequence(encoder, level, encoder->type); in bxt_set_signal_levels()
2868 struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base; in hsw_set_signal_levels() local
2869 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in hsw_set_signal_levels()
2871 enum port port = encoder->port; in hsw_set_signal_levels()
2883 skl_ddi_set_iboost(encoder, level, encoder->type); in hsw_set_signal_levels()
2906 static void icl_map_plls_to_ports(struct intel_encoder *encoder, in icl_map_plls_to_ports() argument
2909 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in icl_map_plls_to_ports()
2911 enum phy phy = intel_port_to_phy(dev_priv, encoder->port); in icl_map_plls_to_ports()
2953 static void icl_unmap_plls_to_ports(struct intel_encoder *encoder) in icl_unmap_plls_to_ports() argument
2955 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in icl_unmap_plls_to_ports()
2956 enum phy phy = intel_port_to_phy(dev_priv, encoder->port); in icl_unmap_plls_to_ports()
2998 void icl_sanitize_encoder_pll_mapping(struct intel_encoder *encoder) in icl_sanitize_encoder_pll_mapping() argument
3000 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in icl_sanitize_encoder_pll_mapping()
3005 * In case of DP MST, we sanitize the primary encoder only, not the in icl_sanitize_encoder_pll_mapping()
3008 if (encoder->type == INTEL_OUTPUT_DP_MST) in icl_sanitize_encoder_pll_mapping()
3011 if (!encoder->base.crtc && intel_encoder_is_dp(encoder)) { in icl_sanitize_encoder_pll_mapping()
3015 intel_ddi_get_encoder_pipes(encoder, &pipe_mask, &is_mst); in icl_sanitize_encoder_pll_mapping()
3024 port_mask = BIT(encoder->port); in icl_sanitize_encoder_pll_mapping()
3025 ddi_clk_needed = encoder->base.crtc; in icl_sanitize_encoder_pll_mapping()
3027 if (encoder->type == INTEL_OUTPUT_DSI) { in icl_sanitize_encoder_pll_mapping()
3030 port_mask = intel_dsi_encoder_ports(encoder); in icl_sanitize_encoder_pll_mapping()
3033 * encoder using any of the ports of this DSI encoder. in icl_sanitize_encoder_pll_mapping()
3036 if (other_encoder == encoder) in icl_sanitize_encoder_pll_mapping()
3053 static void intel_ddi_clk_select(struct intel_encoder *encoder, in intel_ddi_clk_select() argument
3056 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_ddi_clk_select()
3057 enum port port = encoder->port; in intel_ddi_clk_select()
3070 icl_pll_to_ddi_clk_sel(encoder, crtc_state)); in intel_ddi_clk_select()
3112 static void intel_ddi_clk_disable(struct intel_encoder *encoder) in intel_ddi_clk_disable() argument
3114 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_ddi_clk_disable()
3115 enum port port = encoder->port; in intel_ddi_clk_disable()
3239 static void intel_ddi_enable_fec(struct intel_encoder *encoder, in intel_ddi_enable_fec() argument
3242 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_ddi_enable_fec()
3249 intel_dp = enc_to_intel_dp(encoder); in intel_ddi_enable_fec()
3260 static void intel_ddi_disable_fec_state(struct intel_encoder *encoder, in intel_ddi_disable_fec_state() argument
3263 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_ddi_disable_fec_state()
3270 intel_dp = enc_to_intel_dp(encoder); in intel_ddi_disable_fec_state()
3278 struct intel_encoder *encoder, in tgl_ddi_pre_enable_dp() argument
3282 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in tgl_ddi_pre_enable_dp()
3283 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in tgl_ddi_pre_enable_dp()
3284 enum phy phy = intel_port_to_phy(dev_priv, encoder->port); in tgl_ddi_pre_enable_dp()
3285 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in tgl_ddi_pre_enable_dp()
3321 intel_ddi_clk_select(encoder, crtc_state); in tgl_ddi_pre_enable_dp()
3346 intel_ddi_enable_pipe_clock(encoder, crtc_state); in tgl_ddi_pre_enable_dp()
3352 intel_ddi_config_transcoder_func(encoder, crtc_state); in tgl_ddi_pre_enable_dp()
3363 tgl_ddi_vswing_sequence(encoder, crtc_state->port_clock, level, in tgl_ddi_pre_enable_dp()
3364 encoder->type); in tgl_ddi_pre_enable_dp()
3387 intel_ddi_init_dp_buf_reg(encoder); in tgl_ddi_pre_enable_dp()
3414 intel_ddi_enable_fec(encoder, crtc_state); in tgl_ddi_pre_enable_dp()
3415 intel_dsc_enable(encoder, crtc_state); in tgl_ddi_pre_enable_dp()
3419 struct intel_encoder *encoder, in hsw_ddi_pre_enable_dp() argument
3423 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in hsw_ddi_pre_enable_dp()
3424 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in hsw_ddi_pre_enable_dp()
3425 enum port port = encoder->port; in hsw_ddi_pre_enable_dp()
3427 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in hsw_ddi_pre_enable_dp()
3442 intel_ddi_clk_select(encoder, crtc_state); in hsw_ddi_pre_enable_dp()
3452 icl_ddi_vswing_sequence(encoder, crtc_state->port_clock, in hsw_ddi_pre_enable_dp()
3453 level, encoder->type); in hsw_ddi_pre_enable_dp()
3455 cnl_ddi_vswing_sequence(encoder, level, encoder->type); in hsw_ddi_pre_enable_dp()
3457 bxt_ddi_vswing_sequence(encoder, level, encoder->type); in hsw_ddi_pre_enable_dp()
3459 intel_prepare_dp_ddi_buffers(encoder, crtc_state); in hsw_ddi_pre_enable_dp()
3470 intel_ddi_init_dp_buf_reg(encoder); in hsw_ddi_pre_enable_dp()
3482 intel_ddi_enable_fec(encoder, crtc_state); in hsw_ddi_pre_enable_dp()
3485 intel_ddi_enable_pipe_clock(encoder, crtc_state); in hsw_ddi_pre_enable_dp()
3487 intel_dsc_enable(encoder, crtc_state); in hsw_ddi_pre_enable_dp()
3491 struct intel_encoder *encoder, in intel_ddi_pre_enable_dp() argument
3495 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_ddi_pre_enable_dp()
3498 tgl_ddi_pre_enable_dp(state, encoder, crtc_state, conn_state); in intel_ddi_pre_enable_dp()
3500 hsw_ddi_pre_enable_dp(state, encoder, crtc_state, conn_state); in intel_ddi_pre_enable_dp()
3503 * from MST encoder pre_enable callback. in intel_ddi_pre_enable_dp()
3513 struct intel_encoder *encoder, in intel_ddi_pre_enable_hdmi() argument
3517 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_ddi_pre_enable_hdmi()
3519 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_ddi_pre_enable_hdmi()
3520 int level = intel_ddi_hdmi_level(encoder); in intel_ddi_pre_enable_hdmi()
3523 intel_ddi_clk_select(encoder, crtc_state); in intel_ddi_pre_enable_hdmi()
3530 tgl_ddi_vswing_sequence(encoder, crtc_state->port_clock, in intel_ddi_pre_enable_hdmi()
3533 icl_ddi_vswing_sequence(encoder, crtc_state->port_clock, in intel_ddi_pre_enable_hdmi()
3536 cnl_ddi_vswing_sequence(encoder, level, INTEL_OUTPUT_HDMI); in intel_ddi_pre_enable_hdmi()
3538 bxt_ddi_vswing_sequence(encoder, level, INTEL_OUTPUT_HDMI); in intel_ddi_pre_enable_hdmi()
3540 intel_prepare_hdmi_ddi_buffers(encoder, level); in intel_ddi_pre_enable_hdmi()
3543 skl_ddi_set_iboost(encoder, level, INTEL_OUTPUT_HDMI); in intel_ddi_pre_enable_hdmi()
3545 intel_ddi_enable_pipe_clock(encoder, crtc_state); in intel_ddi_pre_enable_hdmi()
3547 dig_port->set_infoframes(encoder, in intel_ddi_pre_enable_hdmi()
3553 struct intel_encoder *encoder, in intel_ddi_pre_enable() argument
3564 * - encoder will be the main encoder (ie. mst->primary) in intel_ddi_pre_enable()
3577 icl_map_plls_to_ports(encoder, crtc_state); in intel_ddi_pre_enable()
3582 intel_ddi_pre_enable_hdmi(state, encoder, crtc_state, in intel_ddi_pre_enable()
3585 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_ddi_pre_enable()
3587 intel_ddi_pre_enable_dp(state, encoder, crtc_state, in intel_ddi_pre_enable()
3593 dig_port->set_infoframes(encoder, in intel_ddi_pre_enable()
3599 static void intel_disable_ddi_buf(struct intel_encoder *encoder, in intel_disable_ddi_buf() argument
3602 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_disable_ddi_buf()
3603 enum port port = encoder->port; in intel_disable_ddi_buf()
3615 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in intel_disable_ddi_buf()
3624 intel_ddi_disable_fec_state(encoder, crtc_state); in intel_disable_ddi_buf()
3631 struct intel_encoder *encoder, in intel_ddi_post_disable_dp() argument
3635 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_ddi_post_disable_dp()
3636 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_ddi_post_disable_dp()
3640 enum phy phy = intel_port_to_phy(dev_priv, encoder->port); in intel_ddi_post_disable_dp()
3643 intel_dp_set_infoframes(encoder, false, in intel_ddi_post_disable_dp()
3670 intel_disable_ddi_buf(encoder, old_crtc_state); in intel_ddi_post_disable_dp()
3688 intel_ddi_clk_disable(encoder); in intel_ddi_post_disable_dp()
3692 struct intel_encoder *encoder, in intel_ddi_post_disable_hdmi() argument
3696 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_ddi_post_disable_hdmi()
3697 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_ddi_post_disable_hdmi()
3700 dig_port->set_infoframes(encoder, false, in intel_ddi_post_disable_hdmi()
3705 intel_disable_ddi_buf(encoder, old_crtc_state); in intel_ddi_post_disable_hdmi()
3710 intel_ddi_clk_disable(encoder); in intel_ddi_post_disable_hdmi()
3716 struct intel_encoder *encoder, in intel_ddi_post_disable() argument
3720 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_ddi_post_disable()
3721 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_ddi_post_disable()
3722 enum phy phy = intel_port_to_phy(dev_priv, encoder->port); in intel_ddi_post_disable()
3743 * - encoder will be the main encoder (ie. mst->primary) in intel_ddi_post_disable()
3754 intel_ddi_post_disable_hdmi(state, encoder, old_crtc_state, in intel_ddi_post_disable()
3757 intel_ddi_post_disable_dp(state, encoder, old_crtc_state, in intel_ddi_post_disable()
3761 icl_unmap_plls_to_ports(encoder); in intel_ddi_post_disable()
3772 struct intel_encoder *encoder, in intel_ddi_fdi_post_disable() argument
3776 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_ddi_fdi_post_disable()
3789 intel_disable_ddi_buf(encoder, old_crtc_state); in intel_ddi_fdi_post_disable()
3790 intel_ddi_clk_disable(encoder); in intel_ddi_fdi_post_disable()
3807 struct intel_encoder *encoder, in trans_port_sync_stop_link_train() argument
3838 intel_dp_stop_link_train(enc_to_intel_dp(encoder)); in trans_port_sync_stop_link_train()
3842 struct intel_encoder *encoder, in intel_enable_ddi_dp() argument
3846 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_enable_ddi_dp()
3847 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in intel_enable_ddi_dp()
3848 enum port port = encoder->port; in intel_enable_ddi_dp()
3855 intel_dp_set_infoframes(encoder, true, crtc_state, conn_state); in intel_enable_ddi_dp()
3859 intel_audio_codec_enable(encoder, crtc_state, conn_state); in intel_enable_ddi_dp()
3861 trans_port_sync_stop_link_train(state, encoder, crtc_state); in intel_enable_ddi_dp()
3885 struct intel_encoder *encoder, in intel_enable_ddi_hdmi() argument
3889 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_enable_ddi_hdmi()
3890 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_enable_ddi_hdmi()
3892 enum port port = encoder->port; in intel_enable_ddi_hdmi()
3894 if (!intel_hdmi_handle_sink_scrambling(encoder, connector, in intel_enable_ddi_hdmi()
3944 intel_audio_codec_enable(encoder, crtc_state, conn_state); in intel_enable_ddi_hdmi()
3948 struct intel_encoder *encoder, in intel_enable_ddi() argument
3954 intel_ddi_enable_transcoder_func(encoder, crtc_state); in intel_enable_ddi()
3961 intel_enable_ddi_hdmi(state, encoder, crtc_state, conn_state); in intel_enable_ddi()
3963 intel_enable_ddi_dp(state, encoder, crtc_state, conn_state); in intel_enable_ddi()
3974 struct intel_encoder *encoder, in intel_disable_ddi_dp() argument
3978 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in intel_disable_ddi_dp()
3983 intel_audio_codec_disable(encoder, in intel_disable_ddi_dp()
3995 struct intel_encoder *encoder, in intel_disable_ddi_hdmi() argument
3999 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in intel_disable_ddi_hdmi()
4003 intel_audio_codec_disable(encoder, in intel_disable_ddi_hdmi()
4006 if (!intel_hdmi_handle_sink_scrambling(encoder, connector, in intel_disable_ddi_hdmi()
4014 struct intel_encoder *encoder, in intel_disable_ddi() argument
4021 intel_disable_ddi_hdmi(state, encoder, old_crtc_state, in intel_disable_ddi()
4024 intel_disable_ddi_dp(state, encoder, old_crtc_state, in intel_disable_ddi()
4029 struct intel_encoder *encoder, in intel_ddi_update_pipe_dp() argument
4033 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in intel_ddi_update_pipe_dp()
4038 intel_dp_set_infoframes(encoder, true, crtc_state, conn_state); in intel_ddi_update_pipe_dp()
4041 intel_panel_update_backlight(state, encoder, crtc_state, conn_state); in intel_ddi_update_pipe_dp()
4045 struct intel_encoder *encoder, in intel_ddi_update_pipe() argument
4051 !intel_encoder_is_mst(encoder)) in intel_ddi_update_pipe()
4052 intel_ddi_update_pipe_dp(state, encoder, crtc_state, in intel_ddi_update_pipe()
4055 intel_hdcp_update_pipe(state, encoder, crtc_state, conn_state); in intel_ddi_update_pipe()
4060 struct intel_encoder *encoder, in intel_ddi_update_prepare() argument
4069 intel_tc_port_get_link(enc_to_dig_port(encoder), in intel_ddi_update_prepare()
4072 intel_update_active_dpll(state, crtc, encoder); in intel_ddi_update_prepare()
4077 struct intel_encoder *encoder, in intel_ddi_update_complete() argument
4080 intel_tc_port_put_link(enc_to_dig_port(encoder)); in intel_ddi_update_complete()
4085 struct intel_encoder *encoder, in intel_ddi_pre_pll_enable() argument
4089 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_ddi_pre_pll_enable()
4090 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_ddi_pre_pll_enable()
4091 enum phy phy = intel_port_to_phy(dev_priv, encoder->port); in intel_ddi_pre_pll_enable()
4108 bxt_ddi_phy_set_lane_optim_mask(encoder, in intel_ddi_pre_pll_enable()
4190 struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base; in intel_ddi_set_idle_link_train() local
4191 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_ddi_set_idle_link_train()
4192 enum port port = encoder->port; in intel_ddi_set_idle_link_train()
4302 void intel_ddi_get_config(struct intel_encoder *encoder, in intel_ddi_get_config() argument
4305 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_ddi_get_config()
4308 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in intel_ddi_get_config()
4315 intel_dsc_get_config(encoder, pipe_config); in intel_ddi_get_config()
4351 intel_hdmi_infoframes_enabled(encoder, pipe_config); in intel_ddi_get_config()
4369 if (encoder->type == INTEL_OUTPUT_EDP) in intel_ddi_get_config()
4381 dp_tp_ctl = DP_TP_CTL(encoder->port); in intel_ddi_get_config()
4389 "[ENCODER:%d:%s] Fec status: %u\n", in intel_ddi_get_config()
4390 encoder->base.base.id, encoder->base.name, in intel_ddi_get_config()
4395 intel_hdmi_infoframes_enabled(encoder, pipe_config); in intel_ddi_get_config()
4410 intel_hdmi_infoframes_enabled(encoder, pipe_config); in intel_ddi_get_config()
4429 if (encoder->type == INTEL_OUTPUT_EDP && dev_priv->vbt.edp.bpp && in intel_ddi_get_config()
4450 intel_ddi_clock_get(encoder, pipe_config); in intel_ddi_get_config()
4454 bxt_ddi_phy_get_lane_lat_optim_mask(encoder); in intel_ddi_get_config()
4458 intel_hdmi_read_gcp_infoframe(encoder, pipe_config); in intel_ddi_get_config()
4460 intel_read_infoframe(encoder, pipe_config, in intel_ddi_get_config()
4463 intel_read_infoframe(encoder, pipe_config, in intel_ddi_get_config()
4466 intel_read_infoframe(encoder, pipe_config, in intel_ddi_get_config()
4469 intel_read_infoframe(encoder, pipe_config, in intel_ddi_get_config()
4476 intel_read_dp_sdp(encoder, pipe_config, HDMI_PACKET_TYPE_GAMUT_METADATA); in intel_ddi_get_config()
4477 intel_read_dp_sdp(encoder, pipe_config, DP_SDP_VSC); in intel_ddi_get_config()
4481 intel_ddi_compute_output_type(struct intel_encoder *encoder, in intel_ddi_compute_output_type() argument
4498 static int intel_ddi_compute_config(struct intel_encoder *encoder, in intel_ddi_compute_config() argument
4503 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_ddi_compute_config()
4504 enum port port = encoder->port; in intel_ddi_compute_config()
4511 ret = intel_hdmi_compute_config(encoder, pipe_config, conn_state); in intel_ddi_compute_config()
4513 ret = intel_dp_compute_config(encoder, pipe_config, conn_state); in intel_ddi_compute_config()
4611 static int intel_ddi_compute_config_late(struct intel_encoder *encoder, in intel_ddi_compute_config_late() argument
4615 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in intel_ddi_compute_config_late()
4619 drm_dbg_kms(&i915->drm, "[ENCODER:%d:%s] [CRTC:%d:%s]", in intel_ddi_compute_config_late()
4620 encoder->base.base.id, encoder->base.name, in intel_ddi_compute_config_late()
4645 static void intel_ddi_encoder_destroy(struct drm_encoder *encoder) in intel_ddi_encoder_destroy() argument
4647 struct intel_digital_port *dig_port = enc_to_dig_port(to_intel_encoder(encoder)); in intel_ddi_encoder_destroy()
4649 intel_dp_encoder_flush_work(encoder); in intel_ddi_encoder_destroy()
4651 drm_encoder_cleanup(encoder); in intel_ddi_encoder_destroy()
4731 static int intel_hdmi_reset_link(struct intel_encoder *encoder, in intel_hdmi_reset_link() argument
4734 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_hdmi_reset_link()
4735 struct intel_hdmi *hdmi = enc_to_intel_hdmi(encoder); in intel_hdmi_reset_link()
4805 intel_ddi_hotplug(struct intel_encoder *encoder, in intel_ddi_hotplug() argument
4808 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in intel_ddi_hotplug()
4809 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_ddi_hotplug()
4810 enum phy phy = intel_port_to_phy(i915, encoder->port); in intel_ddi_hotplug()
4816 state = intel_encoder_hotplug(encoder, connector); in intel_ddi_hotplug()
4822 ret = intel_hdmi_reset_link(encoder, &ctx); in intel_ddi_hotplug()
4824 ret = intel_dp_retrain_link(encoder, &ctx); in intel_ddi_hotplug()
4836 drm_WARN(encoder->base.dev, ret, in intel_ddi_hotplug()
4869 static bool lpt_digital_port_connected(struct intel_encoder *encoder) in lpt_digital_port_connected() argument
4871 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in lpt_digital_port_connected()
4872 u32 bit = dev_priv->hotplug.pch_hpd[encoder->hpd_pin]; in lpt_digital_port_connected()
4877 static bool hsw_digital_port_connected(struct intel_encoder *encoder) in hsw_digital_port_connected() argument
4879 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in hsw_digital_port_connected()
4880 u32 bit = dev_priv->hotplug.hpd[encoder->hpd_pin]; in hsw_digital_port_connected()
4885 static bool bdw_digital_port_connected(struct intel_encoder *encoder) in bdw_digital_port_connected() argument
4887 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in bdw_digital_port_connected()
4888 u32 bit = dev_priv->hotplug.hpd[encoder->hpd_pin]; in bdw_digital_port_connected()
5031 struct intel_encoder *encoder; in intel_ddi_init() local
5075 encoder = &dig_port->base; in intel_ddi_init()
5077 drm_encoder_init(&dev_priv->drm, &encoder->base, &intel_ddi_funcs, in intel_ddi_init()
5083 encoder->hotplug = intel_ddi_hotplug; in intel_ddi_init()
5084 encoder->compute_output_type = intel_ddi_compute_output_type; in intel_ddi_init()
5085 encoder->compute_config = intel_ddi_compute_config; in intel_ddi_init()
5086 encoder->compute_config_late = intel_ddi_compute_config_late; in intel_ddi_init()
5087 encoder->enable = intel_enable_ddi; in intel_ddi_init()
5088 encoder->pre_pll_enable = intel_ddi_pre_pll_enable; in intel_ddi_init()
5089 encoder->pre_enable = intel_ddi_pre_enable; in intel_ddi_init()
5090 encoder->disable = intel_disable_ddi; in intel_ddi_init()
5091 encoder->post_disable = intel_ddi_post_disable; in intel_ddi_init()
5092 encoder->update_pipe = intel_ddi_update_pipe; in intel_ddi_init()
5093 encoder->get_hw_state = intel_ddi_get_hw_state; in intel_ddi_init()
5094 encoder->get_config = intel_ddi_get_config; in intel_ddi_init()
5095 encoder->suspend = intel_dp_encoder_suspend; in intel_ddi_init()
5096 encoder->get_power_domains = intel_ddi_get_power_domains; in intel_ddi_init()
5098 encoder->type = INTEL_OUTPUT_DDI; in intel_ddi_init()
5099 encoder->power_domain = intel_port_to_power_domain(port); in intel_ddi_init()
5100 encoder->port = port; in intel_ddi_init()
5101 encoder->cloneable = 0; in intel_ddi_init()
5102 encoder->pipe_mask = ~0; in intel_ddi_init()
5105 encoder->hpd_pin = rkl_hpd_pin(dev_priv, port); in intel_ddi_init()
5107 encoder->hpd_pin = tgl_hpd_pin(dev_priv, port); in intel_ddi_init()
5109 encoder->hpd_pin = ehl_hpd_pin(dev_priv, port); in intel_ddi_init()
5111 encoder->hpd_pin = icl_hpd_pin(dev_priv, port); in intel_ddi_init()
5113 encoder->hpd_pin = cnl_hpd_pin(dev_priv, port); in intel_ddi_init()
5115 encoder->hpd_pin = intel_hpd_pin_default(dev_priv, port); in intel_ddi_init()
5137 encoder->update_prepare = intel_ddi_update_prepare; in intel_ddi_init()
5138 encoder->update_complete = intel_ddi_update_complete; in intel_ddi_init()
5152 /* In theory we don't need the encoder->type check, but leave it just in in intel_ddi_init()
5154 if (encoder->type != INTEL_OUTPUT_EDP && init_hdmi) { in intel_ddi_init()
5197 drm_encoder_cleanup(&encoder->base); in intel_ddi_init()