<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - [AMD Fusion E-350] HDMI refresh rates doesn't match expectations"
href="https://bugs.freedesktop.org/show_bug.cgi?id=76564#c46">Comment # 46</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW --- - [AMD Fusion E-350] HDMI refresh rates doesn't match expectations"
href="https://bugs.freedesktop.org/show_bug.cgi?id=76564">bug 76564</a>
from <span class="vcard"><a class="email" href="mailto:jeroenk61@hotmail.com" title="jeroen <jeroenk61@hotmail.com>"> <span class="fn">jeroen</span></a>
</span></b>
<pre>(In reply to <a href="show_bug.cgi?id=76564#c45">comment #45</a>)
<span class="quote">> (In reply to <a href="show_bug.cgi?id=76564#c44">comment #44</a>)
> > (In reply to <a href="show_bug.cgi?id=76564#c43">comment #43</a>)
> > > We could also update the adjusted mode clock to the actual clock set by the
> > > pll so that drm_calc_timestamping_constants() uses the actual clock value on
> > > the PLL. E.g.,
> > >
> > > diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c
> > > b/drivers/gpu/drm/radeon/atombios_crtc.c
> > > index daa4dd3..2a2da82 100644
> > > --- a/drivers/gpu/drm/radeon/atombios_crtc.c
> > > +++ b/drivers/gpu/drm/radeon/atombios_crtc.c
> > > @@ -1085,6 +1085,7 @@ static void atombios_crtc_set_pll(struct drm_crtc
> > > *crtc, struct drm_display_mode
> > > atombios_crtc_program_ss(rdev, ATOM_ENABLE,
> > > radeon_crtc->pll_id,
> > > radeon_crtc->crtc_id,
> > > &radeon_crtc->ss);
> > > }
> > > + mode->clock = pll_clock * 10;
> > > }
> > >
> > > static int dce4_crtc_do_set_base(struct drm_crtc *crtc,
> >
> > I think that would only help if radeon_compute_pll_avivo could not compute
> > an exact match. In the case of 23.976Hz the target clock is 74170kHz and the
> > PLL is set exactly to this value.
> > This does raise another question why the target clock' last digit is always
> > zero? For example, for 23.976Hz the target clock should be 74176kHz (with
> > correct rounding). I looked through the source code, but the target clock
> > seems to come all the way from some deep generic drm code.
> >
> > 74176kHz could be matched by the PLL using fb=927.2, post_div=10 and
> > ref_div=125
>
> You might want to take a look at atombios_adjust_pll which does the mode
> fixup before a mode is actually used.
>
> Since atombios always works with 10khz pixel clock which always sets the
> target clocks last digit to zero.</span >
atombios_adjust_pll seems to do nothing to compensate for the 10kHz pixel
clock, or didn't you mean that?
When I look at drm_calc_timestamping_constants(), does this mean the vblank
moment is calculated by the OSS driver?
What about Alex' idea in <a href="show_bug.cgi?id=76564#c43">comment 43</a>? Would tat help Christian?</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>