drm/nouveau/ltc: fix tag base address getting truncated if above 4GiB
authorBen Skeggs <bskeggs@redhat.com>
Mon, 11 Aug 2014 23:27:54 +0000 (09:27 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Thu, 14 Aug 2014 21:58:39 +0000 (07:58 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/core/subdev/ltc/gf100.c

index 9e00a1ede1202c93ef2ba190d4a3bd5bc03b183d..b54b582e72c4764e040769718d6dca566f1bb840 100644 (file)
@@ -156,7 +156,7 @@ gf100_ltc_init_tag_ram(struct nouveau_fb *pfb, struct nvkm_ltc_priv *priv)
        if (ret) {
                priv->num_tags = 0;
        } else {
-               u64 tag_base = (priv->tag_ram->offset << 12) + tag_margin;
+               u64 tag_base = ((u64)priv->tag_ram->offset << 12) + tag_margin;
 
                tag_base += tag_align - 1;
                ret = do_div(tag_base, tag_align);