From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Damien Lespiau <damien.lespiau@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
Intel Graphics Development <intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH 4/9] drm/i915: fixup g4x pll limits
Date: Wed, 12 Jun 2013 10:38:55 +0300 [thread overview]
Message-ID: <20130612073855.GN5004@intel.com> (raw)
In-Reply-To: <20130611230739.GB11691@strange.amr.corp.intel.com>
On Wed, Jun 12, 2013 at 12:07:39AM +0100, Damien Lespiau wrote:
> On Tue, May 21, 2013 at 09:54:54PM +0200, Daniel Vetter wrote:
> > Again the same confusion that our code expects m1/m2 in register values.
> > This time around with the added fun that many of the existing values
> > have been all off by a bit in different directions. Hence extract a
> > common #define.
> >
> > Note that n limits differ between lvds and other outputs. Strangely they've
> > all been correct already.
> >
> > v2: Rebased on top of the DP pll rework, which makes it even more
> > obvious that we can do this ...
>
> I'm a bit confused by this one:
>
> - I don't seem to find the special LVDS limits for n
Me neither.
> - Those limits are gated by a IS_G4X(). IS_G4X() is true for eaglelake
> and cantiga. The docs single out Cantiga and we seem to need a
> different set of limits for that platform (compared to the rest of
> gen4) platforms?
I've noticed that the docs often mention just CTG leaving out ELK, even
though the stuff it's describing applies to both.
> - The limits for n are 3-6 or 3-5 in this code but I read 3-8 and 5-6
> (cantiga)
I see 3-8 and 4-6.
> - m doesn't seem to match what I have, it seems like it could be the
> cantiga values (except that m is in "formula space" so we don't
> substract 2)
105-140 is what the spec tells me, so a bit off either way.
There's more inconsistency w/ the p/p1 limits too, and the single
channel lvds dotclock limit doesn't agree w/ the spec either.
> - m1 and m2 seem to match what I have for cantiga, are we supposed to
> have those limits for eaglelake as well?
>
> Well, the only conclusion is that I must be reading the wrong docs, or?
>
> >
> > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> > ---
> > drivers/gpu/drm/i915/intel_display.c | 20 ++++++++------------
> > 1 file changed, 8 insertions(+), 12 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> > index ea8eb0c..cb54131 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -136,14 +136,16 @@ static const intel_limit_t intel_limits_i9xx_lvds = {
> > .p2_slow = 14, .p2_fast = 7 },
> > };
> >
> > +#define G4X_DPLL_M_LIMITS \
> > + .m = { .min = 104, .max = 138 },\
> > + .m1 = { .min = 15, .max = 21 },\
> > + .m2 = { .min = 3, .max = 11 },
> >
> > static const intel_limit_t intel_limits_g4x_sdvo = {
> > .dot = { .min = 25000, .max = 270000 },
> > .vco = { .min = 1750000, .max = 3500000},
> > .n = { .min = 1, .max = 4 },
> > - .m = { .min = 104, .max = 138 },
> > - .m1 = { .min = 17, .max = 23 },
> > - .m2 = { .min = 5, .max = 11 },
> > + G4X_DPLL_M_LIMITS
> > .p = { .min = 10, .max = 30 },
> > .p1 = { .min = 1, .max = 3},
> > .p2 = { .dot_limit = 270000,
> > @@ -156,9 +158,7 @@ static const intel_limit_t intel_limits_g4x_hdmi = {
> > .dot = { .min = 22000, .max = 400000 },
> > .vco = { .min = 1750000, .max = 3500000},
> > .n = { .min = 1, .max = 4 },
> > - .m = { .min = 104, .max = 138 },
> > - .m1 = { .min = 16, .max = 23 },
> > - .m2 = { .min = 5, .max = 11 },
> > + G4X_DPLL_M_LIMITS
> > .p = { .min = 5, .max = 80 },
> > .p1 = { .min = 1, .max = 8},
> > .p2 = { .dot_limit = 165000,
> > @@ -169,9 +169,7 @@ static const intel_limit_t intel_limits_g4x_single_channel_lvds = {
> > .dot = { .min = 20000, .max = 115000 },
> > .vco = { .min = 1750000, .max = 3500000 },
> > .n = { .min = 1, .max = 3 },
> > - .m = { .min = 104, .max = 138 },
> > - .m1 = { .min = 17, .max = 23 },
> > - .m2 = { .min = 5, .max = 11 },
> > + G4X_DPLL_M_LIMITS
> > .p = { .min = 28, .max = 112 },
> > .p1 = { .min = 2, .max = 8 },
> > .p2 = { .dot_limit = 0,
> > @@ -183,9 +181,7 @@ static const intel_limit_t intel_limits_g4x_dual_channel_lvds = {
> > .dot = { .min = 80000, .max = 224000 },
> > .vco = { .min = 1750000, .max = 3500000 },
> > .n = { .min = 1, .max = 3 },
> > - .m = { .min = 104, .max = 138 },
> > - .m1 = { .min = 17, .max = 23 },
> > - .m2 = { .min = 5, .max = 11 },
> > + G4X_DPLL_M_LIMITS
> > .p = { .min = 14, .max = 42 },
> > .p1 = { .min = 2, .max = 6 },
> > .p2 = { .dot_limit = 0,
> > --
> > 1.7.11.7
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Ville Syrjälä
Intel OTC
next prev parent reply other threads:[~2013-06-12 7:38 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-21 19:54 [PATCH 0/9] pll limit fixes and a few other things Daniel Vetter
2013-05-21 19:54 ` [PATCH 1/9] drm/i915: split out intel_pnv_find_best_PLL Daniel Vetter
2013-05-21 19:54 ` [PATCH 2/9] drm/i915: move find_pll callback to dev_priv->display Daniel Vetter
2013-05-21 19:54 ` [PATCH 3/9] drm/i915: fixup i8xx pll limits Daniel Vetter
2013-06-11 22:19 ` Damien Lespiau
2013-05-21 19:54 ` [PATCH 4/9] drm/i915: fixup g4x " Daniel Vetter
2013-06-11 23:07 ` Damien Lespiau
2013-06-12 7:38 ` Ville Syrjälä [this message]
2013-06-12 7:39 ` Daniel Vetter
2013-06-12 10:55 ` Damien Lespiau
2013-05-21 19:54 ` [PATCH 5/9] drm/i915: pnv dpll doesn't use m1! Daniel Vetter
2013-06-11 23:38 ` Damien Lespiau
2013-06-12 19:28 ` Daniel Vetter
2013-05-21 19:54 ` [PATCH 6/9] drm/i915: fix ibx/cpt/ppt dpll limits Daniel Vetter
2013-06-12 12:19 ` Damien Lespiau
2013-05-21 19:54 ` [PATCH 7/9] drm/i915: store adjust dotclock in adjustede_mode->clock Daniel Vetter
2013-05-24 17:35 ` Jesse Barnes
2013-05-28 9:54 ` [PATCH] drm/i915: store adjusted " Daniel Vetter
2013-05-31 19:59 ` [PATCH] drm/i915: store adjusted dotclock in adjusted_mode->clock Daniel Vetter
2013-05-31 21:59 ` Paulo Zanoni
2013-05-31 22:10 ` Paulo Zanoni
2013-05-21 19:54 ` [PATCH 8/9] drm/i915: Drop some no longer required mode/adjusted_mode parameters Daniel Vetter
2013-05-26 15:48 ` [PATCH] " Daniel Vetter
2013-06-12 12:59 ` Damien Lespiau
2013-05-21 19:54 ` [PATCH 9/9] drm/i915: check for strange pfit pipe assignemnt on ivb/hsw Daniel Vetter
2013-06-12 13:03 ` Damien Lespiau
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=20130612073855.GN5004@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=damien.lespiau@intel.com \
--cc=daniel.vetter@ffwll.ch \
--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.