aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2014-12-10 22:21:24 -0500
committerBen Skeggs <bskeggs@redhat.com>2014-12-21 17:37:38 -0500
commit5f3ac299c0b76addcf3706cb6cc9d04dad26dab0 (patch)
treeb18d66daacd6e11e5bb8f616493b0f327b57cdd1 /drivers/gpu/drm/nouveau
parent0b428011fa2b2f41d3f82ddf2c141fdf936dbaee (diff)
drm/nouveau/fb/ram/mcp77: use carveout reg to determine size
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau')
-rw-r--r--drivers/gpu/drm/nouveau/core/subdev/fb/ramnvaa.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnvaa.c b/drivers/gpu/drm/nouveau/core/subdev/fb/ramnvaa.c
index 8ee3d377f6f3..f56ee5527006 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnvaa.c
+++ b/drivers/gpu/drm/nouveau/core/subdev/fb/ramnvaa.c
@@ -44,16 +44,15 @@ nvaa_ram_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
44 if (ret) 44 if (ret)
45 return ret; 45 return ret;
46 46
47 priv->base.size = nv_rd32(pfb, 0x10020c); 47 priv->base.type = NV_MEM_TYPE_STOLEN;
48 priv->base.size = (priv->base.size & 0xffffff00) | ((priv->base.size & 0x000000ff) << 32); 48 priv->base.stolen = (u64)nv_rd32(pfb, 0x100e10) << 12;
49 priv->base.size = (u64)nv_rd32(pfb, 0x100e14) << 12;
49 50
50 ret = nouveau_mm_init(&pfb->vram, rsvd_head, (priv->base.size >> 12) - 51 ret = nouveau_mm_init(&pfb->vram, rsvd_head, (priv->base.size >> 12) -
51 (rsvd_head + rsvd_tail), 1); 52 (rsvd_head + rsvd_tail), 1);
52 if (ret) 53 if (ret)
53 return ret; 54 return ret;
54 55
55 priv->base.type = NV_MEM_TYPE_STOLEN;
56 priv->base.stolen = (u64)nv_rd32(pfb, 0x100e10) << 12;
57 priv->base.get = nv50_ram_get; 56 priv->base.get = nv50_ram_get;
58 priv->base.put = nv50_ram_put; 57 priv->base.put = nv50_ram_put;
59 return 0; 58 return 0;