aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_mem.h
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2017-11-01 03:56:19 +1000
committerBen Skeggs <bskeggs@redhat.com>2017-11-02 13:32:30 +1000
commitf9463a4bc8ea2df5ea25c4d6e0be72011e559b95 (patch)
tree35868b7e31f1f496ae2f18e446b34b350c18343c /drivers/gpu/drm/nouveau/nouveau_mem.h
parentdrm/nouveau/mmu: remove support for old backends (diff)
downloadlinux-dev-f9463a4bc8ea2df5ea25c4d6e0be72011e559b95.tar.xz
linux-dev-f9463a4bc8ea2df5ea25c4d6e0be72011e559b95.zip
drm/nouveau/mmu: implement new vmm frontend
These are the new priviledged interfaces to the VMM backends, and expose some functionality that wasn't previously available. It's now possible to allocate a chunk of address-space (even all of it), without causing page tables to be allocated up-front, and then map into it at arbitrary locations. This is the basic primitive used to support features such as sparse mapping, or to allow userspace control over its own address-space, or HMM (where the GPU driver isn't in control of the address-space layout). Rather than being tied to a subtle combination of memory object and VMA properties, arguments that control map flags (ro, kind, etc) are passed explicitly at map time. The compatibility hacks to implement the old frontend on top of the new driver backends have been replaced with something similar to implement the old frontend's interfaces on top of the new frontend. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_mem.h')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_mem.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_mem.h b/drivers/gpu/drm/nouveau/nouveau_mem.h
index 20930ebc5e21..48388c538420 100644
--- a/drivers/gpu/drm/nouveau/nouveau_mem.h
+++ b/drivers/gpu/drm/nouveau/nouveau_mem.h
@@ -1,6 +1,8 @@
#ifndef __NOUVEAU_MEM_H__
#define __NOUVEAU_MEM_H__
+#include <core/memory.h>
#include <subdev/fb.h>
+#include <subdev/mmu.h>
#include <drm/ttm/ttm_bo_api.h>
struct ttm_dma_tt;