diff options
author | Jeremy Kolb <jkolb@brandeis.edu> | 2007-01-12 00:13:05 -0500 |
---|---|---|
committer | Jeremy Kolb <jkolb@brandeis.edu> | 2007-01-12 00:14:54 -0500 |
commit | 4297a83b48664b2b6a6dc0a72a4d11b043f34778 (patch) | |
tree | d0c4a283529bd4c6029cedd2b33246a9ee01dc9f /shared-core/nouveau_drv.h | |
parent | 8ff026723cf170034173052a58c650c8c1f28c0b (diff) |
nouveau: get nv30 context switching to work.
* Pulled in some registers from nv10reg.h. Needed for context switching.
* Filled in nv30 graphics context (based on nv40_graph.c).
* Figure out nv30 context table, set up on context creation. Allows the cards automatic switching to work.
Diffstat (limited to 'shared-core/nouveau_drv.h')
-rw-r--r-- | shared-core/nouveau_drv.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/shared-core/nouveau_drv.h b/shared-core/nouveau_drv.h index 6b09046c..219ba123 100644 --- a/shared-core/nouveau_drv.h +++ b/shared-core/nouveau_drv.h @@ -142,6 +142,10 @@ typedef struct drm_nouveau_private { struct mem_block *fb_nomap_heap; struct mem_block *ramin_heap; + /* context table pointed to be NV_PGRAPH_CHANNEL_CTX_TABLE (0x400780) */ + uint32_t ctx_table_size; + struct mem_block *ctx_table; + struct nouveau_config config; } drm_nouveau_private_t; @@ -198,6 +202,10 @@ extern void nouveau_irq_preinstall(drm_device_t*); extern void nouveau_irq_postinstall(drm_device_t*); extern void nouveau_irq_uninstall(drm_device_t*); +/* nv30_graph.c */ +extern int nv30_graph_init(drm_device_t *dev); +extern int nv30_graph_context_create(drm_device_t *dev, int channel); + /* nv40_graph.c */ extern int nv40_graph_init(drm_device_t *dev); extern int nv40_graph_context_create(drm_device_t *dev, int channel); |