From: "Ville Syrjälä" <ville.syrjala@linux.intel.com> To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: intel-gfx@lists.freedesktop.org Subject: Re: [PATCH 1/2] drm/i915: Frob the correct crtc state in intel_crtc_disable_noatomic() Date: Wed, 6 Nov 2019 15:45:05 +0200 [thread overview] Message-ID: <20191106134505.GT1208@intel.com> (raw) In-Reply-To: <b5f5bd8b-1300-3077-2de3-1866173165ac@linux.intel.com> On Wed, Nov 06, 2019 at 12:53:45PM +0100, Maarten Lankhorst wrote: > Op 05-11-2019 om 18:14 schreef Ville Syrjala: > > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > > > The uapi vs. hw state split introduced a bug in > > intel_crtc_disable_noatomic() where it's not frobbing an already s/not/now/ and pushed to dinq. Thanks for the review. > > freed temp crtc state instead of adjusting the crtc state we > > are really left with. Fix that by making a cleaner separation > > beteen the two. > > > > This causes explosions on any machine that boots up with pipes > > already running but not hooked up to any encoder (typical > > behaviour for gen2-4 VBIOS). > > > > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > > Fixes: 58d124ea2739 ("drm/i915: Complete crtc hw/uapi split, v6.") > > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > > --- > > drivers/gpu/drm/i915/display/intel_display.c | 10 ++++++---- > > 1 file changed, 6 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c > > index 876fc25968bf..1f93860fb897 100644 > > --- a/drivers/gpu/drm/i915/display/intel_display.c > > +++ b/drivers/gpu/drm/i915/display/intel_display.c > > @@ -7191,11 +7191,13 @@ static void intel_crtc_disable_noatomic(struct drm_crtc *crtc, > > struct drm_i915_private *dev_priv = to_i915(crtc->dev); > > struct intel_bw_state *bw_state = > > to_intel_bw_state(dev_priv->bw_obj.state); > > + struct intel_crtc_state *crtc_state = > > + to_intel_crtc_state(crtc->state); > > enum intel_display_power_domain domain; > > struct intel_plane *plane; > > u64 domains; > > struct drm_atomic_state *state; > > - struct intel_crtc_state *crtc_state; > > + struct intel_crtc_state *temp_crtc_state; > > int ret; > > > > if (!intel_crtc->active) > > @@ -7219,12 +7221,12 @@ static void intel_crtc_disable_noatomic(struct drm_crtc *crtc, > > state->acquire_ctx = ctx; > > > > /* Everything's already locked, -EDEADLK can't happen. */ > > - crtc_state = intel_atomic_get_crtc_state(state, intel_crtc); > > + temp_crtc_state = intel_atomic_get_crtc_state(state, intel_crtc); > > ret = drm_atomic_add_affected_connectors(state, crtc); > > > > - WARN_ON(IS_ERR(crtc_state) || ret); > > + WARN_ON(IS_ERR(temp_crtc_state) || ret); > > > > - dev_priv->display.crtc_disable(crtc_state, to_intel_atomic_state(state)); > > + dev_priv->display.crtc_disable(temp_crtc_state, to_intel_atomic_state(state)); > > > > drm_atomic_state_put(state); > > > > Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > -- Ville Syrjälä Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
WARNING: multiple messages have this Message-ID (diff)
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com> To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: intel-gfx@lists.freedesktop.org Subject: Re: [Intel-gfx] [PATCH 1/2] drm/i915: Frob the correct crtc state in intel_crtc_disable_noatomic() Date: Wed, 6 Nov 2019 15:45:05 +0200 [thread overview] Message-ID: <20191106134505.GT1208@intel.com> (raw) Message-ID: <20191106134505.vQG5pPm5ba_ecw9fkJPD6GtzIlaViDgi0KK504n2oyc@z> (raw) In-Reply-To: <b5f5bd8b-1300-3077-2de3-1866173165ac@linux.intel.com> On Wed, Nov 06, 2019 at 12:53:45PM +0100, Maarten Lankhorst wrote: > Op 05-11-2019 om 18:14 schreef Ville Syrjala: > > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > > > The uapi vs. hw state split introduced a bug in > > intel_crtc_disable_noatomic() where it's not frobbing an already s/not/now/ and pushed to dinq. Thanks for the review. > > freed temp crtc state instead of adjusting the crtc state we > > are really left with. Fix that by making a cleaner separation > > beteen the two. > > > > This causes explosions on any machine that boots up with pipes > > already running but not hooked up to any encoder (typical > > behaviour for gen2-4 VBIOS). > > > > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > > Fixes: 58d124ea2739 ("drm/i915: Complete crtc hw/uapi split, v6.") > > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > > --- > > drivers/gpu/drm/i915/display/intel_display.c | 10 ++++++---- > > 1 file changed, 6 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c > > index 876fc25968bf..1f93860fb897 100644 > > --- a/drivers/gpu/drm/i915/display/intel_display.c > > +++ b/drivers/gpu/drm/i915/display/intel_display.c > > @@ -7191,11 +7191,13 @@ static void intel_crtc_disable_noatomic(struct drm_crtc *crtc, > > struct drm_i915_private *dev_priv = to_i915(crtc->dev); > > struct intel_bw_state *bw_state = > > to_intel_bw_state(dev_priv->bw_obj.state); > > + struct intel_crtc_state *crtc_state = > > + to_intel_crtc_state(crtc->state); > > enum intel_display_power_domain domain; > > struct intel_plane *plane; > > u64 domains; > > struct drm_atomic_state *state; > > - struct intel_crtc_state *crtc_state; > > + struct intel_crtc_state *temp_crtc_state; > > int ret; > > > > if (!intel_crtc->active) > > @@ -7219,12 +7221,12 @@ static void intel_crtc_disable_noatomic(struct drm_crtc *crtc, > > state->acquire_ctx = ctx; > > > > /* Everything's already locked, -EDEADLK can't happen. */ > > - crtc_state = intel_atomic_get_crtc_state(state, intel_crtc); > > + temp_crtc_state = intel_atomic_get_crtc_state(state, intel_crtc); > > ret = drm_atomic_add_affected_connectors(state, crtc); > > > > - WARN_ON(IS_ERR(crtc_state) || ret); > > + WARN_ON(IS_ERR(temp_crtc_state) || ret); > > > > - dev_priv->display.crtc_disable(crtc_state, to_intel_atomic_state(state)); > > + dev_priv->display.crtc_disable(temp_crtc_state, to_intel_atomic_state(state)); > > > > drm_atomic_state_put(state); > > > > Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > -- Ville Syrjälä Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2019-11-06 13:45 UTC|newest] Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-11-05 17:14 [PATCH 1/2] drm/i915: Frob the correct crtc state in intel_crtc_disable_noatomic() Ville Syrjala 2019-11-05 17:14 ` [Intel-gfx] " Ville Syrjala 2019-11-05 17:14 ` [PATCH 2/2] drm/i915: Switch intel_crtc_disable_noatomic() to intel_ types Ville Syrjala 2019-11-05 17:14 ` [Intel-gfx] " Ville Syrjala 2019-12-02 15:24 ` Lucas De Marchi 2019-12-02 15:24 ` [Intel-gfx] " Lucas De Marchi 2019-11-05 18:00 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Frob the correct crtc state in intel_crtc_disable_noatomic() Patchwork 2019-11-05 18:00 ` [Intel-gfx] " Patchwork 2019-11-06 11:27 ` ✓ Fi.CI.IGT: " Patchwork 2019-11-06 11:27 ` [Intel-gfx] " Patchwork 2019-11-06 11:53 ` [PATCH 1/2] " Maarten Lankhorst 2019-11-06 11:53 ` [Intel-gfx] " Maarten Lankhorst 2019-11-06 13:45 ` Ville Syrjälä [this message] 2019-11-06 13:45 ` Ville Syrjälä
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20191106134505.GT1208@intel.com \ --to=ville.syrjala@linux.intel.com \ --cc=intel-gfx@lists.freedesktop.org \ --cc=maarten.lankhorst@linux.intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.