summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYannick Heneault <yheneaul@matrox.com>2009-04-21 09:51:34 -0400
committerYannick Heneault <yheneaul@matrox.com>2009-04-21 09:51:34 -0400
commit2388c4d512554258bce2b78c8f8aa1151b161c3e (patch)
tree0bf7bf5a0532db7cea1418ee11a250185aa5b6bb
parent32bc0bcec815a363a47b9e7337d06370baf0c0d4 (diff)
Force pitch of 1024 for G200SE Pilot1 when edid is used as modeline.
-rw-r--r--src/mga_driver.c10
1 files changed, 9 insertions, 1 deletions
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);