summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_state.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2011-04-01 12:32:03 +1000
committerBen Skeggs <bskeggs@redhat.com>2011-05-16 10:48:18 +1000
commita0b1de84fed49a055a3ecbfab67ff9cdea81aa6f (patch)
tree53d4e1014066beefca115d3567cb28708700c975 /drivers/gpu/drm/nouveau/nouveau_state.c
parent39c8d368273bca9b5f309f9feadfc8575c9fd993 (diff)
drm/nv20-nv30/gr: move to exec engine interface
A bit of cleanup done along the way, but, like nv40/nv50, needs more. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_state.c')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_state.c32
1 files changed, 14 insertions, 18 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_state.c b/drivers/gpu/drm/nouveau/nouveau_state.c
index d8852edc60c..7bb2433013d 100644
--- a/drivers/gpu/drm/nouveau/nouveau_state.c
+++ b/drivers/gpu/drm/nouveau/nouveau_state.c
@@ -180,15 +180,10 @@ static int nouveau_init_engine_ptrs(struct drm_device *dev)
engine->fb.init_tile_region = nv10_fb_init_tile_region;
engine->fb.set_tile_region = nv10_fb_set_tile_region;
engine->fb.free_tile_region = nv10_fb_free_tile_region;
- engine->graph.init = nv20_graph_init;
- engine->graph.takedown = nv20_graph_takedown;
- engine->graph.channel = nv10_graph_channel;
- engine->graph.create_context = nv20_graph_create_context;
- engine->graph.destroy_context = nv20_graph_destroy_context;
- engine->graph.fifo_access = nv04_graph_fifo_access;
- engine->graph.load_context = nv20_graph_load_context;
- engine->graph.unload_context = nv20_graph_unload_context;
- engine->graph.object_new = nv04_graph_object_new;
+ engine->graph.init = nouveau_stub_init;
+ engine->graph.takedown = nouveau_stub_takedown;
+ engine->graph.channel = nvc0_graph_channel;
+ engine->graph.fifo_access = nvc0_graph_fifo_access;
engine->graph.set_tile_region = nv20_graph_set_tile_region;
engine->fifo.channels = 32;
engine->fifo.init = nv10_fifo_init;
@@ -238,15 +233,10 @@ static int nouveau_init_engine_ptrs(struct drm_device *dev)
engine->fb.init_tile_region = nv30_fb_init_tile_region;
engine->fb.set_tile_region = nv10_fb_set_tile_region;
engine->fb.free_tile_region = nv30_fb_free_tile_region;
- engine->graph.init = nv30_graph_init;
- engine->graph.takedown = nv20_graph_takedown;
- engine->graph.fifo_access = nv04_graph_fifo_access;
- engine->graph.channel = nv10_graph_channel;
- engine->graph.create_context = nv20_graph_create_context;
- engine->graph.destroy_context = nv20_graph_destroy_context;
- engine->graph.load_context = nv20_graph_load_context;
- engine->graph.unload_context = nv20_graph_unload_context;
- engine->graph.object_new = nv04_graph_object_new;
+ engine->graph.init = nouveau_stub_init;
+ engine->graph.takedown = nouveau_stub_takedown;
+ engine->graph.channel = nvc0_graph_channel;
+ engine->graph.fifo_access = nvc0_graph_fifo_access;
engine->graph.set_tile_region = nv20_graph_set_tile_region;
engine->fifo.channels = 32;
engine->fifo.init = nv10_fifo_init;
@@ -614,6 +604,10 @@ nouveau_card_init(struct drm_device *dev)
goto out_timer;
switch (dev_priv->card_type) {
+ case NV_20:
+ case NV_30:
+ nv20_graph_create(dev);
+ break;
case NV_40:
nv40_graph_create(dev);
break;
@@ -623,6 +617,8 @@ nouveau_card_init(struct drm_device *dev)
case NV_C0:
nvc0_graph_create(dev);
break;
+ default:
+ break;
}
switch (dev_priv->chipset) {