mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-23 18:16:01 +03:00
Support exporting and importing semaphore-based synchronization with the stable dma-fence API. The "Android" sync fence API used until now is deprecated. The Android sync framework is still kept as the default. Jira NVGPU-5353 Change-Id: I9e57947adeb4d2ef5d59135ed7d008553c44f97c Signed-off-by: Konsta Hölttä <kholtta@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2336119 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
269 lines
6.5 KiB
Plaintext
269 lines
6.5 KiB
Plaintext
config GK20A
|
|
tristate "Nvidia GK20A GPU support"
|
|
default n
|
|
help
|
|
Choose this option if you have an SoC with integrated
|
|
Nvidia GPU IP.
|
|
|
|
config GK20A_PMU
|
|
bool "Support GK20A PMU"
|
|
depends on GK20A
|
|
default n
|
|
help
|
|
Say Y here to enable GK20A PMU features.
|
|
|
|
choice
|
|
depends on GK20A
|
|
prompt "Enable GK20A frequency scaling"
|
|
default GK20A_DEVFREQ
|
|
optional
|
|
help
|
|
Select this entry to enable gk20a scaling
|
|
|
|
config GK20A_DEVFREQ
|
|
depends on COMMON_CLK && PM_DEVFREQ
|
|
bool "Use Devfreq"
|
|
help
|
|
Select this to use devfreq based scaling.
|
|
Devfreq is a common framework that allows using
|
|
variety of different governors and changing
|
|
between governors on the fly. By default, no
|
|
governor is selected.
|
|
|
|
endchoice
|
|
|
|
config GK20A_PM_QOS
|
|
depends on GK20A_DEVFREQ
|
|
bool "Use PM_QOS constraints for devfreq based scaling"
|
|
default y
|
|
help
|
|
Enable support to pass PM_QOS constraints to devfreq based
|
|
scaling.
|
|
|
|
config NVGPU_TRACK_MEM_USAGE
|
|
bool "Track the usage of system memory in nvgpu"
|
|
depends on GK20A
|
|
default n
|
|
help
|
|
Say Y here to allow nvgpu to track and keep statistics on
|
|
the system memory used by the driver. This does recreate
|
|
some of the kmem_leak tracking but this is also applicable
|
|
to other OSes which do not have Linux' kmem_leak.
|
|
|
|
|
|
config NVGPU_CYCLESTATS
|
|
bool "Support GPU CYCLE STATS"
|
|
depends on GK20A
|
|
default y
|
|
help
|
|
Say Y here to enable the cycle stats debugging features.
|
|
|
|
config NVGPU_FECS_TRACE
|
|
bool "Support NVGPU FECS Context Switch tracing"
|
|
depends on GK20A
|
|
default y
|
|
help
|
|
Enable support for the NVGPU Context Switch Tracing. In this mode,
|
|
FECS collects timestamps for contexts loaded on GR engine. This
|
|
allows tracking context switches on GR engine, as well as
|
|
identifying processes that submitted work.
|
|
|
|
config TEGRA_GK20A_NVHOST
|
|
bool "Support interfacing with nvhost hardware"
|
|
depends on TEGRA_GRHOST || TEGRA_HOST1X
|
|
depends on GK20A
|
|
default y
|
|
help
|
|
Enable support in GK20A for the nvhost (host1x) dma engine hardware
|
|
that includes things like hardware syncpts. This requires either
|
|
TEGRA_GRHOST or TEGRA_HOST1X.
|
|
|
|
config TEGRA_GK20A
|
|
bool "Enable the GK20A GPU on Tegra"
|
|
depends on GK20A
|
|
default y
|
|
help
|
|
Enable support for the GK20A graphics engine on Tegra
|
|
by adding a Tegra platfrom interface to the GK20A driver.
|
|
|
|
config TEGRA_ACR
|
|
bool "Enable HS bin support on GM20B GPU on Tegra"
|
|
depends on GK20A && GK20A_PMU
|
|
default n
|
|
help
|
|
Enable Support for Loading High Secure binary, and using
|
|
Write Protected Regions (WPR) for storing ucodes, and bootstrap
|
|
PMU, FECS and GPCCS in Low Secure mode.
|
|
|
|
config TEGRA_USE_NA_GPCPLL
|
|
bool "Enable noise aware mode of GM20B GPCPLL on Tegra"
|
|
depends on GK20A
|
|
depends on COMMON_CLK
|
|
default n
|
|
help
|
|
Enable noise aware (NA) mode of GM20b GPCPLL. In this mode PLL output
|
|
frequency is automatically adjusted when GM20b voltage is fluctuating
|
|
because of transient PMIC or power distribution tree noise.
|
|
|
|
config GK20A_PCI
|
|
bool "Support PCIe NVIDIA GPUs on nvgpu"
|
|
depends on PCI && GK20A
|
|
default y
|
|
help
|
|
Enable support for GPUs on PCIe bus.
|
|
|
|
config GK20A_TRACE_PRINTK
|
|
bool "Support trace_printk debugging"
|
|
depends on GK20A && TRACING
|
|
default n
|
|
help
|
|
Enable nvgpu debug facility to redirect debug spew to ftrace. This
|
|
affects kernel memory use, so should not be enabled by default.
|
|
|
|
config NVGPU_USE_TEGRA_ALLOC_FD
|
|
bool "Use tegra_alloc_fd() for allocating dma_buf fds for vidmem"
|
|
depends on GK20A
|
|
depends on NV_TEGRA_MC
|
|
default y
|
|
help
|
|
Use tegra_alloc_fd() for allocating dma_buf fds. This allocates
|
|
the fds above 1024 which exempts them from counting against process
|
|
fd limit.
|
|
|
|
It is only available in Tegra kernel.
|
|
|
|
config NVGPU_SUPPORT_TURING
|
|
bool "Turing family GPU"
|
|
depends on GK20A && ARCH_TEGRA_19x_SOC
|
|
default y
|
|
help
|
|
Support for NVIDIA Turing family of GPU
|
|
|
|
config NVGPU_DEBUGGER
|
|
bool "Support debugger APIs"
|
|
depends on GK20A
|
|
default y
|
|
help
|
|
Support for debugger APIs
|
|
|
|
config NVGPU_LS_PMU
|
|
bool "LS PMU support"
|
|
depends on GK20A
|
|
default y
|
|
help
|
|
Support for iGPU LS PMU enable/disable
|
|
|
|
config NVGPU_LOGGING
|
|
bool "NVGPU logging"
|
|
depends on GK20A
|
|
default y
|
|
help
|
|
Enable/Disable NVGPU logging
|
|
|
|
config NVGPU_HAL_NON_FUSA
|
|
bool "Support non-functionally safe HALs"
|
|
depends on GK20A
|
|
default y
|
|
help
|
|
Enable/Disable the support of HALs from chips that do not have functional
|
|
safety certification
|
|
|
|
config NVGPU_RECOVERY
|
|
bool "Recovery support"
|
|
depends on GK20A
|
|
default y
|
|
help
|
|
Support recovery on failure (which may involve engine reset)
|
|
|
|
config NVGPU_NVLINK
|
|
bool "Nvlink support"
|
|
depends on TEGRA_NVLINK
|
|
default y
|
|
help
|
|
Support Nvlink
|
|
|
|
config NVGPU_GR_VIRTUALIZATION
|
|
bool "NVGPU Virtualization Support"
|
|
depends on TEGRA_GR_VIRTUALIZATION
|
|
default y
|
|
help
|
|
Support NVGPU Virtualization
|
|
|
|
config NVGPU_DMABUF_HAS_DRVDATA
|
|
bool "NVGPU DMABUF private driver data support"
|
|
depends on GK20A
|
|
default y
|
|
help
|
|
Support NVGPU DMABUF private driver data needed for compression
|
|
|
|
config NVGPU_COMPRESSION
|
|
bool "Compression support"
|
|
depends on GK20A
|
|
depends on NVGPU_DMABUF_HAS_DRVDATA
|
|
default y
|
|
help
|
|
Support for compression
|
|
|
|
config NVGPU_SUPPORT_CDE
|
|
bool "Support extraction of comptags for CDE"
|
|
depends on GK20A
|
|
depends on NVGPU_COMPRESSION
|
|
default y
|
|
help
|
|
Enable support for extraction of comptags for CDE.
|
|
|
|
config NVGPU_DGPU
|
|
bool "NVGPU DGPU support"
|
|
depends on GK20A
|
|
depends on GK20A_PCI
|
|
default y
|
|
help
|
|
Support for NVGPU DGPU
|
|
|
|
config NVGPU_VPR
|
|
bool "NVGPU VPR support"
|
|
depends on GK20A
|
|
default y
|
|
help
|
|
Support for NVGPU VPR
|
|
|
|
config NVGPU_TEGRA_FUSE
|
|
bool "Tegra fuse Support"
|
|
depends on GK20A
|
|
default y
|
|
help
|
|
Support Tegra fuse
|
|
|
|
choice
|
|
prompt "Supported sync fence backend"
|
|
default NVGPU_SYNCFD_ANDROID
|
|
depends on GK20A
|
|
help
|
|
GPU job synchronization (fences before and after submits) can use raw
|
|
syncpoints if available and sync fds if chosen. Without syncpoints,
|
|
nvgpu also provides semaphore-backed sync fds to userspace.
|
|
|
|
Select which kernel-provided API is used for sync fds. Matching
|
|
support is required for the userspace drivers too.
|
|
|
|
config NVGPU_SYNCFD_STABLE
|
|
bool "Upstream stabilized SYNC_FILE"
|
|
depends on SYNC_FILE
|
|
help
|
|
Select CONFIG_SYNC_FILE, the cross-driver "Explicit Synchronization
|
|
Framework" stabilized upstream from the Android sync since v4.9.
|
|
|
|
config NVGPU_SYNCFD_ANDROID
|
|
bool "Android SYNC"
|
|
depends on SYNC
|
|
help
|
|
Select CONFIG_SYNC, the legacy synchronization framework provided by
|
|
Android (and deprecated in Linux 4.9+ in favor of dma fences and the
|
|
stabilized SYNC_FILE).
|
|
|
|
config NVGPU_SYNCFD_NONE
|
|
bool "Nothing"
|
|
help
|
|
Do not build in support for sync fences.
|
|
endchoice
|