From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Oscar Mateo <oscar.mateo@intel.com>
Cc: intel-gfx@lists.freedesktop.org, Rodrigo Vivi <rodrigo.vivi@intel.com>
Subject: Re: [PATCH v3 11/22] drm/i915/cnl: Move GT and Display workarounds from init_clock_gating
Date: Wed, 18 Oct 2017 15:44:57 +0300 [thread overview]
Message-ID: <20171018124457.GH10981@intel.com> (raw)
In-Reply-To: <1507928056-6966-12-git-send-email-oscar.mateo@intel.com>
On Fri, Oct 13, 2017 at 01:54:05PM -0700, Oscar Mateo wrote:
> To their rightful place inside intel_workarounds.c
>
> Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/i915/intel_pm.c | 32 +-------------------------------
> drivers/gpu/drm/i915/intel_workarounds.c | 26 +++++++++++++++++++++++++-
> 2 files changed, 26 insertions(+), 32 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index e4b3904..3f92bed1 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -8509,36 +8509,6 @@ static void cnp_init_clock_gating(struct drm_i915_private *dev_priv)
> CNP_PWM_CGE_GATING_DISABLE);
> }
>
> -static void cnl_init_clock_gating(struct drm_i915_private *dev_priv)
> -{
> - u32 val;
> - cnp_init_clock_gating(dev_priv);
> -
> - /* This is not an Wa. Enable for better image quality */
> - I915_WRITE(_3D_CHICKEN3,
> - _MASKED_BIT_ENABLE(_3D_CHICKEN3_AA_LINE_QUALITY_FIX_ENABLE));
> -
> - /* WaEnableChickenDCPR:cnl */
> - I915_WRITE(GEN8_CHICKEN_DCPR_1,
> - I915_READ(GEN8_CHICKEN_DCPR_1) | MASK_WAKEMEM);
> -
> - /* WaFbcWakeMemOn:cnl */
> - I915_WRITE(DISP_ARB_CTL, I915_READ(DISP_ARB_CTL) |
> - DISP_FBC_MEMORY_WAKE);
> -
> - /* WaSarbUnitClockGatingDisable:cnl (pre-prod) */
> - if (IS_CNL_REVID(dev_priv, CNL_REVID_A0, CNL_REVID_B0))
> - I915_WRITE(SLICE_UNIT_LEVEL_CLKGATE,
> - I915_READ(SLICE_UNIT_LEVEL_CLKGATE) |
> - SARBUNIT_CLKGATE_DIS);
> -
> - /* Display WA #1133: WaFbcSkipSegments:cnl */
> - val = I915_READ(ILK_DPFC_CHICKEN);
> - val &= ~GLK_SKIP_SEG_COUNT_MASK;
> - val |= GLK_SKIP_SEG_EN | GLK_SKIP_SEG_COUNT(1);
> - I915_WRITE(ILK_DPFC_CHICKEN, val);
> -}
> -
> static void cfl_init_clock_gating(struct drm_i915_private *dev_priv)
> {
> cnp_init_clock_gating(dev_priv);
> @@ -9030,7 +9000,7 @@ static void nop_init_clock_gating(struct drm_i915_private *dev_priv)
> void intel_init_clock_gating_hooks(struct drm_i915_private *dev_priv)
> {
> if (IS_CANNONLAKE(dev_priv))
> - dev_priv->display.init_clock_gating = cnl_init_clock_gating;
> + dev_priv->display.init_clock_gating = nop_init_clock_gating;
> else if (IS_COFFEELAKE(dev_priv))
> dev_priv->display.init_clock_gating = cfl_init_clock_gating;
> else if (IS_SKYLAKE(dev_priv))
> diff --git a/drivers/gpu/drm/i915/intel_workarounds.c b/drivers/gpu/drm/i915/intel_workarounds.c
> index aea9391..222f45c 100644
> --- a/drivers/gpu/drm/i915/intel_workarounds.c
> +++ b/drivers/gpu/drm/i915/intel_workarounds.c
> @@ -724,6 +724,10 @@ static int cfl_gt_workarounds_init(struct drm_i915_private *dev_priv)
>
> static int cnl_gt_workarounds_init(struct drm_i915_private *dev_priv)
> {
> + /* This is not an Wa. Enable for better image quality */
> + GT_WA_SET_BIT_MASKED(_3D_CHICKEN3,
> + _3D_CHICKEN3_AA_LINE_QUALITY_FIX_ENABLE);
> +
> /* WaDisableI2mCycleOnWRPort:cnl (pre-prod) */
> if (IS_CNL_REVID(dev_priv, CNL_REVID_B0, CNL_REVID_B0))
> GT_WA_SET_BIT(GAMT_CHKN_BIT_REG,
> @@ -856,6 +860,27 @@ static int cfl_display_workarounds_init(struct drm_i915_private *dev_priv)
>
> static int cnl_display_workarounds_init(struct drm_i915_private *dev_priv)
> {
> + if (HAS_PCH_CNP(dev_priv)) {
> + /* Wa #1181 */
> + DISPLAY_WA_SET_BIT(SOUTH_DSPCLK_GATE_D,
> + CNP_PWM_CGE_GATING_DISABLE);
> + }
Where did this come from?
> +
> + /* WaEnableChickenDCPR:cnl */
> + DISPLAY_WA_SET_BIT(GEN8_CHICKEN_DCPR_1, MASK_WAKEMEM);
> +
> + /* WaFbcWakeMemOn:cnl */
> + DISPLAY_WA_SET_BIT(DISP_ARB_CTL, DISP_FBC_MEMORY_WAKE);
> +
> + /* WaSarbUnitClockGatingDisable:cnl (pre-prod) */
> + if (IS_CNL_REVID(dev_priv, CNL_REVID_A0, CNL_REVID_B0))
> + DISPLAY_WA_SET_BIT(SLICE_UNIT_LEVEL_CLKGATE,
> + SARBUNIT_CLKGATE_DIS);
That doesn't look like display to me.
> +
> + /* Display WA #1133: WaFbcSkipSegments:cnl */
> + DISPLAY_WA_SET_FIELD(ILK_DPFC_CHICKEN, GLK_SKIP_SEG_COUNT_MASK,
> + GLK_SKIP_SEG_EN | GLK_SKIP_SEG_COUNT(1));
> +
> return 0;
> }
>
> @@ -863,7 +888,6 @@ static int display_workarounds_init(struct drm_i915_private *dev_priv)
> {
> int err;
>
> - DISPLAY_WA_SET_BIT(_MMIO(0), 0); /* shut up gcc temporarily */
> dev_priv->workarounds.display_wa_count = 0;
>
> if (INTEL_GEN(dev_priv) < 8)
> --
> 1.9.1
--
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2017-10-18 12:45 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-13 20:53 [PATCH v3 00/22] Refactor HW workaround code Oscar Mateo
2017-10-13 20:53 ` [PATCH v3 01/22] drm/i915: Use a mask when applying WaProgramL3SqcReg1Default Oscar Mateo
2017-10-13 21:28 ` Chris Wilson
2017-10-14 0:26 ` Michel Thierry
2017-10-13 20:53 ` [PATCH v3 02/22] drm/i915: No need for RING_MAX_NONPRIV_SLOTS space Oscar Mateo
2017-10-13 20:53 ` [PATCH v3 03/22] drm/i915: Move a bunch of workaround-related code to its own file Oscar Mateo
2017-10-13 20:53 ` [PATCH v3 04/22] drm/i915: Split out functions for different kinds of workarounds Oscar Mateo
2017-10-13 20:53 ` [PATCH v3 05/22] drm/i915: Rename saved workarounds to make it explicit that they are context WAs Oscar Mateo
2017-10-13 20:54 ` [PATCH v3 06/22] drm/i915: Save all GT WAs and apply them at a later time Oscar Mateo
2017-10-17 12:37 ` Chris Wilson
2017-10-13 20:54 ` [PATCH v3 07/22] drm/i915: Save all Whitelist " Oscar Mateo
2017-10-17 12:38 ` Chris Wilson
2017-10-13 20:54 ` [PATCH v3 08/22] drm/i915: Create a new category of display WAs Oscar Mateo
2017-10-17 12:42 ` Chris Wilson
2017-10-13 20:54 ` [PATCH v3 09/22] drm/i915: Print all workaround types correctly in debugfs Oscar Mateo
2017-10-17 12:45 ` Chris Wilson
2017-10-13 20:54 ` [PATCH v3 10/22] drm/i915: Move WA BB stuff to the workarounds file as well Oscar Mateo
2017-10-17 12:49 ` Chris Wilson
2017-10-13 20:54 ` [PATCH v3 11/22] drm/i915/cnl: Move GT and Display workarounds from init_clock_gating Oscar Mateo
2017-10-17 12:52 ` Chris Wilson
2017-10-17 21:22 ` Oscar Mateo
2017-10-18 12:44 ` Ville Syrjälä [this message]
2017-10-30 20:05 ` Oscar Mateo
2017-10-13 20:54 ` [PATCH v3 12/22] drm/i915/gen9: " Oscar Mateo
2017-10-17 12:53 ` Chris Wilson
2017-10-13 20:54 ` [PATCH v3 13/22] drm/i915/gen9: Remove Gen9 WAs with no effect Oscar Mateo
2017-10-13 20:54 ` [PATCH v3 14/22] drm/i915/cfl: Move GT and Display workarounds from init_clock_gating Oscar Mateo
2017-10-17 12:54 ` Chris Wilson
2017-10-13 20:54 ` [PATCH v3 15/22] drm/i915/glk: " Oscar Mateo
2017-10-17 12:57 ` Chris Wilson
2017-10-13 20:54 ` [PATCH v3 16/22] drm/i915/kbl: " Oscar Mateo
2017-10-17 12:58 ` Chris Wilson
2017-10-13 20:54 ` [PATCH v3 17/22] drm/i915/bxt: " Oscar Mateo
2017-10-17 12:58 ` Chris Wilson
2017-10-13 20:54 ` [PATCH v3 18/22] drm/i915/skl: " Oscar Mateo
2017-10-17 12:59 ` Chris Wilson
2017-10-13 20:54 ` [PATCH v3 19/22] drm/i915/chv: " Oscar Mateo
2017-10-17 13:02 ` Chris Wilson
2017-10-13 20:54 ` [PATCH v3 20/22] drm/i915/bdw: " Oscar Mateo
2017-10-17 13:03 ` Chris Wilson
2017-10-30 20:08 ` Oscar Mateo
2017-10-13 20:54 ` [PATCH v3 21/22] drm/i915: Move WaProgramL3SqcReg1Default to the workarounds file Oscar Mateo
2017-10-17 13:05 ` Chris Wilson
2017-10-13 20:54 ` [PATCH v3 22/22] drm/i915: Document the i915_workarounds file Oscar Mateo
2017-10-13 21:48 ` ✗ Fi.CI.BAT: failure for Refactor HW workaround code (rev3) Patchwork
2017-10-17 13:06 ` [PATCH v3 00/22] Refactor HW workaround code Chris Wilson
2017-10-30 20:07 ` Oscar Mateo
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=20171018124457.GH10981@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=oscar.mateo@intel.com \
--cc=rodrigo.vivi@intel.com \
/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.