| From c831c62e815e56ca3e2e052d4d422f3a4d685b91 Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com> |
| Date: Tue, 7 Mar 2017 22:54:19 +0200 |
| Subject: [PATCH] drm/i915: Nuke debug messages from the pipe update critical |
| section |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| commit edd06b8353772dca7afcd4640dafa83b521edd55 upstream. |
| |
| 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: stable@vger.kernel.org |
| Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> |
| Fixes: bfd16b2a23dc ("drm/i915: Make updating pipe without modeset atomic.") |
| Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> |
| Link: http://patchwork.freedesktop.org/patch/msgid/20170307205419.19447-1-ville.syrjala@linux.intel.com |
| Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> |
| (cherry picked from commit c3f8ad57a01a31397e5a0349a226a32f35ddc19c) |
| Signed-off-by: Jani Nikula <jani.nikula@intel.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c |
| index 9ecd8df5e68a..fcdadc43a560 100644 |
| --- a/drivers/gpu/drm/i915/intel_display.c |
| +++ b/drivers/gpu/drm/i915/intel_display.c |
| @@ -3290,10 +3290,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 |
| @@ -4426,23 +4422,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); |
| } |
| } |
| |
| -- |
| 2.12.0 |
| |