/linux/drivers/gpu/drm/i915/display/ |
H A 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); 18 bool intel_tc_port_handles_hpd_glitches(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_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, 30 void intel_tc_port_lock(struct intel_digital_port *dig_port); [all …]
|
H A D | intel_tc.c | 48 struct intel_digital_port *dig_port; member 90 static struct intel_tc_port *to_tc_port(struct intel_digital_port *dig_port) in to_tc_port() argument 92 return dig_port->tc; in to_tc_port() 97 return to_i915(tc->dig_port->base.base.dev); in tc_to_i915() 100 static bool intel_tc_port_in_mode(struct intel_digital_port *dig_port, in intel_tc_port_in_mode() argument 103 struct intel_tc_port *tc = to_tc_port(dig_port); in intel_tc_port_in_mode() 105 return intel_encoder_is_tc(&dig_port->base) && tc->mode == mode; in intel_tc_port_in_mode() 108 bool intel_tc_port_in_tbt_alt_mode(struct intel_digital_port *dig_port) in intel_tc_port_in_tbt_alt_mode() argument 110 return intel_tc_port_in_mode(dig_port, TC_PORT_TBT_ALT); in intel_tc_port_in_tbt_alt_mode() 113 bool intel_tc_port_in_dp_alt_mode(struct intel_digital_port *dig_port) in intel_tc_port_in_dp_alt_mode() argument [all …]
|
H A D | intel_dp_hdcp.c | 43 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_dp_hdcp_wait_for_cp_irq() local 44 struct intel_dp *dp = &dig_port->dp; in intel_dp_hdcp_wait_for_cp_irq() 58 int intel_dp_hdcp_write_an_aksv(struct intel_digital_port *dig_port, in intel_dp_hdcp_write_an_aksv() argument 61 struct intel_display *display = to_intel_display(dig_port); in intel_dp_hdcp_write_an_aksv() 66 dpcd_ret = drm_dp_dpcd_write(&dig_port->dp.aux, DP_AUX_HDCP_AN, in intel_dp_hdcp_write_an_aksv() 82 dpcd_ret = drm_dp_dpcd_write(&dig_port->dp.aux, DP_AUX_HDCP_AKSV, in intel_dp_hdcp_write_an_aksv() 93 static int intel_dp_hdcp_read_bksv(struct intel_digital_port *dig_port, in intel_dp_hdcp_read_bksv() argument 96 struct intel_display *display = to_intel_display(dig_port); in intel_dp_hdcp_read_bksv() 99 ret = drm_dp_dpcd_read(&dig_port->dp.aux, DP_AUX_HDCP_BKSV, bksv, in intel_dp_hdcp_read_bksv() 109 static int intel_dp_hdcp_read_bstatus(struct intel_digital_port *dig_port, in intel_dp_hdcp_read_bstatus() argument [all …]
|
H A D | intel_hdcp.c | 103 struct intel_digital_port *dig_port) in intel_hdcp_required_content_stream() argument 109 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in intel_hdcp_required_content_stream() 113 if (dig_port->hdcp_auth_status) in intel_hdcp_required_content_stream() 118 if (!dig_port->hdcp_mst_type1_capable) in intel_hdcp_required_content_stream() 130 if (conn_dig_port != dig_port) in intel_hdcp_required_content_stream() 138 if (dig_port->dp.active_mst_links <= 1) in intel_hdcp_required_content_stream() 160 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp_prepare_streams() local 161 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in intel_hdcp_prepare_streams() 165 return intel_hdcp_required_content_stream(state, dig_port); in intel_hdcp_prepare_streams() 188 int intel_hdcp_read_valid_bksv(struct intel_digital_port *dig_port, in intel_hdcp_read_valid_bksv() argument [all …]
|
H A D | intel_dp_aux.c | 93 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in ilk_get_aux_clock_divider() local 104 if (dig_port->aux_ch == AUX_CH_A) in ilk_get_aux_clock_divider() 115 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in hsw_get_aux_clock_divider() local 117 if (dig_port->aux_ch != AUX_CH_A && HAS_PCH_LPT_H(i915)) { in hsw_get_aux_clock_divider() 180 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in g4x_get_aux_send_ctl() local 181 struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); in g4x_get_aux_send_ctl() 206 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in skl_get_aux_send_ctl() local 224 if (intel_tc_port_in_tbt_alt_mode(dig_port)) in skl_get_aux_send_ctl() 244 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in intel_dp_aux_xfer() local 245 struct intel_encoder *encoder = &dig_port->base; in intel_dp_aux_xfer() [all …]
|
H A D | intel_hdmi.c | 608 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_hdmi_infoframes_enabled() local 612 val = dig_port->infoframes_enabled(encoder, crtc_state); in intel_hdmi_infoframes_enabled() 652 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_write_infoframe() local 673 dig_port->write_infoframe(encoder, crtc_state, type, buffer, len); in intel_write_infoframe() 681 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_read_infoframe() local 689 dig_port->read_infoframe(encoder, crtc_state, in intel_read_infoframe() 869 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in g4x_set_infoframes() local 870 struct intel_hdmi *intel_hdmi = &dig_port->hdmi; in g4x_set_infoframes() 1056 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in ibx_set_infoframes() local 1057 struct intel_hdmi *intel_hdmi = &dig_port->hdmi; in ibx_set_infoframes() [all …]
|
H A D | intel_ddi.c | 336 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_ddi_init_dp_buf_reg() local 342 if (dig_port->lane_reversal) in intel_ddi_init_dp_buf_reg() 344 if (dig_port->ddi_a_4_lanes) in intel_ddi_init_dp_buf_reg() 356 if (!intel_tc_port_in_tbt_alt_mode(dig_port)) in intel_ddi_init_dp_buf_reg() 869 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_ddi_get_encoder_pipes() local 882 intel_dp_mst_encoder_active_links(dig_port)) in intel_ddi_get_encoder_pipes() 933 intel_ddi_main_link_aux_domain(struct intel_digital_port *dig_port, in intel_ddi_main_link_aux_domain() argument 936 struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); in intel_ddi_main_link_aux_domain() 951 if (intel_psr_needs_aux_io_power(&dig_port->base, crtc_state)) in intel_ddi_main_link_aux_domain() 952 return intel_display_power_aux_io_domain(i915, dig_port->aux_ch); in intel_ddi_main_link_aux_domain() [all …]
|
H A D | intel_pps.c | 97 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in vlv_power_sequencer_kick() local 108 dig_port->base.base.base.id, dig_port->base.base.name)) in vlv_power_sequencer_kick() 114 dig_port->base.base.base.id, dig_port->base.base.name); in vlv_power_sequencer_kick() 209 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in vlv_power_sequencer_pipe() local 238 dig_port->base.base.base.id, dig_port->base.base.name); in vlv_power_sequencer_pipe() 322 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in vlv_initial_power_sequencer_setup() local 323 enum port port = dig_port->base.port; in vlv_initial_power_sequencer_setup() 344 dig_port->base.base.base.id, dig_port->base.base.name); in vlv_initial_power_sequencer_setup() 350 dig_port->base.base.base.id, dig_port->base.base.name, in vlv_initial_power_sequencer_setup() 579 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in intel_pps_check_power_unlocked() local [all …]
|
H A D | intel_dpio_phy.c | 659 enum dpio_channel vlv_dig_port_to_channel(struct intel_digital_port *dig_port) in vlv_dig_port_to_channel() argument 661 switch (dig_port->base.port) { in vlv_dig_port_to_channel() 663 MISSING_CASE(dig_port->base.port); in vlv_dig_port_to_channel() 673 enum dpio_phy vlv_dig_port_to_phy(struct intel_digital_port *dig_port) in vlv_dig_port_to_phy() argument 675 switch (dig_port->base.port) { in vlv_dig_port_to_phy() 677 MISSING_CASE(dig_port->base.port); in vlv_dig_port_to_phy() 721 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in chv_set_phy_signal_level() local 722 enum dpio_channel ch = vlv_dig_port_to_channel(dig_port); in chv_set_phy_signal_level() 723 enum dpio_phy phy = vlv_dig_port_to_phy(dig_port); in chv_set_phy_signal_level() 816 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in chv_data_lane_soft_reset() local [all …]
|
H A D | intel_lspcon.c | 60 struct intel_digital_port *dig_port = in lspcon_to_intel_dp() local 63 return &dig_port->dp; in lspcon_to_intel_dp() 294 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in lspcon_resume_in_pcon_wa() local 298 if (intel_digital_port_connected(&dig_port->base)) { in lspcon_resume_in_pcon_wa() 527 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in lspcon_set_infoframes() local 528 struct intel_lspcon *lspcon = &dig_port->lspcon; in lspcon_set_infoframes() 591 dig_port->write_infoframe(encoder, crtc_state, HDMI_INFOFRAME_TYPE_AVI, in lspcon_set_infoframes() 660 bool lspcon_init(struct intel_digital_port *dig_port) in lspcon_init() argument 662 struct intel_display *display = to_intel_display(dig_port); in lspcon_init() 663 struct intel_dp *intel_dp = &dig_port->dp; in lspcon_init() [all …]
|
H A D | g4x_hdmi.c | 390 struct intel_digital_port *dig_port = in intel_disable_hdmi() local 434 dig_port->set_infoframes(encoder, in intel_disable_hdmi() 469 struct intel_digital_port *dig_port = in intel_hdmi_pre_enable() local 474 dig_port->set_infoframes(encoder, in intel_hdmi_pre_enable() 485 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in vlv_hdmi_pre_enable() local 494 dig_port->set_infoframes(encoder, in vlv_hdmi_pre_enable() 500 vlv_wait_port_ready(display, dig_port, 0x0); in vlv_hdmi_pre_enable() 562 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in chv_hdmi_pre_enable() local 570 dig_port->set_infoframes(encoder, in chv_hdmi_pre_enable() 576 vlv_wait_port_ready(display, dig_port, 0x0); in chv_hdmi_pre_enable() [all …]
|
H A D | g4x_dp.c | 173 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in assert_dp_port() local 178 dig_port->base.base.base.id, dig_port->base.base.name, in assert_dp_port() 1290 struct intel_digital_port *dig_port; in g4x_dp_init() local 1305 dig_port = kzalloc(sizeof(*dig_port), GFP_KERNEL); in g4x_dp_init() 1306 if (!dig_port) in g4x_dp_init() 1309 dig_port->aux_ch = AUX_CH_NONE; in g4x_dp_init() 1315 intel_encoder = &dig_port->base; in g4x_dp_init() 1320 mutex_init(&dig_port->hdcp_mutex); in g4x_dp_init() 1363 dig_port->dp.set_link_train = cpt_set_link_train; in g4x_dp_init() 1365 dig_port->dp.set_link_train = g4x_set_link_train; in g4x_dp_init() [all …]
|
H A D | intel_dp_mst.h | 19 int intel_dp_mst_encoder_init(struct intel_digital_port *dig_port, int conn_id); 20 void intel_dp_mst_encoder_cleanup(struct intel_digital_port *dig_port); 21 int intel_dp_mst_encoder_active_links(struct intel_digital_port *dig_port);
|
H A D | intel_dp_mst.c | 92 struct intel_digital_port *dig_port = intel_mst->primary; in to_primary_encoder() local 94 return &dig_port->base; in to_primary_encoder() 101 struct intel_digital_port *dig_port = intel_mst->primary; in to_primary_dp() local 103 return &dig_port->dp; in to_primary_dp() 1702 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in mst_topology_add_connector() local 1750 ret = intel_dp_hdcp_init(dig_port, intel_connector); in mst_topology_add_connector() 1777 mst_stream_encoder_create(struct intel_digital_port *dig_port, enum pipe pipe) in mst_stream_encoder_create() argument 1779 struct intel_display *display = to_intel_display(dig_port); in mst_stream_encoder_create() 1780 struct intel_encoder *primary_encoder = &dig_port->base; in mst_stream_encoder_create() 1791 intel_mst->primary = dig_port; in mst_stream_encoder_create() [all …]
|
H A D | intel_display_power_well.c | 231 struct intel_digital_port *dig_port; in aux_ch_to_digital_port() local 237 dig_port = enc_to_dig_port(encoder); in aux_ch_to_digital_port() 239 if (dig_port && dig_port->aux_ch == aux_ch) in aux_ch_to_digital_port() 240 return dig_port; in aux_ch_to_digital_port() 250 struct intel_digital_port *dig_port = aux_ch_to_digital_port(display, aux_ch); in icl_aux_pw_to_phy() local 259 return dig_port ? intel_encoder_to_phy(&dig_port->base) : PHY_NONE; in icl_aux_pw_to_phy() 404 struct intel_digital_port *dig_port = aux_ch_to_digital_port(display, aux_ch); in intel_aux_ch_is_edp() local 406 return dig_port && dig_port->base.type == INTEL_OUTPUT_EDP; in intel_aux_ch_is_edp() 461 struct intel_digital_port *dig_port) in icl_tc_port_assert_ref_held() argument 463 if (drm_WARN_ON(display->drm, !dig_port)) in icl_tc_port_assert_ref_held() [all …]
|
H A D | intel_dp.c | 136 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in intel_dp_is_edp() local 138 return dig_port->base.type == INTEL_OUTPUT_EDP; in intel_dp_is_edp() 355 int intel_dp_max_source_lane_count(struct intel_digital_port *dig_port) in intel_dp_max_source_lane_count() argument 357 int vbt_max_lanes = intel_bios_dp_max_lane_count(dig_port->base.devdata); in intel_dp_max_source_lane_count() 358 int max_lanes = dig_port->max_lanes; in intel_dp_max_source_lane_count() 369 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in intel_dp_max_common_lane_count() local 370 int source_max = intel_dp_max_source_lane_count(dig_port); in intel_dp_max_common_lane_count() 372 int lane_max = intel_tc_port_max_lane_count(dig_port); in intel_dp_max_common_lane_count() 4595 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_write_dp_sdp() local 4624 dig_port->write_infoframe(encoder, crtc_state, type, &sdp, len); in intel_write_dp_sdp() [all …]
|
H A D | intel_lspcon.h | 18 bool lspcon_init(struct intel_digital_port *dig_port); 20 void lspcon_resume(struct intel_digital_port *dig_port);
|
H A D | intel_hdmi.h | 25 bool intel_hdmi_init_connector(struct intel_digital_port *dig_port, 39 void intel_infoframe_init(struct intel_digital_port *dig_port);
|
H A D | intel_dp.h | 48 bool intel_dp_init_connector(struct intel_digital_port *dig_port, 91 enum irqreturn intel_dp_hpd_pulse(struct intel_digital_port *dig_port, 99 int intel_dp_max_source_lane_count(struct intel_digital_port *dig_port);
|
H A D | intel_hotplug.c | 368 struct intel_digital_port *dig_port; in i915_digport_work_func() local 382 dig_port = enc_to_dig_port(encoder); in i915_digport_work_func() 384 ret = dig_port->hpd_pulse(dig_port, long_hpd); in i915_digport_work_func() 407 void intel_hpd_trigger_irq(struct intel_digital_port *dig_port) in intel_hpd_trigger_irq() argument 409 struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); in intel_hpd_trigger_irq() 412 i915->display.hotplug.short_port_mask |= BIT(dig_port->base.port); in intel_hpd_trigger_irq()
|
H A D | intel_pipe_crc.c | 84 struct intel_digital_port *dig_port; in i9xx_pipe_crc_auto_source() local 104 dig_port = enc_to_dig_port(encoder); in i9xx_pipe_crc_auto_source() 105 switch (dig_port->base.port) { in i9xx_pipe_crc_auto_source() 117 port_name(dig_port->base.port)); in i9xx_pipe_crc_auto_source()
|
H A D | intel_dp_hdcp.h | 12 int intel_dp_hdcp_init(struct intel_digital_port *dig_port,
|
H A D | intel_hotplug.h | 23 void intel_hpd_trigger_irq(struct intel_digital_port *dig_port);
|
H A D | intel_cx0_phy.c | 59 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_cx0_get_owned_lane_mask() local 61 if (!intel_tc_port_in_dp_alt_mode(dig_port)) in intel_cx0_get_owned_lane_mask() 68 return intel_tc_port_max_lane_count(dig_port) > 2 in intel_cx0_get_owned_lane_mask() 454 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_cx0_phy_set_signal_levels() local 456 if (intel_tc_port_in_tbt_alt_mode(dig_port)) in intel_cx0_phy_set_signal_levels() 2270 struct intel_digital_port *dig_port = hdmi_to_dig_port(hdmi); in intel_cx0_phy_check_hdmi_link_rate() local 2272 if (intel_encoder_is_c10phy(&dig_port->base)) in intel_cx0_phy_check_hdmi_link_rate() 2987 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_cx0pll_enable() local 2988 bool lane_reversal = dig_port->lane_reversal; in intel_cx0pll_enable() 3195 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_mtl_pll_enable() local [all …]
|
H A D | intel_display_debugfs.c | 772 struct intel_digital_port *dig_port; in i915_dp_mst_info() local 785 dig_port = enc_to_dig_port(intel_encoder); in i915_dp_mst_info() 786 if (!intel_dp_mst_source_support(&dig_port->dp)) in i915_dp_mst_info() 790 dig_port->base.base.base.id, in i915_dp_mst_info() 791 dig_port->base.base.name); in i915_dp_mst_info() 792 drm_dp_mst_dump_topology(m, &dig_port->dp.mst_mgr); in i915_dp_mst_info()
|