All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Matt Roper <matthew.d.roper@intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 8/8] drm/i915: Consolidate {bxt, cnl, icl}_init_cdclk
Date: Tue, 10 Sep 2019 15:44:29 +0300	[thread overview]
Message-ID: <20190910124429.GN7482@intel.com> (raw)
In-Reply-To: <20190907002143.22591-9-matthew.d.roper@intel.com>

On Fri, Sep 06, 2019 at 05:21:43PM -0700, Matt Roper wrote:
> The BXT and CNL functions were already basically identical, whereas
> ICL's function tried to do its own sanitization rather than calling
> bxt_sanitize_cdclk.
> 
> This should actually fix a bug in our ICL initialization where it would
> consider the /2 CD2X divider invalid and force an unnecessary
> sanitization (we now have valid clock frequencies that use this
> divider).
> 
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Matt Roper <matthew.d.roper@intel.com>

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_cdclk.c | 65 +---------------------
>  1 file changed, 2 insertions(+), 63 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
> index 356495591cf9..0ad83d67932d 100644
> --- a/drivers/gpu/drm/i915/display/intel_cdclk.c
> +++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
> @@ -1719,63 +1719,6 @@ static void bxt_uninit_cdclk(struct drm_i915_private *dev_priv)
>  	bxt_set_cdclk(dev_priv, &cdclk_state, INVALID_PIPE);
>  }
>  
> -static void icl_init_cdclk(struct drm_i915_private *dev_priv)
> -{
> -	struct intel_cdclk_state sanitized_state;
> -	u32 val;
> -
> -	/* This sets dev_priv->cdclk.hw. */
> -	intel_update_cdclk(dev_priv);
> -	intel_dump_cdclk_state(&dev_priv->cdclk.hw, "Current CDCLK");
> -
> -	/* This means CDCLK disabled. */
> -	if (dev_priv->cdclk.hw.cdclk == dev_priv->cdclk.hw.bypass)
> -		goto sanitize;
> -
> -	val = I915_READ(CDCLK_CTL);
> -
> -	if ((val & BXT_CDCLK_CD2X_DIV_SEL_MASK) != 0)
> -		goto sanitize;
> -
> -	if ((val & CDCLK_FREQ_DECIMAL_MASK) !=
> -	    skl_cdclk_decimal(dev_priv->cdclk.hw.cdclk))
> -		goto sanitize;
> -
> -	return;
> -
> -sanitize:
> -	DRM_DEBUG_KMS("Sanitizing cdclk programmed by pre-os\n");
> -
> -	sanitized_state.ref = dev_priv->cdclk.hw.ref;
> -	sanitized_state.cdclk = calc_cdclk(dev_priv, 0);
> -	sanitized_state.vco = calc_cdclk_pll_vco(dev_priv,
> -						 sanitized_state.cdclk);
> -	sanitized_state.voltage_level =
> -		dev_priv->display.calc_voltage_level(sanitized_state.cdclk);
> -
> -	bxt_set_cdclk(dev_priv, &sanitized_state, INVALID_PIPE);
> -}
> -
> -static void cnl_init_cdclk(struct drm_i915_private *dev_priv)
> -{
> -	struct intel_cdclk_state cdclk_state;
> -
> -	bxt_sanitize_cdclk(dev_priv);
> -
> -	if (dev_priv->cdclk.hw.cdclk != 0 &&
> -	    dev_priv->cdclk.hw.vco != 0)
> -		return;
> -
> -	cdclk_state = dev_priv->cdclk.hw;
> -
> -	cdclk_state.cdclk = calc_cdclk(dev_priv, 0);
> -	cdclk_state.vco = calc_cdclk_pll_vco(dev_priv, cdclk_state.cdclk);
> -	cdclk_state.voltage_level =
> -		dev_priv->display.calc_voltage_level(cdclk_state.cdclk);
> -
> -	bxt_set_cdclk(dev_priv, &cdclk_state, INVALID_PIPE);
> -}
> -
>  /**
>   * intel_cdclk_init - Initialize CDCLK
>   * @i915: i915 device
> @@ -1787,14 +1730,10 @@ static void cnl_init_cdclk(struct drm_i915_private *dev_priv)
>   */
>  void intel_cdclk_init(struct drm_i915_private *i915)
>  {
> -	if (INTEL_GEN(i915) >= 11)
> -		icl_init_cdclk(i915);
> -	else if (IS_CANNONLAKE(i915))
> -		cnl_init_cdclk(i915);
> +	if (IS_GEN9_LP(i915) || INTEL_GEN(i915) >= 10)
> +		bxt_init_cdclk(i915);
>  	else if (IS_GEN9_BC(i915))
>  		skl_init_cdclk(i915);
> -	else if (IS_GEN9_LP(i915))
> -		bxt_init_cdclk(i915);
>  }
>  
>  /**
> -- 
> 2.20.1

-- 
Ville Syrjälä
Intel
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2019-09-10 12:44 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-07  0:21 [PATCH 0/8] cdclk consolidation and rework for BXT-TGL Matt Roper
2019-09-07  0:21 ` [PATCH 1/8] drm/i915: Consolidate bxt/cnl/icl cdclk readout Matt Roper
2019-09-10 12:27   ` Ville Syrjälä
2019-09-07  0:21 ` [PATCH 2/8] drm/i915: Use literal representation of cdclk tables Matt Roper
2019-09-08  2:57   ` Matt Roper
2019-09-08  4:05     ` Matt Roper
2019-09-10 12:56       ` Ville Syrjälä
2019-09-07  0:21 ` [PATCH 3/8] drm/i915: Combine bxt_set_cdclk and cnl_set_cdclk Matt Roper
2019-09-10 12:35   ` Ville Syrjälä
2019-09-07  0:21 ` [PATCH 4/8] drm/i915: Kill cnl_sanitize_cdclk() Matt Roper
2019-09-10 12:37   ` Ville Syrjälä
2019-09-07  0:21 ` [PATCH 5/8] drm/i915: Consolidate {bxt, cnl, icl}_uninit_cdclk Matt Roper
2019-09-10 12:39   ` Ville Syrjälä
2019-09-07  0:21 ` [PATCH 6/8] drm/i915: Add calc_voltage_level display vfunc Matt Roper
2019-09-10 12:41   ` Ville Syrjälä
2019-09-07  0:21 ` [PATCH 7/8] drm/i915: Enhance cdclk sanitization Matt Roper
2019-09-10 12:42   ` Ville Syrjälä
2019-09-07  0:21 ` [PATCH 8/8] drm/i915: Consolidate {bxt, cnl, icl}_init_cdclk Matt Roper
2019-09-10 12:44   ` Ville Syrjälä [this message]
2019-09-07  0:43 ` ✗ Fi.CI.CHECKPATCH: warning for cdclk consolidation and rework for BXT-TGL Patchwork
2019-09-07  1:31 ` ✗ Fi.CI.BAT: failure " Patchwork
2019-09-08  3:17 ` ✗ Fi.CI.BUILD: failure for cdclk consolidation and rework for BXT-TGL (rev2) Patchwork
2019-09-08  4:23 ` ✗ Fi.CI.CHECKPATCH: warning for cdclk consolidation and rework for BXT-TGL (rev3) Patchwork
2019-09-08  4:48 ` ✓ Fi.CI.BAT: success " Patchwork
2019-09-08  5:57 ` ✓ Fi.CI.IGT: " Patchwork

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=20190910124429.GN7482@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=matthew.d.roper@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.