summaryrefslogtreecommitdiff
path: root/src/mga_dga.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mga_dga.c')
-rw-r--r--src/mga_dga.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/mga_dga.c b/src/mga_dga.c
index e728484..c75ef0c 100644
--- a/src/mga_dga.c
+++ b/src/mga_dga.c
@@ -154,8 +154,16 @@ SECOND_PASS:
mode->imageWidth = pitch;
mode->imageHeight = pMga->FbUsableSize / mode->bytesPerScanline;
mode->pixmapWidth = pitch;
- mode->pixmapHeight = (min(pMga->FbUsableSize, 16*1024*1024)) /
- mode->bytesPerScanline;
+ switch (pMga->Chipset) {
+ case PCI_CHIP_MGAG200_SE_A_PCI:
+ case PCI_CHIP_MGAG200_SE_B_PCI:
+ mode->pixmapHeight = (min(pMga->FbUsableSize, 1*1024*1024)) /
+ mode->bytesPerScanline;
+ break;
+ default:
+ mode->pixmapHeight = (min(pMga->FbUsableSize, 16*1024*1024)) /
+ mode->bytesPerScanline;
+ }
mode->maxViewportX = mode->imageWidth - mode->viewportWidth;
mode->maxViewportY = (pMga->FbUsableSize / mode->bytesPerScanline) -
mode->viewportHeight;