mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-16 12:36:59 +07:00
eb813999f2
This is the common code to support a rework of the VMM backends. It adds support for more than 2 levels of page table nesting, which is required to be able to support GP100's MMU layout. Sparse mappings (that don't cause MMU faults when accessed) are now supported, where the backend provides it. Dual-PT handling had to become more sophisticated to support sparse, but this also allows us to support an optimisation the MMU provides on GK104 and newer. Certain operations can now be combined into a single page tree walk to avoid some overhead, but also enables optimsations like skipping PTE unmap writes when the PT will be destroyed anyway. The old backend has been hacked up to forward requests onto the new backend, if present, so that it's possible to bisect between issues in the backend changes vs the upcoming frontend changes. Until the new frontend has been merged, new backends will leak BAR2 page tables on module unload. This is expected, and it's not worth the effort of hacking around this as it doesn't effect runtime. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
73 lines
1.8 KiB
Plaintext
73 lines
1.8 KiB
Plaintext
config DRM_NOUVEAU
|
|
tristate "Nouveau (NVIDIA) cards"
|
|
depends on DRM && PCI && MMU
|
|
select FW_LOADER
|
|
select DRM_KMS_HELPER
|
|
select DRM_TTM
|
|
select FB_BACKLIGHT if DRM_NOUVEAU_BACKLIGHT
|
|
select ACPI_VIDEO if ACPI && X86 && BACKLIGHT_CLASS_DEVICE && INPUT
|
|
select X86_PLATFORM_DEVICES if ACPI && X86
|
|
select ACPI_WMI if ACPI && X86
|
|
select MXM_WMI if ACPI && X86
|
|
select POWER_SUPPLY
|
|
# Similar to i915, we need to select ACPI_VIDEO and it's dependencies
|
|
select BACKLIGHT_LCD_SUPPORT if ACPI && X86
|
|
select BACKLIGHT_CLASS_DEVICE if ACPI && X86
|
|
select INPUT if ACPI && X86
|
|
select THERMAL if ACPI && X86
|
|
select ACPI_VIDEO if ACPI && X86
|
|
select DRM_VM
|
|
help
|
|
Choose this option for open-source NVIDIA support.
|
|
|
|
config NOUVEAU_PLATFORM_DRIVER
|
|
bool "Nouveau (NVIDIA) SoC GPUs"
|
|
depends on DRM_NOUVEAU && ARCH_TEGRA
|
|
default y
|
|
help
|
|
Support for Nouveau platform driver, used for SoC GPUs as found
|
|
on NVIDIA Tegra K1.
|
|
|
|
config NOUVEAU_DEBUG
|
|
int "Maximum debug level"
|
|
depends on DRM_NOUVEAU
|
|
range 0 7
|
|
default 5
|
|
help
|
|
Selects the maximum debug level to compile support for.
|
|
|
|
0 - fatal
|
|
1 - error
|
|
2 - warning
|
|
3 - info
|
|
4 - debug
|
|
5 - trace (recommended)
|
|
6 - paranoia
|
|
7 - spam
|
|
|
|
The paranoia and spam levels will add a lot of extra checks which
|
|
may potentially slow down driver operation.
|
|
|
|
config NOUVEAU_DEBUG_DEFAULT
|
|
int "Default debug level"
|
|
depends on DRM_NOUVEAU
|
|
range 0 7
|
|
default 3
|
|
help
|
|
Selects the default debug level
|
|
|
|
config NOUVEAU_DEBUG_MMU
|
|
bool "Enable additional MMU debugging"
|
|
depends on DRM_NOUVEAU
|
|
default n
|
|
help
|
|
Say Y here if you want to enable verbose MMU debug output.
|
|
|
|
config DRM_NOUVEAU_BACKLIGHT
|
|
bool "Support for backlight control"
|
|
depends on DRM_NOUVEAU
|
|
default y
|
|
help
|
|
Say Y here if you want to control the backlight of your display
|
|
(e.g. a laptop panel).
|