diff options
-rw-r--r-- | drivers/gpu/drm/i915/intel_crt.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_ddi.c | 7 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_dp.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_dp_mst.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_drv.h | 9 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_dsi.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_dvo.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_hdmi.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_lvds.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_sdvo.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_tv.c | 3 |
12 files changed, 29 insertions, 17 deletions
diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c index 6e6c4bde105a..8fe36d049d2f 100644 --- a/drivers/gpu/drm/i915/intel_crt.c +++ b/drivers/gpu/drm/i915/intel_crt.c | |||
@@ -261,7 +261,8 @@ intel_crt_mode_valid(struct drm_connector *connector, | |||
261 | } | 261 | } |
262 | 262 | ||
263 | static bool intel_crt_compute_config(struct intel_encoder *encoder, | 263 | static bool intel_crt_compute_config(struct intel_encoder *encoder, |
264 | struct intel_crtc_state *pipe_config) | 264 | struct intel_crtc_state *pipe_config, |
265 | struct drm_connector_state *conn_state) | ||
265 | { | 266 | { |
266 | struct drm_device *dev = encoder->base.dev; | 267 | struct drm_device *dev = encoder->base.dev; |
267 | 268 | ||
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c index 66feb1eafc93..b23872839fe0 100644 --- a/drivers/gpu/drm/i915/intel_ddi.c +++ b/drivers/gpu/drm/i915/intel_ddi.c | |||
@@ -2285,7 +2285,8 @@ void intel_ddi_get_config(struct intel_encoder *encoder, | |||
2285 | } | 2285 | } |
2286 | 2286 | ||
2287 | static bool intel_ddi_compute_config(struct intel_encoder *encoder, | 2287 | static bool intel_ddi_compute_config(struct intel_encoder *encoder, |
2288 | struct intel_crtc_state *pipe_config) | 2288 | struct intel_crtc_state *pipe_config, |
2289 | struct drm_connector_state *conn_state) | ||
2289 | { | 2290 | { |
2290 | struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); | 2291 | struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); |
2291 | int type = encoder->type; | 2292 | int type = encoder->type; |
@@ -2298,9 +2299,9 @@ static bool intel_ddi_compute_config(struct intel_encoder *encoder, | |||
2298 | pipe_config->cpu_transcoder = TRANSCODER_EDP; | 2299 | pipe_config->cpu_transcoder = TRANSCODER_EDP; |
2299 | 2300 | ||
2300 | if (type == INTEL_OUTPUT_HDMI) | 2301 | if (type == INTEL_OUTPUT_HDMI) |
2301 | ret = intel_hdmi_compute_config(encoder, pipe_config); | 2302 | ret = intel_hdmi_compute_config(encoder, pipe_config, conn_state); |
2302 | else | 2303 | else |
2303 | ret = intel_dp_compute_config(encoder, pipe_config); | 2304 | ret = intel_dp_compute_config(encoder, pipe_config, conn_state); |
2304 | 2305 | ||
2305 | if (IS_BROXTON(dev_priv) && ret) | 2306 | if (IS_BROXTON(dev_priv) && ret) |
2306 | pipe_config->lane_lat_optim_mask = | 2307 | pipe_config->lane_lat_optim_mask = |
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 554b3f69f4a5..f44858d2650e 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -13042,7 +13042,7 @@ encoder_retry: | |||
13042 | 13042 | ||
13043 | encoder = to_intel_encoder(connector_state->best_encoder); | 13043 | encoder = to_intel_encoder(connector_state->best_encoder); |
13044 | 13044 | ||
13045 | if (!(encoder->compute_config(encoder, pipe_config))) { | 13045 | if (!(encoder->compute_config(encoder, pipe_config, connector_state))) { |
13046 | DRM_DEBUG_KMS("Encoder config failure\n"); | 13046 | DRM_DEBUG_KMS("Encoder config failure\n"); |
13047 | goto fail; | 13047 | goto fail; |
13048 | } | 13048 | } |
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 30cbc7e2887f..9bf71f5579bb 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c | |||
@@ -1463,7 +1463,8 @@ void intel_dp_compute_rate(struct intel_dp *intel_dp, int port_clock, | |||
1463 | 1463 | ||
1464 | bool | 1464 | bool |
1465 | intel_dp_compute_config(struct intel_encoder *encoder, | 1465 | intel_dp_compute_config(struct intel_encoder *encoder, |
1466 | struct intel_crtc_state *pipe_config) | 1466 | struct intel_crtc_state *pipe_config, |
1467 | struct drm_connector_state *conn_state) | ||
1467 | { | 1468 | { |
1468 | struct drm_device *dev = encoder->base.dev; | 1469 | struct drm_device *dev = encoder->base.dev; |
1469 | struct drm_i915_private *dev_priv = to_i915(dev); | 1470 | struct drm_i915_private *dev_priv = to_i915(dev); |
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c index 8f7594ef39a9..5b5878e3bf6e 100644 --- a/drivers/gpu/drm/i915/intel_dp_mst.c +++ b/drivers/gpu/drm/i915/intel_dp_mst.c | |||
@@ -31,7 +31,8 @@ | |||
31 | #include <drm/drm_edid.h> | 31 | #include <drm/drm_edid.h> |
32 | 32 | ||
33 | static bool intel_dp_mst_compute_config(struct intel_encoder *encoder, | 33 | static bool intel_dp_mst_compute_config(struct intel_encoder *encoder, |
34 | struct intel_crtc_state *pipe_config) | 34 | struct intel_crtc_state *pipe_config, |
35 | struct drm_connector_state *conn_state) | ||
35 | { | 36 | { |
36 | struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base); | 37 | struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base); |
37 | struct intel_digital_port *intel_dig_port = intel_mst->primary; | 38 | struct intel_digital_port *intel_dig_port = intel_mst->primary; |
@@ -54,7 +55,6 @@ static bool intel_dp_mst_compute_config(struct intel_encoder *encoder, | |||
54 | */ | 55 | */ |
55 | lane_count = drm_dp_max_lane_count(intel_dp->dpcd); | 56 | lane_count = drm_dp_max_lane_count(intel_dp->dpcd); |
56 | 57 | ||
57 | |||
58 | pipe_config->lane_count = lane_count; | 58 | pipe_config->lane_count = lane_count; |
59 | 59 | ||
60 | pipe_config->pipe_bpp = 24; | 60 | pipe_config->pipe_bpp = 24; |
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index 37f36358c877..0b72eed5861f 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h | |||
@@ -205,7 +205,8 @@ struct intel_encoder { | |||
205 | unsigned int cloneable; | 205 | unsigned int cloneable; |
206 | void (*hot_plug)(struct intel_encoder *); | 206 | void (*hot_plug)(struct intel_encoder *); |
207 | bool (*compute_config)(struct intel_encoder *, | 207 | bool (*compute_config)(struct intel_encoder *, |
208 | struct intel_crtc_state *); | 208 | struct intel_crtc_state *, |
209 | struct drm_connector_state *); | ||
209 | void (*pre_pll_enable)(struct intel_encoder *, | 210 | void (*pre_pll_enable)(struct intel_encoder *, |
210 | struct intel_crtc_state *, | 211 | struct intel_crtc_state *, |
211 | struct drm_connector_state *); | 212 | struct drm_connector_state *); |
@@ -1389,7 +1390,8 @@ void intel_dp_encoder_suspend(struct intel_encoder *intel_encoder); | |||
1389 | void intel_dp_encoder_destroy(struct drm_encoder *encoder); | 1390 | void intel_dp_encoder_destroy(struct drm_encoder *encoder); |
1390 | int intel_dp_sink_crc(struct intel_dp *intel_dp, u8 *crc); | 1391 | int intel_dp_sink_crc(struct intel_dp *intel_dp, u8 *crc); |
1391 | bool intel_dp_compute_config(struct intel_encoder *encoder, | 1392 | bool intel_dp_compute_config(struct intel_encoder *encoder, |
1392 | struct intel_crtc_state *pipe_config); | 1393 | struct intel_crtc_state *pipe_config, |
1394 | struct drm_connector_state *conn_state); | ||
1393 | bool intel_dp_is_edp(struct drm_device *dev, enum port port); | 1395 | bool intel_dp_is_edp(struct drm_device *dev, enum port port); |
1394 | enum irqreturn intel_dp_hpd_pulse(struct intel_digital_port *intel_dig_port, | 1396 | enum irqreturn intel_dp_hpd_pulse(struct intel_digital_port *intel_dig_port, |
1395 | bool long_hpd); | 1397 | bool long_hpd); |
@@ -1514,7 +1516,8 @@ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port, | |||
1514 | struct intel_connector *intel_connector); | 1516 | struct intel_connector *intel_connector); |
1515 | struct intel_hdmi *enc_to_intel_hdmi(struct drm_encoder *encoder); | 1517 | struct intel_hdmi *enc_to_intel_hdmi(struct drm_encoder *encoder); |
1516 | bool intel_hdmi_compute_config(struct intel_encoder *encoder, | 1518 | bool intel_hdmi_compute_config(struct intel_encoder *encoder, |
1517 | struct intel_crtc_state *pipe_config); | 1519 | struct intel_crtc_state *pipe_config, |
1520 | struct drm_connector_state *conn_state); | ||
1518 | void intel_dp_dual_mode_set_tmds_output(struct intel_hdmi *hdmi, bool enable); | 1521 | void intel_dp_dual_mode_set_tmds_output(struct intel_hdmi *hdmi, bool enable); |
1519 | 1522 | ||
1520 | 1523 | ||
diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c index 107b70c19333..1a2e1dcbff1a 100644 --- a/drivers/gpu/drm/i915/intel_dsi.c +++ b/drivers/gpu/drm/i915/intel_dsi.c | |||
@@ -312,7 +312,8 @@ static inline bool is_cmd_mode(struct intel_dsi *intel_dsi) | |||
312 | } | 312 | } |
313 | 313 | ||
314 | static bool intel_dsi_compute_config(struct intel_encoder *encoder, | 314 | static bool intel_dsi_compute_config(struct intel_encoder *encoder, |
315 | struct intel_crtc_state *pipe_config) | 315 | struct intel_crtc_state *pipe_config, |
316 | struct drm_connector_state *conn_state) | ||
316 | { | 317 | { |
317 | struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); | 318 | struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); |
318 | struct intel_dsi *intel_dsi = container_of(encoder, struct intel_dsi, | 319 | struct intel_dsi *intel_dsi = container_of(encoder, struct intel_dsi, |
diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c index 52dde9b71ca5..141483fdcf7b 100644 --- a/drivers/gpu/drm/i915/intel_dvo.c +++ b/drivers/gpu/drm/i915/intel_dvo.c | |||
@@ -239,7 +239,8 @@ intel_dvo_mode_valid(struct drm_connector *connector, | |||
239 | } | 239 | } |
240 | 240 | ||
241 | static bool intel_dvo_compute_config(struct intel_encoder *encoder, | 241 | static bool intel_dvo_compute_config(struct intel_encoder *encoder, |
242 | struct intel_crtc_state *pipe_config) | 242 | struct intel_crtc_state *pipe_config, |
243 | struct drm_connector_state *conn_state) | ||
243 | { | 244 | { |
244 | struct intel_dvo *intel_dvo = enc_to_dvo(encoder); | 245 | struct intel_dvo *intel_dvo = enc_to_dvo(encoder); |
245 | const struct drm_display_mode *fixed_mode = | 246 | const struct drm_display_mode *fixed_mode = |
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index 560eff9a3694..1a116a6a1817 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c | |||
@@ -1301,7 +1301,8 @@ static bool hdmi_12bpc_possible(struct intel_crtc_state *crtc_state) | |||
1301 | } | 1301 | } |
1302 | 1302 | ||
1303 | bool intel_hdmi_compute_config(struct intel_encoder *encoder, | 1303 | bool intel_hdmi_compute_config(struct intel_encoder *encoder, |
1304 | struct intel_crtc_state *pipe_config) | 1304 | struct intel_crtc_state *pipe_config, |
1305 | struct drm_connector_state *conn_state) | ||
1305 | { | 1306 | { |
1306 | struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base); | 1307 | struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base); |
1307 | struct drm_device *dev = encoder->base.dev; | 1308 | struct drm_device *dev = encoder->base.dev; |
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c index f8e55df98883..29d45b099e51 100644 --- a/drivers/gpu/drm/i915/intel_lvds.c +++ b/drivers/gpu/drm/i915/intel_lvds.c | |||
@@ -395,7 +395,8 @@ intel_lvds_mode_valid(struct drm_connector *connector, | |||
395 | } | 395 | } |
396 | 396 | ||
397 | static bool intel_lvds_compute_config(struct intel_encoder *intel_encoder, | 397 | static bool intel_lvds_compute_config(struct intel_encoder *intel_encoder, |
398 | struct intel_crtc_state *pipe_config) | 398 | struct intel_crtc_state *pipe_config, |
399 | struct drm_connector_state *conn_state) | ||
399 | { | 400 | { |
400 | struct drm_device *dev = intel_encoder->base.dev; | 401 | struct drm_device *dev = intel_encoder->base.dev; |
401 | struct intel_lvds_encoder *lvds_encoder = | 402 | struct intel_lvds_encoder *lvds_encoder = |
diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c index cff4e9dcf4be..e3bc8d4bb781 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c | |||
@@ -1125,7 +1125,8 @@ static void i9xx_adjust_sdvo_tv_clock(struct intel_crtc_state *pipe_config) | |||
1125 | } | 1125 | } |
1126 | 1126 | ||
1127 | static bool intel_sdvo_compute_config(struct intel_encoder *encoder, | 1127 | static bool intel_sdvo_compute_config(struct intel_encoder *encoder, |
1128 | struct intel_crtc_state *pipe_config) | 1128 | struct intel_crtc_state *pipe_config, |
1129 | struct drm_connector_state *conn_state) | ||
1129 | { | 1130 | { |
1130 | struct intel_sdvo *intel_sdvo = to_sdvo(encoder); | 1131 | struct intel_sdvo *intel_sdvo = to_sdvo(encoder); |
1131 | struct drm_display_mode *adjusted_mode = &pipe_config->base.adjusted_mode; | 1132 | struct drm_display_mode *adjusted_mode = &pipe_config->base.adjusted_mode; |
diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c index 440ce7933573..d960e4866595 100644 --- a/drivers/gpu/drm/i915/intel_tv.c +++ b/drivers/gpu/drm/i915/intel_tv.c | |||
@@ -912,7 +912,8 @@ intel_tv_get_config(struct intel_encoder *encoder, | |||
912 | 912 | ||
913 | static bool | 913 | static bool |
914 | intel_tv_compute_config(struct intel_encoder *encoder, | 914 | intel_tv_compute_config(struct intel_encoder *encoder, |
915 | struct intel_crtc_state *pipe_config) | 915 | struct intel_crtc_state *pipe_config, |
916 | struct drm_connector_state *conn_state) | ||
916 | { | 917 | { |
917 | struct intel_tv *intel_tv = enc_to_tv(encoder); | 918 | struct intel_tv *intel_tv = enc_to_tv(encoder); |
918 | const struct tv_mode *tv_mode = intel_tv_mode_find(intel_tv); | 919 | const struct tv_mode *tv_mode = intel_tv_mode_find(intel_tv); |