mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 09:12:24 +03:00
Open source GPL/LGPL release
This commit is contained in:
319
drivers/gpu/nvgpu/Makefile.shared.configs
Normal file
319
drivers/gpu/nvgpu/Makefile.shared.configs
Normal file
@@ -0,0 +1,319 @@
|
||||
#
|
||||
# Copyright (c) 2019-2021, NVIDIA CORPORATION. All rights reserved.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
# and/or sell copies of the Software, and to permit persons to whom the
|
||||
# Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
# DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
# This file defines the make variables and cflags applicable to nvgpu common
|
||||
# shared by qnx, nvgpu userspace, test builds. Note that cflags are added to
|
||||
# variable NVGPU_COMMON_CFLAGS that needs to be used by the parent Makefile
|
||||
# to update corresponding cflags variable.
|
||||
|
||||
# Default is the regular profile. That can be overridden if necessary. by
|
||||
# setting the NVGPU_FORCE_SAFETY_PROFILE. This is a useful hack while we
|
||||
# wait for the userspace tmake build to make its way into a proper safety
|
||||
# profile build.
|
||||
profile := default
|
||||
|
||||
# Decide whether to use the safety release, safety debug or the regular profile.
|
||||
ifeq ($(NV_BUILD_CONFIGURATION_IS_SAFETY),1)
|
||||
profile := safety_release
|
||||
ifeq ($(NV_BUILD_CONFIGURATION_IS_DEBUG),1)
|
||||
profile := safety_debug
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(NVGPU_FORCE_SAFETY_PROFILE),1)
|
||||
profile := safety_release
|
||||
ifeq ($(NVGPU_FORCE_DEBUG_PROFILE),1)
|
||||
profile := safety_debug
|
||||
endif
|
||||
endif
|
||||
|
||||
NVGPU_COMMON_CFLAGS :=
|
||||
|
||||
#
|
||||
# Flags always enabled regardless of build profile.
|
||||
#
|
||||
|
||||
NVGPU_COMMON_CFLAGS += \
|
||||
-DCONFIG_TEGRA_GK20A_PMU=1 \
|
||||
-DCONFIG_TEGRA_ACR=1 \
|
||||
-DCONFIG_NVGPU_GR_VIRTUALIZATION \
|
||||
-DCONFIG_PCI_MSI
|
||||
|
||||
CONFIG_NVGPU_LOGGING := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_LOGGING
|
||||
|
||||
# Syncpoint support provided by nvhost is expected to exist.
|
||||
CONFIG_TEGRA_GK20A_NVHOST := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_TEGRA_GK20A_NVHOST
|
||||
|
||||
# Syncfds are a Linux feature.
|
||||
CONFIG_NVGPU_SYNCFD_NONE := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_SYNCFD_NONE
|
||||
|
||||
CONFIG_NVGPU_GRAPHICS := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_GRAPHICS
|
||||
|
||||
ifeq ($(profile),$(filter $(profile),safety_debug safety_release))
|
||||
|
||||
# Enable golden context verification only for safety debug/release build
|
||||
NVGPU_COMMON_CFLAGS += \
|
||||
-DCONFIG_NVGPU_GR_GOLDEN_CTX_VERIFICATION \
|
||||
-DCONFIG_NVGPU_BUILD_CONFIGURATION_IS_SAFETY
|
||||
|
||||
## For tesing of CTXSW FW error codes manually, enable below configs in safety build.
|
||||
## Enable only one config at a time, because only one error can be tested at a time.
|
||||
# NVGPU_COMMON_CFLAGS += \
|
||||
# -DCONFIG_NVGPU_CTXSW_FW_ERROR_WDT_TESTING
|
||||
#
|
||||
# NVGPU_COMMON_CFLAGS += \
|
||||
# -DCONFIG_NVGPU_CTXSW_FW_ERROR_CODE_TESTING
|
||||
#
|
||||
# NVGPU_COMMON_CFLAGS += \
|
||||
# -DCONFIG_NVGPU_CTXSW_FW_ERROR_HEADER_TESTING
|
||||
|
||||
ifeq ($(CONFIG_NVGPU_DGPU),1)
|
||||
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_DGPU
|
||||
|
||||
CONFIG_NVGPU_NVLINK := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_NVLINK
|
||||
|
||||
# used by sec2 code
|
||||
CONFIG_NVGPU_ENGINE_QUEUE := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_ENGINE_QUEUE
|
||||
|
||||
# used in ce_app
|
||||
CONFIG_NVGPU_FENCE := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_FENCE
|
||||
|
||||
# ce_app uses syncpt (nvgpu_nvhost_syncpt_wait_timeout_ext)
|
||||
CONFIG_NVGPU_KERNEL_MODE_SUBMIT := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_KERNEL_MODE_SUBMIT
|
||||
|
||||
CONFIG_NVGPU_FALCON_NON_FUSA := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_FALCON_NON_FUSA
|
||||
|
||||
CONFIG_NVGPU_GR_FALCON_NON_SECURE_BOOT := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_GR_FALCON_NON_SECURE_BOOT
|
||||
|
||||
CONFIG_NVGPU_SM_DIVERSITY := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_SM_DIVERSITY
|
||||
|
||||
CONFIG_NVGPU_USE_3LSS_ERR_INJECTION := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_USE_3LSS_ERR_INJECTION
|
||||
|
||||
CONFIG_NVGPU_LS_PMU := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_LS_PMU
|
||||
|
||||
CONFIG_NVGPU_CLK_ARB := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_CLK_ARB
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
CONFIG_NVGPU_TEGRA_FUSE := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_TEGRA_FUSE
|
||||
|
||||
#
|
||||
# Flags enabled only for safety debug and regular build profile.
|
||||
#
|
||||
ifneq ($(profile),safety_release)
|
||||
|
||||
CONFIG_NVGPU_TRACE := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_TRACE
|
||||
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_FALCON_DEBUG
|
||||
|
||||
#
|
||||
# Flags enabled only for regular build profile.
|
||||
#
|
||||
ifneq ($(profile),safety_debug)
|
||||
|
||||
CONFIG_NVGPU_SYSFS := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_SYSFS
|
||||
|
||||
# ACR feature to enable old tegra ACR profile support
|
||||
CONFIG_NVGPU_ACR_LEGACY := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_ACR_LEGACY
|
||||
|
||||
CONFIG_NVGPU_ENGINE_QUEUE := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_ENGINE_QUEUE
|
||||
|
||||
CONFIG_NVGPU_DEBUGGER := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_DEBUGGER
|
||||
|
||||
CONFIG_NVGPU_PROFILER := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_PROFILER
|
||||
|
||||
CONFIG_NVGPU_RECOVERY := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_RECOVERY
|
||||
|
||||
CONFIG_NVGPU_CILP := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_CILP
|
||||
|
||||
CONFIG_NVGPU_GFXP := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_GFXP
|
||||
|
||||
CONFIG_NVGPU_CYCLESTATS := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_CYCLESTATS
|
||||
|
||||
CONFIG_NVGPU_FECS_TRACE := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_FECS_TRACE
|
||||
|
||||
ifneq ($(CONFIG_NVGPU_DGPU),1)
|
||||
CONFIG_NVGPU_IGPU_VIRT := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_IGPU_VIRT
|
||||
endif
|
||||
|
||||
# Enable the usage of 3LSS error injection features.
|
||||
CONFIG_NVGPU_USE_3LSS_ERR_INJECTION := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_USE_3LSS_ERR_INJECTION
|
||||
|
||||
# Enable nvlink support for normal build.
|
||||
CONFIG_NVGPU_NVLINK := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_NVLINK
|
||||
|
||||
# Enable tpc_powergate support for normal build.
|
||||
CONFIG_NVGPU_TPC_POWERGATE := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_TPC_POWERGATE
|
||||
|
||||
# Enable mssnvlink0 reset control for normal build
|
||||
CONFIG_MSSNVLINK0_RST_CONTROL := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_MSSNVLINK0_RST_CONTROL
|
||||
|
||||
# Enable dgpu support for normal build.
|
||||
CONFIG_NVGPU_DGPU := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_DGPU
|
||||
|
||||
# Enable nvgpu_next for normal build
|
||||
ifneq ($(NV_BUILD_CONFIGURATION_IS_EXTERNAL), 1)
|
||||
CONFIG_NVGPU_NEXT := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_NEXT
|
||||
endif
|
||||
|
||||
CONFIG_NVGPU_VPR := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_VPR
|
||||
|
||||
CONFIG_NVGPU_REPLAYABLE_FAULT := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_REPLAYABLE_FAULT
|
||||
|
||||
# Enable LS PMU support for normal build
|
||||
CONFIG_NVGPU_LS_PMU := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_LS_PMU
|
||||
|
||||
# Enable elpg support for normal build
|
||||
CONFIG_NVGPU_POWER_PG := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_POWER_PG
|
||||
|
||||
# Enable sim support for normal build
|
||||
CONFIG_NVGPU_SIM := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_SIM
|
||||
|
||||
CONFIG_NVGPU_COMPRESSION := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_COMPRESSION
|
||||
|
||||
# Enable non FUSA HALs for normal build
|
||||
CONFIG_NVGPU_HAL_NON_FUSA := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_HAL_NON_FUSA
|
||||
|
||||
# Enable non FUSA common code for normal build
|
||||
CONFIG_NVGPU_NON_FUSA := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_NON_FUSA
|
||||
|
||||
CONFIG_NVGPU_CLK_ARB := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_CLK_ARB
|
||||
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_FALCON_NON_FUSA
|
||||
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_IOCTL_NON_FUSA
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_DETERMINISTIC_CHANNELS
|
||||
|
||||
CONFIG_NVGPU_GR_FALCON_NON_SECURE_BOOT := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_GR_FALCON_NON_SECURE_BOOT
|
||||
|
||||
CONFIG_NVGPU_SET_FALCON_ACCESS_MAP := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_SET_FALCON_ACCESS_MAP
|
||||
|
||||
# Enable SW Semaphore for normal build
|
||||
CONFIG_NVGPU_SW_SEMAPHORE := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_SW_SEMAPHORE
|
||||
|
||||
# Enable Channel WDT for safety build until we switch to user mode submits only
|
||||
CONFIG_NVGPU_CHANNEL_WDT := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_CHANNEL_WDT
|
||||
|
||||
# Enable Kernel Mode submit for safety build until we switch to user mode
|
||||
# submits only
|
||||
CONFIG_NVGPU_KERNEL_MODE_SUBMIT := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_KERNEL_MODE_SUBMIT
|
||||
|
||||
# Enable fences for safety build till until we switch to user mode submits only
|
||||
CONFIG_NVGPU_FENCE := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_FENCE
|
||||
|
||||
# Enable powergate lib for normal build
|
||||
CONFIG_NVGPU_USE_POWERGATE_LIB := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_USE_POWERGATE_LIB
|
||||
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_FIFO_ENGINE_ACTIVITY
|
||||
# Enable dynamic busy/idle support
|
||||
CONFIG_NVGPU_DYNAMIC_BUSY_IDLE_SUPPORT := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_DYNAMIC_BUSY_IDLE_SUPPORT
|
||||
|
||||
# Enable HW based error injection support
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_INJECT_HWERR
|
||||
|
||||
# Enable Channel/TSG Scheduling
|
||||
CONFIG_NVGPU_CHANNEL_TSG_SCHEDULING := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_CHANNEL_TSG_SCHEDULING
|
||||
|
||||
# Enable Channel/TSG Control
|
||||
CONFIG_NVGPU_CHANNEL_TSG_CONTROL := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_CHANNEL_TSG_CONTROL
|
||||
|
||||
# Enable Virtualization server for normal build
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_TEGRA_GR_VIRTUALIZATION_SERVER
|
||||
|
||||
# Enable SM diversity support for normal build
|
||||
CONFIG_NVGPU_SM_DIVERSITY := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_SM_DIVERSITY
|
||||
|
||||
# Enable Multi Instance GPU support for normal build
|
||||
CONFIG_NVGPU_MIG := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_MIG
|
||||
|
||||
endif
|
||||
endif
|
||||
|
||||
# Enable USERD only if kernel mode submit is supported
|
||||
ifeq ($(CONFIG_NVGPU_KERNEL_MODE_SUBMIT),1)
|
||||
CONFIG_NVGPU_USERD := 1
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_USERD
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_NVGPU_DEBUGGER),1)
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_ENGINE_RESET
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_NVGPU_RECOVERY),1)
|
||||
NVGPU_COMMON_CFLAGS += -DCONFIG_NVGPU_ENGINE_RESET
|
||||
endif
|
||||
Reference in New Issue
Block a user