aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nvkm/core/mm.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2015-10-03 17:34:25 +1000
committerBen Skeggs <bskeggs@redhat.com>2017-02-17 15:15:01 +1000
commit134fdc1a704f0042465ea993c33540aaec7e1d2e (patch)
tree57be6d4e191f68f4cf89d07c8c0c8bfdb9eb872b /drivers/gpu/drm/nouveau/nvkm/core/mm.c
parentdrm/nouveau/core/client: allow creation of subclients (diff)
downloadlinux-dev-134fdc1a704f0042465ea993c33540aaec7e1d2e.tar.xz
linux-dev-134fdc1a704f0042465ea993c33540aaec7e1d2e.zip
drm/nouveau/core/mm: replace region list with next pointer
We never have any need for a double-linked list here, and as there's generally a large number of these objects, replace it with a single- linked list in order to save some memory. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/core/mm.c')
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/core/mm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/core/mm.c b/drivers/gpu/drm/nouveau/nvkm/core/mm.c
index 09a1eee8fd33..fd19d652a7ab 100644
--- a/drivers/gpu/drm/nouveau/nvkm/core/mm.c
+++ b/drivers/gpu/drm/nouveau/nvkm/core/mm.c
@@ -147,6 +147,7 @@ nvkm_mm_head(struct nvkm_mm *mm, u8 heap, u8 type, u32 size_max, u32 size_min,
if (!this)
return -ENOMEM;
+ this->next = NULL;
this->type = type;
list_del(&this->fl_entry);
*pnode = this;
@@ -225,6 +226,7 @@ nvkm_mm_tail(struct nvkm_mm *mm, u8 heap, u8 type, u32 size_max, u32 size_min,
if (!this)
return -ENOMEM;
+ this->next = NULL;
this->type = type;
list_del(&this->fl_entry);
*pnode = this;