summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/nouveau_object.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2010-09-01 15:24:34 +1000
committerBen Skeggs <bskeggs@redhat.com>2010-09-24 16:22:42 +1000
commitfbd2895e45aebdb3d3ea73a3a796cf3bb9c912da (patch)
tree1939bf1e1f66d6f7b4e7528e7105b5a0517822eb /drivers/gpu/drm/nouveau/nouveau_object.c
parent6c3d7ef25e3b4a0ea511b1e9d4a0a212750874a6 (diff)
drm/nouveau: rework init ordering so nv50_instmem.c can be less bad
Reviewed-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_object.c')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_object.c27
1 files changed, 2 insertions, 25 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_object.c b/drivers/gpu/drm/nouveau/nouveau_object.c
index df445fcb8321..b68922f2fe54 100644
--- a/drivers/gpu/drm/nouveau/nouveau_object.c
+++ b/drivers/gpu/drm/nouveau/nouveau_object.c
@@ -130,7 +130,7 @@ nouveau_gpuobj_new(struct drm_device *dev, struct nouveau_channel *chan,
/* if we got a chunk of the aperture, map pages into it */
gpuobj->im_pramin = ramin;
- if (!chan && gpuobj->im_pramin) {
+ if (!chan && gpuobj->im_pramin && dev_priv->ramin_available) {
ret = engine->instmem.bind(dev, gpuobj);
if (ret) {
nouveau_gpuobj_ref(NULL, &gpuobj);
@@ -173,7 +173,7 @@ nouveau_gpuobj_new(struct drm_device *dev, struct nouveau_channel *chan,
}
int
-nouveau_gpuobj_early_init(struct drm_device *dev)
+nouveau_gpuobj_init(struct drm_device *dev)
{
struct drm_nouveau_private *dev_priv = dev->dev_private;
@@ -186,29 +186,6 @@ nouveau_gpuobj_early_init(struct drm_device *dev)
return 0;
}
-int
-nouveau_gpuobj_init(struct drm_device *dev)
-{
- struct drm_nouveau_private *dev_priv = dev->dev_private;
- struct nouveau_gpuobj *ramht = NULL;
- int ret;
-
- NV_DEBUG(dev, "\n");
-
- if (dev_priv->card_type >= NV_50)
- return 0;
-
- ret = nouveau_gpuobj_new_fake(dev, dev_priv->ramht_offset, ~0,
- dev_priv->ramht_size,
- NVOBJ_FLAG_ZERO_ALLOC, &ramht);
- if (ret)
- return ret;
-
- ret = nouveau_ramht_new(dev, ramht, &dev_priv->ramht);
- nouveau_gpuobj_ref(NULL, &ramht);
- return ret;
-}
-
void
nouveau_gpuobj_takedown(struct drm_device *dev)
{