[Intel-gfx] [PATCH 1/2] drm/i915: Add primary plane to mask if it's visible

Daniel Vetter daniel at ffwll.ch
Mon Sep 28 01:48:41 PDT 2015


On Fri, Sep 25, 2015 at 02:11:46PM +0300, Jani Nikula wrote:
> 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

Why did the commit message not explain that this was a forward port?
</broken-maintainer-record>

Anyway we still seem to have a bit of a mess in the plane reconstruction
code - if intel_find_initial_plane_obj fails we don't shut down the plane,
but an enabled plane without an fb attached will upset the drm core a bit
...

Anyway applied this to dinq (with the forward-port note attached).
-Daniel

> 
> 
> 
> > ---
> >  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
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Intel-gfx mailing list