From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f51.google.com ([209.85.220.51]:34158 "EHLO mail-pa0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750709AbbKYJdU (ORCPT ); Wed, 25 Nov 2015 04:33:20 -0500 Received: by padhx2 with SMTP id hx2so52314673pad.1 for ; Wed, 25 Nov 2015 01:33:19 -0800 (PST) Message-ID: <1448443993.2907.11.camel@gmail.com> Subject: Re: [Intel-gfx] [PATCH 03/12] drm/i915/skl: Update watermarks before the crtc is disabled. From: Ander Conselvan De Oliveira To: Maarten Lankhorst , intel-gfx@lists.freedesktop.org Cc: stable@vger.kernel.org Date: Wed, 25 Nov 2015 11:33:13 +0200 In-Reply-To: <1447945645-32005-4-git-send-email-maarten.lankhorst@linux.intel.com> References: <1447945645-32005-1-git-send-email-maarten.lankhorst@linux.intel.com> <1447945645-32005-4-git-send-email-maarten.lankhorst@linux.intel.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: stable-owner@vger.kernel.org List-ID: On Thu, 2015-11-19 at 16:07 +0100, Maarten Lankhorst wrote: > On skylake some of the registers are only writable when the correct > power wells are enabled. Because of this watermarks have to be updated > before the crtc turns off, or you get unclaimed register read and write > warnings. > > This patch needs to be modified slightly to apply to -fixes. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92181 > Signed-off-by: Maarten Lankhorst > Cc: stable@vger.kernel.org > Cc: Matt Roper Reviewed-by: Ander Conselvan de Oliveira > --- > drivers/gpu/drm/i915/intel_display.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c > b/drivers/gpu/drm/i915/intel_display.c > index db4995406277..5345ffcce51e 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -4753,7 +4753,7 @@ static void intel_post_plane_update(struct intel_crtc > *crtc) > > crtc->wm.cxsr_allowed = true; > > - if (pipe_config->wm_changed) > + if (pipe_config->wm_changed && pipe_config->base.active) > intel_update_watermarks(&crtc->base); > > if (atomic->update_fbc) > @@ -13362,6 +13362,9 @@ static int intel_atomic_commit(struct drm_device *dev, > dev_priv->display.crtc_disable(crtc); > intel_crtc->active = false; > intel_disable_shared_dpll(intel_crtc); > + > + if (!crtc->state->active) > + intel_update_watermarks(crtc); > } > } >