summaryrefslogtreecommitdiff
path: root/linux-core
diff options
context:
space:
mode:
authorEric Anholt <anholt@freebsd.org>2005-11-08 20:25:00 +0000
committerEric Anholt <anholt@freebsd.org>2005-11-08 20:25:00 +0000
commita10d8178e32528e0fd8a7afa24e71a35b1c0582d (patch)
treefdf902a22d38ed246b7f0bdc9943359e33e9ca8a /linux-core
parent2c6308fe54c10075379cb00506d5519e0ced1076 (diff)
Initial port of savage to FreeBSD for the AGP and !ShadowStatus case. Adds
drm_mtrr_{add,del} for handling the MTRR setup. Still has a LOR issue with DRM_VERIFYAREA_READ/DRM_COPY_FROM_USER_UNCHECKED in savage_bci.c -- this won't work with the fine-grained locking in use, and just doing a single copyin to a temporary will probably work fine. Also note that the module leaks approximately 4 kb on unload.
Diffstat (limited to 'linux-core')
-rw-r--r--linux-core/drmP.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/linux-core/drmP.h b/linux-core/drmP.h
index 7b344c7a..8044780b 100644
--- a/linux-core/drmP.h
+++ b/linux-core/drmP.h
@@ -763,6 +763,21 @@ static inline int drm_core_has_MTRR(struct drm_device *dev)
{
return drm_core_check_feature(dev, DRIVER_USE_MTRR);
}
+
+#define DRM_MTRR_WC MTRR_TYPE_WRCOMB
+
+static inline int drm_mtrr_add(unsigned long offset, unsigned long size,
+ unsigned int flags)
+{
+ return mtrr_add(offset, size, flags, 1);
+}
+
+static inline int drm_mtrr_del(int handle, unsigned long offset,
+ unsigned long size, unsigned int flags)
+{
+ return mtrr_del(handle, offset, size);
+}
+
#else
#define drm_core_has_MTRR(dev) (0)
#endif