All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kenneth Graunke <kenneth@whitecape.org>
To: Eugeni Dodonov <eugeni.dodonov@intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 1/3] drm/i915: gen7: implement rczunit workaround
Date: Mon, 06 Feb 2012 15:33:48 -0800	[thread overview]
Message-ID: <4F30635C.9050002@whitecape.org> (raw)
In-Reply-To: <1328482026-28420-2-git-send-email-eugeni.dodonov@intel.com>

On 02/05/2012 02:47 PM, Eugeni Dodonov wrote:
> This is yet another workaround related to clock gating which we need on
> Ivy Bridge.
>
> Signed-off-by: Eugeni Dodonov<eugeni.dodonov@intel.com>
> ---
>   drivers/gpu/drm/i915/i915_reg.h      |    1 +
>   drivers/gpu/drm/i915/intel_display.c |   14 +++++++++++---
>   2 files changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index c3afb78..80fd6b5 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -3618,6 +3618,7 @@
>   #define    GT_FIFO_NUM_RESERVED_ENTRIES		20
>
>   #define GEN6_UCGCTL2				0x9404
> +# define GEN6_RCZUNIT_CLOCK_GATE_DISABLE		(1<<  13)
>   # define GEN6_RCPBUNIT_CLOCK_GATE_DISABLE		(1<<  12)
>   # define GEN6_RCCUNIT_CLOCK_GATE_DISABLE		(1<<  11)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index f1744aa..1defd42 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -8396,6 +8396,7 @@ static void gen6_init_clock_gating(struct drm_device *dev)
>   	struct drm_i915_private *dev_priv = dev->dev_private;
>   	int pipe;
>   	uint32_t dspclk_gate = VRHUNIT_CLOCK_GATE_DISABLE;
> +	u32 gstate;
>
>   	I915_WRITE(PCH_DSPCLK_GATE_D, dspclk_gate);
>
> @@ -8416,10 +8417,17 @@ static void gen6_init_clock_gating(struct drm_device *dev)
>   	 *
>   	 * According to the spec, bit 11 (RCCUNIT) must also be set,
>   	 * but we didn't debug actual testcases to find it out.
> +	 *
> +	 * The bit 13 (RCZUNIT) must also be set, to implement the
> +	 * WaDisableRCZUnitClockGating workaround on Ivy Bridge.
>   	 */
> -	I915_WRITE(GEN6_UCGCTL2,
> -		   GEN6_RCPBUNIT_CLOCK_GATE_DISABLE |
> -		   GEN6_RCCUNIT_CLOCK_GATE_DISABLE);
> +	gstate = GEN6_RCPBUNIT_CLOCK_GATE_DISABLE |
> +		GEN6_RCCUNIT_CLOCK_GATE_DISABLE;
> +
> +	if (IS_IVYBRIDGE(dev))
> +		gstate |= GEN6_RCZUNIT_CLOCK_GATE_DISABLE;
> +
> +	I915_WRITE(GEN6_UCGCTL2, gstate);
>
>   	/*
>   	 * According to the spec the following bits should be

Nack.  gen6_init_clock_gating won't get run on Ivybridge...

  reply	other threads:[~2012-02-06 23:33 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-03 20:22 [PATCH] Ivybridge fixes Eugeni Dodonov
2012-02-03 20:22 ` [PATCH 1/4] drm/i915: gen7: implement rczunit workaround Eugeni Dodonov
2012-02-03 20:22 ` [PATCH 2/4] drm/i915: gen7: add two more IVB workarounds Eugeni Dodonov
2012-02-04  0:45   ` Kenneth Graunke
2012-02-04  0:48   ` Kenneth Graunke
2012-02-03 20:22 ` [PATCH 3/4] drm/i915: gen7: work around a system hang on IVB Eugeni Dodonov
2012-02-04  0:50   ` Kenneth Graunke
2012-02-03 20:22 ` [PATCH 4/4] drm/i915: gen7: another IVB workaround Eugeni Dodonov
2012-02-05 22:47 ` [PATCH 0/3] Ivy Bridge hard-hang fixes Eugeni Dodonov
2012-02-05 22:47   ` [PATCH 1/3] drm/i915: gen7: implement rczunit workaround Eugeni Dodonov
2012-02-06 23:33     ` Kenneth Graunke [this message]
2012-02-05 22:47   ` [PATCH 2/3] drm/i915: gen7: add two more IVB workarounds Eugeni Dodonov
2012-02-06 22:22     ` Kenneth Graunke
2012-02-07 19:48     ` Eric Anholt
2012-02-05 22:47   ` [PATCH 3/3] drm/i915: gen7: work around a system hang on IVB Eugeni Dodonov
2012-02-07 19:46     ` Eric Anholt
2012-02-06 23:25   ` [PATCH 0/3] Ivy Bridge hard-hang fixes Keith Packard
2012-02-07  0:01     ` Eugeni Dodonov

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=4F30635C.9050002@whitecape.org \
    --to=kenneth@whitecape.org \
    --cc=eugeni.dodonov@intel.com \
    --cc=intel-gfx@lists.freedesktop.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.