diff --git a/drivers/gpu/nvgpu/Kconfig b/drivers/gpu/nvgpu/Kconfig index ebc8f0ae3..b37c9667e 100644 --- a/drivers/gpu/nvgpu/Kconfig +++ b/drivers/gpu/nvgpu/Kconfig @@ -194,3 +194,17 @@ config NVGPU_RECOVERY 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 \ No newline at end of file diff --git a/drivers/gpu/nvgpu/Makefile b/drivers/gpu/nvgpu/Makefile index 7f131403c..937782024 100644 --- a/drivers/gpu/nvgpu/Makefile +++ b/drivers/gpu/nvgpu/Makefile @@ -22,10 +22,6 @@ ccflags-y += -DCONFIG_NVGPU_DEBUGGER ccflags-y += -DCONFIG_NVGPU_ENGINE_RESET endif -ifeq ($(CONFIG_TEGRA_NVLINK),y) -ccflags-y += -DCONFIG_NVGPU_NVLINK -endif - ccflags-y += -DCONFIG_NVGPU_TPC_POWERGATE ccflags-y += -DCONFIG_NVGPU_ACR_LEGACY ccflags-y += -DCONFIG_NVGPU_ENGINE_QUEUE @@ -424,7 +420,7 @@ nvgpu-$(CONFIG_TEGRA_GK20A_NVHOST) += \ hal/sync/syncpt_cmdbuf_gk20a.o \ hal/sync/syncpt_cmdbuf_gv11b.o -nvgpu-$(CONFIG_TEGRA_GR_VIRTUALIZATION) += \ +nvgpu-$(CONFIG_NVGPU_GR_VIRTUALIZATION) += \ os/linux/vgpu/platform_vgpu_tegra.o \ os/linux/vgpu/sysfs_vgpu.o \ os/linux/vgpu/vgpu_ivc.o \ @@ -433,7 +429,7 @@ nvgpu-$(CONFIG_TEGRA_GR_VIRTUALIZATION) += \ os/linux/vgpu/gv11b/platform_gv11b_vgpu_tegra.o ifeq ($(CONFIG_NVGPU_FECS_TRACE),y) -nvgpu-$(CONFIG_TEGRA_GR_VIRTUALIZATION) += \ +nvgpu-$(CONFIG_NVGPU_GR_VIRTUALIZATION) += \ os/linux/vgpu/fecs_trace_vgpu_linux.o endif @@ -516,7 +512,7 @@ nvgpu-y += \ common/ce/ce_app.o \ common/debugger.o -nvgpu-$(CONFIG_TEGRA_GR_VIRTUALIZATION) += \ +nvgpu-$(CONFIG_NVGPU_GR_VIRTUALIZATION) += \ common/vgpu/ltc/ltc_vgpu.o \ common/vgpu/fbp/fbp_vgpu.o \ common/vgpu/fb/fb_vgpu.o \ @@ -551,7 +547,7 @@ nvgpu-$(CONFIG_NVGPU_CYCLESTATS) += \ common/perf/cyclestats_snapshot.o \ common/cyclestats/cyclestats.o -ifeq ($(CONFIG_TEGRA_GR_VIRTUALIZATION),y) +ifeq ($(CONFIG_NVGPU_GR_VIRTUALIZATION),y) nvgpu-$(CONFIG_NVGPU_CYCLESTATS) += \ common/vgpu/perf/cyclestats_snapshot_vgpu.o nvgpu-$(CONFIG_NVGPU_COMPRESSION) += \ @@ -705,7 +701,7 @@ nvgpu-$(CONFIG_NVGPU_HAL_NON_FUSA) += \ hal/therm/therm_gm20b.o \ hal/top/top_gm20b.o -ifeq ($(CONFIG_TEGRA_GR_VIRTUALIZATION),y) +ifeq ($(CONFIG_NVGPU_GR_VIRTUALIZATION),y) nvgpu-$(CONFIG_NVGPU_HAL_NON_FUSA) += \ hal/vgpu/init/vgpu_hal_gp10b.o \ hal/vgpu/init/vgpu_hal_gv11b.o diff --git a/drivers/gpu/nvgpu/Makefile.shared.configs b/drivers/gpu/nvgpu/Makefile.shared.configs index ecd6b96e5..260f00006 100644 --- a/drivers/gpu/nvgpu/Makefile.shared.configs +++ b/drivers/gpu/nvgpu/Makefile.shared.configs @@ -58,7 +58,7 @@ NVGPU_COMMON_CFLAGS += \ -DCONFIG_NVGPU_SUPPORT_TURING \ -DCONFIG_TEGRA_GK20A_PMU=1 \ -DCONFIG_TEGRA_ACR=1 \ - -DCONFIG_TEGRA_GR_VIRTUALIZATION \ + -DCONFIG_NVGPU_GR_VIRTUALIZATION \ -DCONFIG_PCI_MSI CONFIG_NVGPU_LOGGING := 1 diff --git a/drivers/gpu/nvgpu/common/gr/ctx_priv.h b/drivers/gpu/nvgpu/common/gr/ctx_priv.h index 778ea29f5..d2c966748 100644 --- a/drivers/gpu/nvgpu/common/gr/ctx_priv.h +++ b/drivers/gpu/nvgpu/common/gr/ctx_priv.h @@ -146,7 +146,7 @@ struct nvgpu_gr_ctx { bool boosted_ctx; #endif -#ifdef CONFIG_TEGRA_GR_VIRTUALIZATION +#ifdef CONFIG_NVGPU_GR_VIRTUALIZATION u64 virt_ctx; #endif diff --git a/drivers/gpu/nvgpu/common/mm/vm.c b/drivers/gpu/nvgpu/common/mm/vm.c index 54eeee6a3..31b56b959 100644 --- a/drivers/gpu/nvgpu/common/mm/vm.c +++ b/drivers/gpu/nvgpu/common/mm/vm.c @@ -682,7 +682,7 @@ static int nvgpu_vm_init_attributes(struct mm_gk20a *mm, vm->mmu_levels = g->ops.mm.gmmu.get_mmu_levels(g, vm->big_page_size); -#ifdef CONFIG_TEGRA_GR_VIRTUALIZATION +#ifdef CONFIG_NVGPU_GR_VIRTUALIZATION if (g->is_virtual && userspace_managed) { nvgpu_err(g, "vGPU: no userspace managed addr space support"); return -ENOSYS; diff --git a/drivers/gpu/nvgpu/doxygen/Doxyfile.safety b/drivers/gpu/nvgpu/doxygen/Doxyfile.safety index 83fa82bee..d27bd2a46 100644 --- a/drivers/gpu/nvgpu/doxygen/Doxyfile.safety +++ b/drivers/gpu/nvgpu/doxygen/Doxyfile.safety @@ -2049,7 +2049,7 @@ PREDEFINED += CONFIG_TEGRA_T19X_GRHOST PREDEFINED += CONFIG_NVGPU_SUPPORT_TURING PREDEFINED += CONFIG_TEGRA_GK20A_PMU PREDEFINED += CONFIG_TEGRA_ACR -PREDEFINED += CONFIG_TEGRA_GR_VIRTUALIZATION +PREDEFINED += CONFIG_NVGPU_GR_VIRTUALIZATION PREDEFINED += CONFIG_PCI_MSI PREDEFINED += CONFIG_NVGPU_LOGGING PREDEFINED += CONFIG_NVGPU_GR_GOLDEN_CTX_VERIFICATION diff --git a/drivers/gpu/nvgpu/include/nvgpu/channel.h b/drivers/gpu/nvgpu/include/nvgpu/channel.h index 747ab245a..800ac74da 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/channel.h +++ b/drivers/gpu/nvgpu/include/nvgpu/channel.h @@ -489,7 +489,7 @@ struct nvgpu_channel { /** Syncpoint for usermode submit case. */ struct nvgpu_channel_sync *user_sync; -#ifdef CONFIG_TEGRA_GR_VIRTUALIZATION +#ifdef CONFIG_NVGPU_GR_VIRTUALIZATION /** Channel handle for vgpu case. */ u64 virt_ctx; #endif diff --git a/drivers/gpu/nvgpu/include/nvgpu/vgpu/vm_vgpu.h b/drivers/gpu/nvgpu/include/nvgpu/vgpu/vm_vgpu.h index e690eceb7..1a7e88077 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/vgpu/vm_vgpu.h +++ b/drivers/gpu/nvgpu/include/nvgpu/vgpu/vm_vgpu.h @@ -23,7 +23,7 @@ #ifndef NVGPU_VGPU_VM_H #define NVGPU_VGPU_VM_H -#ifdef CONFIG_TEGRA_GR_VIRTUALIZATION +#ifdef CONFIG_NVGPU_GR_VIRTUALIZATION int vgpu_vm_as_alloc_share(struct gk20a *g, struct vm_gk20a *vm); void vgpu_vm_as_free_share(struct vm_gk20a *vm); #endif diff --git a/drivers/gpu/nvgpu/include/nvgpu/vm.h b/drivers/gpu/nvgpu/include/nvgpu/vm.h index 40d335c60..761857af2 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/vm.h +++ b/drivers/gpu/nvgpu/include/nvgpu/vm.h @@ -296,7 +296,7 @@ struct vm_gk20a { */ struct nvgpu_list_node vm_area_list; -#ifdef CONFIG_TEGRA_GR_VIRTUALIZATION +#ifdef CONFIG_NVGPU_GR_VIRTUALIZATION u64 handle; #endif /** Supported page sizes. */ diff --git a/drivers/gpu/nvgpu/os/linux/module.c b/drivers/gpu/nvgpu/os/linux/module.c index 5632d6e77..b2af76ffb 100644 --- a/drivers/gpu/nvgpu/os/linux/module.c +++ b/drivers/gpu/nvgpu/os/linux/module.c @@ -699,11 +699,11 @@ static struct of_device_id tegra_gk20a_of_match[] = { .data = &gp10b_tegra_platform }, { .compatible = "nvidia,gv11b", .data = &gv11b_tegra_platform }, -#ifdef CONFIG_TEGRA_GR_VIRTUALIZATION +#ifdef CONFIG_NVGPU_GR_VIRTUALIZATION { .compatible = "nvidia,gv11b-vgpu", .data = &gv11b_vgpu_tegra_platform}, #endif -#ifdef CONFIG_TEGRA_GR_VIRTUALIZATION +#ifdef CONFIG_NVGPU_GR_VIRTUALIZATION { .compatible = "nvidia,tegra124-gk20a-vgpu", .data = &vgpu_tegra_platform }, #endif diff --git a/drivers/gpu/nvgpu/os/linux/platform_gk20a.h b/drivers/gpu/nvgpu/os/linux/platform_gk20a.h index a9a20ad65..9a8b30672 100644 --- a/drivers/gpu/nvgpu/os/linux/platform_gk20a.h +++ b/drivers/gpu/nvgpu/os/linux/platform_gk20a.h @@ -264,7 +264,7 @@ struct gk20a_platform { struct dvfs_rail *gpu_rail; bool virtual_dev; -#ifdef CONFIG_TEGRA_GR_VIRTUALIZATION +#ifdef CONFIG_NVGPU_GR_VIRTUALIZATION void *vgpu_priv; #endif /* source frequency for ptimer in hz */ @@ -322,7 +322,7 @@ static inline struct gk20a_platform *gk20a_get_platform( extern struct gk20a_platform gm20b_tegra_platform; extern struct gk20a_platform gp10b_tegra_platform; extern struct gk20a_platform gv11b_tegra_platform; -#ifdef CONFIG_TEGRA_GR_VIRTUALIZATION +#ifdef CONFIG_NVGPU_GR_VIRTUALIZATION extern struct gk20a_platform vgpu_tegra_platform; extern struct gk20a_platform gv11b_vgpu_tegra_platform; #endif diff --git a/drivers/gpu/nvgpu/os/linux/vgpu/vgpu_linux.h b/drivers/gpu/nvgpu/os/linux/vgpu/vgpu_linux.h index ff7d3a661..3334d1518 100644 --- a/drivers/gpu/nvgpu/os/linux/vgpu/vgpu_linux.h +++ b/drivers/gpu/nvgpu/os/linux/vgpu/vgpu_linux.h @@ -22,7 +22,7 @@ struct device; struct platform_device; -#ifdef CONFIG_TEGRA_GR_VIRTUALIZATION +#ifdef CONFIG_NVGPU_GR_VIRTUALIZATION #include