/drivers/gpu/drm/i915/display/ |
D | intel_tc.c | 31 static bool intel_tc_port_in_mode(struct intel_digital_port *dig_port, in intel_tc_port_in_mode() argument 34 struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); in intel_tc_port_in_mode() 35 enum phy phy = intel_port_to_phy(i915, dig_port->base.port); in intel_tc_port_in_mode() 37 return intel_phy_is_tc(i915, phy) && dig_port->tc_mode == mode; in intel_tc_port_in_mode() 40 bool intel_tc_port_in_tbt_alt_mode(struct intel_digital_port *dig_port) in intel_tc_port_in_tbt_alt_mode() argument 42 return intel_tc_port_in_mode(dig_port, TC_PORT_TBT_ALT); in intel_tc_port_in_tbt_alt_mode() 45 bool intel_tc_port_in_dp_alt_mode(struct intel_digital_port *dig_port) in intel_tc_port_in_dp_alt_mode() argument 47 return intel_tc_port_in_mode(dig_port, TC_PORT_DP_ALT); in intel_tc_port_in_dp_alt_mode() 50 bool intel_tc_port_in_legacy_mode(struct intel_digital_port *dig_port) in intel_tc_port_in_legacy_mode() argument 52 return intel_tc_port_in_mode(dig_port, TC_PORT_LEGACY); in intel_tc_port_in_legacy_mode() [all …]
|
D | intel_dp_hdcp.c | 59 int intel_dp_hdcp_write_an_aksv(struct intel_digital_port *dig_port, in intel_dp_hdcp_write_an_aksv() argument 62 struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); in intel_dp_hdcp_write_an_aksv() 67 dpcd_ret = drm_dp_dpcd_write(&dig_port->dp.aux, DP_AUX_HDCP_AN, in intel_dp_hdcp_write_an_aksv() 83 dpcd_ret = drm_dp_dpcd_write(&dig_port->dp.aux, DP_AUX_HDCP_AKSV, in intel_dp_hdcp_write_an_aksv() 94 static int intel_dp_hdcp_read_bksv(struct intel_digital_port *dig_port, in intel_dp_hdcp_read_bksv() argument 97 struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); in intel_dp_hdcp_read_bksv() 100 ret = drm_dp_dpcd_read(&dig_port->dp.aux, DP_AUX_HDCP_BKSV, bksv, in intel_dp_hdcp_read_bksv() 110 static int intel_dp_hdcp_read_bstatus(struct intel_digital_port *dig_port, in intel_dp_hdcp_read_bstatus() argument 113 struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); in intel_dp_hdcp_read_bstatus() 121 ret = drm_dp_dpcd_read(&dig_port->dp.aux, DP_AUX_HDCP_BINFO, in intel_dp_hdcp_read_bstatus() [all …]
|
D | intel_tc.h | 15 bool intel_tc_port_in_tbt_alt_mode(struct intel_digital_port *dig_port); 16 bool intel_tc_port_in_dp_alt_mode(struct intel_digital_port *dig_port); 17 bool intel_tc_port_in_legacy_mode(struct intel_digital_port *dig_port); 21 u32 intel_tc_port_get_lane_mask(struct intel_digital_port *dig_port); 22 u32 intel_tc_port_get_pin_assignment_mask(struct intel_digital_port *dig_port); 23 int intel_tc_port_fia_max_lane_count(struct intel_digital_port *dig_port); 24 void intel_tc_port_set_fia_lane_count(struct intel_digital_port *dig_port, 27 void intel_tc_port_init_mode(struct intel_digital_port *dig_port); 28 void intel_tc_port_sanitize_mode(struct intel_digital_port *dig_port); 29 void intel_tc_port_lock(struct intel_digital_port *dig_port); [all …]
|
D | intel_hdcp.c | 71 intel_hdcp_required_content_stream(struct intel_digital_port *dig_port) in intel_hdcp_required_content_stream() argument 76 struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); in intel_hdcp_required_content_stream() 77 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in intel_hdcp_required_content_stream() 83 if (dig_port->hdcp_auth_status) in intel_hdcp_required_content_stream() 95 if (conn_dig_port != dig_port) in intel_hdcp_required_content_stream() 98 if (!enforce_type0 && !dig_port->hdcp_mst_type1_capable) in intel_hdcp_required_content_stream() 105 if (dig_port->dp.active_mst_links <= 1) in intel_hdcp_required_content_stream() 126 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp_prepare_streams() local 127 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in intel_hdcp_prepare_streams() 135 ret = intel_hdcp_required_content_stream(dig_port); in intel_hdcp_prepare_streams() [all …]
|
D | intel_dp_aux.c | 77 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in ilk_get_aux_clock_divider() local 88 if (dig_port->aux_ch == AUX_CH_A) in ilk_get_aux_clock_divider() 98 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in hsw_get_aux_clock_divider() local 100 if (dig_port->aux_ch != AUX_CH_A && HAS_PCH_LPT_H(dev_priv)) { in hsw_get_aux_clock_divider() 152 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in g4x_get_aux_send_ctl() local 154 to_i915(dig_port->base.base.dev); in g4x_get_aux_send_ctl() 178 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in skl_get_aux_send_ctl() local 179 struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); in skl_get_aux_send_ctl() 197 if (intel_tc_port_in_tbt_alt_mode(dig_port)) in skl_get_aux_send_ctl() 216 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in intel_dp_aux_xfer() local [all …]
|
D | intel_dp_mst.c | 363 struct intel_digital_port *dig_port = intel_mst->primary; in intel_mst_disable_dp() local 364 struct intel_dp *intel_dp = &dig_port->dp; in intel_mst_disable_dp() 394 struct intel_digital_port *dig_port = intel_mst->primary; in intel_mst_post_disable_dp() local 395 struct intel_dp *intel_dp = &dig_port->dp; in intel_mst_post_disable_dp() 437 intel_dp_set_infoframes(&dig_port->base, false, in intel_mst_post_disable_dp() 452 dig_port->base.post_disable(state, &dig_port->base, in intel_mst_post_disable_dp() 465 struct intel_digital_port *dig_port = intel_mst->primary; in intel_mst_pre_pll_enable_dp() local 466 struct intel_dp *intel_dp = &dig_port->dp; in intel_mst_pre_pll_enable_dp() 469 dig_port->base.pre_pll_enable(state, &dig_port->base, in intel_mst_pre_pll_enable_dp() 479 struct intel_digital_port *dig_port = intel_mst->primary; in intel_mst_pre_enable_dp() local [all …]
|
D | intel_hdmi.c | 606 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_hdmi_infoframes_enabled() local 610 val = dig_port->infoframes_enabled(encoder, crtc_state); in intel_hdmi_infoframes_enabled() 650 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_write_infoframe() local 671 dig_port->write_infoframe(encoder, crtc_state, type, buffer, len); in intel_write_infoframe() 679 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_read_infoframe() local 687 dig_port->read_infoframe(encoder, crtc_state, in intel_read_infoframe() 862 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in g4x_set_infoframes() local 863 struct intel_hdmi *intel_hdmi = &dig_port->hdmi; in g4x_set_infoframes() 1047 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in ibx_set_infoframes() local 1048 struct intel_hdmi *intel_hdmi = &dig_port->hdmi; in ibx_set_infoframes() [all …]
|
D | intel_ddi.c | 291 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_ddi_init_dp_buf_reg() local 295 intel_dp->DP = dig_port->saved_port_bits | in intel_ddi_init_dp_buf_reg() 301 if (!intel_tc_port_in_tbt_alt_mode(dig_port)) in intel_ddi_init_dp_buf_reg() 848 intel_ddi_main_link_aux_domain(struct intel_digital_port *dig_port) in intel_ddi_main_link_aux_domain() argument 862 return dig_port->aux_ch == AUX_CH_A ? POWER_DOMAIN_AUX_IO_A : in intel_ddi_main_link_aux_domain() 863 intel_aux_power_domain(dig_port); in intel_ddi_main_link_aux_domain() 870 struct intel_digital_port *dig_port; in intel_ddi_get_power_domains() local 882 dig_port = enc_to_dig_port(encoder); in intel_ddi_get_power_domains() 884 if (!intel_tc_port_in_tbt_alt_mode(dig_port)) { in intel_ddi_get_power_domains() 885 drm_WARN_ON(&dev_priv->drm, dig_port->ddi_io_wakeref); in intel_ddi_get_power_domains() [all …]
|
D | g4x_hdmi.c | 294 struct intel_digital_port *dig_port = in intel_disable_hdmi() local 338 dig_port->set_infoframes(encoder, in intel_disable_hdmi() 376 struct intel_digital_port *dig_port = in intel_hdmi_pre_enable() local 381 dig_port->set_infoframes(encoder, in intel_hdmi_pre_enable() 391 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in vlv_hdmi_pre_enable() local 401 dig_port->set_infoframes(encoder, in vlv_hdmi_pre_enable() 407 vlv_wait_port_ready(dev_priv, dig_port, 0x0); in vlv_hdmi_pre_enable() 468 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in chv_hdmi_pre_enable() local 478 dig_port->set_infoframes(encoder, in chv_hdmi_pre_enable() 484 vlv_wait_port_ready(dev_priv, dig_port, 0x0); in chv_hdmi_pre_enable() [all …]
|
D | intel_lspcon.c | 58 struct intel_digital_port *dig_port = in lspcon_to_intel_dp() local 61 return &dig_port->dp; in lspcon_to_intel_dp() 279 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in lspcon_resume_in_pcon_wa() local 283 if (intel_digital_port_connected(&dig_port->base)) { in lspcon_resume_in_pcon_wa() 514 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in lspcon_set_infoframes() local 515 struct intel_lspcon *lspcon = &dig_port->lspcon; in lspcon_set_infoframes() 576 dig_port->write_infoframe(encoder, crtc_state, HDMI_INFOFRAME_TYPE_AVI, in lspcon_set_infoframes() 645 bool lspcon_init(struct intel_digital_port *dig_port) in lspcon_init() argument 647 struct intel_dp *intel_dp = &dig_port->dp; in lspcon_init() 648 struct intel_lspcon *lspcon = &dig_port->lspcon; in lspcon_init() [all …]
|
D | intel_pps.c | 52 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in vlv_power_sequencer_kick() local 62 pipe_name(pipe), dig_port->base.base.base.id, in vlv_power_sequencer_kick() 63 dig_port->base.base.name)) in vlv_power_sequencer_kick() 68 pipe_name(pipe), dig_port->base.base.base.id, in vlv_power_sequencer_kick() 69 dig_port->base.base.name); in vlv_power_sequencer_kick() 164 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in vlv_power_sequencer_pipe() local 193 dig_port->base.base.base.id, in vlv_power_sequencer_pipe() 194 dig_port->base.base.name); in vlv_power_sequencer_pipe() 283 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in vlv_initial_power_sequencer_setup() local 284 enum port port = dig_port->base.port; in vlv_initial_power_sequencer_setup() [all …]
|
D | g4x_dp.c | 170 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in assert_dp_port() local 171 struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev); in assert_dp_port() 176 dig_port->base.base.base.id, dig_port->base.base.name, in assert_dp_port() 1279 struct intel_digital_port *dig_port; in g4x_dp_init() local 1284 dig_port = kzalloc(sizeof(*dig_port), GFP_KERNEL); in g4x_dp_init() 1285 if (!dig_port) in g4x_dp_init() 1292 intel_encoder = &dig_port->base; in g4x_dp_init() 1295 mutex_init(&dig_port->hdcp_mutex); in g4x_dp_init() 1333 dig_port->dp.set_link_train = cpt_set_link_train; in g4x_dp_init() 1335 dig_port->dp.set_link_train = g4x_set_link_train; in g4x_dp_init() [all …]
|
D | intel_display_types.h | 434 int (*write_an_aksv)(struct intel_digital_port *dig_port, u8 *an); 437 int (*read_bksv)(struct intel_digital_port *dig_port, u8 *bksv); 445 int (*read_bstatus)(struct intel_digital_port *dig_port, 449 int (*repeater_present)(struct intel_digital_port *dig_port, 453 int (*read_ri_prime)(struct intel_digital_port *dig_port, u8 *ri); 456 int (*read_ksv_ready)(struct intel_digital_port *dig_port, 460 int (*read_ksv_fifo)(struct intel_digital_port *dig_port, 464 int (*read_v_prime_part)(struct intel_digital_port *dig_port, 468 int (*toggle_signalling)(struct intel_digital_port *dig_port, 477 bool (*check_link)(struct intel_digital_port *dig_port, [all …]
|
D | intel_dp_mst.h | 17 int intel_dp_mst_encoder_init(struct intel_digital_port *dig_port, int conn_id); 18 void intel_dp_mst_encoder_cleanup(struct intel_digital_port *dig_port); 19 int intel_dp_mst_encoder_active_links(struct intel_digital_port *dig_port);
|
D | intel_dpio_phy.c | 664 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in chv_set_phy_signal_level() local 666 enum dpio_channel ch = vlv_dig_port_to_channel(dig_port); in chv_set_phy_signal_level() 803 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in chv_phy_pre_pll_enable() local 806 enum dpio_channel ch = vlv_dig_port_to_channel(dig_port); in chv_phy_pre_pll_enable() 817 dig_port->release_cl2_override = in chv_phy_pre_pll_enable() 884 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in chv_phy_pre_encoder_enable() local 887 enum dpio_channel ch = vlv_dig_port_to_channel(dig_port); in chv_phy_pre_encoder_enable() 962 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in chv_phy_release_cl2_override() local 965 if (dig_port->release_cl2_override) { in chv_phy_release_cl2_override() 967 dig_port->release_cl2_override = false; in chv_phy_release_cl2_override() [all …]
|
D | intel_dp.c | 113 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in intel_dp_is_edp() local 115 return dig_port->base.type == INTEL_OUTPUT_EDP; in intel_dp_is_edp() 289 static int intel_dp_max_source_lane_count(struct intel_digital_port *dig_port) in intel_dp_max_source_lane_count() argument 291 int vbt_max_lanes = intel_bios_dp_max_lane_count(&dig_port->base); in intel_dp_max_source_lane_count() 292 int max_lanes = dig_port->max_lanes; in intel_dp_max_source_lane_count() 303 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in intel_dp_max_common_lane_count() local 304 int source_max = intel_dp_max_source_lane_count(dig_port); in intel_dp_max_common_lane_count() 306 int fia_max = intel_tc_port_fia_max_lane_count(dig_port); in intel_dp_max_common_lane_count() 405 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in icl_max_source_rate() local 406 struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev); in icl_max_source_rate() [all …]
|
D | intel_hotplug.c | 313 struct intel_digital_port *dig_port; in i915_digport_work_func() local 327 dig_port = enc_to_dig_port(encoder); in i915_digport_work_func() 329 ret = dig_port->hpd_pulse(dig_port, long_hpd); in i915_digport_work_func() 351 void intel_hpd_trigger_irq(struct intel_digital_port *dig_port) in intel_hpd_trigger_irq() argument 353 struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); in intel_hpd_trigger_irq() 356 i915->display.hotplug.short_port_mask |= BIT(dig_port->base.port); in intel_hpd_trigger_irq()
|
D | intel_display_power_well.c | 216 struct intel_digital_port *dig_port = NULL; in aux_ch_to_digital_port() local 224 dig_port = enc_to_dig_port(encoder); in aux_ch_to_digital_port() 225 if (!dig_port) in aux_ch_to_digital_port() 228 if (dig_port->aux_ch != aux_ch) { in aux_ch_to_digital_port() 229 dig_port = NULL; in aux_ch_to_digital_port() 236 return dig_port; in aux_ch_to_digital_port() 243 struct intel_digital_port *dig_port = aux_ch_to_digital_port(i915, aux_ch); in icl_aux_pw_to_phy() local 245 return intel_port_to_phy(i915, dig_port->base.port); in icl_aux_pw_to_phy() 451 struct intel_digital_port *dig_port) in icl_tc_port_assert_ref_held() argument 453 if (drm_WARN_ON(&dev_priv->drm, !dig_port)) in icl_tc_port_assert_ref_held() [all …]
|
D | intel_lspcon.h | 18 bool lspcon_init(struct intel_digital_port *dig_port); 20 void lspcon_resume(struct intel_digital_port *dig_port);
|
D | intel_hdmi.h | 24 void intel_hdmi_init_connector(struct intel_digital_port *dig_port, 35 void intel_infoframe_init(struct intel_digital_port *dig_port);
|
D | intel_dp.h | 39 bool intel_dp_init_connector(struct intel_digital_port *dig_port, 62 enum irqreturn intel_dp_hpd_pulse(struct intel_digital_port *dig_port,
|
D | intel_pipe_crc.c | 81 struct intel_digital_port *dig_port; in i9xx_pipe_crc_auto_source() local 102 dig_port = enc_to_dig_port(encoder); in i9xx_pipe_crc_auto_source() 103 switch (dig_port->base.port) { in i9xx_pipe_crc_auto_source() 115 port_name(dig_port->base.port)); in i9xx_pipe_crc_auto_source()
|
D | intel_dp_hdcp.h | 12 int intel_dp_hdcp_init(struct intel_digital_port *dig_port,
|
D | intel_hotplug.h | 23 void intel_hpd_trigger_irq(struct intel_digital_port *dig_port);
|
D | intel_hdcp.h | 29 struct intel_digital_port *dig_port,
|