nouveau: ttm stubs
parent
6b0b2546c2
commit
31847b4b62
|
@ -22,7 +22,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_sgdma.o nouveau_dma.o nouveau_buffer.o \
|
||||
nv04_timer.o \
|
||||
nv04_mc.o nv40_mc.o nv50_mc.o \
|
||||
nv04_fb.o nv10_fb.o nv40_fb.o \
|
||||
|
|
|
@ -41,6 +41,25 @@ static struct pci_device_id pciidlist[] = {
|
|||
}
|
||||
};
|
||||
|
||||
#ifdef NOUVEAU_HAVE_BUFFER
|
||||
static uint32_t nouveau_mem_prios[] = { DRM_BO_MEM_VRAM, DRM_BO_MEM_TT, DRM_BO_MEM_LOCAL };
|
||||
static uint32_t nouveau_busy_prios[] = { DRM_BO_MEM_TT, DRM_BO_MEM_LOCAL };
|
||||
|
||||
static struct drm_bo_driver nouveau_bo_driver = {
|
||||
.mem_type_prio = nouveau_mem_prios,
|
||||
.mem_busy_prio = nouveau_busy_prios,
|
||||
.num_mem_type_prio = sizeof(nouveau_mem_prios)/sizeof(uint32_t),
|
||||
.num_mem_busy_prio = sizeof(nouveau_busy_prios)/sizeof(uint32_t),
|
||||
.create_ttm_backend_entry = nouveau_create_ttm_backend_entry,
|
||||
.fence_type = nouveau_fence_types,
|
||||
.invalidate_caches = nouveau_invalidate_caches,
|
||||
.init_mem_type = nouveau_init_mem_type,
|
||||
.evict_mask = nouveau_evict_mask,
|
||||
.move = nouveau_move,
|
||||
.ttm_cache_flush= nouveau_flush_ttm
|
||||
};
|
||||
#endif
|
||||
|
||||
extern struct drm_ioctl_desc nouveau_ioctls[];
|
||||
extern int nouveau_max_ioctl;
|
||||
|
||||
|
@ -80,6 +99,9 @@ static struct drm_driver driver = {
|
|||
.probe = probe,
|
||||
.remove = __devexit_p(drm_cleanup_pci),
|
||||
},
|
||||
#ifdef NOUVEAU_HAVE_BUFFER
|
||||
.bo_driver = &nouveau_bo_driver,
|
||||
#endif
|
||||
|
||||
.name = DRIVER_NAME,
|
||||
.desc = DRIVER_DESC,
|
||||
|
|
|
@ -39,9 +39,16 @@
|
|||
#define NOUVEAU_FAMILY 0x0000FFFF
|
||||
#define NOUVEAU_FLAGS 0xFFFF0000
|
||||
|
||||
#if 0
|
||||
#if defined(__linux__)
|
||||
#define NOUVEAU_HAVE_BUFFER
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include "nouveau_drm.h"
|
||||
#include "nouveau_reg.h"
|
||||
|
||||
|
||||
struct mem_block {
|
||||
struct mem_block *next;
|
||||
struct mem_block *prev;
|
||||
|
@ -553,6 +560,17 @@ extern void nv04_timer_takedown(struct drm_device *);
|
|||
extern long nouveau_compat_ioctl(struct file *file, unsigned int cmd,
|
||||
unsigned long arg);
|
||||
|
||||
#ifdef NOUVEAU_HAVE_BUFFER
|
||||
/* nouveau_buffer.c */
|
||||
extern struct drm_ttm_backend *nouveau_create_ttm_backend_entry(struct drm_device *dev);
|
||||
extern int nouveau_fence_types(struct drm_buffer_object *bo, uint32_t *fclass, uint32_t *type);
|
||||
extern int nouveau_invalidate_caches(struct drm_device *dev, uint64_t buffer_flags);
|
||||
extern int nouveau_init_mem_type(struct drm_device *dev, uint32_t type, struct drm_mem_type_manager *man);
|
||||
extern uint32_t nouveau_evict_mask(struct drm_buffer_object *bo);
|
||||
extern int nouveau_move(struct drm_buffer_object *bo, int evict, int no_wait, struct drm_bo_mem_reg *new_mem);
|
||||
void nouveau_flush_ttm(struct drm_ttm *ttm);
|
||||
#endif
|
||||
|
||||
#if defined(__powerpc__)
|
||||
#define NV_READ(reg) in_be32((void __iomem *)(dev_priv->mmio)->handle + (reg) )
|
||||
#define NV_WRITE(reg,val) out_be32((void __iomem *)(dev_priv->mmio)->handle + (reg) , (val) )
|
||||
|
|
Loading…
Reference in New Issue