dig_port 2093 drivers/gpu/drm/i915/display/intel_ddi.c intel_ddi_main_link_aux_domain(struct intel_digital_port *dig_port) dig_port 2107 drivers/gpu/drm/i915/display/intel_ddi.c return dig_port->aux_ch == AUX_CH_A ? POWER_DOMAIN_AUX_IO_A : dig_port 2108 drivers/gpu/drm/i915/display/intel_ddi.c intel_aux_power_domain(dig_port); dig_port 2115 drivers/gpu/drm/i915/display/intel_ddi.c struct intel_digital_port *dig_port; dig_port 2126 drivers/gpu/drm/i915/display/intel_ddi.c dig_port = enc_to_dig_port(&encoder->base); dig_port 2129 drivers/gpu/drm/i915/display/intel_ddi.c dig_port->tc_mode != TC_PORT_TBT_ALT) dig_port 2131 drivers/gpu/drm/i915/display/intel_ddi.c dig_port->ddi_io_power_domain); dig_port 2140 drivers/gpu/drm/i915/display/intel_ddi.c intel_ddi_main_link_aux_domain(dig_port)); dig_port 2996 drivers/gpu/drm/i915/display/intel_ddi.c static void icl_enable_phy_clock_gating(struct intel_digital_port *dig_port) dig_port 2998 drivers/gpu/drm/i915/display/intel_ddi.c struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev); dig_port 2999 drivers/gpu/drm/i915/display/intel_ddi.c enum port port = dig_port->base.port; dig_port 3028 drivers/gpu/drm/i915/display/intel_ddi.c static void icl_disable_phy_clock_gating(struct intel_digital_port *dig_port) dig_port 3030 drivers/gpu/drm/i915/display/intel_ddi.c struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev); dig_port 3031 drivers/gpu/drm/i915/display/intel_ddi.c enum port port = dig_port->base.port; dig_port 3175 drivers/gpu/drm/i915/display/intel_ddi.c struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base); dig_port 3189 drivers/gpu/drm/i915/display/intel_ddi.c dig_port->tc_mode != TC_PORT_TBT_ALT) dig_port 3191 drivers/gpu/drm/i915/display/intel_ddi.c dig_port->ddi_io_power_domain); dig_port 3193 drivers/gpu/drm/i915/display/intel_ddi.c icl_program_mg_dp_mode(dig_port); dig_port 3194 drivers/gpu/drm/i915/display/intel_ddi.c icl_disable_phy_clock_gating(dig_port); dig_port 3208 drivers/gpu/drm/i915/display/intel_ddi.c dig_port->saved_port_bits & DDI_BUF_PORT_REVERSAL; dig_port 3227 drivers/gpu/drm/i915/display/intel_ddi.c icl_enable_phy_clock_gating(dig_port); dig_port 3244 drivers/gpu/drm/i915/display/intel_ddi.c struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base); dig_port 3249 drivers/gpu/drm/i915/display/intel_ddi.c intel_display_power_get(dev_priv, dig_port->ddi_io_power_domain); dig_port 3251 drivers/gpu/drm/i915/display/intel_ddi.c icl_program_mg_dp_mode(dig_port); dig_port 3252 drivers/gpu/drm/i915/display/intel_ddi.c icl_disable_phy_clock_gating(dig_port); dig_port 3264 drivers/gpu/drm/i915/display/intel_ddi.c icl_enable_phy_clock_gating(dig_port); dig_port 3312 drivers/gpu/drm/i915/display/intel_ddi.c struct intel_digital_port *dig_port = dig_port 3315 drivers/gpu/drm/i915/display/intel_ddi.c dig_port->set_infoframes(encoder, dig_port 3354 drivers/gpu/drm/i915/display/intel_ddi.c struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base); dig_port 3355 drivers/gpu/drm/i915/display/intel_ddi.c struct intel_dp *intel_dp = &dig_port->dp; dig_port 3375 drivers/gpu/drm/i915/display/intel_ddi.c dig_port->tc_mode != TC_PORT_TBT_ALT) dig_port 3377 drivers/gpu/drm/i915/display/intel_ddi.c dig_port->ddi_io_power_domain); dig_port 3387 drivers/gpu/drm/i915/display/intel_ddi.c struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base); dig_port 3388 drivers/gpu/drm/i915/display/intel_ddi.c struct intel_hdmi *intel_hdmi = &dig_port->hdmi; dig_port 3390 drivers/gpu/drm/i915/display/intel_ddi.c dig_port->set_infoframes(encoder, false, dig_port 3398 drivers/gpu/drm/i915/display/intel_ddi.c dig_port->ddi_io_power_domain); dig_port 3514 drivers/gpu/drm/i915/display/intel_ddi.c struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base); dig_port 3564 drivers/gpu/drm/i915/display/intel_ddi.c dig_port->saved_port_bits | DDI_BUF_CTL_ENABLE); dig_port 3719 drivers/gpu/drm/i915/display/intel_ddi.c struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base); dig_port 3724 drivers/gpu/drm/i915/display/intel_ddi.c intel_tc_port_get_link(dig_port, crtc_state->lane_count); dig_port 3728 drivers/gpu/drm/i915/display/intel_ddi.c intel_ddi_main_link_aux_domain(dig_port)); dig_port 3730 drivers/gpu/drm/i915/display/intel_ddi.c if (is_tc_port && dig_port->tc_mode != TC_PORT_TBT_ALT) dig_port 3735 drivers/gpu/drm/i915/display/intel_ddi.c intel_tc_port_set_fia_lane_count(dig_port, crtc_state->lane_count); dig_port 3747 drivers/gpu/drm/i915/display/intel_ddi.c struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base); dig_port 3753 drivers/gpu/drm/i915/display/intel_ddi.c intel_ddi_main_link_aux_domain(dig_port)); dig_port 3756 drivers/gpu/drm/i915/display/intel_ddi.c intel_tc_port_put_link(dig_port); dig_port 4010 drivers/gpu/drm/i915/display/intel_ddi.c struct intel_digital_port *dig_port = enc_to_dig_port(encoder); dig_port 4015 drivers/gpu/drm/i915/display/intel_ddi.c kfree(dig_port); dig_port 4149 drivers/gpu/drm/i915/display/intel_ddi.c struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base); dig_port 4193 drivers/gpu/drm/i915/display/intel_ddi.c !dig_port->dp.is_mst) dig_port 6747 drivers/gpu/drm/i915/display/intel_display.c intel_aux_power_domain(struct intel_digital_port *dig_port) dig_port 6749 drivers/gpu/drm/i915/display/intel_display.c struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev); dig_port 6750 drivers/gpu/drm/i915/display/intel_display.c enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port); dig_port 6753 drivers/gpu/drm/i915/display/intel_display.c dig_port->tc_mode == TC_PORT_TBT_ALT) { dig_port 6754 drivers/gpu/drm/i915/display/intel_display.c switch (dig_port->aux_ch) { dig_port 6764 drivers/gpu/drm/i915/display/intel_display.c MISSING_CASE(dig_port->aux_ch); dig_port 6769 drivers/gpu/drm/i915/display/intel_display.c switch (dig_port->aux_ch) { dig_port 6783 drivers/gpu/drm/i915/display/intel_display.c MISSING_CASE(dig_port->aux_ch); dig_port 515 drivers/gpu/drm/i915/display/intel_display.h intel_aux_power_domain(struct intel_digital_port *dig_port); dig_port 534 drivers/gpu/drm/i915/display/intel_display_power.c struct intel_digital_port *dig_port = NULL; dig_port 554 drivers/gpu/drm/i915/display/intel_display_power.c dig_port = enc_to_dig_port(&encoder->base); dig_port 555 drivers/gpu/drm/i915/display/intel_display_power.c if (WARN_ON(!dig_port)) dig_port 558 drivers/gpu/drm/i915/display/intel_display_power.c if (dig_port->aux_ch != aux_ch) { dig_port 559 drivers/gpu/drm/i915/display/intel_display_power.c dig_port = NULL; dig_port 566 drivers/gpu/drm/i915/display/intel_display_power.c if (WARN_ON(!dig_port)) dig_port 569 drivers/gpu/drm/i915/display/intel_display_power.c WARN_ON(!intel_tc_port_ref_held(dig_port)); dig_port 276 drivers/gpu/drm/i915/display/intel_dp.c struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); dig_port 277 drivers/gpu/drm/i915/display/intel_dp.c struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev); dig_port 278 drivers/gpu/drm/i915/display/intel_dp.c enum port port = dig_port->base.port; dig_port 299 drivers/gpu/drm/i915/display/intel_dp.c struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); dig_port 300 drivers/gpu/drm/i915/display/intel_dp.c struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev); dig_port 301 drivers/gpu/drm/i915/display/intel_dp.c enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port); dig_port 330 drivers/gpu/drm/i915/display/intel_dp.c struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); dig_port 331 drivers/gpu/drm/i915/display/intel_dp.c struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev); dig_port 333 drivers/gpu/drm/i915/display/intel_dp.c &dev_priv->vbt.ddi_port_info[dig_port->base.port]; dig_port 1181 drivers/gpu/drm/i915/display/intel_dp.c struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); dig_port 1191 drivers/gpu/drm/i915/display/intel_dp.c if (dig_port->aux_ch == AUX_CH_A) dig_port 1200 drivers/gpu/drm/i915/display/intel_dp.c struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); dig_port 1202 drivers/gpu/drm/i915/display/intel_dp.c if (dig_port->aux_ch != AUX_CH_A && HAS_PCH_LPT_H(dev_priv)) { dig_port 1557 drivers/gpu/drm/i915/display/intel_dp.c struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); dig_port 1558 drivers/gpu/drm/i915/display/intel_dp.c enum aux_ch aux_ch = dig_port->aux_ch; dig_port 1574 drivers/gpu/drm/i915/display/intel_dp.c struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); dig_port 1575 drivers/gpu/drm/i915/display/intel_dp.c enum aux_ch aux_ch = dig_port->aux_ch; dig_port 1591 drivers/gpu/drm/i915/display/intel_dp.c struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); dig_port 1592 drivers/gpu/drm/i915/display/intel_dp.c enum aux_ch aux_ch = dig_port->aux_ch; dig_port 1610 drivers/gpu/drm/i915/display/intel_dp.c struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); dig_port 1611 drivers/gpu/drm/i915/display/intel_dp.c enum aux_ch aux_ch = dig_port->aux_ch; dig_port 1629 drivers/gpu/drm/i915/display/intel_dp.c struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); dig_port 1630 drivers/gpu/drm/i915/display/intel_dp.c enum aux_ch aux_ch = dig_port->aux_ch; dig_port 1649 drivers/gpu/drm/i915/display/intel_dp.c struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); dig_port 1650 drivers/gpu/drm/i915/display/intel_dp.c enum aux_ch aux_ch = dig_port->aux_ch; dig_port 1676 drivers/gpu/drm/i915/display/intel_dp.c struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); dig_port 1677 drivers/gpu/drm/i915/display/intel_dp.c struct intel_encoder *encoder = &dig_port->base; dig_port 2000 drivers/gpu/drm/i915/display/intel_dp.c struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); dig_port 2001 drivers/gpu/drm/i915/display/intel_dp.c struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev); dig_port 2771 drivers/gpu/drm/i915/display/intel_dp.c struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); dig_port 2781 drivers/gpu/drm/i915/display/intel_dp.c port_name(dig_port->base.port)); dig_port 2784 drivers/gpu/drm/i915/display/intel_dp.c port_name(dig_port->base.port)); dig_port 2803 drivers/gpu/drm/i915/display/intel_dp.c intel_display_power_put_unchecked(dev_priv, intel_aux_power_domain(dig_port)); dig_port 2924 drivers/gpu/drm/i915/display/intel_dp.c struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); dig_port 2925 drivers/gpu/drm/i915/display/intel_dp.c struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev); dig_port 2930 drivers/gpu/drm/i915/display/intel_dp.c port_name(dig_port->base.port), dig_port 5236 drivers/gpu/drm/i915/display/intel_dp.c struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base); dig_port 5240 drivers/gpu/drm/i915/display/intel_dp.c return icl_combo_port_connected(dev_priv, dig_port); dig_port 5242 drivers/gpu/drm/i915/display/intel_dp.c return intel_tc_port_connected(dig_port); dig_port 5352 drivers/gpu/drm/i915/display/intel_dp.c struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); dig_port 5353 drivers/gpu/drm/i915/display/intel_dp.c struct intel_encoder *encoder = &dig_port->base; dig_port 5456 drivers/gpu/drm/i915/display/intel_dp.c struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); dig_port 5457 drivers/gpu/drm/i915/display/intel_dp.c struct intel_encoder *intel_encoder = &dig_port->base; dig_port 5460 drivers/gpu/drm/i915/display/intel_dp.c intel_aux_power_domain(dig_port); dig_port 6181 drivers/gpu/drm/i915/display/intel_dp.c struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); dig_port 6195 drivers/gpu/drm/i915/display/intel_dp.c intel_display_power_get(dev_priv, intel_aux_power_domain(dig_port)); dig_port 597 drivers/gpu/drm/i915/display/intel_hdmi.c struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base); dig_port 601 drivers/gpu/drm/i915/display/intel_hdmi.c val = dig_port->infoframes_enabled(encoder, crtc_state); dig_port 324 drivers/gpu/drm/i915/display/intel_hotplug.c struct intel_digital_port *dig_port; dig_port 338 drivers/gpu/drm/i915/display/intel_hotplug.c dig_port = enc_to_dig_port(&encoder->base); dig_port 340 drivers/gpu/drm/i915/display/intel_hotplug.c ret = dig_port->hpd_pulse(dig_port, long_hpd); dig_port 52 drivers/gpu/drm/i915/display/intel_lspcon.c struct intel_digital_port *dig_port = dig_port 55 drivers/gpu/drm/i915/display/intel_lspcon.c return &dig_port->dp; dig_port 249 drivers/gpu/drm/i915/display/intel_lspcon.c struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); dig_port 253 drivers/gpu/drm/i915/display/intel_lspcon.c if (intel_digital_port_connected(&dig_port->base)) { dig_port 475 drivers/gpu/drm/i915/display/intel_lspcon.c struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base); dig_port 476 drivers/gpu/drm/i915/display/intel_lspcon.c struct intel_lspcon *lspcon = &dig_port->lspcon; dig_port 517 drivers/gpu/drm/i915/display/intel_lspcon.c dig_port->write_infoframe(encoder, crtc_state, HDMI_INFOFRAME_TYPE_AVI, dig_port 80 drivers/gpu/drm/i915/display/intel_pipe_crc.c struct intel_digital_port *dig_port; dig_port 101 drivers/gpu/drm/i915/display/intel_pipe_crc.c dig_port = enc_to_dig_port(&encoder->base); dig_port 102 drivers/gpu/drm/i915/display/intel_pipe_crc.c switch (dig_port->base.port) { dig_port 114 drivers/gpu/drm/i915/display/intel_pipe_crc.c port_name(dig_port->base.port)); dig_port 595 drivers/gpu/drm/i915/display/intel_psr.c struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); dig_port 614 drivers/gpu/drm/i915/display/intel_psr.c if (dig_port->base.port != PORT_A) { dig_port 48 drivers/gpu/drm/i915/display/intel_tc.c u32 intel_tc_port_get_lane_mask(struct intel_digital_port *dig_port) dig_port 50 drivers/gpu/drm/i915/display/intel_tc.c struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); dig_port 51 drivers/gpu/drm/i915/display/intel_tc.c enum tc_port tc_port = intel_port_to_tc(i915, dig_port->base.port); dig_port 56 drivers/gpu/drm/i915/display/intel_tc.c PORT_TX_DFLEXDPSP(dig_port->tc_phy_fia)); dig_port 64 drivers/gpu/drm/i915/display/intel_tc.c int intel_tc_port_fia_max_lane_count(struct intel_digital_port *dig_port) dig_port 66 drivers/gpu/drm/i915/display/intel_tc.c struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); dig_port 70 drivers/gpu/drm/i915/display/intel_tc.c if (dig_port->tc_mode != TC_PORT_DP_ALT) dig_port 75 drivers/gpu/drm/i915/display/intel_tc.c lane_mask = intel_tc_port_get_lane_mask(dig_port); dig_port 94 drivers/gpu/drm/i915/display/intel_tc.c void intel_tc_port_set_fia_lane_count(struct intel_digital_port *dig_port, dig_port 97 drivers/gpu/drm/i915/display/intel_tc.c struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); dig_port 98 drivers/gpu/drm/i915/display/intel_tc.c enum tc_port tc_port = intel_port_to_tc(i915, dig_port->base.port); dig_port 99 drivers/gpu/drm/i915/display/intel_tc.c bool lane_reversal = dig_port->saved_port_bits & DDI_BUF_PORT_REVERSAL; dig_port 103 drivers/gpu/drm/i915/display/intel_tc.c WARN_ON(lane_reversal && dig_port->tc_mode != TC_PORT_LEGACY); dig_port 106 drivers/gpu/drm/i915/display/intel_tc.c PORT_TX_DFLEXDPMLE1(dig_port->tc_phy_fia)); dig_port 126 drivers/gpu/drm/i915/display/intel_tc.c PORT_TX_DFLEXDPMLE1(dig_port->tc_phy_fia), val); dig_port 129 drivers/gpu/drm/i915/display/intel_tc.c static void tc_port_fixup_legacy_flag(struct intel_digital_port *dig_port, dig_port 134 drivers/gpu/drm/i915/display/intel_tc.c if (dig_port->tc_legacy_port) dig_port 145 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_port_name, live_status_mask); dig_port 147 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_legacy_port = !dig_port->tc_legacy_port; dig_port 150 drivers/gpu/drm/i915/display/intel_tc.c static u32 tc_port_live_status_mask(struct intel_digital_port *dig_port) dig_port 152 drivers/gpu/drm/i915/display/intel_tc.c struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); dig_port 153 drivers/gpu/drm/i915/display/intel_tc.c enum tc_port tc_port = intel_port_to_tc(i915, dig_port->base.port); dig_port 159 drivers/gpu/drm/i915/display/intel_tc.c PORT_TX_DFLEXDPSP(dig_port->tc_phy_fia)); dig_port 163 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_port_name); dig_port 177 drivers/gpu/drm/i915/display/intel_tc.c tc_port_fixup_legacy_flag(dig_port, mask); dig_port 182 drivers/gpu/drm/i915/display/intel_tc.c static bool icl_tc_phy_status_complete(struct intel_digital_port *dig_port) dig_port 184 drivers/gpu/drm/i915/display/intel_tc.c struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); dig_port 185 drivers/gpu/drm/i915/display/intel_tc.c enum tc_port tc_port = intel_port_to_tc(i915, dig_port->base.port); dig_port 190 drivers/gpu/drm/i915/display/intel_tc.c PORT_TX_DFLEXDPPMS(dig_port->tc_phy_fia)); dig_port 193 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_port_name); dig_port 200 drivers/gpu/drm/i915/display/intel_tc.c static bool icl_tc_phy_set_safe_mode(struct intel_digital_port *dig_port, dig_port 203 drivers/gpu/drm/i915/display/intel_tc.c struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); dig_port 204 drivers/gpu/drm/i915/display/intel_tc.c enum tc_port tc_port = intel_port_to_tc(i915, dig_port->base.port); dig_port 209 drivers/gpu/drm/i915/display/intel_tc.c PORT_TX_DFLEXDPCSSS(dig_port->tc_phy_fia)); dig_port 212 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_port_name, dig_port 223 drivers/gpu/drm/i915/display/intel_tc.c PORT_TX_DFLEXDPCSSS(dig_port->tc_phy_fia), val); dig_port 225 drivers/gpu/drm/i915/display/intel_tc.c if (enable && wait_for(!icl_tc_phy_status_complete(dig_port), 10)) dig_port 227 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_port_name); dig_port 232 drivers/gpu/drm/i915/display/intel_tc.c static bool icl_tc_phy_is_in_safe_mode(struct intel_digital_port *dig_port) dig_port 234 drivers/gpu/drm/i915/display/intel_tc.c struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); dig_port 235 drivers/gpu/drm/i915/display/intel_tc.c enum tc_port tc_port = intel_port_to_tc(i915, dig_port->base.port); dig_port 240 drivers/gpu/drm/i915/display/intel_tc.c PORT_TX_DFLEXDPCSSS(dig_port->tc_phy_fia)); dig_port 243 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_port_name); dig_port 261 drivers/gpu/drm/i915/display/intel_tc.c static void icl_tc_phy_connect(struct intel_digital_port *dig_port, dig_port 266 drivers/gpu/drm/i915/display/intel_tc.c if (!icl_tc_phy_status_complete(dig_port)) { dig_port 268 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_port_name); dig_port 272 drivers/gpu/drm/i915/display/intel_tc.c if (!icl_tc_phy_set_safe_mode(dig_port, false) && dig_port 273 drivers/gpu/drm/i915/display/intel_tc.c !WARN_ON(dig_port->tc_legacy_port)) dig_port 276 drivers/gpu/drm/i915/display/intel_tc.c max_lanes = intel_tc_port_fia_max_lane_count(dig_port); dig_port 277 drivers/gpu/drm/i915/display/intel_tc.c if (dig_port->tc_legacy_port) { dig_port 279 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_mode = TC_PORT_LEGACY; dig_port 288 drivers/gpu/drm/i915/display/intel_tc.c if (!(tc_port_live_status_mask(dig_port) & BIT(TC_PORT_DP_ALT))) { dig_port 290 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_port_name); dig_port 296 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_port_name, dig_port 301 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_mode = TC_PORT_DP_ALT; dig_port 306 drivers/gpu/drm/i915/display/intel_tc.c icl_tc_phy_set_safe_mode(dig_port, true); dig_port 308 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_mode = TC_PORT_TBT_ALT; dig_port 315 drivers/gpu/drm/i915/display/intel_tc.c static void icl_tc_phy_disconnect(struct intel_digital_port *dig_port) dig_port 317 drivers/gpu/drm/i915/display/intel_tc.c switch (dig_port->tc_mode) { dig_port 322 drivers/gpu/drm/i915/display/intel_tc.c icl_tc_phy_set_safe_mode(dig_port, true); dig_port 323 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_mode = TC_PORT_TBT_ALT; dig_port 329 drivers/gpu/drm/i915/display/intel_tc.c MISSING_CASE(dig_port->tc_mode); dig_port 333 drivers/gpu/drm/i915/display/intel_tc.c static bool icl_tc_phy_is_connected(struct intel_digital_port *dig_port) dig_port 335 drivers/gpu/drm/i915/display/intel_tc.c if (!icl_tc_phy_status_complete(dig_port)) { dig_port 337 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_port_name); dig_port 338 drivers/gpu/drm/i915/display/intel_tc.c return dig_port->tc_mode == TC_PORT_TBT_ALT; dig_port 341 drivers/gpu/drm/i915/display/intel_tc.c if (icl_tc_phy_is_in_safe_mode(dig_port)) { dig_port 343 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_port_name); dig_port 348 drivers/gpu/drm/i915/display/intel_tc.c return dig_port->tc_mode == TC_PORT_DP_ALT || dig_port 349 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_mode == TC_PORT_LEGACY; dig_port 353 drivers/gpu/drm/i915/display/intel_tc.c intel_tc_port_get_current_mode(struct intel_digital_port *dig_port) dig_port 355 drivers/gpu/drm/i915/display/intel_tc.c u32 live_status_mask = tc_port_live_status_mask(dig_port); dig_port 356 drivers/gpu/drm/i915/display/intel_tc.c bool in_safe_mode = icl_tc_phy_is_in_safe_mode(dig_port); dig_port 359 drivers/gpu/drm/i915/display/intel_tc.c if (in_safe_mode || WARN_ON(!icl_tc_phy_status_complete(dig_port))) dig_port 362 drivers/gpu/drm/i915/display/intel_tc.c mode = dig_port->tc_legacy_port ? TC_PORT_LEGACY : TC_PORT_DP_ALT; dig_port 374 drivers/gpu/drm/i915/display/intel_tc.c intel_tc_port_get_target_mode(struct intel_digital_port *dig_port) dig_port 376 drivers/gpu/drm/i915/display/intel_tc.c u32 live_status_mask = tc_port_live_status_mask(dig_port); dig_port 381 drivers/gpu/drm/i915/display/intel_tc.c return icl_tc_phy_status_complete(dig_port) && dig_port 382 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_legacy_port ? TC_PORT_LEGACY : dig_port 386 drivers/gpu/drm/i915/display/intel_tc.c static void intel_tc_port_reset_mode(struct intel_digital_port *dig_port, dig_port 389 drivers/gpu/drm/i915/display/intel_tc.c struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); dig_port 390 drivers/gpu/drm/i915/display/intel_tc.c enum tc_port_mode old_tc_mode = dig_port->tc_mode; dig_port 394 drivers/gpu/drm/i915/display/intel_tc.c intel_aux_power_domain(dig_port))); dig_port 396 drivers/gpu/drm/i915/display/intel_tc.c icl_tc_phy_disconnect(dig_port); dig_port 397 drivers/gpu/drm/i915/display/intel_tc.c icl_tc_phy_connect(dig_port, required_lanes); dig_port 400 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_port_name, dig_port 402 drivers/gpu/drm/i915/display/intel_tc.c tc_port_mode_name(dig_port->tc_mode)); dig_port 406 drivers/gpu/drm/i915/display/intel_tc.c intel_tc_port_link_init_refcount(struct intel_digital_port *dig_port, dig_port 409 drivers/gpu/drm/i915/display/intel_tc.c WARN_ON(dig_port->tc_link_refcount); dig_port 410 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_link_refcount = refcount; dig_port 413 drivers/gpu/drm/i915/display/intel_tc.c void intel_tc_port_sanitize(struct intel_digital_port *dig_port) dig_port 415 drivers/gpu/drm/i915/display/intel_tc.c struct intel_encoder *encoder = &dig_port->base; dig_port 418 drivers/gpu/drm/i915/display/intel_tc.c mutex_lock(&dig_port->tc_lock); dig_port 420 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_mode = intel_tc_port_get_current_mode(dig_port); dig_port 421 drivers/gpu/drm/i915/display/intel_tc.c if (dig_port->dp.is_mst) dig_port 422 drivers/gpu/drm/i915/display/intel_tc.c active_links = intel_dp_mst_encoder_active_links(dig_port); dig_port 427 drivers/gpu/drm/i915/display/intel_tc.c if (!icl_tc_phy_is_connected(dig_port)) dig_port 429 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_port_name, active_links); dig_port 430 drivers/gpu/drm/i915/display/intel_tc.c intel_tc_port_link_init_refcount(dig_port, active_links); dig_port 435 drivers/gpu/drm/i915/display/intel_tc.c if (dig_port->tc_legacy_port) dig_port 436 drivers/gpu/drm/i915/display/intel_tc.c icl_tc_phy_connect(dig_port, 1); dig_port 440 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_port_name, dig_port 441 drivers/gpu/drm/i915/display/intel_tc.c tc_port_mode_name(dig_port->tc_mode)); dig_port 443 drivers/gpu/drm/i915/display/intel_tc.c mutex_unlock(&dig_port->tc_lock); dig_port 446 drivers/gpu/drm/i915/display/intel_tc.c static bool intel_tc_port_needs_reset(struct intel_digital_port *dig_port) dig_port 448 drivers/gpu/drm/i915/display/intel_tc.c return intel_tc_port_get_target_mode(dig_port) != dig_port->tc_mode; dig_port 461 drivers/gpu/drm/i915/display/intel_tc.c bool intel_tc_port_connected(struct intel_digital_port *dig_port) dig_port 465 drivers/gpu/drm/i915/display/intel_tc.c intel_tc_port_lock(dig_port); dig_port 466 drivers/gpu/drm/i915/display/intel_tc.c is_connected = tc_port_live_status_mask(dig_port) & dig_port 467 drivers/gpu/drm/i915/display/intel_tc.c BIT(dig_port->tc_mode); dig_port 468 drivers/gpu/drm/i915/display/intel_tc.c intel_tc_port_unlock(dig_port); dig_port 473 drivers/gpu/drm/i915/display/intel_tc.c static void __intel_tc_port_lock(struct intel_digital_port *dig_port, dig_port 476 drivers/gpu/drm/i915/display/intel_tc.c struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); dig_port 481 drivers/gpu/drm/i915/display/intel_tc.c mutex_lock(&dig_port->tc_lock); dig_port 483 drivers/gpu/drm/i915/display/intel_tc.c if (!dig_port->tc_link_refcount && dig_port 484 drivers/gpu/drm/i915/display/intel_tc.c intel_tc_port_needs_reset(dig_port)) dig_port 485 drivers/gpu/drm/i915/display/intel_tc.c intel_tc_port_reset_mode(dig_port, required_lanes); dig_port 487 drivers/gpu/drm/i915/display/intel_tc.c WARN_ON(dig_port->tc_lock_wakeref); dig_port 488 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_lock_wakeref = wakeref; dig_port 491 drivers/gpu/drm/i915/display/intel_tc.c void intel_tc_port_lock(struct intel_digital_port *dig_port) dig_port 493 drivers/gpu/drm/i915/display/intel_tc.c __intel_tc_port_lock(dig_port, 1); dig_port 496 drivers/gpu/drm/i915/display/intel_tc.c void intel_tc_port_unlock(struct intel_digital_port *dig_port) dig_port 498 drivers/gpu/drm/i915/display/intel_tc.c struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); dig_port 499 drivers/gpu/drm/i915/display/intel_tc.c intel_wakeref_t wakeref = fetch_and_zero(&dig_port->tc_lock_wakeref); dig_port 501 drivers/gpu/drm/i915/display/intel_tc.c mutex_unlock(&dig_port->tc_lock); dig_port 507 drivers/gpu/drm/i915/display/intel_tc.c bool intel_tc_port_ref_held(struct intel_digital_port *dig_port) dig_port 509 drivers/gpu/drm/i915/display/intel_tc.c return mutex_is_locked(&dig_port->tc_lock) || dig_port 510 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_link_refcount; dig_port 513 drivers/gpu/drm/i915/display/intel_tc.c void intel_tc_port_get_link(struct intel_digital_port *dig_port, dig_port 516 drivers/gpu/drm/i915/display/intel_tc.c __intel_tc_port_lock(dig_port, required_lanes); dig_port 517 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_link_refcount++; dig_port 518 drivers/gpu/drm/i915/display/intel_tc.c intel_tc_port_unlock(dig_port); dig_port 521 drivers/gpu/drm/i915/display/intel_tc.c void intel_tc_port_put_link(struct intel_digital_port *dig_port) dig_port 523 drivers/gpu/drm/i915/display/intel_tc.c mutex_lock(&dig_port->tc_lock); dig_port 524 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_link_refcount--; dig_port 525 drivers/gpu/drm/i915/display/intel_tc.c mutex_unlock(&dig_port->tc_lock); dig_port 528 drivers/gpu/drm/i915/display/intel_tc.c void intel_tc_port_init(struct intel_digital_port *dig_port, bool is_legacy) dig_port 530 drivers/gpu/drm/i915/display/intel_tc.c struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); dig_port 531 drivers/gpu/drm/i915/display/intel_tc.c enum port port = dig_port->base.port; dig_port 537 drivers/gpu/drm/i915/display/intel_tc.c snprintf(dig_port->tc_port_name, sizeof(dig_port->tc_port_name), dig_port 540 drivers/gpu/drm/i915/display/intel_tc.c mutex_init(&dig_port->tc_lock); dig_port 541 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_legacy_port = is_legacy; dig_port 542 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_link_refcount = 0; dig_port 543 drivers/gpu/drm/i915/display/intel_tc.c dig_port->tc_phy_fia = tc_port_to_fia(i915, tc_port); dig_port 14 drivers/gpu/drm/i915/display/intel_tc.h bool intel_tc_port_connected(struct intel_digital_port *dig_port); dig_port 15 drivers/gpu/drm/i915/display/intel_tc.h u32 intel_tc_port_get_lane_mask(struct intel_digital_port *dig_port); dig_port 16 drivers/gpu/drm/i915/display/intel_tc.h int intel_tc_port_fia_max_lane_count(struct intel_digital_port *dig_port); dig_port 17 drivers/gpu/drm/i915/display/intel_tc.h void intel_tc_port_set_fia_lane_count(struct intel_digital_port *dig_port, dig_port 20 drivers/gpu/drm/i915/display/intel_tc.h void intel_tc_port_sanitize(struct intel_digital_port *dig_port); dig_port 21 drivers/gpu/drm/i915/display/intel_tc.h void intel_tc_port_lock(struct intel_digital_port *dig_port); dig_port 22 drivers/gpu/drm/i915/display/intel_tc.h void intel_tc_port_unlock(struct intel_digital_port *dig_port); dig_port 23 drivers/gpu/drm/i915/display/intel_tc.h void intel_tc_port_get_link(struct intel_digital_port *dig_port, dig_port 25 drivers/gpu/drm/i915/display/intel_tc.h void intel_tc_port_put_link(struct intel_digital_port *dig_port); dig_port 26 drivers/gpu/drm/i915/display/intel_tc.h bool intel_tc_port_ref_held(struct intel_digital_port *dig_port); dig_port 28 drivers/gpu/drm/i915/display/intel_tc.h void intel_tc_port_init(struct intel_digital_port *dig_port, bool is_legacy);