Commit d1e29902483a82e86b07cd30d41d411e71b776ea missed using
XSERVER_LIBPCIACCESS conditional compilation keyword when unmapping
video RAM. This meant that the code was not getting compiled correctly
for newer X Servers due to the missing xf86UnMapVidMem.

Signed-off-by: Kevin Brace <[email protected]>
---
 src/apm_driver.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/apm_driver.c b/src/apm_driver.c
index 4be81de..3c41b1c 100644
--- a/src/apm_driver.c
+++ b/src/apm_driver.c
@@ -752,7 +752,11 @@ ApmPreInit(ScrnInfoPtr pScrn, int flags)
        LinMap[0xFFECDB] = db;
        LinMap[0xFFECD9] = d9;
        /*pciWriteLong(pApm->PciTag, PCI_CMD_STAT_REG, save);*/
+#ifndef XSERVER_LIBPCIACCESS
        xf86UnMapVidMem(pScrn->scrnIndex, (pointer)LinMap, pApm->LinMapSize);
+#else
+       pci_device_unmap_range(pApm->PciInfo, (pointer)LinMap, 
pApm->LinMapSize);
+#endif
        from = X_PROBED;
     }
     else {
@@ -1135,11 +1139,19 @@ ApmUnmapMem(ScrnInfoPtr pScrn)
            WRXB(0xDB, pApm->db);
        }
        WRXB(0xC9, pApm->c9);
+#ifndef XSERVER_LIBPCIACCESS
        xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pApm->LinMap, 
pApm->LinMapSize);
+#else
+       pci_device_unmap_range(pApm->PciInfo, (pointer)pApm->LinMap, 
pApm->LinMapSize);
+#endif
        pApm->LinMap = NULL;
     }
     else if (pApm->FbBase)
+#ifndef XSERVER_LIBPCIACCESS
        xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pApm->LinMap, 0x10000);
+#else
+       pci_device_unmap_range(pApm->PciInfo, (pointer)pApm->LinMap, 0x10000);
+#endif
 
     return TRUE;
 }
-- 
2.7.4

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to