diff options
author | Adam Jackson <ajax@redhat.com> | 2011-11-17 16:22:16 -0500 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2011-11-17 16:22:16 -0500 |
commit | d9492762b862aa02392a011ed70e38e77e33ee40 (patch) | |
tree | 8e6df7058d97094b3790814f53f2ec6e433ea089 | |
parent | 9d3769bed020e9796e51411c63de337da5073bb4 (diff) |
Adapt to videoabi 12
Signed-off-by: Adam Jackson <ajax@redhat.com>
-rw-r--r-- | src/ark_accel.c | 5 | ||||
-rw-r--r-- | src/ark_driver.c | 35 |
2 files changed, 26 insertions, 14 deletions
diff --git a/src/ark_accel.c b/src/ark_accel.c index 8963e16..fb6aff9 100644 --- a/src/ark_accel.c +++ b/src/ark_accel.c @@ -47,7 +47,10 @@ static int curx, cury, cmd_flags; static void ARKSync(ScrnInfoPtr pScrn) { - IOADDRESS port = pScrn->domainIOBase + 0x3cb; + IOADDRESS port = 0x3cb; +#if ABI_VIDEODRV_VERSION < 12 + port += pScrn->domainIOBase + 0x3cb; +#endif for (;;) { if (!(inb(port) & 0x40)) diff --git a/src/ark_driver.c b/src/ark_driver.c index fec3e1a..b40200c 100644 --- a/src/ark_driver.c +++ b/src/ark_driver.c @@ -49,6 +49,12 @@ #include "xf86Resources.h" #endif +#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 +#define PIOOFFSET hwp->PIOOffset +#else +#define PIOOFFSET 0 +#endif + #include <string.h> /* @@ -358,10 +364,10 @@ static Bool ARKPreInit(ScrnInfoPtr pScrn, int flags) #endif /* unlock CRTC[0-7] */ - outb(hwp->PIOOffset + hwp->IOBase + 4, 0x11); - tmp = inb(hwp->PIOOffset + hwp->IOBase + 5); - outb(hwp->PIOOffset + hwp->IOBase + 5, tmp & 0x7f); - modinx(hwp->PIOOffset + 0x3c4, 0x1d, 0x01, 0x01); + outb(PIOOFFSET + hwp->IOBase + 4, 0x11); + tmp = inb(PIOOFFSET + hwp->IOBase + 5); + outb(PIOOFFSET + hwp->IOBase + 5, tmp & 0x7f); + modinx(PIOOFFSET + 0x3c4, 0x1d, 0x01, 0x01); #ifndef XSERVER_LIBPCIACCESS pScrn->memPhysBase = pARK->PciInfo->memBase[0]; @@ -378,7 +384,7 @@ static Bool ARKPreInit(ScrnInfoPtr pScrn, int flags) if (!pScrn->videoRam) { unsigned char sr10; - sr10 = rdinx(hwp->PIOOffset + 0x3c4, 0x10); + sr10 = rdinx(PIOOFFSET + 0x3c4, 0x10); if (pARK->Chipset == PCI_CHIP_1000PV) { if ((sr10 & 0x40) == 0) pScrn->videoRam = 1024; @@ -403,9 +409,9 @@ static Bool ARKPreInit(ScrnInfoPtr pScrn, int flags) { int man_id, dev_id; - inb(hwp->PIOOffset + 0x3c6); /* skip cmd register */ - man_id = inb(hwp->PIOOffset + 0x3c6); /* manufacturer id */ - dev_id = inb(hwp->PIOOffset + 0x3c6); /* device id */ + inb(PIOOFFSET + 0x3c6); /* skip cmd register */ + man_id = inb(PIOOFFSET + 0x3c6); /* manufacturer id */ + dev_id = inb(PIOOFFSET + 0x3c6); /* device id */ if (man_id == 0x84 && dev_id == 0x98) { pARK->ramdac = ZOOMDAC; pARK->dac_width = 16; @@ -576,7 +582,7 @@ static void ARKSave(ScrnInfoPtr pScrn) ARKPtr pARK = ARKPTR(pScrn); ARKRegPtr save = &pARK->SavedRegs; vgaHWPtr hwp = VGAHWPTR(pScrn); - IOADDRESS isaIOBase = hwp->PIOOffset; + IOADDRESS isaIOBase = PIOOFFSET; IOADDRESS vgaIOBase = isaIOBase + hwp->IOBase; vgaHWUnlock(hwp); @@ -641,7 +647,7 @@ static Bool ARKModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode) int multiplexing, dac16, modepitch; vgaHWPtr hwp = VGAHWPTR(pScrn); vgaRegPtr pVga = &hwp->ModeReg; - IOADDRESS isaIOBase = hwp->PIOOffset; + IOADDRESS isaIOBase = PIOOFFSET; IOADDRESS vgaIOBase = isaIOBase + hwp->IOBase; unsigned char tmp; int offset; @@ -891,7 +897,7 @@ static void ARKAdjustFrame(int scrnIndex, int x, int y, int flags) ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; ARKPtr pARK = ARKPTR(pScrn); vgaHWPtr hwp = VGAHWPTR(pScrn); - IOADDRESS vgaIOBase = hwp->PIOOffset + hwp->IOBase; + IOADDRESS vgaIOBase = PIOOFFSET + hwp->IOBase; int base; base = ((y * pScrn->displayWidth + x) * @@ -918,7 +924,7 @@ static void ARKWriteMode(ScrnInfoPtr pScrn, vgaRegPtr pVga, ARKRegPtr new) { ARKPtr pARK = ARKPTR(pScrn); vgaHWPtr hwp = VGAHWPTR(pScrn); - IOADDRESS isaIOBase = hwp->PIOOffset; + IOADDRESS isaIOBase = PIOOFFSET; IOADDRESS vgaIOBase = isaIOBase + hwp->IOBase; vgaHWProtect(pScrn, TRUE); @@ -1115,7 +1121,10 @@ static void ARKLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indicies, LOCO *colors, VisualPtr pVisual) { - IOADDRESS isaIOBase = pScrn->domainIOBase; + IOADDRESS isaIOBase = 0; +#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 + isaIOBase += pScrn->domainIOBase; +#endif int i, index; for (i=0; i<numColors; i++) { |