diff options
author | Imre Deak <imre.deak@intel.com> | 2021-09-21 03:23:05 +0300 |
---|---|---|
committer | Imre Deak <imre.deak@intel.com> | 2021-09-29 23:57:37 +0300 |
commit | 11a8970865b49c2a1e714ea3ba910d05fdde6944 (patch) | |
tree | f84f7b6cd47cfa43df710a3800dfd7451dcc5fa4 /drivers/gpu/drm/i915/display/intel_tc.c | |
parent | drm/i915/tc: Check for DP-alt, legacy sinks before taking PHY ownership (diff) | |
download | linux-dev-11a8970865b49c2a1e714ea3ba910d05fdde6944.tar.xz linux-dev-11a8970865b49c2a1e714ea3ba910d05fdde6944.zip |
drm/i915/tc: Add/use helpers to retrieve TypeC port properties
Instead of directly accessing the TypeC port internal struct members,
add/use helpers to retrieve the corresponding properties.
No functional change.
Cc: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210921002313.1132357-6-imre.deak@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_tc.c')
-rw-r--r-- | drivers/gpu/drm/i915/display/intel_tc.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_tc.c b/drivers/gpu/drm/i915/display/intel_tc.c index 4e5ff823a3a3..f9242056693e 100644 --- a/drivers/gpu/drm/i915/display/intel_tc.c +++ b/drivers/gpu/drm/i915/display/intel_tc.c @@ -23,6 +23,30 @@ static const char *tc_port_mode_name(enum tc_port_mode mode) return names[mode]; } +static bool intel_tc_port_in_mode(struct intel_digital_port *dig_port, + enum tc_port_mode mode) +{ + struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); + enum phy phy = intel_port_to_phy(i915, dig_port->base.port); + + return intel_phy_is_tc(i915, phy) && dig_port->tc_mode == mode; +} + +bool intel_tc_port_in_tbt_alt_mode(struct intel_digital_port *dig_port) +{ + return intel_tc_port_in_mode(dig_port, TC_PORT_TBT_ALT); +} + +bool intel_tc_port_in_dp_alt_mode(struct intel_digital_port *dig_port) +{ + return intel_tc_port_in_mode(dig_port, TC_PORT_DP_ALT); +} + +bool intel_tc_port_in_legacy_mode(struct intel_digital_port *dig_port) +{ + return intel_tc_port_in_mode(dig_port, TC_PORT_LEGACY); +} + static enum intel_display_power_domain tc_cold_get_power_domain(struct intel_digital_port *dig_port) { |