/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 | 97 struct intel_digital_port *dig_port) in intel_hdcp_required_content_stream() argument 103 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in intel_hdcp_required_content_stream() 107 if (dig_port->hdcp_auth_status) in intel_hdcp_required_content_stream() 112 if (!dig_port->hdcp_mst_type1_capable) in intel_hdcp_required_content_stream() 124 if (conn_dig_port != dig_port) in intel_hdcp_required_content_stream() 132 if (dig_port->dp.active_mst_links <= 1) in intel_hdcp_required_content_stream() 154 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_hdcp_prepare_streams() local 155 struct hdcp_port_data *data = &dig_port->hdcp_port_data; in intel_hdcp_prepare_streams() 159 return intel_hdcp_required_content_stream(state, dig_port); in intel_hdcp_prepare_streams() 182 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 | 94 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in ilk_get_aux_clock_divider() local 105 if (dig_port->aux_ch == AUX_CH_A) in ilk_get_aux_clock_divider() 116 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in hsw_get_aux_clock_divider() local 118 if (dig_port->aux_ch != AUX_CH_A && HAS_PCH_LPT_H(i915)) { in hsw_get_aux_clock_divider() 181 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in g4x_get_aux_send_ctl() local 182 struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); in g4x_get_aux_send_ctl() 207 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in skl_get_aux_send_ctl() local 225 if (intel_tc_port_in_tbt_alt_mode(dig_port)) in skl_get_aux_send_ctl() 245 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in intel_dp_aux_xfer() local 246 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 | 335 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_ddi_init_dp_buf_reg() local 338 intel_dp->DP = dig_port->saved_port_bits | in intel_ddi_init_dp_buf_reg() 351 if (!intel_tc_port_in_tbt_alt_mode(dig_port)) in intel_ddi_init_dp_buf_reg() 902 intel_ddi_main_link_aux_domain(struct intel_digital_port *dig_port, in intel_ddi_main_link_aux_domain() argument 905 struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); in intel_ddi_main_link_aux_domain() 920 if (intel_psr_needs_aux_io_power(&dig_port->base, crtc_state)) in intel_ddi_main_link_aux_domain() 921 return intel_display_power_aux_io_domain(i915, dig_port->aux_ch); in intel_ddi_main_link_aux_domain() 924 intel_encoder_is_tc(&dig_port->base))) in intel_ddi_main_link_aux_domain() 925 return intel_aux_power_domain(dig_port); in intel_ddi_main_link_aux_domain() 931 main_link_aux_power_domain_get(struct intel_digital_port *dig_port, in main_link_aux_power_domain_get() argument [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_lspcon.c | 59 struct intel_digital_port *dig_port = in lspcon_to_intel_dp() local 62 return &dig_port->dp; in lspcon_to_intel_dp() 293 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in lspcon_resume_in_pcon_wa() local 297 if (intel_digital_port_connected(&dig_port->base)) { in lspcon_resume_in_pcon_wa() 526 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in lspcon_set_infoframes() local 527 struct intel_lspcon *lspcon = &dig_port->lspcon; in lspcon_set_infoframes() 590 dig_port->write_infoframe(encoder, crtc_state, HDMI_INFOFRAME_TYPE_AVI, in lspcon_set_infoframes() 659 bool lspcon_init(struct intel_digital_port *dig_port) in lspcon_init() argument 661 struct intel_display *display = to_intel_display(dig_port); in lspcon_init() 662 struct intel_dp *intel_dp = &dig_port->dp; in lspcon_init() [all …]
|
H A D | g4x_hdmi.c | 389 struct intel_digital_port *dig_port = in intel_disable_hdmi() local 433 dig_port->set_infoframes(encoder, in intel_disable_hdmi() 468 struct intel_digital_port *dig_port = in intel_hdmi_pre_enable() local 473 dig_port->set_infoframes(encoder, in intel_hdmi_pre_enable() 484 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in vlv_hdmi_pre_enable() local 493 dig_port->set_infoframes(encoder, in vlv_hdmi_pre_enable() 499 vlv_wait_port_ready(display, dig_port, 0x0); in vlv_hdmi_pre_enable() 561 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in chv_hdmi_pre_enable() local 569 dig_port->set_infoframes(encoder, in chv_hdmi_pre_enable() 575 vlv_wait_port_ready(display, dig_port, 0x0); in chv_hdmi_pre_enable() [all …]
|
H A D | intel_dp_mst.c | 989 struct intel_digital_port *dig_port = intel_mst->primary; in intel_mst_disable_dp() local 990 struct intel_dp *intel_dp = &dig_port->dp; in intel_mst_disable_dp() 1013 struct intel_digital_port *dig_port = intel_mst->primary; in intel_mst_post_disable_dp() local 1014 struct intel_dp *intel_dp = &dig_port->dp; in intel_mst_post_disable_dp() 1083 intel_dp_set_infoframes(&dig_port->base, false, in intel_mst_post_disable_dp() 1098 dig_port->base.post_disable(state, &dig_port->base, in intel_mst_post_disable_dp() 1111 struct intel_digital_port *dig_port = intel_mst->primary; in intel_mst_post_pll_disable_dp() local 1112 struct intel_dp *intel_dp = &dig_port->dp; in intel_mst_post_pll_disable_dp() 1115 dig_port->base.post_pll_disable) in intel_mst_post_pll_disable_dp() 1116 dig_port->base.post_pll_disable(state, encoder, old_crtc_state, old_conn_state); in intel_mst_post_pll_disable_dp() [all …]
|
H A D | g4x_dp.c | 172 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in assert_dp_port() local 177 dig_port->base.base.base.id, dig_port->base.base.name, in assert_dp_port() 1270 struct intel_digital_port *dig_port; in g4x_dp_init() local 1285 dig_port = kzalloc(sizeof(*dig_port), GFP_KERNEL); in g4x_dp_init() 1286 if (!dig_port) in g4x_dp_init() 1289 dig_port->aux_ch = AUX_CH_NONE; in g4x_dp_init() 1295 intel_encoder = &dig_port->base; in g4x_dp_init() 1300 mutex_init(&dig_port->hdcp_mutex); in g4x_dp_init() 1343 dig_port->dp.set_link_train = cpt_set_link_train; in g4x_dp_init() 1345 dig_port->dp.set_link_train = g4x_set_link_train; in g4x_dp_init() [all …]
|
H A D | intel_dp_mst.h | 18 int intel_dp_mst_encoder_init(struct intel_digital_port *dig_port, int conn_id); 19 void intel_dp_mst_encoder_cleanup(struct intel_digital_port *dig_port); 20 int intel_dp_mst_encoder_active_links(struct intel_digital_port *dig_port);
|
H A D | intel_dp.c | 128 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in intel_dp_is_edp() local 130 return dig_port->base.type == INTEL_OUTPUT_EDP; in intel_dp_is_edp() 343 int intel_dp_max_source_lane_count(struct intel_digital_port *dig_port) in intel_dp_max_source_lane_count() argument 345 int vbt_max_lanes = intel_bios_dp_max_lane_count(dig_port->base.devdata); in intel_dp_max_source_lane_count() 346 int max_lanes = dig_port->max_lanes; in intel_dp_max_source_lane_count() 357 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in intel_dp_max_common_lane_count() local 358 int source_max = intel_dp_max_source_lane_count(dig_port); in intel_dp_max_common_lane_count() 360 int lane_max = intel_tc_port_max_lane_count(dig_port); in intel_dp_max_common_lane_count() 554 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in intel_dp_set_source_rates() local 555 struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev); in intel_dp_set_source_rates() [all …]
|
H A D | intel_display_power_well.c | 230 struct intel_digital_port *dig_port; in aux_ch_to_digital_port() local 236 dig_port = enc_to_dig_port(encoder); in aux_ch_to_digital_port() 238 if (dig_port && dig_port->aux_ch == aux_ch) in aux_ch_to_digital_port() 239 return dig_port; in aux_ch_to_digital_port() 249 struct intel_digital_port *dig_port = aux_ch_to_digital_port(i915, aux_ch); in icl_aux_pw_to_phy() local 258 return dig_port ? intel_encoder_to_phy(&dig_port->base) : PHY_NONE; in icl_aux_pw_to_phy() 403 struct intel_digital_port *dig_port = aux_ch_to_digital_port(i915, aux_ch); in intel_aux_ch_is_edp() local 405 return dig_port && dig_port->base.type == INTEL_OUTPUT_EDP; in intel_aux_ch_is_edp() 460 struct intel_digital_port *dig_port) in icl_tc_port_assert_ref_held() argument 462 if (drm_WARN_ON(&dev_priv->drm, !dig_port)) in icl_tc_port_assert_ref_held() [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 void 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_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_display_debugfs.c | 769 struct intel_digital_port *dig_port; in i915_dp_mst_info() local 782 dig_port = enc_to_dig_port(intel_encoder); in i915_dp_mst_info() 783 if (!intel_dp_mst_source_support(&dig_port->dp)) in i915_dp_mst_info() 787 dig_port->base.base.base.id, in i915_dp_mst_info() 788 dig_port->base.base.name); in i915_dp_mst_info() 789 drm_dp_mst_dump_topology(m, &dig_port->dp.mst_mgr); in i915_dp_mst_info()
|
H A D | intel_display.h | 496 struct intel_digital_port *dig_port, 526 enum intel_display_power_domain intel_port_to_power_domain(struct intel_digital_port *dig_port); 528 intel_aux_power_domain(struct intel_digital_port *dig_port);
|
H A D | intel_modeset_setup.c | 424 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_crtc_needs_link_reset() local 426 if (dig_port && intel_tc_port_link_needs_reset(dig_port)) in intel_crtc_needs_link_reset()
|
H A D | intel_psr.c | 1178 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in dc3co_is_pipe_port_compatible() local 1181 enum port port = dig_port->base.port; in dc3co_is_pipe_port_compatible() 1699 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_psr_get_config() local 1704 if (!dig_port) in intel_psr_get_config() 1707 intel_dp = &dig_port->dp; in intel_psr_get_config() 1973 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in intel_psr_enable_locked() local 2010 intel_snps_phy_update_psr_power_state(&dig_port->base, true); in intel_psr_enable_locked() 3340 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in intel_psr_init() local 3354 if (DISPLAY_VER(display) < 12 && dig_port->base.port != PORT_A) { in intel_psr_init()
|
H A D | intel_vdsc.c | 714 struct intel_digital_port *dig_port = enc_to_dig_port(encoder); in intel_dsc_dp_pps_write() local 727 dig_port->write_infoframe(encoder, crtc_state, in intel_dsc_dp_pps_write()
|