drm/nouveau/fb/ram/mcp77: use carveout reg to determine size
authorBen Skeggs <bskeggs@redhat.com>
Thu, 11 Dec 2014 03:21:24 +0000 (13:21 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Sun, 21 Dec 2014 22:37:38 +0000 (08:37 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/core/subdev/fb/ramnvaa.c

index 8ee3d377f6f303129fb62f98daa3284ef101ecfd..f56ee552700622f085e7d29ba1660fdfffbb400b 100644 (file)
@@ -44,16 +44,15 @@ nvaa_ram_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
        if (ret)
                return ret;
 
-       priv->base.size = nv_rd32(pfb, 0x10020c);
-       priv->base.size = (priv->base.size & 0xffffff00) | ((priv->base.size & 0x000000ff) << 32);
+       priv->base.type   = NV_MEM_TYPE_STOLEN;
+       priv->base.stolen = (u64)nv_rd32(pfb, 0x100e10) << 12;
+       priv->base.size   = (u64)nv_rd32(pfb, 0x100e14) << 12;
 
        ret = nouveau_mm_init(&pfb->vram, rsvd_head, (priv->base.size >> 12) -
                              (rsvd_head + rsvd_tail), 1);
        if (ret)
                return ret;
 
-       priv->base.type   = NV_MEM_TYPE_STOLEN;
-       priv->base.stolen = (u64)nv_rd32(pfb, 0x100e10) << 12;
        priv->base.get = nv50_ram_get;
        priv->base.put = nv50_ram_put;
        return 0;