diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2014-08-12 13:54:37 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2014-09-15 22:22:13 +1000 |
commit | 13dfe1286d1ea1af4c9330b039c2316d0d92c484 (patch) | |
tree | ab5ef2e11438b384b9f1b6c394563ac53e1fcc93 /drivers/gpu/drm/nouveau/core/include | |
parent | d7bda18c9102b65078c132fd7d7ffd835058f021 (diff) |
drm/nouveau/core/mm: fill in holes with "allocated" nodes
The allocation algorithm doesn't expect there to be holes in the mm, which
causes its alignment/cutoff calculations to choke (and go negative) when
encountering the last chunk of a block before a hole.
The least expensive solution is to simply fill in any holes with nodes
that are pre-marked as being allocated.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/core/include')
-rw-r--r-- | drivers/gpu/drm/nouveau/core/include/core/mm.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/core/include/core/mm.h b/drivers/gpu/drm/nouveau/core/include/core/mm.h index 7848c0402497..d4ef40460e42 100644 --- a/drivers/gpu/drm/nouveau/core/include/core/mm.h +++ b/drivers/gpu/drm/nouveau/core/include/core/mm.h @@ -7,6 +7,7 @@ struct nouveau_mm_node { struct list_head rl_entry; #define NVKM_MM_TYPE_NONE 0x00 +#define NVKM_MM_TYPE_HOLE 0xff u8 type; u32 offset; u32 length; |