mirror of https://gitee.com/openkylin/linux.git
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:
parent
7bb4afb458
commit
e28661bd1a
|
@ -406,8 +406,8 @@ static bool intel_fb_initial_config(struct drm_fb_helper *fb_helper,
|
|||
continue;
|
||||
}
|
||||
|
||||
encoder = connector->encoder;
|
||||
if (!encoder || WARN_ON(!encoder->crtc)) {
|
||||
encoder = connector->state->best_encoder;
|
||||
if (!encoder || WARN_ON(!connector->state->crtc)) {
|
||||
if (connector->force > DRM_FORCE_OFF)
|
||||
goto bail;
|
||||
|
||||
|
@ -420,7 +420,7 @@ static bool intel_fb_initial_config(struct drm_fb_helper *fb_helper,
|
|||
|
||||
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
|
||||
|
@ -466,17 +466,22 @@ static bool intel_fb_initial_config(struct drm_fb_helper *fb_helper,
|
|||
* usually contains. But since our current
|
||||
* code puts a mode derived from the post-pfit timings
|
||||
* 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",
|
||||
connector->name);
|
||||
modes[i] = &encoder->crtc->mode;
|
||||
modes[i] = &connector->state->crtc->mode;
|
||||
}
|
||||
crtcs[i] = new_crtc;
|
||||
|
||||
DRM_DEBUG_KMS("connector %s on pipe %c [CRTC:%d]: %dx%d%s\n",
|
||||
connector->name,
|
||||
pipe_name(to_intel_crtc(encoder->crtc)->pipe),
|
||||
encoder->crtc->base.id,
|
||||
pipe_name(to_intel_crtc(connector->state->crtc)->pipe),
|
||||
connector->state->crtc->base.id,
|
||||
modes[i]->hdisplay, modes[i]->vdisplay,
|
||||
modes[i]->flags & DRM_MODE_FLAG_INTERLACE ? "i" :"");
|
||||
|
||||
|
|
Loading…
Reference in New Issue