[Intel-gfx] [PATCH 1/2] drm/i915: Move updating color management to before vblank evasion

Ville Syrjälä ville.syrjala at linux.intel.com
Wed Mar 1 15:38:50 UTC 2017


On Tue, Feb 28, 2017 at 05:01:25PM +0200, Ville Syrjälä wrote:
> On Tue, Feb 28, 2017 at 03:28:47PM +0100, Maarten Lankhorst wrote:
> > This cannot be done reliably during vblank evasasion
> > since the color management registers are not double buffered.
> > 
> > The original commit that moved it always during vblank evasion was
> > wrong, so revert it to before vblank evasion again.
> > 
> > Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> > Fixes: 20a34e78f0d7 ("drm/i915: Update color management during vblank evasion.")
> > Cc: stable at vger.kernel.org # v4.7+
> 
> Wasn't there a bugzilla + tested-by ?

Seems we have two bugzillas now:
https://bugs.freedesktop.org/show_bug.cgi?id=91883
https://bugs.freedesktop.org/show_bug.cgi?id=99991

First one is about the atomic update fails, the second about
the assert_dsi_pll() mutex vs. irq_disabled() warning.

No actual t-bs for this specific variant of the patch (yet)
from what I can see.

Anyways, this is 
Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

> 
> > ---
> >  drivers/gpu/drm/i915/intel_display.c | 12 +++++++-----
> >  1 file changed, 7 insertions(+), 5 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> > index 3c862d0ab389..a0108041fd4a 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -13301,17 +13301,19 @@ static void intel_begin_crtc_commit(struct drm_crtc *crtc,
> >  		to_intel_atomic_state(old_crtc_state->state);
> >  	bool modeset = needs_modeset(crtc->state);
> >  
> > +	if (!modeset &&
> > +	    (intel_cstate->base.color_mgmt_changed ||
> > +	     intel_cstate->update_pipe)) {
> > +		intel_color_set_csc(crtc->state);
> > +		intel_color_load_luts(crtc->state);
> > +	}
> > +
> >  	/* Perform vblank evasion around commit operation */
> >  	intel_pipe_update_start(intel_crtc);
> >  
> >  	if (modeset)
> >  		goto out;
> >  
> > -	if (crtc->state->color_mgmt_changed || to_intel_crtc_state(crtc->state)->update_pipe) {
> > -		intel_color_set_csc(crtc->state);
> > -		intel_color_load_luts(crtc->state);
> > -	}
> > -
> >  	if (intel_cstate->update_pipe)
> >  		intel_update_pipe_config(intel_crtc, old_intel_cstate);
> >  	else if (INTEL_GEN(dev_priv) >= 9)
> > -- 
> > 2.7.4
> > 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
> -- 
> Ville Syrjälä
> Intel OTC
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC


More information about the Intel-gfx mailing list