All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Chauhan, Madhav" <madhav.chauhan@intel.com>
To: 'Ander Conselvan De Oliveira' <conselvan2@gmail.com>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>
Cc: "Nikula, Jani" <jani.nikula@intel.com>
Subject: Re: [GLK MIPI DSI V4 5/8] drm/i915/glk: Add DSI PLL divider range for glk
Date: Mon, 13 Feb 2017 11:14:01 +0000	[thread overview]
Message-ID: <FDE0F82259988449BC0C053E4EF090C947FD3ADB@BGSMSX104.gar.corp.intel.com> (raw)
In-Reply-To: <1486736666.3273.14.camel@gmail.com>

> -----Original Message-----
> From: Ander Conselvan De Oliveira [mailto:conselvan2@gmail.com]
> Sent: Friday, February 10, 2017 7:54 PM
> To: Chauhan, Madhav <madhav.chauhan@intel.com>; intel-
> gfx@lists.freedesktop.org
> Cc: Nikula, Jani <jani.nikula@intel.com>; Deepak M <m.deepak@intel.com>
> Subject: Re: [Intel-gfx] [GLK MIPI DSI V4 5/8] drm/i915/glk: Add DSI PLL
> divider range for glk
> 
> On Tue, 2017-02-07 at 18:13 +0530, Madhav Chauhan wrote:
> > From: Deepak M <m.deepak@intel.com>
> >
> > PLL divider range for GLK is different than that of BXT, hence adding
> > the GLK range check in this patch.
> >
> > Signed-off-by: Deepak M <m.deepak@intel.com>
> > Signed-off-by: Madhav Chauhan <madhav.chauhan@intel.com>
> > ---
> >  drivers/gpu/drm/i915/i915_reg.h      |  4 ++++
> >  drivers/gpu/drm/i915/intel_dsi_pll.c | 20 ++++++++++++++------
> >  2 files changed, 18 insertions(+), 6 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_reg.h
> > b/drivers/gpu/drm/i915/i915_reg.h index 80ba02a..92071d6 100644
> > --- a/drivers/gpu/drm/i915/i915_reg.h
> > +++ b/drivers/gpu/drm/i915/i915_reg.h
> > @@ -8321,10 +8321,12 @@ enum {
> >  #define  BXT_DSI_PLL_PVD_RATIO_SHIFT	16
> >  #define  BXT_DSI_PLL_PVD_RATIO_MASK	(3 <<
> BXT_DSI_PLL_PVD_RATIO_SHIFT)
> >  #define  BXT_DSI_PLL_PVD_RATIO_1	(1 <<
> BXT_DSI_PLL_PVD_RATIO_SHIFT)
> > +#define  BXT_DSIC_16X_BY1		(0 << 10)
> >  #define  BXT_DSIC_16X_BY2		(1 << 10)
> >  #define  BXT_DSIC_16X_BY3		(2 << 10)
> >  #define  BXT_DSIC_16X_BY4		(3 << 10)
> >  #define  BXT_DSIC_16X_MASK		(3 << 10)
> > +#define  BXT_DSIA_16X_BY1		(0 << 8)
> >  #define  BXT_DSIA_16X_BY2		(1 << 8)
> >  #define  BXT_DSIA_16X_BY3		(2 << 8)
> >  #define  BXT_DSIA_16X_BY4		(3 << 8)
> > @@ -8334,6 +8336,8 @@ enum {
> >
> >  #define BXT_DSI_PLL_RATIO_MAX		0x7D
> >  #define BXT_DSI_PLL_RATIO_MIN		0x22
> > +#define GLK_DSI_PLL_RATIO_MAX		0x6F
> > +#define GLK_DSI_PLL_RATIO_MIN		0x22
> >  #define BXT_DSI_PLL_RATIO_MASK		0xFF
> >  #define BXT_REF_CLOCK_KHZ		19200
> >
> > diff --git a/drivers/gpu/drm/i915/intel_dsi_pll.c
> > b/drivers/gpu/drm/i915/intel_dsi_pll.c
> > index 61440e5..2771c9c 100644
> > --- a/drivers/gpu/drm/i915/intel_dsi_pll.c
> > +++ b/drivers/gpu/drm/i915/intel_dsi_pll.c
> > @@ -430,9 +430,10 @@ static void bxt_dsi_program_clocks(struct
> > drm_device *dev, enum port port,
> >  	I915_WRITE(BXT_MIPI_CLOCK_CTL, tmp);
> >  }
> >
> > -static int bxt_compute_dsi_pll(struct intel_encoder *encoder,
> > +static int gen9lp_compute_dsi_pll(struct intel_encoder *encoder,
> >  			       struct intel_crtc_state *config)
> >  {
> > +	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> >  	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> >  	u8 dsi_ratio;
> >  	u32 dsi_clk;
> > @@ -446,11 +447,18 @@ static int bxt_compute_dsi_pll(struct
> > intel_encoder *encoder,
> >  	 * round 'up' the result
> >  	 */
> >  	dsi_ratio = DIV_ROUND_UP(dsi_clk * 2, BXT_REF_CLOCK_KHZ);
> > -	if (dsi_ratio < BXT_DSI_PLL_RATIO_MIN ||
> > -	    dsi_ratio > BXT_DSI_PLL_RATIO_MAX) {
> > +
> > +	if (IS_BROXTON(dev_priv) && (dsi_ratio < BXT_DSI_PLL_RATIO_MIN
> ||
> > +			dsi_ratio > BXT_DSI_PLL_RATIO_MAX)) {
> >  		DRM_ERROR("Cant get a suitable ratio from DSI PLL
> ratios\n");
> >  		return -ECHRNG;
> > -	}
> > +	} else if (IS_GEMINILAKE(dev_priv) &&
> > +			(dsi_ratio < GLK_DSI_PLL_RATIO_MIN ||
> > +			dsi_ratio > GLK_DSI_PLL_RATIO_MAX)) {
> > +		DRM_ERROR("Cant get a suitable ratio from DSI PLL
> ratios\n");
> > +		return -ECHRNG;
> > +	} else
> > +		DRM_DEBUG_KMS("DSI PLL calculation is Done!!\n");
> 
> 
> u32 ratio_min, ratio_max;
> 
> if (IS_BROXTON()) {
> 	ratio_min = ...
> 	ratio_max = ...
> } else if (IS_GEMINILAKE()) {
> 	ratio_min = ...
> 	ratio_max = ...
> }
> 
> if (dsi_ratio < ratio_min || dsi_ratio > ratio_max) {
> 	...
> 

Thanks Ander for review. Will include these changes in next series.

> 
> Ander
> 
> >
> >  	/*
> >  	 * Program DSI ratio and Select MIPIC and MIPIA PLL output as 8x
> @@
> > -462,7 +470,7 @@ static int bxt_compute_dsi_pll(struct intel_encoder
> > *encoder,
> >  	/* As per recommendation from hardware team,
> >  	 * Prog PVD ratio =1 if dsi ratio <= 50
> >  	 */
> > -	if (dsi_ratio <= 50)
> > +	if (IS_BROXTON(dev_priv) && dsi_ratio <= 50)
> >  		config->dsi_pll.ctrl |= BXT_DSI_PLL_PVD_RATIO_1;
> >
> >  	return 0;
> > @@ -522,7 +530,7 @@ int intel_compute_dsi_pll(struct intel_encoder
> *encoder,
> >  	if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv))
> >  		return vlv_compute_dsi_pll(encoder, config);
> >  	else if (IS_GEN9_LP(dev_priv))
> > -		return bxt_compute_dsi_pll(encoder, config);
> > +		return gen9lp_compute_dsi_pll(encoder, config);
> >
> >  	return -ENODEV;
> >  }
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2017-02-13 11:14 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-07 12:43 [GLK MIPI DSI V4 0/8] GLK MIPI DSI VIDEO MODE PATCHES Madhav Chauhan
2017-02-07 12:43 ` [GLK MIPI DSI V4 1/8] drm/i915/glk: Program dphy param reg for GLK Madhav Chauhan
2017-02-08 14:53   ` Jani Nikula
2017-02-08 17:27     ` Chauhan, Madhav
2017-02-07 12:43 ` [GLK MIPI DSI V4 2/8] drm/i915/glk: Program new MIPI DSI PHY registers " Madhav Chauhan
2017-02-07 12:43 ` [GLK MIPI DSI V4 3/8] drm/i915/glk: Add MIPIIO Enable/disable sequence Madhav Chauhan
2017-02-08 14:58   ` Jani Nikula
2017-02-08 17:51     ` Chauhan, Madhav
2017-02-07 12:43 ` [GLK MIPI DSI V4 4/8] drm/i915: Set the Z inversion overlap field Madhav Chauhan
2017-02-07 12:43 ` [GLK MIPI DSI V4 5/8] drm/i915/glk: Add DSI PLL divider range for glk Madhav Chauhan
2017-02-10 14:24   ` Ander Conselvan De Oliveira
2017-02-13 11:14     ` Chauhan, Madhav [this message]
2017-02-07 12:43 ` [GLK MIPI DSI V4 6/8] drm/i915i/glk: Program MIPI_CLOCK_CTRL only for BXT Madhav Chauhan
2017-02-07 12:43 ` [GLK MIPI DSI V4 7/8] drm/i915/glk: Program txesc clock divider for GLK Madhav Chauhan
2017-02-07 12:43 ` [GLK MIPI DSI V4 8/8] drm/i915/glk: Validate only DSI PORT A PLL divider Madhav Chauhan
2017-02-07 13:24 ` ✗ Fi.CI.BAT: failure for GLK MIPI DSI VIDEO MODE PATCHES (rev4) 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=FDE0F82259988449BC0C053E4EF090C947FD3ADB@BGSMSX104.gar.corp.intel.com \
    --to=madhav.chauhan@intel.com \
    --cc=conselvan2@gmail.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@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.