summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/include/nvif/vmm.h
Commit message (Collapse)AuthorAgeFilesLines
* drm/nouveau: nvkm/vmm: implement raw ops to manage uvmmDanilo Krummrich2023-08-041-2/+17
| | | | | | | | | | | | | | The new VM_BIND UAPI uses the DRM GPU VA manager to manage the VA space. Hence, we a need a way to manipulate the MMUs page tables without going through the internal range allocator implemented by nvkm/vmm. This patch adds a raw interface for nvkm/vmm to pass the resposibility for managing the address space and the corresponding map/unmap/sparse operations to the upper layers. Reviewed-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Danilo Krummrich <dakr@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230804182406.5222-11-dakr@redhat.com
* drm/nouveau/nvif: give every vmm object a human-readable identifierBen Skeggs2020-07-241-3/+3
| | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
* drm/nouveau/mmu: support initialisation of client-managed address-spacesBen Skeggs2019-02-201-2/+2
| | | | | | | | | | | | | | | | 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>
* drm/nouveau/mmu: define user interfaces to mmu vmm opertaionsBen Skeggs2017-11-021-0/+42
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>