]> git.baikalelectronics.ru Git - kernel.git/commit
drm/nouveau/svm: initial support for shared virtual memory
authorBen Skeggs <bskeggs@redhat.com>
Thu, 5 Jul 2018 02:57:12 +0000 (12:57 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Tue, 19 Feb 2019 23:00:02 +0000 (09:00 +1000)
commit1380e9c28b71ab3c1a2eb947762f9012ffb3575d
tree4bd51901b98177c13c805fd61083156f0435d75a
parentabf21cfbb9469bb1ec8f8d97636570db69abb459
drm/nouveau/svm: initial support for shared virtual memory

This uses HMM to mirror a process' CPU page tables into a channel's page
tables, and keep them synchronised so that both the CPU and GPU are able
to access the same memory at the same virtual address.

While this code also supports Volta/Turing, it's only enabled for Pascal
GPUs currently due to channel recovery being unreliable right now on the
later GPUs.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/Kbuild
drivers/gpu/drm/nouveau/Kconfig
drivers/gpu/drm/nouveau/nouveau_chan.c
drivers/gpu/drm/nouveau/nouveau_drm.c
drivers/gpu/drm/nouveau/nouveau_drv.h
drivers/gpu/drm/nouveau/nouveau_svm.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/nouveau_svm.h [new file with mode: 0644]
drivers/gpu/drm/nouveau/nouveau_vmm.c
drivers/gpu/drm/nouveau/nouveau_vmm.h
include/uapi/drm/nouveau_drm.h