aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_drv.h
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2010-02-11 01:37:26 -0500
committerBen Skeggs <bskeggs@redhat.com>2010-02-25 00:08:29 -0500
commit9a391ad8a2cdd7e5be9b6aabb56f4a46683ba377 (patch)
tree2dafd2b541dff055e88406cfb48679530b12192e /drivers/gpu/drm/nouveau/nouveau_drv.h
parentff9e5279b14dc024599cc705ee199dadb94e90a3 (diff)
drm/nv50: switch to indirect push buffer controls
PFIFO on G80 and up has a new mode where the main ring buffer is simply a ring of pointers to indirect buffers containing the actual command/data packets. In order to be able to implement index buffers in the 3D driver we need to be able to submit data-only push buffers right after the cmd packet header, which is only possible using the new command submission method. This commit doesn't make it possible to implement index buffers yet, some userspace interface changes will be required, but it does allow for testing/debugging of the hardware-side support in the meantime. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_drv.h')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_drv.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/nouveau_drv.h
index 52cc13bd02b9..d221044e0793 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drv.h
+++ b/drivers/gpu/drm/nouveau/nouveau_drv.h
@@ -239,6 +239,11 @@ struct nouveau_channel {
239 int cur; 239 int cur;
240 int put; 240 int put;
241 /* access via pushbuf_bo */ 241 /* access via pushbuf_bo */
242
243 int ib_base;
244 int ib_max;
245 int ib_free;
246 int ib_put;
242 } dma; 247 } dma;
243 248
244 uint32_t sw_subchannel[8]; 249 uint32_t sw_subchannel[8];
@@ -848,7 +853,7 @@ nouveau_debugfs_channel_fini(struct nouveau_channel *chan)
848/* nouveau_dma.c */ 853/* nouveau_dma.c */
849extern void nouveau_dma_pre_init(struct nouveau_channel *); 854extern void nouveau_dma_pre_init(struct nouveau_channel *);
850extern int nouveau_dma_init(struct nouveau_channel *); 855extern int nouveau_dma_init(struct nouveau_channel *);
851extern int nouveau_dma_wait(struct nouveau_channel *, int size); 856extern int nouveau_dma_wait(struct nouveau_channel *, int slots, int size);
852 857
853/* nouveau_acpi.c */ 858/* nouveau_acpi.c */
854#ifdef CONFIG_ACPI 859#ifdef CONFIG_ACPI