diff options
author | Ben Skeggs <darktama@iinet.net.au> | 2007-01-02 14:52:43 +1100 |
---|---|---|
committer | Ben Skeggs <darktama@iinet.net.au> | 2007-01-02 14:52:43 +1100 |
commit | 0e0d954584ba95656663efa3daf6e191e521040b (patch) | |
tree | cbde0c3fec88fb196f924dcb3c5fa3dc2027a231 /shared-core/nouveau_drv.h | |
parent | 2c3bc69ba2b60e4f89b93332fa8da758170b2285 (diff) |
nouveau: Add nv40-specific PGRAPH code, not hooked up yet.
Diffstat (limited to 'shared-core/nouveau_drv.h')
-rw-r--r-- | shared-core/nouveau_drv.h | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/shared-core/nouveau_drv.h b/shared-core/nouveau_drv.h index 42397c32..a8108a8c 100644 --- a/shared-core/nouveau_drv.h +++ b/shared-core/nouveau_drv.h @@ -42,6 +42,16 @@ #include "nouveau_drm.h" #include "nouveau_reg.h" +struct mem_block { + struct mem_block *next; + struct mem_block *prev; + uint64_t start; + uint64_t size; + DRMFILE filp; /* 0: free, -1: heap, other: real files */ + int flags; + drm_local_map_t *map; +}; + enum nouveau_flags { NV_NFORCE =0x10000000, NV_NFORCE2 =0x20000000 @@ -75,20 +85,12 @@ struct nouveau_fifo /* dma object for the command buffer itself */ struct mem_block *cmdbuf_mem; struct nouveau_object *cmdbuf_obj; + /* PGRAPH context, for cards that keep it in RAMIN */ + struct mem_block *ramin_grctx; /* objects belonging to this fifo */ struct nouveau_object *objs; }; -struct mem_block { - struct mem_block *next; - struct mem_block *prev; - uint64_t start; - uint64_t size; - DRMFILE filp; /* 0: free, -1: heap, other: real files */ - int flags; - drm_local_map_t *map; -}; - struct nouveau_config { struct { int location; @@ -181,6 +183,12 @@ extern void nouveau_irq_preinstall(drm_device_t*); extern void nouveau_irq_postinstall(drm_device_t*); extern void nouveau_irq_uninstall(drm_device_t*); +/* nv40_graph.c */ +extern int nv40_graph_init(drm_device_t *dev); +extern int nv40_graph_context_create(drm_device_t *dev, int channel); +extern void nv40_graph_context_save_current(drm_device_t *dev); +extern void nv40_graph_context_restore(drm_device_t *dev, int channel); + extern long nouveau_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg); |