summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/core/engine/fifo/nv10.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2012-07-13 16:42:14 +1000
committerBen Skeggs <bskeggs@redhat.com>2012-10-03 13:12:50 +1000
commit5787640db6ae722aeadb394d480c7ca21b603e34 (patch)
treedff35e7c260c0cb5bf0df016473b795bb56697eb /drivers/gpu/drm/nouveau/core/engine/fifo/nv10.c
parentaf7afbd2e1409168698bde2f2846848b07d05d12 (diff)
drm/nv04-nv40/instmem: remove use of nouveau_gpuobj_new_fake()
These type of fake objects will not be supported for much longer. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/core/engine/fifo/nv10.c')
-rw-r--r--drivers/gpu/drm/nouveau/core/engine/fifo/nv10.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/core/engine/fifo/nv10.c b/drivers/gpu/drm/nouveau/core/engine/fifo/nv10.c
index 9058c31c3bf3..9c1083afcd34 100644
--- a/drivers/gpu/drm/nouveau/core/engine/fifo/nv10.c
+++ b/drivers/gpu/drm/nouveau/core/engine/fifo/nv10.c
@@ -31,6 +31,8 @@
#include "nouveau_util.h"
#include <core/ramht.h>
+#include <core/subdev/instmem/nv04.h>
+
static struct ramfc_desc {
unsigned bits:6;
unsigned ctxs:5;
@@ -53,6 +55,8 @@ static struct ramfc_desc {
struct nv10_fifo_priv {
struct nouveau_fifo_priv base;
struct ramfc_desc *ramfc_desc;
+ struct nouveau_gpuobj *ramro;
+ struct nouveau_gpuobj *ramfc;
};
struct nv10_fifo_chan {
@@ -83,7 +87,7 @@ nv10_fifo_context_new(struct nouveau_channel *chan, int engine)
}
/* initialise default fifo context */
- ret = nouveau_gpuobj_new_fake(dev, dev_priv->ramfc->pinst +
+ ret = nouveau_gpuobj_new_fake(dev, priv->ramfc->pinst +
chan->id * 32, ~0, 32,
NVOBJ_FLAG_ZERO_FREE, &fctx->ramfc);
if (ret)
@@ -118,12 +122,16 @@ int
nv10_fifo_create(struct drm_device *dev)
{
struct drm_nouveau_private *dev_priv = dev->dev_private;
+ struct nv04_instmem_priv *imem = dev_priv->engine.instmem.priv;
struct nv10_fifo_priv *priv;
priv = kzalloc(sizeof(*priv), GFP_KERNEL);
if (!priv)
return -ENOMEM;
+ nouveau_gpuobj_ref(imem->ramro, &priv->ramro);
+ nouveau_gpuobj_ref(imem->ramfc, &priv->ramfc);
+
priv->base.base.destroy = nv04_fifo_destroy;
priv->base.base.init = nv04_fifo_init;
priv->base.base.fini = nv04_fifo_fini;