summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/display/intel_tc.h
diff options
context:
space:
mode:
authorImre Deak <imre.deak@intel.com>2023-03-23 16:20:13 +0200
committerImre Deak <imre.deak@intel.com>2023-04-03 11:35:30 +0300
commitc5879999641f7860495cb9655de6775c96999103 (patch)
tree7f53f58acaea2e2390ca8b66b2127cdf0f94273d /drivers/gpu/drm/i915/display/intel_tc.h
parent711762415ddacf54b1c973b208073438de5879b4 (diff)
drm/i915/tc: Move the intel_tc_port struct declaration to intel_tc.c
Move the intel_tc_port struct to intel_tc.c for better isolation. This requires allocating the struct dynamically. Reviewed-by: Mika Kahola <mika.kahola@intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230323142035.1432621-8-imre.deak@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_tc.h')
-rw-r--r--drivers/gpu/drm/i915/display/intel_tc.h30
1 files changed, 2 insertions, 28 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_tc.h b/drivers/gpu/drm/i915/display/intel_tc.h
index cc3a7fd4ac10..dd0810f9ea95 100644
--- a/drivers/gpu/drm/i915/display/intel_tc.h
+++ b/drivers/gpu/drm/i915/display/intel_tc.h
@@ -6,39 +6,12 @@
#ifndef __INTEL_TC_H__
#define __INTEL_TC_H__
-#include <linux/mutex.h>
#include <linux/types.h>
-#include "intel_display.h"
-#include "intel_display_power.h"
-#include "intel_wakeref.h"
-
struct intel_crtc_state;
struct intel_digital_port;
struct intel_encoder;
-enum tc_port_mode {
- TC_PORT_DISCONNECTED,
- TC_PORT_TBT_ALT,
- TC_PORT_DP_ALT,
- TC_PORT_LEGACY,
-};
-
-struct intel_tc_port {
- struct intel_digital_port *dig_port;
- struct mutex lock; /* protects the TypeC port mode */
- intel_wakeref_t lock_wakeref;
- enum intel_display_power_domain lock_power_domain;
- struct delayed_work disconnect_phy_work;
- int link_refcount;
- bool legacy_port:1;
- char port_name[8];
- enum tc_port_mode mode;
- enum tc_port_mode init_mode;
- enum phy_fia phy_fia;
- u8 phy_fia_idx;
-};
-
bool intel_tc_port_in_tbt_alt_mode(struct intel_digital_port *dig_port);
bool intel_tc_port_in_dp_alt_mode(struct intel_digital_port *dig_port);
bool intel_tc_port_in_legacy_mode(struct intel_digital_port *dig_port);
@@ -63,7 +36,8 @@ void intel_tc_port_get_link(struct intel_digital_port *dig_port,
void intel_tc_port_put_link(struct intel_digital_port *dig_port);
bool intel_tc_port_ref_held(struct intel_digital_port *dig_port);
-void intel_tc_port_init(struct intel_digital_port *dig_port, bool is_legacy);
+int intel_tc_port_init(struct intel_digital_port *dig_port, bool is_legacy);
+void intel_tc_port_cleanup(struct intel_digital_port *dig_port);
bool intel_tc_cold_requires_aux_pw(struct intel_digital_port *dig_port);