diff options
author | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2015-08-23 17:43:12 +0000 |
---|---|---|
committer | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2015-08-23 17:43:12 +0000 |
commit | 2635a8ab63a9cca6997365347b274ff3487e8192 (patch) | |
tree | 9b4801d283236d61ebfd5102c4e9da3715830278 /driver/xf86-video-rendition | |
parent | ee67b35b3de37f1851735d1bce03d226936e69cf (diff) |
Merge from upstreams in preparation for xserver 1.17
Diffstat (limited to 'driver/xf86-video-rendition')
-rw-r--r-- | driver/xf86-video-rendition/src/rendition.c | 20 | ||||
-rw-r--r-- | driver/xf86-video-rendition/src/rendition.h | 7 |
2 files changed, 17 insertions, 10 deletions
diff --git a/driver/xf86-video-rendition/src/rendition.c b/driver/xf86-video-rendition/src/rendition.c index 888bb4ac1..967785089 100644 --- a/driver/xf86-video-rendition/src/rendition.c +++ b/driver/xf86-video-rendition/src/rendition.c @@ -1371,6 +1371,18 @@ renditionMapMem(ScrnInfoPtr pScreenInfo) /* Override on users request */ WriteCombine = xf86ReturnOptValBool(pRendition->Options, OPTION_FBWC, WriteCombine); +#ifdef XSERVER_LIBPCIACCESS + mapOption = PCI_DEV_MAP_FLAG_WRITABLE; + if (WriteCombine) + mapOption |= PCI_DEV_MAP_FLAG_WRITE_COMBINE; + + err = pci_device_map_range(pRendition->PciInfo, + pRendition->PciInfo->regions[0].base_addr, + pRendition->PciInfo->regions[0].size, + mapOption, (void *)&pRendition->board.vmem_base); + + return (err == 0); +#else if (WriteCombine) { xf86DrvMsg(pScreenInfo->scrnIndex, X_CONFIG, ("Requesting Write-Combined memory access\n")); @@ -1381,12 +1393,6 @@ renditionMapMem(ScrnInfoPtr pScreenInfo) mapOption = VIDMEM_MMIO; } -#ifdef XSERVER_LIBPCIACCESS - err = pci_device_map_region(pRendition->PciInfo, 0, TRUE); - pRendition->board.vmem_base = pRendition->PciInfo->regions[0].memory; - - return (err == 0); -#else pRendition->board.vmem_base= xf86MapPciMem(pScreenInfo->scrnIndex, mapOption, pRendition->pcitag, @@ -1415,7 +1421,7 @@ renditionUnmapMem(ScrnInfoPtr pScreenInfo) #else pci_device_unmap_range(pRendition->PciInfo, pRendition->board.vmem_base, - pScreenInfo->videoRam * 1024); + pRendition->PciInfo->regions[0].size); #endif return TRUE; #ifdef DEBUG0 diff --git a/driver/xf86-video-rendition/src/rendition.h b/driver/xf86-video-rendition/src/rendition.h index 297117eeb..4ef03a7bc 100644 --- a/driver/xf86-video-rendition/src/rendition.h +++ b/driver/xf86-video-rendition/src/rendition.h @@ -14,9 +14,6 @@ /* Everything using inb/outb, etc needs "compiler.h" */ #include "compiler.h" -/* Drivers for PCI hardware need this */ -#include "xf86PciInfo.h" - /* Drivers that need to access the PCI config space directly need this */ #include "xf86Pci.h" @@ -66,4 +63,8 @@ #include "compat-api.h" /* end of __RENDITION_H__ */ + +#define PCI_CHIP_V1000 0x0001 +#define PCI_CHIP_V2x00 0x2000 + #endif |