All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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: link
Be 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.