[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