From: Egbert Eich <[email protected]>

For newer ABI versions IOADDRESS can be replaced by int
which is big enough to hold an PIO offset.

Signed-off-by: Egbert Eich <[email protected]>
---
 src/ast.h        |  6 ++++--
 src/ast_driver.c | 18 ++++++++----------
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/src/ast.h b/src/ast.h
index cbe62fb..3b56a6c 100644
--- a/src/ast.h
+++ b/src/ast.h
@@ -261,9 +261,11 @@ typedef struct _ASTRec {
     unsigned long      FbMapSize;
     unsigned long      MMIOMapSize;
 
-    IOADDRESS          IODBase;                /* Base of PIO memory area */
-    IOADDRESS          PIOOffset;
+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
     IOADDRESS          RelocateIO;
+#else
+    int                        RelocateIO;
+#endif
 
     VIDEOMODE          VideoModeInfo;
     ASTRegRec       SavedReg;
diff --git a/src/ast_driver.c b/src/ast_driver.c
index c2ba129..639562d 100644
--- a/src/ast_driver.c
+++ b/src/ast_driver.c
@@ -570,23 +570,21 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
    xf86DrvMsg(pScrn->scrnIndex, from, "Chipset: \"%s\"\n",
              (pScrn->chipset != NULL) ? pScrn->chipset : "Unknown ast");
 
-   /* Resource Allocation */
+
 #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
-    pAST->IODBase = pScrn->domainIOBase;
-#else
-    pAST->IODBase = 0;
-#endif
     /* "Patch" the PIOOffset inside vgaHW in order to force
      * the vgaHW module to use our relocated i/o ports.
      */
+    VGAHWPTR(pScrn)->PIOOffset =
+       pScrn->domainIOBase + PCI_REGION_BASE(pAST->PciInfo, 2, REGION_IO) - 
0x380;
+
+    pAST->RelocateIO = pScrn->domainIOBase +
+           PCI_REGION_BASE(pAST->PciInfo, 2, REGION_IO);
+#else
+    pAST->RelocateIO = (PCI_REGION_BASE(pAST->PciInfo, 2, REGION_IO));
 
-#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
-    VGAHWPTR(pScrn)->PIOOffset = /* ... */
 #endif
-               pAST->PIOOffset =
-       pAST->IODBase + PCI_REGION_BASE(pAST->PciInfo, 2, REGION_IO) - 0x380;
 
-    pAST->RelocateIO = (IOADDRESS)(PCI_REGION_BASE(pAST->PciInfo, 2, 
REGION_IO) + pAST->IODBase);
 
    if (pAST->pEnt->device->MemBase != 0) {
       pAST->FBPhysAddr = pAST->pEnt->device->MemBase;
-- 
1.8.4.5

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

Reply via email to