[Intel-gfx] [PATCH 1/2] drm/i915: Add primary plane to mask if it's visible
Jani Nikula
jani.nikula at intel.com
Fri Sep 25 04:11:46 PDT 2015
On Wed, 23 Sep 2015, Maarten Lankhorst <maarten.lankhorst at linux.intel.com> wrote:
> 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
>
> commit 36750f284b3a4f19b304fda1bb7d6e9e1275ea8d
> Author: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> Date: Mon Jun 1 12:49:54 2015 +0200
>
> drm/i915: update plane state during init
>
> Reported-by: Andreas Reis <andreas.reis at gmail.com>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91429
> Reported-and-tested-by: Emil Renner Berthing <kernel at esmil.dk>
> Tested-by: Andreas Reis <andreas.reis at gmail.com>
> Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
Daniel, this one is for you. Another version of this is already
upstream:
commit 721a09f7393de6c28a07516dccd654c6e995944a
Author: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
Date: Tue Sep 15 14:28:54 2015 +0200
drm/i915: Add primary plane to mask if it's visible
> ---
> drivers/gpu/drm/i915/intel_display.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index c5366b9ff809..854896e4794e 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -15103,11 +15103,15 @@ static bool primary_get_hw_state(struct intel_plane *plane)
> /* FIXME read out full plane state for all planes */
> static void readout_plane_state(struct intel_crtc *crtc)
> {
> + struct drm_plane *primary = crtc->base.primary;
> struct intel_plane_state *plane_state =
> - to_intel_plane_state(crtc->base.primary->state);
> + to_intel_plane_state(primary->state);
>
> 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)
> --
> 2.1.0
>
--
Jani Nikula, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list