All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rodrigo Vivi <rodrigo.vivi@gmail.com>
To: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 11/15] drm/i915/glk: Update Port PLL enable sequence for Geminilkae
Date: Thu, 1 Dec 2016 16:44:46 -0800	[thread overview]
Message-ID: <20161202004446.GE9417@rdvivi-vienna> (raw)
In-Reply-To: <1478791400-21756-12-git-send-email-ander.conselvan.de.oliveira@intel.com>



Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

On Thu, Nov 10, 2016 at 05:23:16PM +0200, Ander Conselvan de Oliveira wrote:
> From: Madhav Chauhan <madhav.chauhan@intel.com>
> 
> Add steps for enabling and disabling Port PLL as per bspec.
> 
> Signed-off-by: Madhav Chauhan <madhav.chauhan@intel.com>
> Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_reg.h       |  2 ++
>  drivers/gpu/drm/i915/intel_dpll_mgr.c | 20 ++++++++++++++++++++
>  2 files changed, 22 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 88f9f2b..98e24a7 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -1238,6 +1238,8 @@ enum skl_disp_power_wells {
>  #define   PORT_PLL_ENABLE		(1 << 31)
>  #define   PORT_PLL_LOCK			(1 << 30)
>  #define   PORT_PLL_REF_SEL		(1 << 27)
> +#define   PORT_PLL_POWER_ENABLE		(1 << 26)
> +#define   PORT_PLL_POWER_STATE		(1 << 25)
>  #define BXT_PORT_PLL_ENABLE(port)	_MMIO_PORT(port, _PORT_PLL_A, _PORT_PLL_B)
>  
>  #define _PORT_PLL_EBB_0_A		0x162034
> diff --git a/drivers/gpu/drm/i915/intel_dpll_mgr.c b/drivers/gpu/drm/i915/intel_dpll_mgr.c
> index 24a28b2..35f5f1a 100644
> --- a/drivers/gpu/drm/i915/intel_dpll_mgr.c
> +++ b/drivers/gpu/drm/i915/intel_dpll_mgr.c
> @@ -1381,6 +1381,16 @@ static void bxt_ddi_pll_enable(struct drm_i915_private *dev_priv,
>  	temp |= PORT_PLL_REF_SEL;
>  	I915_WRITE(BXT_PORT_PLL_ENABLE(port), temp);
>  
> +	if (IS_GEMINILAKE(dev_priv)) {
> +		temp = I915_READ(BXT_PORT_PLL_ENABLE(port));
> +		temp |= PORT_PLL_POWER_ENABLE;
> +		I915_WRITE(BXT_PORT_PLL_ENABLE(port), temp);
> +
> +		if (wait_for_us((I915_READ(BXT_PORT_PLL_ENABLE(port)) &
> +				 PORT_PLL_POWER_STATE), 200))
> +			DRM_ERROR("Power state not set for PLL:%d\n", port);
> +	}
> +
>  	/* Disable 10 bit clock */
>  	temp = I915_READ(BXT_PORT_PLL_EBB_4(phy, ch));
>  	temp &= ~PORT_PLL_10BIT_CLK_ENABLE;
> @@ -1486,6 +1496,16 @@ static void bxt_ddi_pll_disable(struct drm_i915_private *dev_priv,
>  	temp &= ~PORT_PLL_ENABLE;
>  	I915_WRITE(BXT_PORT_PLL_ENABLE(port), temp);
>  	POSTING_READ(BXT_PORT_PLL_ENABLE(port));
> +
> +	if (IS_GEMINILAKE(dev_priv)) {
> +		temp = I915_READ(BXT_PORT_PLL_ENABLE(port));
> +		temp &= ~PORT_PLL_POWER_ENABLE;
> +		I915_WRITE(BXT_PORT_PLL_ENABLE(port), temp);
> +
> +		if (wait_for_us(!(I915_READ(BXT_PORT_PLL_ENABLE(port)) &
> +				PORT_PLL_POWER_STATE), 200))
> +			DRM_ERROR("Power state not reset for PLL:%d\n", port);
> +	}
>  }
>  
>  static bool bxt_ddi_pll_get_hw_state(struct drm_i915_private *dev_priv,
> -- 
> 2.5.5
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2016-12-02  0:45 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-10 15:23 [PATCH 00/15] Geminilake enabling Ander Conselvan de Oliveira
2016-11-10 15:23 ` [PATCH 01/15] drm/i915: Create a common GEN9_LP_FEATURE Ander Conselvan de Oliveira
2016-11-14 14:19   ` [PATCH v2] " Ander Conselvan de Oliveira
2016-11-30 14:00     ` Imre Deak
2016-12-01  9:33       ` [PATCH v3] " Ander Conselvan de Oliveira
2016-11-10 15:23 ` [PATCH 02/15] drm/i915/glk: Introduce Geminilake platform definition Ander Conselvan de Oliveira
2016-11-10 16:40   ` Jani Nikula
2016-11-10 17:03     ` Rodrigo Vivi
2016-11-11 13:34       ` Ander Conselvan De Oliveira
2016-11-10 23:18   ` Matt Roper
2016-11-14 14:24     ` [PATCH v2 01/13] drm/i915/glk: Add Geminilake PCI IDs Ander Conselvan de Oliveira
2016-11-14 14:29       ` Ander Conselvan De Oliveira
2016-11-14 14:25     ` [PATCH v3] drm/i915/glk: Introduce Geminilake platform definition Ander Conselvan de Oliveira
2016-11-10 15:23 ` [PATCH 03/15] drm/i915/glk: Add Geminilake PCI IDs Ander Conselvan de Oliveira
2016-11-10 17:03   ` Rodrigo Vivi
2016-11-10 15:23 ` [PATCH 04/15] drm/i915/glk: Add a IS_GEN9_LP() macro Ander Conselvan de Oliveira
2016-11-10 15:23 ` [PATCH 05/15] drm/i915/glk: Reuse broxton code for geminilake Ander Conselvan de Oliveira
2016-11-10 17:08   ` Rodrigo Vivi
2016-11-11 13:52     ` [PATCH v2] " Ander Conselvan de Oliveira
2016-11-11 15:26       ` kbuild test robot
2016-11-29 15:47       ` [PATCH v3] " Ander Conselvan de Oliveira
2016-12-02  1:06         ` Rodrigo Vivi
2016-12-02  8:27           ` Ander Conselvan De Oliveira
2016-12-02 18:46             ` Vivi, Rodrigo
2016-11-10 15:23 ` [PATCH 06/15] drm/i915/glk: Force DDI initialization Ander Conselvan de Oliveira
2016-12-02  0:52   ` Rodrigo Vivi
2016-12-02  8:16     ` Ander Conselvan De Oliveira
2016-11-10 15:23 ` [PATCH 07/15] drm/i915/glk: Set DDI PHY lane lane optimization for Geminilake too Ander Conselvan de Oliveira
2016-12-02  0:50   ` Rodrigo Vivi
2016-11-10 15:23 ` [PATCH 08/15] drm/i915/glk: Add power wells for Geminilake Ander Conselvan de Oliveira
2016-12-02  0:48   ` Rodrigo Vivi
2016-11-10 15:23 ` [PATCH 09/15] drm/i915/glk: Implement Geminilake DDI init sequence Ander Conselvan de Oliveira
2016-11-11  1:27   ` Rodrigo Vivi
2016-11-10 15:23 ` [PATCH 10/15] drm/i915/glk: Set DCC delay range 2 in PLL enable sequence Ander Conselvan de Oliveira
2016-11-29 15:48   ` [PATCH v2] " Ander Conselvan de Oliveira
2016-11-29 16:58     ` Vivi, Rodrigo
2016-11-10 15:23 ` [PATCH 11/15] drm/i915/glk: Update Port PLL enable sequence for Geminilkae Ander Conselvan de Oliveira
2016-12-02  0:44   ` Rodrigo Vivi [this message]
2016-11-10 15:23 ` [PATCH 12/15] drm/i915/glk: Reuse broxton's cdclk code for GLK Ander Conselvan de Oliveira
2016-12-02  0:43   ` Rodrigo Vivi
2016-11-10 15:23 ` [PATCH 13/15] drm/i915/glk: Allow dotclock up to 2 * cdclk on geminilake Ander Conselvan de Oliveira
2016-12-01 23:59   ` Rodrigo Vivi
2016-11-10 15:23 ` [PATCH 14/15] drm/i915/glk: Implement core display init/uninit sequence for geminilake Ander Conselvan de Oliveira
2016-12-01 23:58   ` Rodrigo Vivi
2016-11-10 15:23 ` [PATCH 15/15] drm/i915/glk: Configure number of sprite planes properly Ander Conselvan de Oliveira
2016-12-01 23:57   ` Rodrigo Vivi
2016-11-10 16:17 ` ✓ Fi.CI.BAT: success for Geminilake enabling Patchwork
2016-11-11 14:45 ` ✓ Fi.CI.BAT: success for Geminilake enabling (rev2) Patchwork
2016-11-14 14:47 ` ✓ Fi.CI.BAT: success for Geminilake enabling (rev5) Patchwork
2016-11-14 16:16 ` Patchwork
2016-12-01 11:15 ` ✓ Fi.CI.BAT: success for Geminilake enabling (rev8) Patchwork
2016-12-01 11:43   ` Ander Conselvan De Oliveira

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=20161202004446.GE9417@rdvivi-vienna \
    --to=rodrigo.vivi@gmail.com \
    --cc=ander.conselvan.de.oliveira@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.