diff options
Diffstat (limited to 'shared-core')
-rw-r--r-- | shared-core/nouveau_state.c | 13 | ||||
-rw-r--r-- | shared-core/nv40_graph.c | 9 |
2 files changed, 11 insertions, 11 deletions
diff --git a/shared-core/nouveau_state.c b/shared-core/nouveau_state.c index 914d1453..c66ecd4e 100644 --- a/shared-core/nouveau_state.c +++ b/shared-core/nouveau_state.c @@ -72,17 +72,8 @@ int nouveau_firstopen(struct drm_device *dev) if (ret) return ret; /* FIXME: doesn't belong here, and have no idea what it's for.. */ - if (dev_priv->card_type >= NV_40) { - uint32_t pg0220_inst; - - dev_priv->fb_obj = nouveau_dma_object_create(dev, - 0, nouveau_mem_fb_amount(dev), - NV_DMA_ACCESS_RW, NV_DMA_TARGET_VIDMEM); - - pg0220_inst = nouveau_chip_instance_get(dev, - dev_priv->fb_obj->instance); - NV_WRITE(NV_PGRAPH_NV40_UNK220, pg0220_inst); - } + if (dev_priv->card_type >= NV_40) + nv40_graph_init(dev); return 0; } diff --git a/shared-core/nv40_graph.c b/shared-core/nv40_graph.c index 14379fdd..6e3ef2c2 100644 --- a/shared-core/nv40_graph.c +++ b/shared-core/nv40_graph.c @@ -426,6 +426,7 @@ nv40_graph_init(drm_device_t *dev) drm_nouveau_private_t *dev_priv = (drm_nouveau_private_t *)dev->dev_private; uint32_t *ctx_voodoo; + uint32_t pg0220_inst; int i; switch (dev_priv->card_type) { @@ -452,6 +453,14 @@ nv40_graph_init(drm_device_t *dev) /* No context present currently */ NV_WRITE(0x40032C, 0x00000000); + /* No idea what this is for.. */ + dev_priv->fb_obj = nouveau_dma_object_create(dev, + 0, nouveau_mem_fb_amount(dev), + NV_DMA_ACCESS_RW, NV_DMA_TARGET_VIDMEM); + pg0220_inst = nouveau_chip_instance_get(dev, + dev_priv->fb_obj->instance); + NV_WRITE(NV_PGRAPH_NV40_UNK220, pg0220_inst); + return 0; } |