File xf86-video-mga-commit-2388c4d.diff of Package xorg-x11-driver-video

commit 2388c4d512554258bce2b78c8f8aa1151b161c3e
Author: Yannick Heneault <yheneaul@matrox.com>
Date:   Tue Apr 21 09:51:34 2009 -0400

    Force pitch of 1024 for G200SE Pilot1 when edid is used as modeline.

diff --git a/src/mga_driver.c b/src/mga_driver.c
index 7c67405..7ed5c27 100644
--- a/src/mga_driver.c
+++ b/src/mga_driver.c
@@ -2638,9 +2638,13 @@ MGAPreInit(ScrnInfoPtr pScrn, int flags)
 	case PCI_CHIP_MGAG100_PCI:
 	   maxPitch = 2048;
 	   break;
+	case PCI_CHIP_MGAG200_SE_A_PCI:
+	   if (pScrn->videoRam < 2048){
+	       maxPitch = 1024;
+	   }
+	   break;
 	case PCI_CHIP_MGAG200:
 	case PCI_CHIP_MGAG200_PCI:
-	case PCI_CHIP_MGAG200_SE_A_PCI:
 	case PCI_CHIP_MGAG200_SE_B_PCI:
         case PCI_CHIP_MGAG200_WINBOND_PCI:
 	case PCI_CHIP_MGAG200_EV_PCI:
@@ -2664,6 +2668,10 @@ MGAPreInit(ScrnInfoPtr pScrn, int flags)
 	   xfree(linePitches);
     }
 
+    /* Some X compute displayWidth from inferred virtual without
+       checking pitch limit. */
+    if(pMga->Chipset == PCI_CHIP_MGAG200_SE_A_PCI && pScrn->videoRam < 2048)
+        pScrn->displayWidth = 1024;
 
     if (i < 1 && pMga->FBDev) {
 	fbdevHWUseBuildinMode(pScrn);
openSUSE Build Service is sponsored by