Message ID | 55F80F06.8040401@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Sep 15, 2015 at 02:28:54PM +0200, Maarten Lankhorst 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. > > 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> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Most likely caused by commit 36750f284b3a4f19b304fda1bb7d6e9e1275ea8d Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Date: Mon Jun 1 12:49:54 2015 +0200 drm/i915: update plane state during init which is in 4.3, so this of for Jani. -Daniel > --- > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index ca9278be49f7..05c57e6a0e43 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -15087,9 +15087,12 @@ static void readout_plane_state(struct intel_crtc *crtc, > > plane_state = to_intel_plane_state(p->base.state); > > - if (p->base.type == DRM_PLANE_TYPE_PRIMARY) > + if (p->base.type == DRM_PLANE_TYPE_PRIMARY) { > plane_state->visible = primary_get_hw_state(crtc); > - else { > + if (plane_state->visible) > + crtc->base.state->plane_mask |= > + 1 << drm_plane_index(&p->base); > + } else { > if (active) > p->disable_plane(&p->base, &crtc->base); > > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
On Wed, 23 Sep 2015, Daniel Vetter <daniel@ffwll.ch> wrote: > On Tue, Sep 15, 2015 at 02:28:54PM +0200, Maarten Lankhorst 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. >> >> 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> > Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> > > Most likely caused by > > commit 36750f284b3a4f19b304fda1bb7d6e9e1275ea8d > Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > Date: Mon Jun 1 12:49:54 2015 +0200 > > drm/i915: update plane state during init > > which is in 4.3, so this of for Jani. What's the deal with this patch wrt commit f9cd7b881a042dcc8f1b1236ecea6deb3eb4d5bd Author: Ville Syrjälä <ville.syrjala@linux.intel.com> Date: Thu Sep 10 18:59:08 2015 +0300 drm/i915: Move sprite/cursor plane disable to intel_sanitize_crtc() i.e. do we need a different patch for drm-intel-next-queued? BR, Jani. > -Daniel > >> --- >> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c >> index ca9278be49f7..05c57e6a0e43 100644 >> --- a/drivers/gpu/drm/i915/intel_display.c >> +++ b/drivers/gpu/drm/i915/intel_display.c >> @@ -15087,9 +15087,12 @@ static void readout_plane_state(struct intel_crtc *crtc, >> >> plane_state = to_intel_plane_state(p->base.state); >> >> - if (p->base.type == DRM_PLANE_TYPE_PRIMARY) >> + if (p->base.type == DRM_PLANE_TYPE_PRIMARY) { >> plane_state->visible = primary_get_hw_state(crtc); >> - else { >> + if (plane_state->visible) >> + crtc->base.state->plane_mask |= >> + 1 << drm_plane_index(&p->base); >> + } else { >> if (active) >> p->disable_plane(&p->base, &crtc->base); >> >> >> _______________________________________________ >> Intel-gfx mailing list >> Intel-gfx@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/intel-gfx > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch
Hey, Op 23-09-15 om 12:29 schreef Jani Nikula: > On Wed, 23 Sep 2015, Daniel Vetter <daniel@ffwll.ch> wrote: >> On Tue, Sep 15, 2015 at 02:28:54PM +0200, Maarten Lankhorst 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. >>> >>> 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> >> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> >> >> Most likely caused by >> >> commit 36750f284b3a4f19b304fda1bb7d6e9e1275ea8d >> Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> >> Date: Mon Jun 1 12:49:54 2015 +0200 >> >> drm/i915: update plane state during init >> >> which is in 4.3, so this of for Jani. > What's the deal with this patch wrt > > commit f9cd7b881a042dcc8f1b1236ecea6deb3eb4d5bd > Author: Ville Syrjälä <ville.syrjala@linux.intel.com> > Date: Thu Sep 10 18:59:08 2015 +0300 > > drm/i915: Move sprite/cursor plane disable to intel_sanitize_crtc() > > i.e. do we need a different patch for drm-intel-next-queued? > Indeed, and a different patch for v4.2 which you commented on. :-) crtc_mask needs to be updated here if plane_state->visible is true. ~Maarten
On Wed, 23 Sep 2015, Maarten Lankhorst <maarten.lankhorst@linux.intel.com> wrote: > Hey, > > Op 23-09-15 om 12:29 schreef Jani Nikula: >> On Wed, 23 Sep 2015, Daniel Vetter <daniel@ffwll.ch> wrote: >>> On Tue, Sep 15, 2015 at 02:28:54PM +0200, Maarten Lankhorst 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. >>>> >>>> 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> >>> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> >>> >>> Most likely caused by >>> >>> commit 36750f284b3a4f19b304fda1bb7d6e9e1275ea8d >>> Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> >>> Date: Mon Jun 1 12:49:54 2015 +0200 >>> >>> drm/i915: update plane state during init >>> >>> which is in 4.3, so this of for Jani. >> What's the deal with this patch wrt >> >> commit f9cd7b881a042dcc8f1b1236ecea6deb3eb4d5bd >> Author: Ville Syrjälä <ville.syrjala@linux.intel.com> >> Date: Thu Sep 10 18:59:08 2015 +0300 >> >> drm/i915: Move sprite/cursor plane disable to intel_sanitize_crtc() >> >> i.e. do we need a different patch for drm-intel-next-queued? >> > Indeed, and a different patch for v4.2 which you commented on. :-) > crtc_mask needs to be updated here if plane_state->visible is true. Okay, I pushed the patch do drm-intel-fixes, thanks for the patch and review. I resolving the conflict on nightly rebuild with what's in drm-intel-next-queued. Please send another patch against dinq. BR, Jani. > > ~Maarten
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index ca9278be49f7..05c57e6a0e43 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -15087,9 +15087,12 @@ static void readout_plane_state(struct intel_crtc *crtc, plane_state = to_intel_plane_state(p->base.state); - if (p->base.type == DRM_PLANE_TYPE_PRIMARY) + if (p->base.type == DRM_PLANE_TYPE_PRIMARY) { plane_state->visible = primary_get_hw_state(crtc); - else { + if (plane_state->visible) + crtc->base.state->plane_mask |= + 1 << drm_plane_index(&p->base); + } else { if (active) p->disable_plane(&p->base, &crtc->base);