From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Cc: intel-gfx@lists.freedesktop.org,
Paulo Zanoni <paulo.r.zanoni@intel.com>,
stable@vger.kernel.org
Subject: Re: [Intel-gfx] [PATCH 3/4] drm/i915: implement another plane WM workaround for HSW
Date: Wed, 9 Oct 2013 13:11:01 +0300 [thread overview]
Message-ID: <20131009101101.GC13047@intel.com> (raw)
In-Reply-To: <1381176948-2754-4-git-send-email-rodrigo.vivi@gmail.com>
On Mon, Oct 07, 2013 at 05:15:47PM -0300, Rodrigo Vivi wrote:
> From: Paulo Zanoni <paulo.r.zanoni@intel.com>
>
> In some Haswell machines we're seeing a full system hang while calling
> haswell_crtc_enable. Ville bisected the problem to the following
> commit:
> commit 90a8864320b2a9f91e5b5d561924a4bb70b90dcc
> Author: Paulo Zanoni <paulo.r.zanoni@intel.com>
> Date: Fri May 3 17:23:45 2013 -0300
> drm/i915: set FORCE_ARB_IDLE_PLANES workaround
>
> After some BSpec-digging I discovered that we don't implement one of
> the workarounds mentioned in the description of bit 31 of PRI_CTL,
> SPR_CTL and CUR_CTL. This patch implements the workaround, which makes
> the problem go away on my machine. Also notice that the workaround
> implementation is almost a revert of the commit mentioned above, but
> it still allows LP watermarks to be used.
>
> Thanks to Ville for the help debugging the issue and for doing the
> bisect.
You can drop this patch. It's not needed anymore.
>
> Cc: stable@vger.kernel.org
> Credits-to: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
> ---
> drivers/gpu/drm/i915/intel_display.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index bc47f1e..8069bff 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -3565,6 +3565,7 @@ static void haswell_crtc_enable(struct drm_crtc *crtc)
> struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
> struct intel_encoder *encoder;
> int pipe = intel_crtc->pipe;
> + uint32_t wm_dbg_val;
>
> WARN_ON(!crtc->enabled);
>
> @@ -3597,6 +3598,11 @@ static void haswell_crtc_enable(struct drm_crtc *crtc)
> intel_ddi_set_pipe_settings(crtc);
> intel_ddi_enable_transcoder_func(crtc);
>
> + /* Workaround described in PRI_CTL, CUR_CTL and SPR_CTL bit 31. */
> + wm_dbg_val = I915_READ(WM_DBG);
> + I915_WRITE(WM_DBG, wm_dbg_val | WM_DBG_DISALLOW_MULTIPLE_LP |
> + WM_DBG_DISALLOW_MAXFIFO | WM_DBG_DISALLOW_SPRITE);
> +
> intel_update_watermarks(crtc);
> intel_enable_pipe(dev_priv, pipe,
> intel_crtc->config.has_pch_encoder, false);
> @@ -3623,6 +3629,9 @@ static void haswell_crtc_enable(struct drm_crtc *crtc)
> * happening.
> */
> intel_wait_for_vblank(dev, intel_crtc->pipe);
> +
> + /* Second part of the WM_DBG workaround. */
> + I915_WRITE(WM_DBG, wm_dbg_val);
> }
>
> static void ironlake_pfit_disable(struct intel_crtc *crtc)
> --
> 1.8.1.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Ville Syrjälä
Intel OTC
next prev parent reply other threads:[~2013-10-09 10:11 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-07 20:15 [PATCH 0/4] drm-intel-collector - review request Rodrigo Vivi
2013-10-07 20:15 ` [PATCH 1/4] drm/i915: check that the i965g/gm 4G limit is really obeyed Rodrigo Vivi
2013-10-08 11:06 ` Damien Lespiau
2013-10-08 11:09 ` Daniel Vetter
2013-10-07 20:15 ` [PATCH 2/4] drm/i915: Asynchronously perform the set-base for a simple modeset Rodrigo Vivi
2013-10-17 12:24 ` Rodrigo Vivi
2013-10-07 20:15 ` [PATCH 3/4] drm/i915: implement another plane WM workaround for HSW Rodrigo Vivi
2013-10-09 10:11 ` Ville Syrjälä [this message]
2013-10-07 20:15 ` [PATCH 4/4] drm/i915: Use the real cpu max frequency for ring scaling Rodrigo Vivi
2013-10-08 6:14 ` Daniel Vetter
2013-10-08 4:25 ` [PATCH 0/4] drm-intel-collector - review request Ben Widawsky
2013-10-08 6:07 ` Daniel Vetter
2013-10-08 13:57 ` Paulo Zanoni
2013-10-08 14:37 ` Rodrigo Vivi
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=20131009101101.GC13047@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=paulo.r.zanoni@intel.com \
--cc=rodrigo.vivi@gmail.com \
--cc=stable@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox