]> 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)
commit03bbcfb2aff54a54f9b7f52395d9993b915b2d41
tree4bd51901b98177c13c805fd61083156f0435d75a
parent9da3aa9d7437ff5b9d5902464f400d90a195d47b
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