diff options
author | Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> | 2015-03-20 10:18:13 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2015-03-26 13:00:18 -0400 |
commit | e75f4771f81e969d60177cb0c72526f4a05cbb5f (patch) | |
tree | 35757bee7bf75701f086796c90bee103b2ac3efc | |
parent | 3165c074175cddab1dcfd553042ea4f363bc76e7 (diff) |
drm/i915: Don't use staged config in intel_dp_mst_compute_config()
Move towards atomic by using the legacy modeset's drm_atomic_state
instead.
Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r-- | drivers/gpu/drm/i915/intel_dp_mst.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c index 37c45f8d0135..5329c855acce 100644 --- a/drivers/gpu/drm/i915/intel_dp_mst.c +++ b/drivers/gpu/drm/i915/intel_dp_mst.c | |||
@@ -36,11 +36,11 @@ static bool intel_dp_mst_compute_config(struct intel_encoder *encoder, | |||
36 | struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base); | 36 | struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base); |
37 | struct intel_digital_port *intel_dig_port = intel_mst->primary; | 37 | struct intel_digital_port *intel_dig_port = intel_mst->primary; |
38 | struct intel_dp *intel_dp = &intel_dig_port->dp; | 38 | struct intel_dp *intel_dp = &intel_dig_port->dp; |
39 | struct drm_device *dev = encoder->base.dev; | 39 | struct drm_atomic_state *state; |
40 | int bpp; | 40 | int bpp, i; |
41 | int lane_count, slots, rate; | 41 | int lane_count, slots, rate; |
42 | struct drm_display_mode *adjusted_mode = &pipe_config->base.adjusted_mode; | 42 | struct drm_display_mode *adjusted_mode = &pipe_config->base.adjusted_mode; |
43 | struct intel_connector *found = NULL, *intel_connector; | 43 | struct intel_connector *found = NULL; |
44 | int mst_pbn; | 44 | int mst_pbn; |
45 | 45 | ||
46 | pipe_config->dp_encoder_is_mst = true; | 46 | pipe_config->dp_encoder_is_mst = true; |
@@ -68,9 +68,14 @@ static bool intel_dp_mst_compute_config(struct intel_encoder *encoder, | |||
68 | pipe_config->pipe_bpp = 24; | 68 | pipe_config->pipe_bpp = 24; |
69 | pipe_config->port_clock = rate; | 69 | pipe_config->port_clock = rate; |
70 | 70 | ||
71 | for_each_intel_connector(dev, intel_connector) { | 71 | state = pipe_config->base.state; |
72 | if (intel_connector->new_encoder == encoder) { | 72 | |
73 | found = intel_connector; | 73 | for (i = 0; i < state->num_connector; i++) { |
74 | if (!state->connectors[i]) | ||
75 | continue; | ||
76 | |||
77 | if (state->connector_states[i]->best_encoder == &encoder->base) { | ||
78 | found = to_intel_connector(state->connectors[i]); | ||
74 | break; | 79 | break; |
75 | } | 80 | } |
76 | } | 81 | } |