Module Name:    src
Committed By:   jmcneill
Date:           Tue Feb 15 14:24:23 UTC 2011

Modified Files:
        src/sys/external/bsd/drm/dist/bsd-core: drm_memory.c drm_vm.c

Log Message:
map the framebuffer and agp with BUS_SPACE_MAP_PREFETCHABLE


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/external/bsd/drm/dist/bsd-core/drm_memory.c
cvs rdiff -u -r1.5 -r1.6 src/sys/external/bsd/drm/dist/bsd-core/drm_vm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm/dist/bsd-core/drm_memory.c
diff -u src/sys/external/bsd/drm/dist/bsd-core/drm_memory.c:1.9 src/sys/external/bsd/drm/dist/bsd-core/drm_memory.c:1.10
--- src/sys/external/bsd/drm/dist/bsd-core/drm_memory.c:1.9	Sat Feb 12 14:49:54 2011
+++ src/sys/external/bsd/drm/dist/bsd-core/drm_memory.c	Tue Feb 15 14:24:23 2011
@@ -197,7 +197,8 @@
 			dev->agp_map_data[i].mapped++;
 			dev->agp_map_data[i].base = map->offset;
 			dev->agp_map_data[i].size = map->size;
-			dev->agp_map_data[i].flags = BUS_SPACE_MAP_LINEAR;
+			dev->agp_map_data[i].flags = BUS_SPACE_MAP_LINEAR |
+			    BUS_SPACE_MAP_PREFETCHABLE;
 			dev->agp_map_data[i].maptype = PCI_MAPREG_TYPE_MEM;
 			map->fullmap = &(dev->agp_map_data[i]);
 			map->mapsize = dev->agp_map_data[i].size;

Index: src/sys/external/bsd/drm/dist/bsd-core/drm_vm.c
diff -u src/sys/external/bsd/drm/dist/bsd-core/drm_vm.c:1.5 src/sys/external/bsd/drm/dist/bsd-core/drm_vm.c:1.6
--- src/sys/external/bsd/drm/dist/bsd-core/drm_vm.c:1.5	Sat Jun 20 01:07:09 2009
+++ src/sys/external/bsd/drm/dist/bsd-core/drm_vm.c	Tue Feb 15 14:24:23 2011
@@ -45,6 +45,7 @@
 #elif   defined(__NetBSD__)
 	paddr_t phys;
 	unsigned long map_offs;
+	int flags = 0;
 #endif
 
 #if defined(__FreeBSD__)
@@ -135,8 +136,11 @@
 	case _DRM_REGISTERS:
 	case _DRM_AGP:
 #if	defined(__NetBSD__)
+		flags = BUS_SPACE_MAP_LINEAR;
+		if (type == _DRM_FRAME_BUFFER || type == _DRM_AGP)
+			flags |= BUS_SPACE_MAP_PREFETCHABLE;
 		phys = bus_space_mmap(dev->pa.pa_memt, map->offset,
-				offset - map->offset, prot, BUS_SPACE_MAP_LINEAR);
+				offset - map->offset, prot, flags);
 		if (phys == -1) {
 			DRM_ERROR("bus_space_mmap for %" PRIx64 " failed\n", offset);
 			return -1;	

Reply via email to