drm/i915: Use atomic state in intel_fb_initial_config.

This is another step in removing legacy state.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1455697119-31416-6-git-send-email-maarten.lankhorst@linux.intel.com
This commit is contained in:
Maarten Lankhorst 2016-02-17 09:18:39 +01:00
parent 7bb4afb458
commit e28661bd1a

View File

@ -406,8 +406,8 @@ retry:
continue; continue;
} }
encoder = connector->encoder; encoder = connector->state->best_encoder;
if (!encoder || WARN_ON(!encoder->crtc)) { if (!encoder || WARN_ON(!connector->state->crtc)) {
if (connector->force > DRM_FORCE_OFF) if (connector->force > DRM_FORCE_OFF)
goto bail; goto bail;
@ -420,7 +420,7 @@ retry:
num_connectors_enabled++; num_connectors_enabled++;
new_crtc = intel_fb_helper_crtc(fb_helper, encoder->crtc); new_crtc = intel_fb_helper_crtc(fb_helper, connector->state->crtc);
/* /*
* Make sure we're not trying to drive multiple connectors * Make sure we're not trying to drive multiple connectors
@ -466,17 +466,22 @@ retry:
* usually contains. But since our current * usually contains. But since our current
* code puts a mode derived from the post-pfit timings * code puts a mode derived from the post-pfit timings
* into crtc->mode this works out correctly. * into crtc->mode this works out correctly.
*
* This is crtc->mode and not crtc->state->mode for the
* fastboot check to work correctly. crtc_state->mode has
* I915_MODE_FLAG_INHERITED, which we clear to force check
* state.
*/ */
DRM_DEBUG_KMS("looking for current mode on connector %s\n", DRM_DEBUG_KMS("looking for current mode on connector %s\n",
connector->name); connector->name);
modes[i] = &encoder->crtc->mode; modes[i] = &connector->state->crtc->mode;
} }
crtcs[i] = new_crtc; crtcs[i] = new_crtc;
DRM_DEBUG_KMS("connector %s on pipe %c [CRTC:%d]: %dx%d%s\n", DRM_DEBUG_KMS("connector %s on pipe %c [CRTC:%d]: %dx%d%s\n",
connector->name, connector->name,
pipe_name(to_intel_crtc(encoder->crtc)->pipe), pipe_name(to_intel_crtc(connector->state->crtc)->pipe),
encoder->crtc->base.id, connector->state->crtc->base.id,
modes[i]->hdisplay, modes[i]->vdisplay, modes[i]->hdisplay, modes[i]->vdisplay,
modes[i]->flags & DRM_MODE_FLAG_INTERLACE ? "i" :""); modes[i]->flags & DRM_MODE_FLAG_INTERLACE ? "i" :"");