[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#465864: xserver-xorg-video-ati: xserver freezes the computer on startup



Tags: fixed-upstream

On Monday 23 June 2008 21:55:21 Alex Deucher wrote:
> On Sun, Jun 22, 2008 at 10:47 AM, Jiří Paleček <jpalecek@web.de> wrote:
> > Hello,
> >
> > I prepared a new (better) version of the patch. Please consider applying
> > it or otherwise fixing the bug.
> >
> > Some comments:
> >
> > The first patch causes abort instead of hangs when PLL computation fails.
> >
> > The second changes the algorithm so it doesn't miss any solution which
> > might be better than current and finds a solution iff there is one.
> >
> > The third patch removes a condition which seems to be bogus for me - it
> > cannot force pll->reference_div in the solution, but will probably poison
> > the solution with a bad solution having good ref_div, for the next
> > ref_div to override it with a better solution.
>
> Thanks for doing this! 

You're welcome. It wouldn't have been possible without your suggestion.

> I've pushed a variation on this set of patches
> to ati git master (72feaa37ea07620f5f2ead438dbc72a1c8883cd3).  Please
> let me know if you are still having problems.

Looking (and working) good. Just some non-issues (at least for me):

+		if ((best_vco == 0 && error < best_error) ||
+		    (best_vco != 0 &&
+		     (error < best_error - 100 ||
+		      (abs(error - best_error) < 100 && vco_diff < best_vco_diff )))) {

Is the "100" on the previous line 100 meaning 100 Hz, or a relict from the 
"10kHz-unit" times (meaning 1 MHz)?

+		} else if (current_freq == freq) {

Can this ever work? I mean, if the condition is true, error is zero so the 
previous "if" likely matched. How should the preference for low ref_divs work? 
For example, I have pixelclock of 175 MHz, which is 

  2.7 MHz/27(ref)*350(feedback)/2

Would it be better to have

  2.7 MHz/3*194/1 = 174.6 MHz?

Last, would it be possible to make it also consider the maximum pixelclock of 
the CRT (for example, if you want the maximum pixelclock of the CRT, the 
algorithm might get a higher frequency)?

I don't think any of these are important, they're just suggestions.

Regards
    Jiri Palecek








Reply to: