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

Bug#261993:



On Wed, Oct 13, 2004 at 04:03:40PM +0300, Teemu Ikonen wrote:
> On 08/10/04 18:08, Branden Robinson wrote:
> > Can you tell us specifically which modes cause this infinite loop?
> 
> Sure. Using the wmres program mentioned previosly on this bug, I determined
> that all modes with dotclock less than 17750 cause the crash, i.e. these
> modes crash:
> 
> "320x240 150Hz" EXEC ./wmres 320 240 15750
> "320x240 145Hz" EXEC ./wmres 320 240 15750
> "320x240 120Hz" EXEC ./wmres 320 240 12600
> "320x200 170Hz" EXEC ./wmres 320 200 15750
> "320x175 170Hz" EXEC ./wmres 320 175 15750
> 
> But this doesn't:
> 
> "360x200 170Hz" EXEC ./wmres 360 200 17750

I'm sorry it has taken a while to get back to you.

I am attaching a patch that simply increases the built-in minimum pixel
clock for MGA cards.  The original source code used a minimum of 12 MHz,
but noted that this was just a guess.

I reckon that guess was wrong, at least for MGA G550 users.  If other
Matrox cards can tolerate modes with lower pixel clocks, we'll have to add
case-dependent logic for setting the pixel clock.  This won't be too hard,
but until I have data from such users, I'm going to just raise the floor
for the pixel clock across the board.

Thanks very much for your feedback, which made writing this patch easy.

I will be committing this patch to our SVN repository, but I wouldn't
expect it to make it into XFree86 4.3.0.dfsg.1-9.  Do you think you could
compile XFree86 from source with this patch applied and let us know if it
works?

-- 
G. Branden Robinson                |      The more you do, the more people
Debian GNU/Linux                   |      will dislike what you do.
branden@debian.org                 |      -- Gerfried Fuchs
http://people.debian.org/~branden/ |
$Id$

Increase the minimum pixel clock for Matrox cards based on feedback from
Teemu Ikonen.  See <URL:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=261993 >.

This patch by Branden Robinson.

Not submitted upstream to XFree86.

--- xc/programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c~	2004-12-09 13:01:06.000000000 -0500
+++ xc/programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c	2004-12-09 13:03:50.000000000 -0500
@@ -1987,8 +1987,13 @@
 
     /* XXX Set HW cursor use */
 
-    /* Set the min pixel clock */
-    pMga->MinClock = 12000;	/* XXX Guess, need to check this */
+    /*
+     * Set the min pixel clock; this was originally guessed to be 12000,
+     * but an MGA G550 user reports that modes with clocks less than 17750
+     * lock up the card.  See
+     * <URL: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=261993 >
+     */
+    pMga->MinClock = 17750;
     xf86DrvMsg(pScrn->scrnIndex, X_DEFAULT, "Min pixel clock is %d MHz\n",
 	       pMga->MinClock / 1000);
     /*

Attachment: signature.asc
Description: Digital signature


Reply to: