xserver-xorg-video-apm: Changes to 'debian-unstable'
COPYING | 24 ++
ChangeLog | 65 +++++++
debian/changelog | 7
man/apm.man | 4
src/apm.h | 3
src/apm_accel.c | 493 ++++++++++++++++---------------------------------------
src/apm_dga.c | 16 -
src/apm_driver.c | 271 +++++++++---------------------
src/apm_funcs.c | 38 ----
src/apm_video.c | 9 -
10 files changed, 338 insertions(+), 592 deletions(-)
New commits:
commit 972e743996c1c2e19e1c636461feea52e1c7262f
Author: Cyril Brulebois <kibi@debian.org>
Date: Tue May 1 13:54:27 2012 +0200
Upload to unstable.
diff --git a/debian/changelog b/debian/changelog
index 23fba50..f4b3b02 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,9 @@
-xserver-xorg-video-apm (1:1.2.3-3) UNRELEASED; urgency=low
+xserver-xorg-video-apm (1:1.2.3-3) unstable; urgency=low
* Merge from upstream master branch up to 21f5f7acf9 to cope with
the new vgaHW ABI, fixing the FTBFS against X server 1.12.
- -- Cyril Brulebois <kibi@debian.org> Tue, 01 May 2012 13:52:13 +0200
+ -- Cyril Brulebois <kibi@debian.org> Tue, 01 May 2012 13:54:23 +0200
xserver-xorg-video-apm (1:1.2.3-2) unstable; urgency=low
commit c69aa60e38da848f27fd397e061b8885ac16d00d
Author: Cyril Brulebois <kibi@debian.org>
Date: Tue May 1 13:53:27 2012 +0200
Bump changelogs.
diff --git a/ChangeLog b/ChangeLog
index 915db7d..a714952 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,58 @@
+commit 21f5f7acf9235428ef2bcd5e34d0a44f9e4d838b
+Author: Adam Jackson <ajax@redhat.com>
+Date: Mon Dec 19 17:44:20 2011 -0500
+
+ Fix for new vgaHW ABI
+
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+commit f66da557eb7773856081bda2465973dfabf3eaa0
+Author: Adam Jackson <ajax@redhat.com>
+Date: Mon Dec 19 16:09:34 2011 -0500
+
+ Fall back to shadowfb if XAA fails to load
+
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+commit ca19356b3b979b92535f6f22f79c8bab852093a4
+Merge: 413eee0 967f6f2
+Author: Adam Jackson <ajax@redhat.com>
+Date: Mon Dec 19 16:06:05 2011 -0500
+
+ Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/driver/xf86-video-apm
+
+commit 967f6f20670baa33506c3c1b107260a4f909f3d6
+Author: Adam Jackson <ajax@redhat.com>
+Date: Thu Nov 17 15:50:02 2011 -0500
+
+ Check ABI major not encoded ABI
+
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+commit 6b195cc0273650d01fc20c26433b929e9683aa5f
+Author: Adam Jackson <ajax@redhat.com>
+Date: Wed Nov 16 13:02:14 2011 -0500
+
+ Adapt to vgahw changes in videoabi 12
+
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+commit 9ce6499f013a5b6fdc9440fd3213dbb28b3bf1be
+Author: Adam Jackson <ajax@redhat.com>
+Date: Wed Nov 16 12:59:00 2011 -0500
+
+ s/IOADDRESS/unsigned long/
+
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+commit 6f8a776f792c02779a34c911f803fde8c09b93f6
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Wed Jul 28 07:42:30 2010 -0700
+
+ Add XFree86 Copyright/License to COPYING for all code that came from XF86 4.4
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
commit 876d8aea6c4c442756c03dd6cd64e14e42658d0b
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Fri Jul 23 15:13:02 2010 -0700
@@ -122,6 +177,16 @@ Date: Sat Jun 12 10:25:31 2010 -0400
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+commit 413eee03287b6e161ce0337df712099b585aa722
+Author: Adam Jackson <ajax@redhat.com>
+Date: Fri Jun 4 17:10:07 2010 -0400
+
+ Remove non-linear framebuffer mapping
+
+ It hasn't worked since the pciaccess conversion anyway.
+
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+
commit aa26b72a5f76012e8246de1e885f707f29e5fc4c
Author: Adam Jackson <ajax@redhat.com>
Date: Tue May 18 12:59:36 2010 -0400
diff --git a/debian/changelog b/debian/changelog
index 7be1353..23fba50 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xserver-xorg-video-apm (1:1.2.3-3) UNRELEASED; urgency=low
+
+ * Merge from upstream master branch up to 21f5f7acf9 to cope with
+ the new vgaHW ABI, fixing the FTBFS against X server 1.12.
+
+ -- Cyril Brulebois <kibi@debian.org> Tue, 01 May 2012 13:52:13 +0200
+
xserver-xorg-video-apm (1:1.2.3-2) unstable; urgency=low
* Switch to dh:
commit 21f5f7acf9235428ef2bcd5e34d0a44f9e4d838b
Author: Adam Jackson <ajax@redhat.com>
Date: Mon Dec 19 17:44:20 2011 -0500
Fix for new vgaHW ABI
Signed-off-by: Adam Jackson <ajax@redhat.com>
diff --git a/src/apm_driver.c b/src/apm_driver.c
index 2471478..078d443 100644
--- a/src/apm_driver.c
+++ b/src/apm_driver.c
@@ -417,6 +417,7 @@ ApmPreInit(ScrnInfoPtr pScrn, int flags)
return FALSE;
hwp = VGAHWPTR(pScrn);
+ vgaHWSetStdFuncs(hwp);
vgaHWGetIOBase(hwp);
#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
#define PIOOFFSET hwp->PIOOffset
commit f66da557eb7773856081bda2465973dfabf3eaa0
Author: Adam Jackson <ajax@redhat.com>
Date: Mon Dec 19 16:09:34 2011 -0500
Fall back to shadowfb if XAA fails to load
Signed-off-by: Adam Jackson <ajax@redhat.com>
diff --git a/src/apm_driver.c b/src/apm_driver.c
index 4e548a4..2471478 100644
--- a/src/apm_driver.c
+++ b/src/apm_driver.c
@@ -992,8 +992,9 @@ ApmPreInit(ScrnInfoPtr pScrn, int flags)
/* Load XAA if needed */
if (!pApm->NoAccel) {
if (!xf86LoadSubModule(pScrn, "xaa")) {
- ApmFreeRec(pScrn);
- return FALSE;
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Falling back to shadowfb\n");
+ pApm->NoAccel = TRUE;
+ pApm->ShadowFB = TRUE;
}
}
commit 967f6f20670baa33506c3c1b107260a4f909f3d6
Author: Adam Jackson <ajax@redhat.com>
Date: Thu Nov 17 15:50:02 2011 -0500
Check ABI major not encoded ABI
Signed-off-by: Adam Jackson <ajax@redhat.com>
diff --git a/src/apm_driver.c b/src/apm_driver.c
index f77bb2b..8d6f486 100644
--- a/src/apm_driver.c
+++ b/src/apm_driver.c
@@ -418,7 +418,7 @@ ApmPreInit(ScrnInfoPtr pScrn, int flags)
hwp = VGAHWPTR(pScrn);
vgaHWGetIOBase(hwp);
-#if ABI_VIDEODRV_VERSION < 12
+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
#define PIOOFFSET hwp->PIOOffset
#else
/* FIXME reintroduce domain support */
commit 6b195cc0273650d01fc20c26433b929e9683aa5f
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Nov 16 13:02:14 2011 -0500
Adapt to vgahw changes in videoabi 12
Signed-off-by: Adam Jackson <ajax@redhat.com>
diff --git a/src/apm_driver.c b/src/apm_driver.c
index f172bab..f77bb2b 100644
--- a/src/apm_driver.c
+++ b/src/apm_driver.c
@@ -418,8 +418,14 @@ ApmPreInit(ScrnInfoPtr pScrn, int flags)
hwp = VGAHWPTR(pScrn);
vgaHWGetIOBase(hwp);
- pApm->iobase = hwp->PIOOffset;
- pApm->xport = hwp->PIOOffset + 0x3C4;
+#if ABI_VIDEODRV_VERSION < 12
+#define PIOOFFSET hwp->PIOOffset
+#else
+/* FIXME reintroduce domain support */
+#define PIOOFFSET 0
+#endif
+ pApm->iobase = PIOOFFSET;
+ pApm->xport = PIOOFFSET + 0x3C4;
/* Set pScrn->monitor */
pScrn->monitor = pScrn->confScreen->monitor;
commit 9ce6499f013a5b6fdc9440fd3213dbb28b3bf1be
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Nov 16 12:59:00 2011 -0500
s/IOADDRESS/unsigned long/
Signed-off-by: Adam Jackson <ajax@redhat.com>
diff --git a/src/apm.h b/src/apm.h
index bc66714..86c7663 100644
--- a/src/apm.h
+++ b/src/apm.h
@@ -109,7 +109,7 @@ typedef struct {
char *MemMap;
pointer BltMap;
Bool UnlockCalled;
- IOADDRESS iobase, xport, xbase;
+ unsigned long iobase, xport, xbase;
unsigned char savedSR10;
CARD8 MiscOut;
CARD8 c9, d9, db, Rush;
commit 6f8a776f792c02779a34c911f803fde8c09b93f6
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Wed Jul 28 07:42:30 2010 -0700
Add XFree86 Copyright/License to COPYING for all code that came from XF86 4.4
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
diff --git a/COPYING b/COPYING
index 340a7ec..65af997 100644
--- a/COPYING
+++ b/COPYING
@@ -1,3 +1,27 @@
+Copyright (C) 1994-2003 The XFree86 Project, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to
+deal in the Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall
+not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from the
+XFree86 Project.
+
Copyright 2007 George Sapountzis
Permission is hereby granted, free of charge, to any person obtaining a
commit 413eee03287b6e161ce0337df712099b585aa722
Author: Adam Jackson <ajax@redhat.com>
Date: Fri Jun 4 17:10:07 2010 -0400
Remove non-linear framebuffer mapping
It hasn't worked since the pciaccess conversion anyway.
Signed-off-by: Adam Jackson <ajax@redhat.com>
diff --git a/man/apm.man b/man/apm.man
index 62535fc..15e501d 100644
--- a/man/apm.man
+++ b/man/apm.man
@@ -67,10 +67,6 @@ Enable or disable the hardware cursor. Default: on.
.BI "Option \*qNoAccel\*q \*q" boolean \*q
Disable or enable acceleration. Default: acceleration is enabled.
.TP
-.BI "Option \*qNoLinear\*q \*q" boolean \*q
-Disable or enable use of linear frame buffer. Default: on.
-Note: it may or may not work. Tell me if you need it.
-.TP
.BI "Option \*qPciRetry\*q \*q" boolean \*q
Enable or disable PCI retries. Default: off.
.TP
diff --git a/src/apm.h b/src/apm.h
index bc66714..c51c258 100644
--- a/src/apm.h
+++ b/src/apm.h
@@ -116,7 +116,6 @@ typedef struct {
unsigned int saveCmd;
pointer FontInfo;
Bool hwCursor;
- Bool noLinear;
ApmRegStr ModeReg, SavedReg;
CloseScreenProcPtr CloseScreen;
Bool UsePCIRetry; /* Do we use PCI-retry or busy-waiting */
diff --git a/src/apm_accel.c b/src/apm_accel.c
index 4526097..ed73d8d 100644
--- a/src/apm_accel.c
+++ b/src/apm_accel.c
@@ -32,14 +32,7 @@ static unsigned char apmROP[] = {
#include "apm_funcs.c"
-#define IOP_ACCESS
-#include "apm_funcs.c"
-
-#define PSZ 24
-#include "apm_funcs.c"
-
#define PSZ 24
-#define IOP_ACCESS
#include "apm_funcs.c"
static void
@@ -279,21 +272,11 @@ ApmAccelInit(ScreenPtr pScreen)
i = 4;
else
i = 8;
- if (pApm->noLinear) {
- stat = RDXL_IOP(0x1FC);
- while ((stat & (STATUS_HOSTBLTBUSY | STATUS_ENGINEBUSY)) ||
- ((stat & STATUS_FIFO) < i)) {
- WRXB_IOP(0x1FC, 0);
- stat = RDXL_IOP(0x1FC);
- }
- }
- else {
+ stat = RDXL_M(0x1FC);
+ while ((stat & (STATUS_HOSTBLTBUSY | STATUS_ENGINEBUSY)) ||
+ ((stat & STATUS_FIFO) < i)) {
+ WRXB_M(0x1FC, 0);
stat = RDXL_M(0x1FC);
- while ((stat & (STATUS_HOSTBLTBUSY | STATUS_ENGINEBUSY)) ||
- ((stat & STATUS_FIFO) < i)) {
- WRXB_M(0x1FC, 0);
- stat = RDXL_M(0x1FC);
- }
}
/* Setup current register values */
@@ -316,26 +299,14 @@ ApmAccelInit(ScreenPtr pScreen)
ApmSetupXAAInfo(pApm, pXAAinfo);
- if (!pApm->noLinear) {
- pApm->SetupForSolidFill = ApmSetupForSolidFill;
- pApm->SubsequentSolidFillRect = ApmSubsequentSolidFillRect;
- pApm->SetupForSolidFill24 = ApmSetupForSolidFill24;
- pApm->SubsequentSolidFillRect24 = ApmSubsequentSolidFillRect24;
- pApm->SetupForScreenToScreenCopy = ApmSetupForScreenToScreenCopy;
- pApm->SubsequentScreenToScreenCopy = ApmSubsequentScreenToScreenCopy;
- pApm->SetupForScreenToScreenCopy24 = ApmSetupForScreenToScreenCopy24;
- pApm->SubsequentScreenToScreenCopy24 = ApmSubsequentScreenToScreenCopy24;
- }
- else {
- pApm->SetupForSolidFill = ApmSetupForSolidFill_IOP;
- pApm->SubsequentSolidFillRect = ApmSubsequentSolidFillRect_IOP;
- pApm->SetupForSolidFill24 = ApmSetupForSolidFill24_IOP;
- pApm->SubsequentSolidFillRect24 = ApmSubsequentSolidFillRect24_IOP;
- pApm->SetupForScreenToScreenCopy = ApmSetupForScreenToScreenCopy_IOP;
- pApm->SubsequentScreenToScreenCopy = ApmSubsequentScreenToScreenCopy_IOP;
- pApm->SetupForScreenToScreenCopy24 = ApmSetupForScreenToScreenCopy24_IOP;
- pApm->SubsequentScreenToScreenCopy24 = ApmSubsequentScreenToScreenCopy24_IOP;
- }
+ pApm->SetupForSolidFill = ApmSetupForSolidFill;
+ pApm->SubsequentSolidFillRect = ApmSubsequentSolidFillRect;
+ pApm->SetupForSolidFill24 = ApmSetupForSolidFill24;
+ pApm->SubsequentSolidFillRect24 = ApmSubsequentSolidFillRect24;
+ pApm->SetupForScreenToScreenCopy = ApmSetupForScreenToScreenCopy;
+ pApm->SubsequentScreenToScreenCopy = ApmSubsequentScreenToScreenCopy;
+ pApm->SetupForScreenToScreenCopy24 = ApmSetupForScreenToScreenCopy24;
+ pApm->SubsequentScreenToScreenCopy24= ApmSubsequentScreenToScreenCopy24;
/*
* Init Rush extension.
@@ -427,334 +398,168 @@ void ApmSetupXAAInfo(ApmPtr pApm, XAAInfoRecPtr pXAAinfo)
pXAAinfo->CacheMonoStipple = ApmCacheMonoStipple;
if (pApm->CurrentLayout.bitsPerPixel != 24) {
- if (!pApm->noLinear) {
#define XAA(s) pXAAinfo->s = Apm##s
- if (pApm->Chipset < AT24)
- pXAAinfo->Sync = ApmSync6422;
- else
- XAA(Sync);
-
- /* Accelerated filled rectangles */
- pXAAinfo->SolidFillFlags = NO_PLANEMASK;
- XAA(SetupForSolidFill);
- XAA(SubsequentSolidFillRect);
-
- /* Accelerated screen to screen color expansion */
- pXAAinfo->ScreenToScreenColorExpandFillFlags = NO_PLANEMASK;
- XAA(SetupForScreenToScreenColorExpandFill);
- XAA(SubsequentScreenToScreenColorExpandFill);
-
-#if 0
- The constraints of the transfer range are incompatible with the
- XAA architecture. I rewrote the XAA functions using ImageWrite
- /* Accelerated CPU to screen color expansion */
- if ((pApm->Chipset == AT24 && pApm->ChipRev >= 4) ||
- pApm->Chipset == AT3D) {
- pXAAinfo->CPUToScreenColorExpandFillFlags =
- NO_PLANEMASK | SCANLINE_PAD_DWORD | CPU_TRANSFER_PAD_QWORD
- | BIT_ORDER_IN_BYTE_MSBFIRST | LEFT_EDGE_CLIPPING |
- LEFT_EDGE_CLIPPING_NEGATIVE_X | SYNC_AFTER_COLOR_EXPAND;
- XAA(SetupForCPUToScreenColorExpandFill);
- XAA(SubsequentCPUToScreenColorExpandFill);
- pXAAinfo->ColorExpandBase = pApm->BltMap;
- pXAAinfo->ColorExpandRange = (pApm->Chipset >= AT3D) ? 32*1024 : 30*1024;
- }
-
- /* Accelerated image transfers */
- pXAAinfo->ImageWriteFlags =
- LEFT_EDGE_CLIPPING | NO_PLANEMASK |
- SCANLINE_PAD_DWORD | CPU_TRANSFER_PAD_QWORD |
- LEFT_EDGE_CLIPPING_NEGATIVE_X |
- SYNC_AFTER_IMAGE_WRITE;
- pXAAinfo->ImageWriteBase = pApm->BltMap;
- pXAAinfo->ImageWriteRange = (pApm->Chipset >= AT3D) ? 32*1024 : 30*1024;
- XAA(SetupForImageWrite);
- XAA(SubsequentImageWriteRect);
-#endif
- pXAAinfo->WritePixmapFlags = LEFT_EDGE_CLIPPING | NO_PLANEMASK |
- LEFT_EDGE_CLIPPING_NEGATIVE_X;
- XAA(WritePixmap);
- pXAAinfo->FillImageWriteRectsFlags =
- LEFT_EDGE_CLIPPING | NO_PLANEMASK |
- LEFT_EDGE_CLIPPING_NEGATIVE_X;
- XAA(FillImageWriteRects);
- pXAAinfo->WriteBitmapFlags = LEFT_EDGE_CLIPPING | NO_PLANEMASK |
- LEFT_EDGE_CLIPPING_NEGATIVE_X |
- BIT_ORDER_IN_BYTE_LSBFIRST;
- XAA(WriteBitmap);
- pXAAinfo->TEGlyphRendererFlags = LEFT_EDGE_CLIPPING | NO_PLANEMASK |
- LEFT_EDGE_CLIPPING_NEGATIVE_X;
- XAA(TEGlyphRenderer);
-
- /* Accelerated screen-screen bitblts */
- pXAAinfo->ScreenToScreenCopyFlags = NO_PLANEMASK;
- XAA(SetupForScreenToScreenCopy);
- XAA(SubsequentScreenToScreenCopy);
-
- /* Accelerated Line drawing */
- pXAAinfo->SolidLineFlags = NO_PLANEMASK | HARDWARE_CLIP_LINE;
- XAA(SetClippingRectangle);
- pXAAinfo->SolidBresenhamLineErrorTermBits = 15;
-
- if (pApm->Chipset >= AT24) {
- XAA(SubsequentSolidBresenhamLine);
-
- /* Pattern fill */
- pXAAinfo->Mono8x8PatternFillFlags = NO_PLANEMASK |
- HARDWARE_PATTERN_PROGRAMMED_BITS |
- HARDWARE_PATTERN_SCREEN_ORIGIN;
- XAA(SetupForMono8x8PatternFill);
- XAA(SubsequentMono8x8PatternFillRect);
- if (pApm->CurrentLayout.bitsPerPixel == 8) {
- pXAAinfo->Color8x8PatternFillFlags = NO_PLANEMASK |
- HARDWARE_PATTERN_SCREEN_ORIGIN;
- XAA(SetupForColor8x8PatternFill);
- XAA(SubsequentColor8x8PatternFillRect);
- }
- }
- else
- pXAAinfo->SubsequentSolidBresenhamLine =
- ApmSubsequentSolidBresenhamLine6422;
-#undef XAA
- }
- else {
-#define XAA(s) pXAAinfo->s = Apm##s##_IOP
- if (pApm->Chipset < AT24)
- pXAAinfo->Sync = ApmSync6422_IOP;
- else
- XAA(Sync);
-
- /* Accelerated filled rectangles */
- pXAAinfo->SolidFillFlags = NO_PLANEMASK;
- XAA(SetupForSolidFill);
- XAA(SubsequentSolidFillRect);
-
- /* Accelerated screen to screen color expansion */
- pXAAinfo->ScreenToScreenColorExpandFillFlags = NO_PLANEMASK;
- XAA(SetupForScreenToScreenColorExpandFill);
- XAA(SubsequentScreenToScreenColorExpandFill);
-
-#if 0
- The constraints of the transfer range are incompatible with the
- XAA architecture. I rewrote the XAA functions using ImageWrite
- /* Accelerated CPU to screen color expansion */
- if ((pApm->Chipset == AT24 && pApm->ChipRev >= 4) ||
- pApm->Chipset == AT3D) {
- pXAAinfo->CPUToScreenColorExpandFillFlags =
- NO_PLANEMASK | SCANLINE_PAD_DWORD | CPU_TRANSFER_PAD_QWORD
- | BIT_ORDER_IN_BYTE_MSBFIRST | LEFT_EDGE_CLIPPING |
- LEFT_EDGE_CLIPPING_NEGATIVE_X | SYNC_AFTER_COLOR_EXPAND;
- XAA(SetupForCPUToScreenColorExpandFill);
- XAA(SubsequentCPUToScreenColorExpandFill);
- pXAAinfo->ColorExpandBase = pApm->BltMap;
- pXAAinfo->ColorExpandRange = (pApm->Chipset >= AT3D) ? 32*1024 : 30*1024;
- }
-
- /* Accelerated image transfers */
- pXAAinfo->ImageWriteFlags =
- LEFT_EDGE_CLIPPING | NO_PLANEMASK |
- SCANLINE_PAD_DWORD | CPU_TRANSFER_PAD_QWORD;
- pXAAinfo->ImageWriteBase = pApm->BltMap;
- pXAAinfo->ImageWriteRange = (pApm->Chipset >= AT3D) ? 32*1024 : 30*1024;
- XAA(SetupForImageWrite);
- XAA(SubsequentImageWriteRect);
-#endif
- pXAAinfo->WritePixmapFlags = LEFT_EDGE_CLIPPING | NO_PLANEMASK |
- LEFT_EDGE_CLIPPING_NEGATIVE_X;
- XAA(WritePixmap);
- pXAAinfo->FillImageWriteRectsFlags =
- LEFT_EDGE_CLIPPING | NO_PLANEMASK |
- LEFT_EDGE_CLIPPING_NEGATIVE_X;
- XAA(FillImageWriteRects);
- pXAAinfo->WriteBitmapFlags = LEFT_EDGE_CLIPPING | NO_PLANEMASK |
- LEFT_EDGE_CLIPPING_NEGATIVE_X |
- BIT_ORDER_IN_BYTE_LSBFIRST;
- XAA(WriteBitmap);
- pXAAinfo->TEGlyphRendererFlags = LEFT_EDGE_CLIPPING | NO_PLANEMASK |
- LEFT_EDGE_CLIPPING_NEGATIVE_X;
- XAA(TEGlyphRenderer);
-
- /* Accelerated screen-screen bitblts */
- pXAAinfo->ScreenToScreenCopyFlags = NO_PLANEMASK;
- XAA(SetupForScreenToScreenCopy);
- XAA(SubsequentScreenToScreenCopy);
-
- /* Accelerated Line drawing */
- pXAAinfo->SolidLineFlags = NO_PLANEMASK | HARDWARE_CLIP_LINE;
- XAA(SetClippingRectangle);
- pXAAinfo->SolidBresenhamLineErrorTermBits = 15;
-
- if (pApm->Chipset >= AT24) {
- XAA(SubsequentSolidBresenhamLine);
-
- /* Pattern fill */
- pXAAinfo->Mono8x8PatternFillFlags = NO_PLANEMASK |
- HARDWARE_PATTERN_PROGRAMMED_BITS |
- HARDWARE_PATTERN_SCREEN_ORIGIN;
- XAA(SetupForMono8x8PatternFill);
- XAA(SubsequentMono8x8PatternFillRect);
- if (pApm->CurrentLayout.bitsPerPixel == 8) {
- pXAAinfo->Color8x8PatternFillFlags = NO_PLANEMASK |
- HARDWARE_PATTERN_SCREEN_ORIGIN;
- XAA(SetupForColor8x8PatternFill);
- XAA(SubsequentColor8x8PatternFillRect);
- }
- }
- else
- pXAAinfo->SubsequentSolidBresenhamLine =
- ApmSubsequentSolidBresenhamLine6422_IOP;
-#undef XAA
- }
- }
- else {
- if (!pApm->noLinear) {
-#define XAA(s) pXAAinfo->s = Apm##s##24
+ if (pApm->Chipset < AT24)
+ pXAAinfo->Sync = ApmSync6422;
+ else
XAA(Sync);
- /* Accelerated filled rectangles */
- pXAAinfo->SolidFillFlags = NO_PLANEMASK;
- XAA(SetupForSolidFill);
- XAA(SubsequentSolidFillRect);
+ /* Accelerated filled rectangles */
+ pXAAinfo->SolidFillFlags = NO_PLANEMASK;
+ XAA(SetupForSolidFill);
+ XAA(SubsequentSolidFillRect);
-#if 0
- /* Accelerated screen to screen color expansion */
- pXAAinfo->ScreenToScreenColorExpandFillFlags = NO_PLANEMASK;
- XAA(SetupForScreenToScreenColorExpandFill);
- XAA(SubsequentScreenToScreenColorExpandFill);
+ /* Accelerated screen to screen color expansion */
+ pXAAinfo->ScreenToScreenColorExpandFillFlags = NO_PLANEMASK;
+ XAA(SetupForScreenToScreenColorExpandFill);
+ XAA(SubsequentScreenToScreenColorExpandFill);
#if 0
- The constraints of the transfer range are incompatible with the
- XAA architecture. I rewrote the XAA functions using ImageWrite
- /* Accelerated CPU to screen color expansion */
- if (pApm->Chipset == AT3D && pApm->ChipRev >= 4) {
- pXAAinfo->CPUToScreenColorExpandFillFlags =
- NO_PLANEMASK | SCANLINE_PAD_DWORD | CPU_TRANSFER_PAD_QWORD
- | BIT_ORDER_IN_BYTE_MSBFIRST | LEFT_EDGE_CLIPPING |
- LEFT_EDGE_CLIPPING_NEGATIVE_X | SYNC_AFTER_COLOR_EXPAND;
- XAA(SetupForCPUToScreenColorExpandFill);
- XAA(SubsequentCPUToScreenColorExpandFill);
- pXAAinfo->ColorExpandBase = pApm->BltMap;
- pXAAinfo->ColorExpandRange = 32*1024;
- }
+ The constraints of the transfer range are incompatible with the
+ XAA architecture. I rewrote the XAA functions using ImageWrite
+ /* Accelerated CPU to screen color expansion */
+ if ((pApm->Chipset == AT24 && pApm->ChipRev >= 4) ||
+ pApm->Chipset == AT3D) {
+ pXAAinfo->CPUToScreenColorExpandFillFlags =
+ NO_PLANEMASK | SCANLINE_PAD_DWORD | CPU_TRANSFER_PAD_QWORD
+ | BIT_ORDER_IN_BYTE_MSBFIRST | LEFT_EDGE_CLIPPING |
+ LEFT_EDGE_CLIPPING_NEGATIVE_X | SYNC_AFTER_COLOR_EXPAND;
+ XAA(SetupForCPUToScreenColorExpandFill);
+ XAA(SubsequentCPUToScreenColorExpandFill);
+ pXAAinfo->ColorExpandBase = pApm->BltMap;
+ pXAAinfo->ColorExpandRange = (pApm->Chipset >= AT3D) ? 32*1024 : 30*1024;
+ }
- /* Accelerated image transfers */
- pXAAinfo->ImageWriteFlags =
- LEFT_EDGE_CLIPPING | NO_PLANEMASK |
- SCANLINE_PAD_DWORD | CPU_TRANSFER_PAD_QWORD |
- SYNC_AFTER_IMAGE_WRITE;
- pXAAinfo->ImageWriteBase = pApm->BltMap;
- pXAAinfo->ImageWriteRange = 32*1024;
- XAA(SetupForImageWrite);
- XAA(SubsequentImageWriteRect);
+ /* Accelerated image transfers */
+ pXAAinfo->ImageWriteFlags =
+ LEFT_EDGE_CLIPPING | NO_PLANEMASK |
+ SCANLINE_PAD_DWORD | CPU_TRANSFER_PAD_QWORD |
+ LEFT_EDGE_CLIPPING_NEGATIVE_X |
+ SYNC_AFTER_IMAGE_WRITE;
+ pXAAinfo->ImageWriteBase = pApm->BltMap;
+ pXAAinfo->ImageWriteRange = (pApm->Chipset >= AT3D) ? 32*1024 : 30*1024;
+ XAA(SetupForImageWrite);
+ XAA(SubsequentImageWriteRect);
#endif
- pXAAinfo->WritePixmapFlags = LEFT_EDGE_CLIPPING | NO_PLANEMASK |
- LEFT_EDGE_CLIPPING_NEGATIVE_X;
- XAA(WritePixmap);
- pXAAinfo->FillImageWriteRectsFlags =
- LEFT_EDGE_CLIPPING | NO_PLANEMASK |
- LEFT_EDGE_CLIPPING_NEGATIVE_X;
- XAA(FillImageWriteRects);
- pXAAinfo->WriteBitmapFlags = LEFT_EDGE_CLIPPING | NO_PLANEMASK |
- LEFT_EDGE_CLIPPING_NEGATIVE_X |
- BIT_ORDER_IN_BYTE_LSBFIRST;
- XAA(WriteBitmap);
- pXAAinfo->TEGlyphRendererFlags = LEFT_EDGE_CLIPPING | NO_PLANEMASK |
- LEFT_EDGE_CLIPPING_NEGATIVE_X;
- XAA(TEGlyphRenderer);
-
- /* Accelerated Line drawing */
- pXAAinfo->SolidLineFlags = NO_PLANEMASK | HARDWARE_CLIP_LINE;
+ pXAAinfo->WritePixmapFlags = LEFT_EDGE_CLIPPING | NO_PLANEMASK |
+ LEFT_EDGE_CLIPPING_NEGATIVE_X;
+ XAA(WritePixmap);
+ pXAAinfo->FillImageWriteRectsFlags =
+ LEFT_EDGE_CLIPPING | NO_PLANEMASK |
+ LEFT_EDGE_CLIPPING_NEGATIVE_X;
+ XAA(FillImageWriteRects);
+ pXAAinfo->WriteBitmapFlags = LEFT_EDGE_CLIPPING | NO_PLANEMASK |
+ LEFT_EDGE_CLIPPING_NEGATIVE_X |
+ BIT_ORDER_IN_BYTE_LSBFIRST;
+ XAA(WriteBitmap);
+ pXAAinfo->TEGlyphRendererFlags = LEFT_EDGE_CLIPPING | NO_PLANEMASK |
+ LEFT_EDGE_CLIPPING_NEGATIVE_X;
+ XAA(TEGlyphRenderer);
+
+ /* Accelerated screen-screen bitblts */
+ pXAAinfo->ScreenToScreenCopyFlags = NO_PLANEMASK;
+ XAA(SetupForScreenToScreenCopy);
+ XAA(SubsequentScreenToScreenCopy);
+
+ /* Accelerated Line drawing */
+ pXAAinfo->SolidLineFlags = NO_PLANEMASK | HARDWARE_CLIP_LINE;
+ XAA(SetClippingRectangle);
+ pXAAinfo->SolidBresenhamLineErrorTermBits = 15;
+
+ if (pApm->Chipset >= AT24) {
XAA(SubsequentSolidBresenhamLine);
- XAA(SetClippingRectangle);
- pXAAinfo->SolidBresenhamLineErrorTermBits = 15;
/* Pattern fill */
- pXAAinfo->Mono8x8PatternFillFlags = NO_PLANEMASK | NO_TRANSPARENCY |
+ pXAAinfo->Mono8x8PatternFillFlags = NO_PLANEMASK |
HARDWARE_PATTERN_PROGRAMMED_BITS |
HARDWARE_PATTERN_SCREEN_ORIGIN;
XAA(SetupForMono8x8PatternFill);
XAA(SubsequentMono8x8PatternFillRect);
-#endif
-
- /* Accelerated screen-screen bitblts */
- pXAAinfo->ScreenToScreenCopyFlags = NO_PLANEMASK | NO_TRANSPARENCY;
- XAA(SetupForScreenToScreenCopy);
- XAA(SubsequentScreenToScreenCopy);
-#undef XAA
+ if (pApm->CurrentLayout.bitsPerPixel == 8) {
+ pXAAinfo->Color8x8PatternFillFlags = NO_PLANEMASK |
+ HARDWARE_PATTERN_SCREEN_ORIGIN;
+ XAA(SetupForColor8x8PatternFill);
+ XAA(SubsequentColor8x8PatternFillRect);
+ }
}
- else {
-#define XAA(s) pXAAinfo->s = Apm##s##24##_IOP
- XAA(Sync);
+ else
+ pXAAinfo->SubsequentSolidBresenhamLine =
+ ApmSubsequentSolidBresenhamLine6422;
+#undef XAA
+ }
+ else {
+#define XAA(s) pXAAinfo->s = Apm##s##24
+ XAA(Sync);
- /* Accelerated filled rectangles */
- pXAAinfo->SolidFillFlags = NO_PLANEMASK;
- XAA(SetupForSolidFill);
- XAA(SubsequentSolidFillRect);
+ /* Accelerated filled rectangles */
+ pXAAinfo->SolidFillFlags = NO_PLANEMASK;
+ XAA(SetupForSolidFill);
+ XAA(SubsequentSolidFillRect);
#if 0
- /* Accelerated screen to screen color expansion */
- pXAAinfo->ScreenToScreenColorExpandFillFlags = NO_PLANEMASK;
- XAA(SetupForScreenToScreenColorExpandFill);
- XAA(SubsequentScreenToScreenColorExpandFill);
+ /* Accelerated screen to screen color expansion */
+ pXAAinfo->ScreenToScreenColorExpandFillFlags = NO_PLANEMASK;
+ XAA(SetupForScreenToScreenColorExpandFill);
+ XAA(SubsequentScreenToScreenColorExpandFill);
#if 0
- The constraints of the transfer range are incompatible with the
- XAA architecture. I rewrote the XAA functions using ImageWrite
- /* Accelerated CPU to screen color expansion */
- if (pApm->Chipset == AT3D && pApm->ChipRev >= 4) {
- pXAAinfo->CPUToScreenColorExpandFillFlags =
- NO_PLANEMASK | SCANLINE_PAD_DWORD | CPU_TRANSFER_PAD_QWORD
- | BIT_ORDER_IN_BYTE_MSBFIRST | LEFT_EDGE_CLIPPING |
- LEFT_EDGE_CLIPPING_NEGATIVE_X | SYNC_AFTER_COLOR_EXPAND;
- XAA(SetupForCPUToScreenColorExpandFill);
- XAA(SubsequentCPUToScreenColorExpandFill);
- pXAAinfo->ColorExpandBase = pApm->BltMap;
- pXAAinfo->ColorExpandRange = 32*1024;
- }
+ The constraints of the transfer range are incompatible with the
+ XAA architecture. I rewrote the XAA functions using ImageWrite
+ /* Accelerated CPU to screen color expansion */
+ if (pApm->Chipset == AT3D && pApm->ChipRev >= 4) {
+ pXAAinfo->CPUToScreenColorExpandFillFlags =
+ NO_PLANEMASK | SCANLINE_PAD_DWORD | CPU_TRANSFER_PAD_QWORD
+ | BIT_ORDER_IN_BYTE_MSBFIRST | LEFT_EDGE_CLIPPING |
+ LEFT_EDGE_CLIPPING_NEGATIVE_X | SYNC_AFTER_COLOR_EXPAND;
+ XAA(SetupForCPUToScreenColorExpandFill);
+ XAA(SubsequentCPUToScreenColorExpandFill);
+ pXAAinfo->ColorExpandBase = pApm->BltMap;
+ pXAAinfo->ColorExpandRange = 32*1024;
+ }
- /* Accelerated image transfers */
- pXAAinfo->ImageWriteFlags =
- LEFT_EDGE_CLIPPING | NO_PLANEMASK |
- SCANLINE_PAD_DWORD | CPU_TRANSFER_PAD_QWORD;
- pXAAinfo->ImageWriteBase = pApm->BltMap;
- pXAAinfo->ImageWriteRange = 32*1024;
- XAA(SetupForImageWrite);
- XAA(SubsequentImageWriteRect);
+ /* Accelerated image transfers */
+ pXAAinfo->ImageWriteFlags =
+ LEFT_EDGE_CLIPPING | NO_PLANEMASK |
+ SCANLINE_PAD_DWORD | CPU_TRANSFER_PAD_QWORD |
+ SYNC_AFTER_IMAGE_WRITE;
+ pXAAinfo->ImageWriteBase = pApm->BltMap;
+ pXAAinfo->ImageWriteRange = 32*1024;
+ XAA(SetupForImageWrite);
+ XAA(SubsequentImageWriteRect);
#endif
- pXAAinfo->WritePixmapFlags = LEFT_EDGE_CLIPPING | NO_PLANEMASK |
- LEFT_EDGE_CLIPPING_NEGATIVE_X;
- XAA(WritePixmap);
- pXAAinfo->FillImageWriteRectsFlags =
- LEFT_EDGE_CLIPPING | NO_PLANEMASK |
- LEFT_EDGE_CLIPPING_NEGATIVE_X;
- XAA(FillImageWriteRects);
- pXAAinfo->WriteBitmapFlags = LEFT_EDGE_CLIPPING | NO_PLANEMASK |
- LEFT_EDGE_CLIPPING_NEGATIVE_X |
- BIT_ORDER_IN_BYTE_LSBFIRST;
- XAA(WriteBitmap);
- pXAAinfo->TEGlyphRendererFlags = LEFT_EDGE_CLIPPING | NO_PLANEMASK |
- LEFT_EDGE_CLIPPING_NEGATIVE_X;
- XAA(TEGlyphRenderer);
-
- /* Accelerated Line drawing */
- pXAAinfo->SolidLineFlags = NO_PLANEMASK | HARDWARE_CLIP_LINE;
- XAA(SubsequentSolidBresenhamLine);
- XAA(SetClippingRectangle);
- pXAAinfo->SolidBresenhamLineErrorTermBits = 15;
-
- /* Pattern fill */
- pXAAinfo->Mono8x8PatternFillFlags = NO_PLANEMASK | NO_TRANSPARENCY |
- HARDWARE_PATTERN_PROGRAMMED_BITS |
- HARDWARE_PATTERN_SCREEN_ORIGIN;
- XAA(SetupForMono8x8PatternFill);
- XAA(SubsequentMono8x8PatternFillRect);
+ pXAAinfo->WritePixmapFlags = LEFT_EDGE_CLIPPING | NO_PLANEMASK |
+ LEFT_EDGE_CLIPPING_NEGATIVE_X;
+ XAA(WritePixmap);
+ pXAAinfo->FillImageWriteRectsFlags =
+ LEFT_EDGE_CLIPPING | NO_PLANEMASK |
+ LEFT_EDGE_CLIPPING_NEGATIVE_X;
+ XAA(FillImageWriteRects);
+ pXAAinfo->WriteBitmapFlags = LEFT_EDGE_CLIPPING | NO_PLANEMASK |
+ LEFT_EDGE_CLIPPING_NEGATIVE_X |
+ BIT_ORDER_IN_BYTE_LSBFIRST;
+ XAA(WriteBitmap);
+ pXAAinfo->TEGlyphRendererFlags = LEFT_EDGE_CLIPPING | NO_PLANEMASK |
+ LEFT_EDGE_CLIPPING_NEGATIVE_X;
+ XAA(TEGlyphRenderer);
+
+ /* Accelerated Line drawing */
+ pXAAinfo->SolidLineFlags = NO_PLANEMASK | HARDWARE_CLIP_LINE;
+ XAA(SubsequentSolidBresenhamLine);
+ XAA(SetClippingRectangle);
+ pXAAinfo->SolidBresenhamLineErrorTermBits = 15;
+
+ /* Pattern fill */
+ pXAAinfo->Mono8x8PatternFillFlags = NO_PLANEMASK | NO_TRANSPARENCY |
+ HARDWARE_PATTERN_PROGRAMMED_BITS |
+ HARDWARE_PATTERN_SCREEN_ORIGIN;
+ XAA(SetupForMono8x8PatternFill);
+ XAA(SubsequentMono8x8PatternFillRect);
#endif
- /* Accelerated screen-screen bitblts */
- pXAAinfo->ScreenToScreenCopyFlags = NO_PLANEMASK | NO_TRANSPARENCY;
- XAA(SetupForScreenToScreenCopy);
- XAA(SubsequentScreenToScreenCopy);
+ /* Accelerated screen-screen bitblts */
+ pXAAinfo->ScreenToScreenCopyFlags = NO_PLANEMASK | NO_TRANSPARENCY;
+ XAA(SetupForScreenToScreenCopy);
+ XAA(SubsequentScreenToScreenCopy);
#undef XAA
- }
}
}
diff --git a/src/apm_dga.c b/src/apm_dga.c
index 313d03b..30079e2 100644
--- a/src/apm_dga.c
+++ b/src/apm_dga.c
@@ -316,18 +316,10 @@ ApmSetViewport(
* This is just an attempt, because Daryll is tampering with MY
* registers.
*/
- if (!pApm->noLinear) {
- tmp = (RDXB(0xDB) & 0xF4) | 0x0A;
- WRXB(0xDB, tmp);
- ApmWriteSeq(0x1B, 0x20);
- ApmWriteSeq(0x1C, 0x2F);
- }
- else {
- tmp = (RDXB_IOP(0xDB) & 0xF4) | 0x0A;
- WRXB_IOP(0xDB, tmp);
- wrinx(pApm->xport, 0x1B, 0x20);
- wrinx(pApm->xport, 0x1C, 0x2F);
- }
+ tmp = (RDXB(0xDB) & 0xF4) | 0x0A;
+ WRXB(0xDB, tmp);
+ ApmWriteSeq(0x1B, 0x20);
+ ApmWriteSeq(0x1C, 0x2F);
pApm->apmLock = FALSE;
}
pScrn->AdjustFrame(pScrn->pScreen->myNum, x, y, flags);
diff --git a/src/apm_driver.c b/src/apm_driver.c
index f172bab..8ee708f 100644
--- a/src/apm_driver.c
+++ b/src/apm_driver.c
@@ -200,7 +200,7 @@ ApmFreeRec(ScrnInfoPtr pScrn)
static void
ApmUnlock(ApmPtr pApm)
{
- if (pApm->Chipset >= AT3D && !pApm->noLinear)
+ if (pApm->Chipset >= AT3D)
ApmWriteSeq(0x10, 0x12);
else
wrinx(pApm->xport, 0x10, 0x12);
@@ -210,7 +210,7 @@ ApmUnlock(ApmPtr pApm)
static void
ApmLock(ApmPtr pApm)
{
- if (pApm->Chipset >= AT3D && !pApm->noLinear)
+ if (pApm->Chipset >= AT3D)
ApmWriteSeq(0x10, pApm->savedSR10 ? 0 : 0x12);
else
wrinx(pApm->xport, 0x10, pApm->savedSR10 ? 0 : 0x12);
@@ -494,21 +494,11 @@ ApmPreInit(ScrnInfoPtr pScrn, int flags)
/* Default to 8 */
pScrn->rgbBits = 8;
}
-#ifndef XSERVER_LIBPCIACCESS
- /* you're getting a linear framebuffer with pciaccess */
- if (xf86ReturnOptValBool(pApm->Options, OPTION_NOLINEAR, FALSE)) {
- pApm->noLinear = TRUE;
- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "No linear framebuffer\n");
- }
-#else
- pApm->noLinear = FALSE;
-#endif
from = X_DEFAULT;
pApm->hwCursor = FALSE;
if (xf86GetOptValBool(pApm->Options, OPTION_HW_CURSOR, &pApm->hwCursor))
from = X_CONFIG;
- if (pApm->noLinear ||
- xf86ReturnOptValBool(pApm->Options, OPTION_SW_CURSOR, FALSE)) {
+ if (xf86ReturnOptValBool(pApm->Options, OPTION_SW_CURSOR, FALSE)) {
from = X_CONFIG;
pApm->hwCursor = FALSE;
}
@@ -683,23 +673,11 @@ ApmPreInit(ScrnInfoPtr pScrn, int flags)
}
}
- if (pApm->noLinear) {
- /*
- * TODO not AT3D.
- * XXX ICI XXX
- */
- pApm->LinMapSize = 4 * 1024 * 1024 /* 0x10000 */;
- pApm->FbMapSize = 4 * 1024 * 1024 /* 0x10000 */;
- if (pApm->Chipset >= AT3D)
- pApm->LinAddress += 8 * 1024 * 1024 /* 0xA0000 */;
- }
- else {
- if (pApm->Chipset >= AT3D)
- pApm->LinMapSize = 16 * 1024 * 1024;
- else
- pApm->LinMapSize = 6 * 1024 * 1024;
- pApm->FbMapSize = 4 * 1024 * 1024;
- }
+ if (pApm->Chipset >= AT3D)
+ pApm->LinMapSize = 16 * 1024 * 1024;
+ else
+ pApm->LinMapSize = 6 * 1024 * 1024;
+ pApm->FbMapSize = 4 * 1024 * 1024;
if (xf86LoadSubModule(pScrn, "int10")) {
void *ptr;
@@ -722,7 +700,7 @@ ApmPreInit(ScrnInfoPtr pScrn, int flags)
if (pEnt->device->videoRam != 0) {
pScrn->videoRam = pEnt->device->videoRam;
from = X_CONFIG;
- } else if (!pApm->noLinear && pApm->Chipset >= AT3D) {
+ } else if (pApm->Chipset >= AT3D) {
unsigned char d9, db, uc;
/*unsigned long save;*/
volatile unsigned char *LinMap;
@@ -1077,55 +1055,42 @@ ApmMapMem(ScrnInfoPtr pScrn)
if (pApm->LinMap == NULL)
Reply to: