mirror of https://gitee.com/openkylin/linux.git
drm/i915: Add primary plane to mask if it's visible
This fixes the warnings like "plane A assertion failure, should be disabled but not" that on the initial modeset during boot. This can happen if the primary plane is enabled by the firmware, but inheriting it fails because the DMAR is active or for other reasons. Most likely caused by commit36750f284b
Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Date: Mon Jun 1 12:49:54 2015 +0200 drm/i915: update plane state during init This is the 4.4 version of commit721a09f739
Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Date: Tue Sep 15 14:28:54 2015 +0200 drm/i915: Add primary plane to mask if it's visible Reported-by: Andreas Reis <andreas.reis@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91429 Reported-and-tested-by: Emil Renner Berthing <kernel@esmil.dk> Tested-by: Andreas Reis <andreas.reis@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
eecf613a43
commit
b26d3ea323
|
@ -15128,11 +15128,15 @@ static bool primary_get_hw_state(struct intel_plane *plane)
|
||||||
/* FIXME read out full plane state for all planes */
|
/* FIXME read out full plane state for all planes */
|
||||||
static void readout_plane_state(struct intel_crtc *crtc)
|
static void readout_plane_state(struct intel_crtc *crtc)
|
||||||
{
|
{
|
||||||
|
struct drm_plane *primary = crtc->base.primary;
|
||||||
struct intel_plane_state *plane_state =
|
struct intel_plane_state *plane_state =
|
||||||
to_intel_plane_state(crtc->base.primary->state);
|
to_intel_plane_state(primary->state);
|
||||||
|
|
||||||
plane_state->visible =
|
plane_state->visible =
|
||||||
primary_get_hw_state(to_intel_plane(crtc->base.primary));
|
primary_get_hw_state(to_intel_plane(primary));
|
||||||
|
|
||||||
|
if (plane_state->visible)
|
||||||
|
crtc->base.state->plane_mask |= 1 << drm_plane_index(primary);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void intel_modeset_readout_hw_state(struct drm_device *dev)
|
static void intel_modeset_readout_hw_state(struct drm_device *dev)
|
||||||
|
|
Loading…
Reference in New Issue