diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dp_mst.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_dp_mst.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c index 629337dbca3d..8f7594ef39a9 100644 --- a/drivers/gpu/drm/i915/intel_dp_mst.c +++ b/drivers/gpu/drm/i915/intel_dp_mst.c | |||
@@ -92,7 +92,9 @@ static bool intel_dp_mst_compute_config(struct intel_encoder *encoder, | |||
92 | 92 | ||
93 | } | 93 | } |
94 | 94 | ||
95 | static void intel_mst_disable_dp(struct intel_encoder *encoder) | 95 | static void intel_mst_disable_dp(struct intel_encoder *encoder, |
96 | struct intel_crtc_state *old_crtc_state, | ||
97 | struct drm_connector_state *old_conn_state) | ||
96 | { | 98 | { |
97 | struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base); | 99 | struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base); |
98 | struct intel_digital_port *intel_dig_port = intel_mst->primary; | 100 | struct intel_digital_port *intel_dig_port = intel_mst->primary; |
@@ -109,7 +111,9 @@ static void intel_mst_disable_dp(struct intel_encoder *encoder) | |||
109 | } | 111 | } |
110 | } | 112 | } |
111 | 113 | ||
112 | static void intel_mst_post_disable_dp(struct intel_encoder *encoder) | 114 | static void intel_mst_post_disable_dp(struct intel_encoder *encoder, |
115 | struct intel_crtc_state *old_crtc_state, | ||
116 | struct drm_connector_state *old_conn_state) | ||
113 | { | 117 | { |
114 | struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base); | 118 | struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base); |
115 | struct intel_digital_port *intel_dig_port = intel_mst->primary; | 119 | struct intel_digital_port *intel_dig_port = intel_mst->primary; |
@@ -128,12 +132,16 @@ static void intel_mst_post_disable_dp(struct intel_encoder *encoder) | |||
128 | 132 | ||
129 | intel_mst->connector = NULL; | 133 | intel_mst->connector = NULL; |
130 | if (intel_dp->active_mst_links == 0) { | 134 | if (intel_dp->active_mst_links == 0) { |
131 | intel_dig_port->base.post_disable(&intel_dig_port->base); | 135 | intel_dig_port->base.post_disable(&intel_dig_port->base, |
136 | NULL, NULL); | ||
137 | |||
132 | intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_OFF); | 138 | intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_OFF); |
133 | } | 139 | } |
134 | } | 140 | } |
135 | 141 | ||
136 | static void intel_mst_pre_enable_dp(struct intel_encoder *encoder) | 142 | static void intel_mst_pre_enable_dp(struct intel_encoder *encoder, |
143 | struct intel_crtc_state *pipe_config, | ||
144 | struct drm_connector_state *conn_state) | ||
137 | { | 145 | { |
138 | struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base); | 146 | struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base); |
139 | struct intel_digital_port *intel_dig_port = intel_mst->primary; | 147 | struct intel_digital_port *intel_dig_port = intel_mst->primary; |
@@ -200,7 +208,9 @@ static void intel_mst_pre_enable_dp(struct intel_encoder *encoder) | |||
200 | ret = drm_dp_update_payload_part1(&intel_dp->mst_mgr); | 208 | ret = drm_dp_update_payload_part1(&intel_dp->mst_mgr); |
201 | } | 209 | } |
202 | 210 | ||
203 | static void intel_mst_enable_dp(struct intel_encoder *encoder) | 211 | static void intel_mst_enable_dp(struct intel_encoder *encoder, |
212 | struct intel_crtc_state *pipe_config, | ||
213 | struct drm_connector_state *conn_state) | ||
204 | { | 214 | { |
205 | struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base); | 215 | struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base); |
206 | struct intel_digital_port *intel_dig_port = intel_mst->primary; | 216 | struct intel_digital_port *intel_dig_port = intel_mst->primary; |