On Fri, Sep 25, 2015 at 02:11:46PM +0300, Jani Nikula wrote: > On Wed, 23 Sep 2015, Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxx> > > Date: Mon Jun 1 12:49:54 2015 +0200 > > > > drm/i915: update plane state during init > > > > Reported-by: Andreas Reis <andreas.reis@xxxxxxxxx> > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91429 > > Reported-and-tested-by: Emil Renner Berthing <kernel@xxxxxxxx> > > Tested-by: Andreas Reis <andreas.reis@xxxxxxxxx> > > Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > > Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> > > Daniel, this one is for you. Another version of this is already > upstream: > > commit 721a09f7393de6c28a07516dccd654c6e995944a > Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> > 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@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx