Commit 78a121d8 authored by Ilia Mirkin's avatar Ilia Mirkin Committed by Ben Skeggs

drm/nouveau/core: use vzalloc for allocating ramht

Most calls to nvkm_ramht_new use 0x8000 as the size. This results in a
fairly sizeable chunk of memory to be allocated, which may not be
available with kzalloc. Since this is done fairly rarely (once per
channel), use vzalloc instead.
Signed-off-by: default avatarIlia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 2bf1833e
...@@ -131,7 +131,7 @@ nvkm_ramht_del(struct nvkm_ramht **pramht) ...@@ -131,7 +131,7 @@ nvkm_ramht_del(struct nvkm_ramht **pramht)
struct nvkm_ramht *ramht = *pramht; struct nvkm_ramht *ramht = *pramht;
if (ramht) { if (ramht) {
nvkm_gpuobj_del(&ramht->gpuobj); nvkm_gpuobj_del(&ramht->gpuobj);
kfree(*pramht); vfree(*pramht);
*pramht = NULL; *pramht = NULL;
} }
} }
...@@ -143,8 +143,8 @@ nvkm_ramht_new(struct nvkm_device *device, u32 size, u32 align, ...@@ -143,8 +143,8 @@ nvkm_ramht_new(struct nvkm_device *device, u32 size, u32 align,
struct nvkm_ramht *ramht; struct nvkm_ramht *ramht;
int ret, i; int ret, i;
if (!(ramht = *pramht = kzalloc(sizeof(*ramht) + (size >> 3) * if (!(ramht = *pramht = vzalloc(sizeof(*ramht) +
sizeof(*ramht->data), GFP_KERNEL))) (size >> 3) * sizeof(*ramht->data))))
return -ENOMEM; return -ENOMEM;
ramht->device = device; ramht->device = device;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment