summaryrefslogtreecommitdiffstats
path: root/sys/dev/drm/drmP.h
diff options
context:
space:
mode:
authorrnoland <rnoland@FreeBSD.org>2010-01-31 14:25:29 +0000
committerrnoland <rnoland@FreeBSD.org>2010-01-31 14:25:29 +0000
commit04aaff5298149d2d2df6b4d11d782ff989614101 (patch)
treeaf15e53b9e0b6885d552ebd68a1fe78b560b474d /sys/dev/drm/drmP.h
parent23c4d0d9ded24602d1bba680bedba3b21d81cdc1 (diff)
downloadFreeBSD-src-04aaff5298149d2d2df6b4d11d782ff989614101.zip
FreeBSD-src-04aaff5298149d2d2df6b4d11d782ff989614101.tar.gz
Import simple drm memory manager.
This is required for the VIA driver and at least some parts are needed for GEM. MFC after: 2 weeks
Diffstat (limited to 'sys/dev/drm/drmP.h')
-rw-r--r--sys/dev/drm/drmP.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/dev/drm/drmP.h b/sys/dev/drm/drmP.h
index 25e272e..63444f8 100644
--- a/sys/dev/drm/drmP.h
+++ b/sys/dev/drm/drmP.h
@@ -91,9 +91,9 @@ struct drm_file;
#include <sys/bus.h>
#include "dev/drm/drm.h"
-#include "dev/drm/drm_linux_list.h"
#include "dev/drm/drm_atomic.h"
#include "dev/drm/drm_internal.h"
+#include "dev/drm/drm_linux_list.h"
#include <opt_drm.h>
#ifdef DRM_DEBUG
@@ -147,6 +147,8 @@ MALLOC_DECLARE(DRM_MEM_AGPLISTS);
MALLOC_DECLARE(DRM_MEM_CTXBITMAP);
MALLOC_DECLARE(DRM_MEM_SGLISTS);
MALLOC_DECLARE(DRM_MEM_DRAWABLE);
+MALLOC_DECLARE(DRM_MEM_MM);
+MALLOC_DECLARE(DRM_MEM_HASHTAB);
SYSCTL_DECL(_hw_drm);
@@ -193,6 +195,11 @@ typedef void irqreturn_t;
#define IRQ_HANDLED /* nothing */
#define IRQ_NONE /* nothing */
+#define unlikely(x) __builtin_expect(!!(x), 0)
+#define container_of(ptr, type, member) ({ \
+ __typeof( ((type *)0)->member ) *__mptr = (ptr); \
+ (type *)( (char *)__mptr - offsetof(type,member) );})
+
enum {
DRM_IS_NOT_AGP,
DRM_IS_AGP,
OpenPOWER on IntegriCloud