[Intel-gfx] [PATCH] drm/i915: Nuke debug messages from the pipe update critical section

Jani Nikula jani.nikula at linux.intel.com
Wed Mar 8 10:31:35 UTC 2017


On Wed, 08 Mar 2017, Ville Syrjälä <ville.syrjala at linux.intel.com> wrote:
> On Wed, Mar 08, 2017 at 10:19:39AM +0200, Jani Nikula wrote:
>> On Tue, 07 Mar 2017, ville.syrjala at linux.intel.com wrote:
>> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>> >
>> > printks are slow so we should not be doing them from the vblank evade
>> > critical section. These could explain why we sometimes seem to
>> > blow past our 100 usec deadline.
>> >
>> > The problem has been there ever since commit bfd16b2a23dc ("drm/i915:
>> > Make updating pipe without modeset atomic.") but it may not have
>> > been readily visible until commit e1edbd44e23b ("drm/i915: Complain
>> > if we take too long under vblank evasion.") increased our chances
>> > of noticing it.
>> >
>> > Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
>> > Fixes: bfd16b2a23dc ("drm/i915: Make updating pipe without modeset atomic.")
>> 
>> Is this not worth it for cc: stable, because e1edbd44e23b is not in
>> Linus' tree?
>
> Hmm. We did have the other error message about exceeding the deadline
> already before, so it's possible that this might have caused some noise
> even before the e1edbd44e23b. Also removing printk()s can do harm 
> (famous last words, right?) so we might as well cc:stable I suppose.

Nice typo there! ;) But make it so.

BR,
Jani.


>
>> 
>> BR,
>> Jani.
>> 
>> 
>> > Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
>> > ---
>> >  drivers/gpu/drm/i915/intel_display.c | 12 +-----------
>> >  1 file changed, 1 insertion(+), 11 deletions(-)
>> >
>> > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
>> > index e77ca7dfa44d..726ae191076b 100644
>> > --- a/drivers/gpu/drm/i915/intel_display.c
>> > +++ b/drivers/gpu/drm/i915/intel_display.c
>> > @@ -3650,10 +3650,6 @@ static void intel_update_pipe_config(struct intel_crtc *crtc,
>> >  	/* drm_atomic_helper_update_legacy_modeset_state might not be called. */
>> >  	crtc->base.mode = crtc->base.state->mode;
>> >  
>> > -	DRM_DEBUG_KMS("Updating pipe size %ix%i -> %ix%i\n",
>> > -		      old_crtc_state->pipe_src_w, old_crtc_state->pipe_src_h,
>> > -		      pipe_config->pipe_src_w, pipe_config->pipe_src_h);
>> > -
>> >  	/*
>> >  	 * Update pipe size and adjust fitter if needed: the reason for this is
>> >  	 * that in compute_mode_changes we check the native mode (not the pfit
>> > @@ -4775,23 +4771,17 @@ static void skylake_pfit_enable(struct intel_crtc *crtc)
>> >  	struct intel_crtc_scaler_state *scaler_state =
>> >  		&crtc->config->scaler_state;
>> >  
>> > -	DRM_DEBUG_KMS("for crtc_state = %p\n", crtc->config);
>> > -
>> >  	if (crtc->config->pch_pfit.enabled) {
>> >  		int id;
>> >  
>> > -		if (WARN_ON(crtc->config->scaler_state.scaler_id < 0)) {
>> > -			DRM_ERROR("Requesting pfit without getting a scaler first\n");
>> > +		if (WARN_ON(crtc->config->scaler_state.scaler_id < 0))
>> >  			return;
>> > -		}
>> >  
>> >  		id = scaler_state->scaler_id;
>> >  		I915_WRITE(SKL_PS_CTRL(pipe, id), PS_SCALER_EN |
>> >  			PS_FILTER_MEDIUM | scaler_state->scalers[id].mode);
>> >  		I915_WRITE(SKL_PS_WIN_POS(pipe, id), crtc->config->pch_pfit.pos);
>> >  		I915_WRITE(SKL_PS_WIN_SZ(pipe, id), crtc->config->pch_pfit.size);
>> > -
>> > -		DRM_DEBUG_KMS("for crtc_state = %p scaler_id = %d\n", crtc->config, id);
>> >  	}
>> >  }
>> 
>> -- 
>> Jani Nikula, Intel Open Source Technology Center

-- 
Jani Nikula, Intel Open Source Technology Center


More information about the Intel-gfx mailing list