Module Name: src Committed By: mrg Date: Wed Sep 2 01:36:41 UTC 2009
Modified Files: src/sys/external/bsd/drm/dist/bsd-core: drmP.h drm_bufs.c drm_drv.c drm_memory.c src/sys/external/bsd/drm/dist/shared-core: savage_bci.c Log Message: - normalize netbsd drm_mtrr_del() with freebsd, removing a few #if's - make the mtrr code do nothing on non-x86 To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/sys/external/bsd/drm/dist/bsd-core/drmP.h cvs rdiff -u -r1.5 -r1.6 src/sys/external/bsd/drm/dist/bsd-core/drm_bufs.c \ src/sys/external/bsd/drm/dist/bsd-core/drm_memory.c cvs rdiff -u -r1.16 -r1.17 src/sys/external/bsd/drm/dist/bsd-core/drm_drv.c cvs rdiff -u -r1.4 -r1.5 \ src/sys/external/bsd/drm/dist/shared-core/savage_bci.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/drmP.h diff -u src/sys/external/bsd/drm/dist/bsd-core/drmP.h:1.13 src/sys/external/bsd/drm/dist/bsd-core/drmP.h:1.14 --- src/sys/external/bsd/drm/dist/bsd-core/drmP.h:1.13 Fri Aug 7 22:51:04 2009 +++ src/sys/external/bsd/drm/dist/bsd-core/drmP.h Wed Sep 2 01:36:41 2009 @@ -75,8 +75,10 @@ #endif #include <machine/pmap.h> #include <machine/bus.h> +#if defined(__i386__) || defined(__x86_64__) #include <machine/specialreg.h> #include <machine/sysarch.h> +#endif #include <sys/endian.h> #include <sys/mman.h> #if defined( __FreeBSD__) @@ -94,7 +96,9 @@ #include <sys/selinfo.h> #include <sys/bus.h> #elif defined(__NetBSD__) +#if defined(__i386__) || defined(__x86_64__) #include <machine/mtrr.h> +#endif #include <sys/vnode.h> #include <sys/select.h> #include <sys/device.h> @@ -293,7 +297,11 @@ #define PAGE_ALIGN(addr) ALIGN(addr) #define DRM_SUSER(p) (kauth_cred_getsvuid((p)->p_cred) == 0) #define DRM_AGP_FIND_DEVICE() agp_find_device(0) +#ifdef MTRR_TYPE_WC #define DRM_MTRR_WC MTRR_TYPE_WC +#else +#define DRM_MTRR_WC 0 +#endif #define jiffies hardclock_ticks #define DRM_MAXUNITS 128 @@ -968,13 +976,8 @@ void *drm_ioremap_wc(struct drm_device *dev, drm_local_map_t *map); void *drm_ioremap(struct drm_device *dev, drm_local_map_t *map); void drm_ioremapfree(drm_local_map_t *map); -#if defined(__FreeBSD__) int drm_mtrr_add(unsigned long offset, size_t size, int flags); int drm_mtrr_del(int handle, unsigned long offset, size_t size, int flags); -#elif defined(__NetBSD__) -int drm_mtrr_add(unsigned long offset, size_t size, int flags); -int drm_mtrr_del(unsigned long offset, size_t size, int flags); -#endif int drm_context_switch(struct drm_device *dev, int old, int new); int drm_context_switch_complete(struct drm_device *dev, int new); Index: src/sys/external/bsd/drm/dist/bsd-core/drm_bufs.c diff -u src/sys/external/bsd/drm/dist/bsd-core/drm_bufs.c:1.5 src/sys/external/bsd/drm/dist/bsd-core/drm_bufs.c:1.6 --- src/sys/external/bsd/drm/dist/bsd-core/drm_bufs.c:1.5 Sat Jun 20 01:07:09 2009 +++ src/sys/external/bsd/drm/dist/bsd-core/drm_bufs.c Wed Sep 2 01:36:41 2009 @@ -323,13 +323,8 @@ case _DRM_FRAME_BUFFER: if (map->mtrr) { int __unused retcode; -#if defined(__FreeBSD__) retcode = drm_mtrr_del(0, map->offset, map->size, DRM_MTRR_WC); -#elif defined(__NetBSD__) - retcode = drm_mtrr_del(map->offset, map->size, - DRM_MTRR_WC); -#endif DRM_DEBUG("mtrr_del = %d\n", retcode); } break; 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.5 src/sys/external/bsd/drm/dist/bsd-core/drm_memory.c:1.6 --- src/sys/external/bsd/drm/dist/bsd-core/drm_memory.c:1.5 Sat Jun 20 01:07:09 2009 +++ src/sys/external/bsd/drm/dist/bsd-core/drm_memory.c Wed Sep 2 01:36:41 2009 @@ -245,6 +245,7 @@ int drm_mtrr_add(unsigned long offset, size_t size, int flags) { +#ifdef MTRR_GETSET_KERNEL struct mtrr mtrrmap; int one = 1; @@ -253,11 +254,15 @@ mtrrmap.type = flags; mtrrmap.flags = MTRR_VALID; return mtrr_set(&mtrrmap, &one, NULL, MTRR_GETSET_KERNEL); +#else + return 0; +#endif } int -drm_mtrr_del(unsigned long offset, size_t size, int flags) +drm_mtrr_del(int __unused handle, unsigned long offset, size_t size, int flags) { +#ifdef MTRR_GETSET_KERNEL struct mtrr mtrrmap; int one = 1; @@ -266,5 +271,8 @@ mtrrmap.type = flags; mtrrmap.flags = 0; return mtrr_set(&mtrrmap, &one, NULL, MTRR_GETSET_KERNEL); +#else + return 0; +#endif } #endif Index: src/sys/external/bsd/drm/dist/bsd-core/drm_drv.c diff -u src/sys/external/bsd/drm/dist/bsd-core/drm_drv.c:1.16 src/sys/external/bsd/drm/dist/bsd-core/drm_drv.c:1.17 --- src/sys/external/bsd/drm/dist/bsd-core/drm_drv.c:1.16 Wed Aug 26 01:37:10 2009 +++ src/sys/external/bsd/drm/dist/bsd-core/drm_drv.c Wed Sep 2 01:36:41 2009 @@ -385,7 +385,7 @@ dev->pci_map_data[unit].flags |= BUS_SPACE_MAP_LINEAR; DRM_DEBUG("pci resource %d: type=%d, base=%lx, size=%zx, flags=%x\n", unit, dev->pci_map_data[unit].maptype, - dev->pci_map_data[unit].base, + (unsigned long)dev->pci_map_data[unit].base, dev->pci_map_data[unit].size, dev->pci_map_data[unit].flags); } @@ -710,10 +710,7 @@ if (dev->agp && dev->agp->mtrr) { int __unused retcode; - retcode = drm_mtrr_del( -#if defined(__FreeBSD__) - 0, -#endif + retcode = drm_mtrr_del(0, dev->agp->info.ai_aperture_base, dev->agp->info.ai_aperture_size, DRM_MTRR_WC); DRM_DEBUG("mtrr_del = %d", retcode); Index: src/sys/external/bsd/drm/dist/shared-core/savage_bci.c diff -u src/sys/external/bsd/drm/dist/shared-core/savage_bci.c:1.4 src/sys/external/bsd/drm/dist/shared-core/savage_bci.c:1.5 --- src/sys/external/bsd/drm/dist/shared-core/savage_bci.c:1.4 Tue Jun 23 04:42:01 2009 +++ src/sys/external/bsd/drm/dist/shared-core/savage_bci.c Wed Sep 2 01:36:41 2009 @@ -661,14 +661,9 @@ for (i = 0; i < 3; ++i) if (dev_priv->mtrr[i].handle >= 0) -#if defined(__FreeBSD__) drm_mtrr_del(dev_priv->mtrr[i].handle, dev_priv->mtrr[i].base, dev_priv->mtrr[i].size, DRM_MTRR_WC); -#elif defined(__NetBSD__) - drm_mtrr_del(dev_priv->mtrr[i].base, - dev_priv->mtrr[i].size, DRM_MTRR_WC); -#endif } int savage_driver_unload(struct drm_device *dev)