From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 6/7] drm/i915/cnl: Write dco_fraction calculation as spec.
Date: Tue, 14 Nov 2017 22:46:38 +0200 [thread overview]
Message-ID: <20171114204638.GS10981@intel.com> (raw)
In-Reply-To: <20171114202227.GO10981@intel.com>
On Tue, Nov 14, 2017 at 10:22:27PM +0200, Ville Syrjälä wrote:
> On Tue, Nov 14, 2017 at 11:47:58AM -0800, Rodrigo Vivi wrote:
> > I confess I never fully understood that previous calculation,
> > so maybe this is cannot be called a "fix". But let's follow
> > the math that is written on Spec so we have get more confident
> > this is what hardware expect.
> >
> > Cc: Mika Kahola <mika.kahola@intel.com>
> > Cc: Manasi Navare <manasi.d.navare@intel.com>
> > Cc: James Ausmus <james.ausmus@intel.com>
> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > ---
> > drivers/gpu/drm/i915/intel_dpll_mgr.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_dpll_mgr.c b/drivers/gpu/drm/i915/intel_dpll_mgr.c
> > index bd608f7f2399..ee690d2f6e54 100644
> > --- a/drivers/gpu/drm/i915/intel_dpll_mgr.c
> > +++ b/drivers/gpu/drm/i915/intel_dpll_mgr.c
> > @@ -2190,8 +2190,8 @@ static void cnl_wrpll_params_populate(struct skl_wrpll_params *params,
> > params->qdiv_mode = (qdiv == 1) ? 0 : 1;
> >
> > params->dco_integer = div_u64(dco_freq, ref_freq);
> > - params->dco_fraction = div_u64((div_u64((uint64_t)dco_freq<<15, (uint64_t)ref_freq) -
> > - ((uint64_t)params->dco_integer<<15)) * 0x8000, 0x8000);
> > + params->dco_fraction = (DIV_ROUND_UP_ULL(dco_freq, ref_freq) -
> > + params->dco_integer) * (1 << 15);
>
> Is dco_freq in khz here? Or hz?
>
> If khz, the following should work... I think:
>
> unsigned int dco = div_u64((u64)dco_freq << 15, ref_freq * 1000);
Actually w/o the *1000 I suppose, for khz.
> dco_int = dco >> 15;
> dco_frac = dco & 0x7fff;
>
> > }
> >
> > static bool
> > --
> > 2.13.6
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> --
> Ville Syrjälä
> Intel OTC
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2017-11-14 20:46 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-14 19:47 [PATCH 0/7] WRPLL fixes for HDMI 2.0 on Cannonlake Rodrigo Vivi
2017-11-14 19:47 ` [PATCH 1/7] drm/i915/cnl: Remove spurious central_freq Rodrigo Vivi
2017-11-14 20:40 ` Manasi Navare
2017-11-14 19:47 ` [PATCH 2/7] drm/i915/cnl: Remove useless conversion Rodrigo Vivi
2017-11-14 20:56 ` Manasi Navare
2017-11-15 12:52 ` Jani Nikula
2017-11-14 19:47 ` [PATCH 3/7] drm/i915/cnl: Fix, simplify and unify wrpll variable sizes Rodrigo Vivi
2017-11-14 21:09 ` Manasi Navare
2017-11-14 19:47 ` [PATCH 4/7] drm/i915/cnl: Fix wrpll math for higher freqs Rodrigo Vivi
2017-11-14 20:00 ` Ville Syrjälä
2017-11-14 20:09 ` Rodrigo Vivi
2017-11-14 20:26 ` Ville Syrjälä
2017-11-14 23:42 ` [PATCH] " Rodrigo Vivi
2017-11-16 12:47 ` Ville Syrjälä
2017-11-15 8:06 ` [PATCH 4/7] " Mika Kahola
2017-11-15 18:04 ` Rodrigo Vivi
2017-11-16 10:52 ` Mika Kahola
2017-11-14 19:47 ` [PATCH 5/7] drm/i915/cnl: Don't blindly replace qdiv Rodrigo Vivi
2017-11-14 23:34 ` Manasi Navare
2017-11-14 19:47 ` [PATCH 6/7] drm/i915/cnl: Write dco_fraction calculation as spec Rodrigo Vivi
2017-11-14 20:22 ` Ville Syrjälä
2017-11-14 20:43 ` Rodrigo Vivi
2017-11-14 20:46 ` Ville Syrjälä [this message]
2017-11-14 21:29 ` Rodrigo Vivi
2017-11-14 23:25 ` Rodrigo Vivi
2017-11-14 23:51 ` [PATCH] drm/i915/cnl: Simplify dco_fraction calculation Rodrigo Vivi
2017-11-15 11:09 ` Ville Syrjälä
2017-11-14 19:47 ` [PATCH 7/7] drm/i915/cnl: Extend HDMI 2.0 support to CNL Rodrigo Vivi
[not found] ` <20171115111448.GZ10981@intel.com>
2017-11-15 18:22 ` Rodrigo Vivi
2017-11-15 18:31 ` Ville Syrjälä
2017-11-15 18:37 ` Rodrigo Vivi
2017-11-15 18:42 ` [PATCH] " Rodrigo Vivi
2017-11-14 20:47 ` ✗ Fi.CI.BAT: failure for WRPLL fixes for HDMI 2.0 on Cannonlake Patchwork
2017-11-15 0:05 ` ✓ Fi.CI.BAT: success for WRPLL fixes for HDMI 2.0 on Cannonlake. (rev2) Patchwork
2017-11-15 0:23 ` ✓ Fi.CI.BAT: success for WRPLL fixes for HDMI 2.0 on Cannonlake. (rev3) Patchwork
2017-11-15 3:27 ` ✗ Fi.CI.IGT: warning " Patchwork
2017-11-16 17:02 ` ✓ Fi.CI.BAT: success for WRPLL fixes for HDMI 2.0 on Cannonlake. (rev4) Patchwork
2017-11-16 17:51 ` ✓ Fi.CI.IGT: " Patchwork
2017-11-16 17:53 ` [PATCH 0/7] WRPLL fixes for HDMI 2.0 on Cannonlake Rodrigo Vivi
[not found] <<20171115110931.GY10981@intel.com>
2017-11-15 18:42 ` [PATCH] drm/i915/cnl: Simplify dco_fraction calculation Rodrigo Vivi
2017-11-15 18:46 ` Ville Syrjälä
2017-11-15 19:09 ` ✓ Fi.CI.BAT: success for " Patchwork
2017-11-15 20:30 ` ✗ Fi.CI.IGT: warning " 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=20171114204638.GS10981@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=rodrigo.vivi@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox