summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linux-core/Makefile.kernel2
-rw-r--r--linux-core/nouveau_bo.c (renamed from linux-core/nouveau_buffer.c)9
-rw-r--r--shared-core/nouveau_drm.h6
-rw-r--r--shared-core/nouveau_drv.h6
-rw-r--r--shared-core/nouveau_fifo.c1
-rw-r--r--shared-core/nouveau_state.c2
6 files changed, 21 insertions, 5 deletions
diff --git a/linux-core/Makefile.kernel b/linux-core/Makefile.kernel
index e7c280d0..92e1eb7e 100644
--- a/linux-core/Makefile.kernel
+++ b/linux-core/Makefile.kernel
@@ -23,7 +23,7 @@ i915-objs := i915_drv.o i915_dma.o i915_irq.o i915_mem.o i915_fence.o \
i915_buffer.o i915_compat.o
nouveau-objs := nouveau_drv.o nouveau_state.o nouveau_fifo.o nouveau_mem.o \
nouveau_object.o nouveau_irq.o nouveau_notifier.o nouveau_swmthd.o \
- nouveau_sgdma.o nouveau_dma.o nouveau_buffer.o nouveau_fence.o \
+ nouveau_sgdma.o nouveau_dma.o nouveau_bo.o nouveau_fence.o \
nv04_timer.o \
nv04_mc.o nv40_mc.o nv50_mc.o \
nv04_fb.o nv10_fb.o nv40_fb.o \
diff --git a/linux-core/nouveau_buffer.c b/linux-core/nouveau_bo.c
index c40dff6b..f0b0576c 100644
--- a/linux-core/nouveau_buffer.c
+++ b/linux-core/nouveau_bo.c
@@ -254,3 +254,12 @@ struct drm_bo_driver nouveau_bo_driver = {
.move = nouveau_bo_move,
.ttm_cache_flush= nouveau_bo_flush_ttm
};
+
+int
+nouveau_bo_validate(struct drm_device *dev, void *data,
+ struct drm_file *file_priv)
+{
+ DRM_ERROR("unimplemented\n");
+ return -EINVAL;
+}
+
diff --git a/shared-core/nouveau_drm.h b/shared-core/nouveau_drm.h
index 3bf40089..3a9a5292 100644
--- a/shared-core/nouveau_drm.h
+++ b/shared-core/nouveau_drm.h
@@ -25,7 +25,7 @@
#ifndef __NOUVEAU_DRM_H__
#define __NOUVEAU_DRM_H__
-#define NOUVEAU_DRM_HEADER_PATCHLEVEL 10
+#define NOUVEAU_DRM_HEADER_PATCHLEVEL 11
struct drm_nouveau_channel_alloc {
uint32_t fb_ctxdma_handle;
@@ -117,6 +117,9 @@ struct drm_nouveau_setparam {
uint64_t value;
};
+struct drm_nouveau_bo_validate {
+};
+
enum nouveau_card_type {
NV_UNKNOWN =0,
NV_04 =4,
@@ -156,5 +159,6 @@ struct drm_nouveau_sarea {
#define DRM_NOUVEAU_GPUOBJ_FREE 0x07
#define DRM_NOUVEAU_MEM_ALLOC 0x08
#define DRM_NOUVEAU_MEM_FREE 0x09
+#define DRM_NOUVEAU_BO_VALIDATE 0x0a
#endif /* __NOUVEAU_DRM_H__ */
diff --git a/shared-core/nouveau_drv.h b/shared-core/nouveau_drv.h
index 8b00726b..c276b69f 100644
--- a/shared-core/nouveau_drv.h
+++ b/shared-core/nouveau_drv.h
@@ -34,7 +34,7 @@
#define DRIVER_MAJOR 0
#define DRIVER_MINOR 0
-#define DRIVER_PATCHLEVEL 10
+#define DRIVER_PATCHLEVEL 11
#define NOUVEAU_FAMILY 0x0000FFFF
#define NOUVEAU_FLAGS 0xFFFF0000
@@ -559,8 +559,10 @@ extern void nv04_timer_takedown(struct drm_device *);
extern long nouveau_compat_ioctl(struct file *file, unsigned int cmd,
unsigned long arg);
-/* nouveau_buffer.c */
+/* nouveau_bo.c */
extern struct drm_bo_driver nouveau_bo_driver;
+extern int nouveau_bo_validate(struct drm_device *, void *data,
+ struct drm_file *);
/* nouveau_fence.c */
extern struct drm_fence_driver nouveau_fence_driver;
diff --git a/shared-core/nouveau_fifo.c b/shared-core/nouveau_fifo.c
index e2cb209c..4b84f9cc 100644
--- a/shared-core/nouveau_fifo.c
+++ b/shared-core/nouveau_fifo.c
@@ -565,6 +565,7 @@ struct drm_ioctl_desc nouveau_ioctls[] = {
DRM_IOCTL_DEF(DRM_NOUVEAU_GPUOBJ_FREE, nouveau_ioctl_gpuobj_free, DRM_AUTH),
DRM_IOCTL_DEF(DRM_NOUVEAU_MEM_ALLOC, nouveau_ioctl_mem_alloc, DRM_AUTH),
DRM_IOCTL_DEF(DRM_NOUVEAU_MEM_FREE, nouveau_ioctl_mem_free, DRM_AUTH),
+ DRM_IOCTL_DEF(DRM_NOUVEAU_BO_VALIDATE, nouveau_bo_validate, DRM_AUTH),
};
int nouveau_max_ioctl = DRM_ARRAY_SIZE(nouveau_ioctls);
diff --git a/shared-core/nouveau_state.c b/shared-core/nouveau_state.c
index 610d24e2..c19d7bf4 100644
--- a/shared-core/nouveau_state.c
+++ b/shared-core/nouveau_state.c
@@ -278,7 +278,7 @@ nouveau_card_init(struct drm_device *dev)
if (dev_priv->init_state == NOUVEAU_CARD_INIT_DONE)
return 0;
- dev_priv->ttm = 0;
+ dev_priv->ttm = 1;
/* Map any PCI resources we need on the card */
ret = nouveau_init_card_mappings(dev);