linux/drivers/gpu/drm/nouveau/nvif
Ben Skeggs 2606f29162 drm/nouveau/mmu: support initialisation of client-managed address-spaces
NVKM is currently responsible for managing the allocation of a client's
GPU address-space, but there's various use-cases (ie. HMM address-space
mirroring) where giving a client more direct control is desirable.

This commit allows for a VMM to be created where the area allocated for
NVKM is limited to a client-specified window, the remainder of address-
space is controlled directly by the client.

Leaving a window is necessary to support various internal requirements,
but also to support existing allocation interfaces as not all of the HW
is capable of working with a HMM allocation.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2019-02-20 09:00:00 +10:00
..
client.c drm/nouveau/core/client: allow creation of subclients 2017-02-17 15:15:00 +10:00
device.c drm/nouveau/fifo/gv100: initial support 2018-05-18 15:01:46 +10:00
disp.c drm/nouveau/disp/tu102: rename implementation from tu104 2019-02-20 08:59:58 +10:00
driver.c drm/nouveau/core/client: allow creation of subclients 2017-02-17 15:15:00 +10:00
fifo.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
Kbuild drm/nouveau/fifo/gv100: initial support 2018-05-18 15:01:46 +10:00
mem.c drm/nouveau/disp/nv50-: pass nvkm_memory objects for channel push buffers 2018-05-18 15:01:21 +10:00
mmu.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
notify.c drm/nouveau: fix notify data leak 2016-11-07 14:04:37 +10:00
object.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
user.c drm/nouveau/fifo/gv100: initial support 2018-05-18 15:01:46 +10:00
userc361.c drm/nouveau/fifo/gv100: initial support 2018-05-18 15:01:46 +10:00
vmm.c drm/nouveau/mmu: support initialisation of client-managed address-spaces 2019-02-20 09:00:00 +10:00