linux_dsm_epyc7002/drivers/gpu/drm/nouveau
Ben Skeggs f9463a4bc8 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>
2017-11-02 13:32:30 +10:00
..
dispnv04 drm/nouveau/core/object: allow arguments to be passed to map function 2017-11-02 13:32:16 +10:00
include drm/nouveau/mmu: implement new vmm frontend 2017-11-02 13:32:30 +10:00
nvif drm/nouveau/core/object: allow arguments to be passed to map function 2017-11-02 13:32:16 +10:00
nvkm drm/nouveau/mmu: implement new vmm frontend 2017-11-02 13:32:30 +10:00
Kbuild drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
Kconfig drm/nouveau/mmu: implement new vmm backend 2017-11-02 13:32:27 +10:00
nouveau_abi16.c drm/nouveau/core/mm: have users explicitly define heap identifiers 2017-11-02 13:32:22 +10:00
nouveau_abi16.h drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nouveau_acpi.c ACPI: Switch to use generic guid_t in acpi_evaluate_dsm() 2017-06-07 12:20:49 +02:00
nouveau_acpi.h
nouveau_backlight.c drm/nouveau: allocate device object for every client 2017-02-17 15:15:04 +10:00
nouveau_bios.c drm/nouveau/kms: add 8.1Gbps DP link rate 2017-11-02 13:32:15 +10:00
nouveau_bios.h
nouveau_bo.c drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nouveau_bo.h drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nouveau_chan.c drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nouveau_chan.h drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nouveau_connector.c drm: Pass struct drm_file * to __drm_mode_object_find [v2] 2017-10-12 10:03:04 +10:00
nouveau_connector.h
nouveau_crtc.h drm: nouveau: remove dead code and pointless local lut storage 2017-08-04 11:36:11 +02:00
nouveau_debugfs.c drm/nouveau: Remove nouveau_drm_debugfs_cleanup() 2017-03-01 16:09:52 +01:00
nouveau_debugfs.h drm/nouveau: Remove nouveau_drm_debugfs_cleanup() 2017-03-01 16:09:52 +01:00
nouveau_display.c drm/nouveau/kms/nv04-nv40: prevent undisplayable framebuffers from creation 2017-08-22 18:04:34 +10:00
nouveau_display.h drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nouveau_dma.c drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nouveau_dma.h drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nouveau_dp.c
nouveau_drm.c drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nouveau_drv.h drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nouveau_encoder.h drm/nouveau/disp: introduce acquire/release display path methods 2017-06-16 14:04:57 +10:00
nouveau_fbcon.c drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nouveau_fbcon.h
nouveau_fence.c drm/nouveau: remove unused sysmem fence code 2017-11-02 13:32:20 +10:00
nouveau_fence.h drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nouveau_gem.c drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nouveau_gem.h drm/nouveau: split various bo flags out into their own members 2017-11-02 13:32:20 +10:00
nouveau_hwmon.c drm/nouveau/hwmon: Change permissions to numeric 2017-06-16 14:05:03 +10:00
nouveau_hwmon.h
nouveau_ioc32.c
nouveau_ioctl.h
nouveau_led.c drm/nouveau/drm/nouveau/led: prevent a possible use-after-free 2017-02-17 17:38:07 +10:00
nouveau_led.h
nouveau_mem.c drm/nouveau/mmu: remove support for old backends 2017-11-02 13:32:30 +10:00
nouveau_mem.h drm/nouveau/mmu: implement new vmm frontend 2017-11-02 13:32:30 +10:00
nouveau_nvif.c
nouveau_platform.c drm/nouveau/platform: support for probing GP10B 2017-04-06 14:39:04 +10:00
nouveau_platform.h
nouveau_prime.c drm/nouveau: pass nvif_client to nouveau_bo_new() instead of drm_device 2017-02-17 15:15:02 +10:00
nouveau_reg.h
nouveau_sgdma.c drm/nouveau: separate buffer object backing memory from nvkm structures 2017-11-02 13:32:21 +10:00
nouveau_ttm.c drm/nouveau: allocate vram with nvkm_ram_get() 2017-11-02 13:32:23 +10:00
nouveau_ttm.h
nouveau_usif.c drm: Remove drm_pending_event->pid 2017-03-14 14:38:33 +01:00
nouveau_usif.h
nouveau_vga.c drm/nouveau: Skip vga_fini on non-PCI device 2017-06-16 14:05:04 +10:00
nouveau_vga.h
nouveau_vmm.c drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nouveau_vmm.h drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nv04_fbcon.c drm/nouveau: allocate device object for every client 2017-02-17 15:15:04 +10:00
nv04_fence.c
nv10_fence.c
nv10_fence.h
nv17_fence.c drm/nouveau: s/mem/reg/ for struct ttm_mem_reg variables 2017-02-17 15:15:04 +10:00
nv50_display.c drm/nouveau: split various bo flags out into their own members 2017-11-02 13:32:20 +10:00
nv50_display.h
nv50_fbcon.c drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nv50_fence.c drm/nouveau: s/mem/reg/ for struct ttm_mem_reg variables 2017-02-17 15:15:04 +10:00
nv84_fence.c drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nvc0_fbcon.c drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nvc0_fence.c