summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
authorMaarten Lankhorst2015-06-01 12:49:54 +0200
committerJani Nikula2015-06-12 12:19:32 +0200
commit36750f284b3a4f19b304fda1bb7d6e9e1275ea8d (patch)
treeb1a39e55038f7b34d450a41268fceae4658b19cd /drivers/gpu/drm/i915/intel_display.c
parentdrm/i915: Make sure all planes and connectors are added on modeset. (diff)
downloadkernel-qcow2-linux-36750f284b3a4f19b304fda1bb7d6e9e1275ea8d.tar.gz
kernel-qcow2-linux-36750f284b3a4f19b304fda1bb7d6e9e1275ea8d.tar.xz
kernel-qcow2-linux-36750f284b3a4f19b304fda1bb7d6e9e1275ea8d.zip
drm/i915: update plane state during init
Atomic planes updates rely on having a accurate plane_mask. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 2b5b829a98ad..91a0f7ca7ed2 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2632,9 +2632,9 @@ valid_fb:
dev_priv->preserve_bios_swizzle = true;
primary->fb = fb;
- primary->state->crtc = &intel_crtc->base;
- primary->crtc = &intel_crtc->base;
+ primary->crtc = primary->state->crtc = &intel_crtc->base;
update_state_fb(primary);
+ intel_crtc->base.state->plane_mask |= (1 << drm_plane_index(primary));
obj->frontbuffer_bits |= INTEL_FRONTBUFFER_PRIMARY(intel_crtc->pipe);
}
@@ -15563,7 +15563,9 @@ void intel_modeset_gem_init(struct drm_device *dev)
to_intel_crtc(c)->pipe);
drm_framebuffer_unreference(c->primary->fb);
c->primary->fb = NULL;
+ c->primary->crtc = c->primary->state->crtc = NULL;
update_state_fb(c->primary);
+ c->state->plane_mask &= ~(1 << drm_plane_index(c->primary));
}
}