public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Jesse Barnes <jbarnes@virtuousgeek.org>
To: Imre Deak <imre.deak@intel.com>, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 42/49] drm/i915/bxt: Assign PLL for pipe
Date: Thu, 19 Mar 2015 13:48:18 -0700	[thread overview]
Message-ID: <550B3612.20704@virtuousgeek.org> (raw)
In-Reply-To: <1426585215-8788-43-git-send-email-imre.deak@intel.com>

On 03/17/2015 02:40 AM, Imre Deak wrote:
> From: Satheeshakrishna M <satheeshakrishna.m@intel.com>
> 
> Assign PLL for pipe (dependent on port attached to the pipe)
> 
> v2:
> - fix incorrect encoder vs. new_encoder check for crtc (imre)
> 
> v3:
> - warn and return error if no encoder is attached (imre)
> 
> Signed-off-by: Satheeshakrishna M <satheeshakrishna.m@intel.com> (v2)
> Signed-off-by: Imre Deak <imre.deak@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_ddi.c     | 21 ------------------
>  drivers/gpu/drm/i915/intel_display.c | 41 ++++++++++++++++++++++++++++++++++++
>  drivers/gpu/drm/i915/intel_drv.h     |  1 +
>  3 files changed, 42 insertions(+), 21 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> index fa4f8f4..0a5d71e 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -491,27 +491,6 @@ intel_ddi_get_crtc_encoder(struct drm_crtc *crtc)
>  	return ret;
>  }
>  
> -static struct intel_encoder *
> -intel_ddi_get_crtc_new_encoder(struct intel_crtc *crtc)
> -{
> -	struct drm_device *dev = crtc->base.dev;
> -	struct intel_encoder *intel_encoder, *ret = NULL;
> -	int num_encoders = 0;
> -
> -	for_each_intel_encoder(dev, intel_encoder) {
> -		if (intel_encoder->new_crtc == crtc) {
> -			ret = intel_encoder;
> -			num_encoders++;
> -		}
> -	}
> -
> -	WARN(num_encoders != 1, "%d encoders on crtc for pipe %c\n", num_encoders,
> -	     pipe_name(crtc->pipe));
> -
> -	BUG_ON(ret == NULL);
> -	return ret;
> -}
> -
>  #define LC_FREQ 2700
>  #define LC_FREQ_2K U64_C(LC_FREQ * 2000)
>  
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 3606366..411bf50 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -4037,6 +4037,27 @@ void intel_put_shared_dpll(struct intel_crtc *crtc)
>  	crtc->config->shared_dpll = DPLL_ID_PRIVATE;
>  }
>  
> +struct intel_encoder *
> +intel_ddi_get_crtc_new_encoder(struct intel_crtc *crtc)
> +{
> +	struct drm_device *dev = crtc->base.dev;
> +	struct intel_encoder *intel_encoder, *ret = NULL;
> +	int num_encoders = 0;
> +
> +	for_each_intel_encoder(dev, intel_encoder) {
> +		if (intel_encoder->new_crtc == crtc) {
> +			ret = intel_encoder;
> +			num_encoders++;
> +		}
> +	}
> +
> +	WARN(num_encoders != 1, "%d encoders on crtc for pipe %c\n", num_encoders,
> +	     pipe_name(crtc->pipe));
> +
> +	BUG_ON(ret == NULL);
> +	return ret;
> +}
> +
>  struct intel_shared_dpll *intel_get_shared_dpll(struct intel_crtc *crtc,
>  						struct intel_crtc_state *crtc_state)
>  {
> @@ -4057,6 +4078,26 @@ struct intel_shared_dpll *intel_get_shared_dpll(struct intel_crtc *crtc,
>  		goto found;
>  	}
>  
> +	if (IS_BROXTON(dev_priv->dev)) {
> +		/* PLL is attached to port in bxt */
> +		struct intel_encoder *encoder;
> +		struct intel_digital_port *intel_dig_port;
> +
> +		encoder = intel_ddi_get_crtc_new_encoder(crtc);
> +		if (WARN_ON(!encoder))
> +			return NULL;
> +
> +		intel_dig_port = enc_to_dig_port(&encoder->base);
> +		/* 1:1 mapping between ports and PLLs */
> +		i = (enum intel_dpll_id)intel_dig_port->port;
> +		pll = &dev_priv->shared_dplls[i];
> +		DRM_DEBUG_KMS("CRTC:%d using pre-allocated %s\n",
> +			crtc->base.base.id, pll->name);
> +		WARN_ON(pll->new_config->crtc_mask);
> +
> +		goto found;
> +	}
> +
>  	for (i = 0; i < dev_priv->num_shared_dpll; i++) {
>  		pll = &dev_priv->shared_dplls[i];
>  
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index 56a5cc9..097fb85 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -991,6 +991,7 @@ void assert_shared_dpll(struct drm_i915_private *dev_priv,
>  			bool state);
>  #define assert_shared_dpll_enabled(d, p) assert_shared_dpll(d, p, true)
>  #define assert_shared_dpll_disabled(d, p) assert_shared_dpll(d, p, false)
> +struct intel_encoder *intel_ddi_get_crtc_new_encoder(struct intel_crtc *crtc);
>  struct intel_shared_dpll *intel_get_shared_dpll(struct intel_crtc *crtc,
>  						struct intel_crtc_state *state);
>  void intel_put_shared_dpll(struct intel_crtc *crtc);
> 

Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2015-03-19 20:49 UTC|newest]

Thread overview: 191+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-17  9:39 [PATCH 00/49] Basic Broxton enabling Imre Deak
2015-03-17  9:39 ` [PATCH 01/49] drm/i915/bxt: Add BXT PCI ids Imre Deak
2015-03-23  9:56   ` Antti Koskipää
2015-03-17  9:39 ` [PATCH 02/49] drm/i915/bxt: BXT FBC enablement Imre Deak
2015-03-17 17:49   ` Rodrigo Vivi
2015-03-25 20:46     ` Imre Deak
2015-03-26 15:35   ` [PATCH 02.1/49] drm/i915: use proper FBC base register on all new platforms Imre Deak
2015-03-30 10:05     ` Antti Koskipää
2015-03-30 10:04   ` [PATCH 02/49] drm/i915/bxt: BXT FBC enablement Antti Koskipää
2015-03-30 10:04   ` Antti Koskipää
2015-03-17  9:39 ` [PATCH 03/49] drm/i915/bxt: Add IS_BROXTON macro Imre Deak
2015-03-23  9:49   ` Sivakumar Thulasimani
2015-03-17  9:39 ` [PATCH 04/49] drm/i915/bxt: Broxton uses the same GMS values as Skylake Imre Deak
2015-03-23 10:23   ` Antti Koskipää
2015-03-17  9:39 ` [PATCH 05/49] drm/i915/bxt: Enable PTE encoding Imre Deak
2015-03-23 10:23   ` Antti Koskipää
2015-03-17  9:39 ` [PATCH 06/49] drm/i915/bxt: Broxton has 3 sprite planes on pipe A/B, 2 on pipe C Imre Deak
2015-03-23 10:29   ` Antti Koskipää
2015-03-31 11:18   ` Daniel Vetter
2015-03-17  9:39 ` [PATCH 07/49] drm/i915/bxt: Add the plane4 related interrupt definitions Imre Deak
2015-03-23 10:28   ` Antti Koskipää
2015-03-17  9:39 ` [PATCH 08/49] drm/i915/bxt: Broxton DDB is 512 blocks Imre Deak
2015-03-23 10:24   ` Antti Koskipää
2015-03-17  9:39 ` [PATCH 09/49] drm/i915/bxt: Broxton raises the maximum number of planes to 4 Imre Deak
2015-03-23 10:24   ` Antti Koskipää
2015-03-17  9:39 ` [PATCH 10/49] drm/i915/bxt: map GTT as uncached Imre Deak
2015-03-17 10:33   ` Daniel Vetter
2015-03-17 12:31     ` Imre Deak
2015-03-17 13:47       ` Daniel Vetter
2015-03-27 11:07   ` [PATCH v2] " Imre Deak
2015-03-30 10:02     ` Antti Koskipää
2015-03-17  9:39 ` [PATCH 11/49] drm/i915/gen9: fix PIPE_CONTROL flush for VS_INVALIDATE Imre Deak
2015-03-17 10:35   ` Daniel Vetter
2015-04-08 12:56   ` Nick Hoath
2015-03-17  9:39 ` [PATCH 12/49] drm/i915/bxt: HardWare WorkAround ring initialisation for Broxton Imre Deak
2015-03-19 16:47   ` Nick Hoath
2015-03-17  9:39 ` [PATCH 13/49] drm/i915/bxt: add bxt_init_clock_gating Imre Deak
2015-03-19 16:50   ` Nick Hoath
2015-03-20 10:17     ` Imre Deak
2015-03-27 12:00   ` [PATCH v2 " Imre Deak
2015-04-08  9:35     ` Nick Hoath
2015-03-17  9:39 ` [PATCH 14/49] drm/i915/bxt: add GEN8_SDEUNIT_CLOCK_GATE_DISABLE workaround Imre Deak
2015-03-17 10:35   ` Daniel Vetter
2015-03-17 13:06     ` Imre Deak
2015-03-20  9:08       ` Nick Hoath
2015-03-20 10:37         ` Imre Deak
2015-03-25 14:53           ` Nick Hoath
2015-03-17  9:39 ` [PATCH 15/49] drm/i915/bxt: add GEN8_HDCUNIT_CLOCK_GATE_DISABLE_HDCREQ workaround Imre Deak
2015-04-08 13:04   ` Nick Hoath
2015-04-08 13:10     ` Imre Deak
2015-04-08 13:38       ` Nick Hoath
2015-04-08 13:45         ` Imre Deak
2015-04-08 14:13         ` Nick Hoath
2015-03-17  9:39 ` [PATCH 16/49] drm/i915/bxt: add WaDisableMaskBasedCammingInRCC workaround Imre Deak
2015-03-20  9:05   ` Nick Hoath
2015-03-20 10:25     ` Imre Deak
2015-03-25 14:52       ` Nick Hoath
2015-03-17  9:39 ` [PATCH 17/49] drm/i915/skl: " Imre Deak
2015-03-20  9:07   ` Nick Hoath
2015-03-20 10:33     ` Imre Deak
2015-04-08 13:40       ` Nick Hoath
2015-03-17  9:39 ` [PATCH 18/49] drm/i915/bxt: add workaround to avoid PTE corruption Imre Deak
2015-03-17 10:36   ` Daniel Vetter
2015-03-17 13:30     ` Imre Deak
2015-04-08 13:11   ` Nick Hoath
2015-03-17  9:39 ` [PATCH 19/49] drm/i915/bxt: don't use unsupported port detection Imre Deak
2015-03-25 16:07   ` Jani Nikula
2015-03-17  9:39 ` [PATCH 20/49] drm/i915/bxt: Add change to support gmbus pin pair for BXT Imre Deak
2015-03-25 16:45   ` Jani Nikula
2015-03-17  9:39 ` [PATCH 21/49] drm/i915/bxt: WARN in case BXT unused gmbus ports are accessed Imre Deak
2015-03-25 16:49   ` Jani Nikula
2015-03-17  9:39 ` [PATCH 22/49] drm/i915/bxt: Avoid registering unused gmbus ports as i2c adapter Imre Deak
2015-03-26 17:14   ` Jani Nikula
2015-03-26 22:24     ` Jani Nikula
2015-03-17  9:39 ` [PATCH 23/49] drm/i915/bxt: Increase DDI buf idle timeout Imre Deak
2015-03-17 10:39   ` Daniel Vetter
2015-03-27 12:19   ` [PATCH v2 " Imre Deak
2015-04-08  9:20     ` Jani Nikula
2015-04-08 12:00       ` Daniel Vetter
2015-03-17  9:39 ` [PATCH 24/49] drm/i915/bxt: DDI Hotplug interrupt setup Imre Deak
2015-03-17 10:48   ` Daniel Vetter
2015-03-17 15:39     ` Imre Deak
2015-03-27 12:54   ` [PATCH v6 " Imre Deak
2015-04-08 10:32     ` Jani Nikula
2015-04-10 12:08     ` [PATCH v7 " Imre Deak
2015-04-13 13:41       ` Jani Nikula
2015-03-17  9:39 ` [PATCH 25/49] drm/i915/bxt: Add DDI hpd handler Imre Deak
2015-03-17 10:52   ` Daniel Vetter
2015-03-17 16:03     ` Imre Deak
2015-03-27 15:22   ` [PATCH 25.1/49] drm/i915/bxt: support for HPD long/short status decoding Imre Deak
2015-04-08 10:58     ` Jani Nikula
2015-04-08 11:18       ` Imre Deak
2015-04-08 11:22         ` Jani Nikula
2015-04-08 10:55   ` [PATCH 25/49] drm/i915/bxt: Add DDI hpd handler Jani Nikula
2015-04-10 12:08   ` [PATCH v2 " Imre Deak
2015-04-13 13:45     ` Jani Nikula
2015-03-17  9:39 ` [PATCH 26/49] drm/i915/bxt: Add BXT support in gen8_irq functions Imre Deak
2015-04-08 11:06   ` Jani Nikula
2015-04-10 12:08   ` [PATCH v2 " Imre Deak
2015-04-13 13:51     ` Jani Nikula
2015-04-13 13:58       ` Imre Deak
2015-04-13 14:48     ` [PATCH v3 " Imre Deak
2015-04-14  7:23       ` Jani Nikula
2015-03-17  9:39 ` [PATCH 27/49] drm/i915/bxt: Enable GMBUS IRQ Imre Deak
2015-04-08 11:11   ` Jani Nikula
2015-04-10 12:08   ` [PATCH v4 " Imre Deak
2015-04-13 13:52     ` Jani Nikula
2015-03-17  9:39 ` [PATCH 28/49] drm/i915/bxt: Define BXT power domains Imre Deak
2015-03-19 17:08   ` Ville Syrjälä
2015-03-17  9:39 ` [PATCH 29/49] drm/i915: Rename vlv_cdclk_freq to cdclk_freq Imre Deak
2015-03-17 10:54   ` Daniel Vetter
2015-03-17 13:20     ` Ville Syrjälä
2015-04-15 19:19   ` Ville Syrjälä
2015-03-17  9:39 ` [PATCH 30/49] drm/i915/bxt: add display initialize/uninitialize sequence Imre Deak
2015-03-19 19:55   ` Ville Syrjälä
2015-03-20 14:10   ` Ville Syrjälä
2015-03-20 17:15     ` Imre Deak
2015-04-02 16:32   ` Ville Syrjälä
2015-04-07 14:07     ` Imre Deak
2015-04-15 13:42   ` [PATCH v4 30/49] drm/i915/bxt: add display initialize/uninitialize sequence (CDCLK) Imre Deak
2015-04-15 14:14     ` Ville Syrjälä
2015-04-15 13:42   ` [PATCH 30.1/49] drm/i915/bxt: add display initialize/uninitialize sequence (PHY) Imre Deak
2015-04-15 14:31     ` Ville Syrjälä
2015-03-17  9:39 ` [PATCH 31/49] drm/i915/bxt: add description about the BXT PHYs Imre Deak
2015-03-19 17:30   ` Ville Syrjälä
2015-04-15 13:42   ` [PATCH v2 " Imre Deak
2015-04-15 13:54     ` Ville Syrjälä
2015-03-17  9:39 ` [PATCH 32/49] drm/i915/bxt: Implement enable/disable for Display C9 state Imre Deak
2015-04-12 10:32   ` sagar.a.kamble
2015-04-13 10:09     ` Imre Deak
2015-04-13 10:25       ` Sagar Arun Kamble
2015-04-16  7:19   ` Daniel Vetter
2015-03-17  9:39 ` [PATCH 33/49] drm/i915/bxt: Add DC9 Trigger sequence Imre Deak
2015-03-30 12:19   ` sagar.a.kamble
2015-04-15 14:13   ` [PATCH v4 " Imre Deak
2015-03-17  9:40 ` [PATCH 34/49] drm/i915/bxt: Restrict PORT_CLK_SEL programming below gen9 Imre Deak
2015-04-15 14:15   ` [PATCH v3 " Imre Deak
2015-04-15 18:55     ` Sagar Arun Kamble
2015-03-17  9:40 ` [PATCH 35/49] drm/i915/bxt: fix panel fitter setup in crtc disable/enable Imre Deak
2015-03-17 13:51   ` Daniel Vetter
2015-03-17 14:22     ` Imre Deak
2015-03-18  8:37       ` Daniel Vetter
2015-03-18 10:31         ` Imre Deak
2015-04-12 10:14   ` sagar.a.kamble
2015-04-12 10:19   ` sagar.a.kamble
2015-04-13  9:21     ` Daniel Vetter
2015-04-12 10:22   ` [PATCH 34/49] drm/i915/bxt: Restrict PORT_CLK_SEL programming below gen9 sagar.a.kamble
2015-04-13 13:21     ` Damien Lespiau
2015-04-13 13:30       ` Imre Deak
2015-04-15 14:18   ` [PATCH v2 35/49] drm/i915/bxt: fix panel fitter setup in crtc disable/enable Imre Deak
2015-03-17  9:40 ` [PATCH 36/49] drm/i915/bxt: Define bxt DDI PLLs and implement enable/disable sequence Imre Deak
2015-03-19 20:27   ` Jesse Barnes
2015-03-19 20:33     ` Imre Deak
2015-03-17  9:40 ` [PATCH 37/49] drm/i915: factor out vlv_PLL_is_optimal Imre Deak
2015-03-19 20:31   ` Jesse Barnes
2015-03-17  9:40 ` [PATCH 38/49] drm/i915: check for div-by-zero in vlv_PLL_is_optimal Imre Deak
2015-03-19 20:31   ` Jesse Barnes
2015-03-20 10:00     ` Daniel Vetter
2015-03-17  9:40 ` [PATCH 39/49] drm/i915/chv: use vlv_PLL_is_optimal in chv_find_best_dpll Imre Deak
2015-03-19 20:34   ` Jesse Barnes
2015-03-19 20:55     ` Imre Deak
2015-03-19 20:56       ` Jesse Barnes
2015-03-20 10:02     ` Daniel Vetter
2015-03-17  9:40 ` [PATCH 40/49] drm/i915/bxt: add bxt_find_best_dpll Imre Deak
2015-03-19 20:39   ` Jesse Barnes
2015-03-17  9:40 ` [PATCH 41/49] drm/i915/bxt: BXT clock divider calculation Imre Deak
2015-03-19 20:46   ` Jesse Barnes
2015-03-17  9:40 ` [PATCH 42/49] drm/i915/bxt: Assign PLL for pipe Imre Deak
2015-03-19 20:48   ` Jesse Barnes [this message]
2015-04-16  9:32   ` Daniel Vetter
2015-03-17  9:40 ` [PATCH 43/49] drm/i915/bxt: Determine PLL attached to pipe Imre Deak
2015-03-19 20:48   ` Jesse Barnes
2015-03-17  9:40 ` [PATCH 44/49] drm/i915/bxt: Determine programmed frequency Imre Deak
2015-03-19 20:51   ` Jesse Barnes
2015-03-17  9:40 ` [PATCH 45/49] drm/i915: suppress false PLL state warnings on non-GMCH platforms Imre Deak
2015-03-19 20:53   ` Jesse Barnes
2015-03-19 20:57     ` Imre Deak
2015-03-19 21:19       ` Jesse Barnes
2015-03-17  9:40 ` [PATCH 46/49] drm/i915: Iterate through the initialized DDIs to prepare their buffers Imre Deak
2015-03-23 10:51   ` Sivakumar Thulasimani
2015-03-25 15:04     ` Damien Lespiau
2015-04-24 12:47   ` Ander Conselvan De Oliveira
2015-04-24 15:22     ` Imre Deak
2015-03-17  9:40 ` [PATCH 47/49] drm/i915: Don't write the HDMI buffer translation entry when not needed Imre Deak
2015-03-23 10:57   ` Sivakumar Thulasimani
2015-03-17  9:40 ` [PATCH 48/49] drm/i915/bxt: VSwing programming sequence Imre Deak
2015-03-24  9:19   ` Sivakumar Thulasimani
2015-04-09 17:14     ` Imre Deak
2015-03-17  9:40 ` [PATCH 49/49] drm/i915/bxt: Update max level of vswing Imre Deak
2015-03-17 18:22   ` shuang.he
2015-03-24 10:26   ` Sivakumar Thulasimani

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=550B3612.20704@virtuousgeek.org \
    --to=jbarnes@virtuousgeek.org \
    --cc=imre.deak@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox