summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2014-08-12 13:40:42 +1000
committerBen Skeggs <bskeggs@redhat.com>2014-08-25 08:37:32 +1000
commit62694af6535be8684b5236381da37b6f3d5fe7af (patch)
treea695780d6c3fc6ac1dc111a66be71e06cd0afa23
parent39990d1f5392b9402f90052555a5cbd77745522c (diff)
downloadnouveau-62694af6535be8684b5236381da37b6f3d5fe7af.tar.gz
core/mm: modify test for if building a mm with holes in it
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--nvkm/core/mm.c4
-rw-r--r--nvkm/subdev/fb/ramnvc0.c2
2 files changed, 4 insertions, 2 deletions
diff --git a/nvkm/core/mm.c b/nvkm/core/mm.c
index 6692eb43e..cdd0c9ad0 100644
--- a/nvkm/core/mm.c
+++ b/nvkm/core/mm.c
@@ -211,7 +211,9 @@ nouveau_mm_init(struct nouveau_mm *mm, u32 offset, u32 length, u32 block)
{
struct nouveau_mm_node *node;
- if (block) {
+ if (nouveau_mm_initialised(mm)) {
+ BUG_ON(block != mm->block_size);
+ } else {
INIT_LIST_HEAD(&mm->nodes);
INIT_LIST_HEAD(&mm->free);
mm->block_size = block;
diff --git a/nvkm/subdev/fb/ramnvc0.c b/nvkm/subdev/fb/ramnvc0.c
index 2b284b192..8007f610d 100644
--- a/nvkm/subdev/fb/ramnvc0.c
+++ b/nvkm/subdev/fb/ramnvc0.c
@@ -562,7 +562,7 @@ nvc0_ram_create_(struct nouveau_object *parent, struct nouveau_object *engine,
offset = (0x0200000000ULL >> 12) + (bsize << 8);
length = (ram->size >> 12) - ((bsize * parts) << 8) - rsvd_tail;
- ret = nouveau_mm_init(&pfb->vram, offset, length, 0);
+ ret = nouveau_mm_init(&pfb->vram, offset, length, 1);
if (ret)
nouveau_mm_fini(&pfb->vram);
}