drm/nouveau/fb/ram/gp100-: fix memory detection where FBP_NUM != FBPA_NUM
authorBen Skeggs <bskeggs@redhat.com>
Mon, 21 Nov 2016 01:01:33 +0000 (11:01 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Mon, 28 Nov 2016 05:39:35 +0000 (15:39 +1000)
In this situation, we'd have ended up detecting less VRAM than we have.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp100.c

index f3be408b5e5e8e463e2cf6cc43cde275f16a6102..405faabe8dcd63ffb5a98017d41a9f98fba92b15 100644 (file)
@@ -92,13 +92,13 @@ gp100_ram_new(struct nvkm_fb *fb, struct nvkm_ram **pram)
        enum nvkm_ram_type type = nvkm_fb_bios_memtype(device->bios);
        const u32 rsvd_head = ( 256 * 1024); /* vga memory */
        const u32 rsvd_tail = (1024 * 1024); /* vbios etc */
-       u32 fbpa_num = nvkm_rd32(device, 0x022438), fbpa;
+       u32 fbpa_num = nvkm_rd32(device, 0x02243c), fbpa;
        u32 fbio_opt = nvkm_rd32(device, 0x021c14);
        u64 part, size = 0, comm = ~0ULL;
        bool mixed = false;
        int ret;
 
-       nvkm_debug(subdev, "022438: %08x\n", fbpa_num);
+       nvkm_debug(subdev, "02243c: %08x\n", fbpa_num);
        nvkm_debug(subdev, "021c14: %08x\n", fbio_opt);
        for (fbpa = 0; fbpa < fbpa_num; fbpa++) {
                if (!(fbio_opt & (1 << fbpa))) {