From f01fe2bb3954712935a5dd0ab1d2d02a779d2a2a Mon Sep 17 00:00:00 2001 From: Stephen Warren Date: Fri, 22 Sep 2017 14:31:26 -0600 Subject: nvgpu: use kernel overlay features Update all Kconfig files and Makefiles to rely on the kernel overlay feature. In particular, don't include any Kconfig files or Makefiles from other overlays. -I directives in CFLAGS are not yet cleaned up. Bug 1978395 Change-Id: I449ed2f07949785f2dd90a6833f4d8cd1711519a Signed-off-by: Stephen Warren Reviewed-on: https://git-master.nvidia.com/r/1566641 Reviewed-by: Terje Bergstrom GVS: Gerrit_Virtual_Submit Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/Kconfig | 5 + drivers/gpu/Makefile | 1 + drivers/gpu/nvgpu/Kconfig | 138 ++++++++++++++++++++ drivers/gpu/nvgpu/Kconfig.nvgpu | 140 -------------------- drivers/gpu/nvgpu/Makefile | 258 +++++++++++++++++++++++++++++++++++++ drivers/gpu/nvgpu/Makefile.nvgpu | 267 --------------------------------------- 6 files changed, 402 insertions(+), 407 deletions(-) create mode 100644 drivers/Kconfig create mode 100644 drivers/gpu/Makefile create mode 100644 drivers/gpu/nvgpu/Kconfig delete mode 100644 drivers/gpu/nvgpu/Kconfig.nvgpu create mode 100644 drivers/gpu/nvgpu/Makefile delete mode 100644 drivers/gpu/nvgpu/Makefile.nvgpu diff --git a/drivers/Kconfig b/drivers/Kconfig new file mode 100644 index 00000000..d9c76e76 --- /dev/null +++ b/drivers/Kconfig @@ -0,0 +1,5 @@ +append_menu "Device Drivers" + +source "drivers/gpu/nvgpu/Kconfig" + +endmenu diff --git a/drivers/gpu/Makefile b/drivers/gpu/Makefile new file mode 100644 index 00000000..af71a62a --- /dev/null +++ b/drivers/gpu/Makefile @@ -0,0 +1 @@ +obj-$(CONFIG_GK20A) += nvgpu/ diff --git a/drivers/gpu/nvgpu/Kconfig b/drivers/gpu/nvgpu/Kconfig new file mode 100644 index 00000000..4f90a35c --- /dev/null +++ b/drivers/gpu/nvgpu/Kconfig @@ -0,0 +1,138 @@ +config GK20A + tristate "Nvidia GK20A GPU support" + default y + help + Choose this option if you have an SoC with integrated + Nvidia GPU IP. + +config GK20A_DEFAULT_TIMEOUT + depends on GK20A + int "Default timeout for submits" + default 3000 + help + Default timeout for jobs in milliseconds. Set to zero for no timeout. + +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_PERFMON + optional + help + Select this entry to enable gk20a scaling + +config GK20A_PERFMON + bool "Use Perfmon" + help + Select this to enable built-in perfmon scaling. + The built-in scaling option uses simplistic + scaling mechanism (if busy, increase frequency and + decrease frequency if idle). + +config GK20A_DEVFREQ + depends on COMMON_CLK + 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 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 GK20A_CYCLE_STATS + bool "Support GK20A GPU CYCLE STATS" + depends on GK20A + default y + help + Say Y here to enable the cycle stats debugging features. + +config GK20A_CTXSW_TRACE + bool "Support GK20A Context Switch tracing" + depends on GK20A + default y + help + Enable support for the GK20A 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 if ARCH_TEGRA_18x_SOC + default n + help + Enable support for GPUs on PCIe bus. + +config GK20A_TRACE_PRINTK + bool "Support trace_printk debugging" + depends on GK20A && FTRACE_PRINTK + 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 GK20A_VIDMEM + bool "Support separate video memory on nvgpu" + depends on GK20A + default n + help + Enable support for using and allocating buffers in a distinct video + memory aperture (in contrast to general system memory), available on + GPUs that have their own banks. PCIe GPUs have this, for example. diff --git a/drivers/gpu/nvgpu/Kconfig.nvgpu b/drivers/gpu/nvgpu/Kconfig.nvgpu deleted file mode 100644 index 2a922ba2..00000000 --- a/drivers/gpu/nvgpu/Kconfig.nvgpu +++ /dev/null @@ -1,140 +0,0 @@ -config GK20A - tristate "Nvidia GK20A GPU support" - default y - help - Choose this option if you have an SoC with integrated - Nvidia GPU IP. - -config GK20A_DEFAULT_TIMEOUT - depends on GK20A - int "Default timeout for submits" - default 3000 - help - Default timeout for jobs in milliseconds. Set to zero for no timeout. - -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_PERFMON - optional - help - Select this entry to enable gk20a scaling - -config GK20A_PERFMON - bool "Use Perfmon" - help - Select this to enable built-in perfmon scaling. - The built-in scaling option uses simplistic - scaling mechanism (if busy, increase frequency and - decrease frequency if idle). - -config GK20A_DEVFREQ - depends on COMMON_CLK - 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 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 GK20A_CYCLE_STATS - bool "Support GK20A GPU CYCLE STATS" - depends on GK20A - default y - help - Say Y here to enable the cycle stats debugging features. - -config GK20A_CTXSW_TRACE - bool "Support GK20A Context Switch tracing" - depends on GK20A - default y - help - Enable support for the GK20A 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 if ARCH_TEGRA_18x_SOC - default n - help - Enable support for GPUs on PCIe bus. - -config GK20A_TRACE_PRINTK - bool "Support trace_printk debugging" - depends on GK20A && FTRACE_PRINTK - 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 GK20A_VIDMEM - bool "Support separate video memory on nvgpu" - depends on GK20A - default n - help - Enable support for using and allocating buffers in a distinct video - memory aperture (in contrast to general system memory), available on - GPUs that have their own banks. PCIe GPUs have this, for example. - -trysource "../nvgpu-t19x/drivers/gpu/nvgpu/Kconfig" diff --git a/drivers/gpu/nvgpu/Makefile b/drivers/gpu/nvgpu/Makefile new file mode 100644 index 00000000..af7a8af5 --- /dev/null +++ b/drivers/gpu/nvgpu/Makefile @@ -0,0 +1,258 @@ +GCOV_PROFILE := y + +ccflags-y += -I$(srctree)/../nvgpu/drivers/gpu/nvgpu/include +ccflags-y += -I$(srctree)/../nvgpu/drivers/gpu/nvgpu +ccflags-y += -I$(srctree)/../nvgpu/include +ccflags-y += -I$(srctree)/../nvgpu/include/uapi + +ccflags-y += -I$(srctree)/drivers/devfreq + +ccflags-y += -Wno-multichar +ccflags-y += -Werror +ccflags-y += -Wno-error=cpp +ifeq ($(VERSION),4) +ccflags-y += -Wextra -Wno-unused-parameter -Wno-missing-field-initializers +endif + +ifeq ($(CONFIG_TEGRA_19x_GPU),y) +ccflags-y += -I$(srctree)/../nvgpu-t19x/drivers/gpu/nvgpu +ccflags-y += -I$(srctree)/../nvgpu-t19x/drivers/gpu/nvgpu/include +ccflags-y += -I$(srctree)/../nvgpu-t19x/include +ccflags-y += -I$(srctree)/../nvgpu-t19x/include/uapi +ccflags-y += -I$(srctree)/../t19x/include +endif + +obj-$(CONFIG_GK20A) := nvgpu.o + +nvgpu-y := \ + common/linux/module.o \ + common/linux/kmem.o \ + common/linux/timers.o \ + common/linux/ioctl.o \ + common/linux/ioctl_ctrl.o \ + common/linux/ioctl_as.o \ + common/linux/ioctl_channel.o \ + common/linux/ioctl_tsg.o \ + common/linux/ioctl_dbg.o \ + common/linux/log.o \ + common/linux/cond.o \ + common/linux/nvgpu_mem.o \ + common/linux/dma.o \ + common/linux/soc.o \ + common/linux/fuse.o \ + common/linux/driver_common.o \ + common/linux/firmware.o \ + common/linux/thread.o \ + common/linux/vm.o \ + common/linux/intr.o \ + common/linux/sysfs.o \ + common/linux/cde.o \ + common/linux/io.o \ + common/linux/rwsem.o \ + common/linux/cde_gm20b.o \ + common/linux/cde_gp10b.o \ + common/linux/comptags.o \ + common/linux/dmabuf.o \ + common/linux/sched.o \ + common/mm/nvgpu_allocator.o \ + common/mm/bitmap_allocator.o \ + common/mm/buddy_allocator.o \ + common/mm/page_allocator.o \ + common/mm/lockless_allocator.o \ + common/mm/gmmu.o \ + common/mm/pd_cache.o \ + common/mm/vm.o \ + common/mm/vm_area.o \ + common/mm/nvgpu_mem.o \ + common/mm/comptags.o \ + common/mm/mm.o \ + common/bus.o \ + common/enabled.o \ + common/pramin.o \ + common/semaphore.o \ + common/as.o \ + common/rbtree.o \ + common/vbios/bios.o \ + common/falcon/falcon.o \ + common/pmu/pmu.o \ + common/pmu/pmu_ipc.o \ + common/pmu/pmu_fw.o \ + common/pmu/pmu_pg.o \ + common/pmu/pmu_perfmon.o \ + common/pmu/pmu_debug.o \ + common/ltc.o \ + gk20a/gk20a.o \ + gk20a/bus_gk20a.o \ + gk20a/pramin_gk20a.o \ + gk20a/ce2_gk20a.o \ + gk20a/fifo_gk20a.o \ + gk20a/channel_gk20a.o \ + gk20a/channel_sync_gk20a.o \ + gk20a/dbg_gpu_gk20a.o \ + gk20a/regops_gk20a.o \ + gk20a/gr_gk20a.o \ + gk20a/kind_gk20a.o \ + gk20a/mm_gk20a.o \ + gk20a/pmu_gk20a.o \ + gk20a/flcn_gk20a.o \ + gk20a/priv_ring_gk20a.o \ + gk20a/fence_gk20a.o \ + gk20a/therm_gk20a.o \ + gk20a/gr_ctx_gk20a_sim.o \ + gk20a/gr_ctx_gk20a.o \ + gk20a/gk20a_gating_reglist.o \ + gk20a/ltc_gk20a.o \ + gk20a/fb_gk20a.o \ + gk20a/hal.o \ + gk20a/tsg_gk20a.o \ + gk20a/ctxsw_trace_gk20a.o \ + gk20a/fecs_trace_gk20a.o \ + gk20a/mc_gk20a.o \ + gk20a/sim_gk20a.o \ + gm20b/hal_gm20b.o \ + gm20b/bus_gm20b.o \ + gm20b/ltc_gm20b.o \ + gm20b/gr_gm20b.o \ + gm20b/clk_gm20b.o \ + gm20b/fb_gm20b.o \ + gm20b/fifo_gm20b.o \ + gm20b/gr_ctx_gm20b.o \ + gm20b/gm20b_gating_reglist.o \ + gm20b/acr_gm20b.o \ + gm20b/pmu_gm20b.o \ + gm20b/mm_gm20b.o \ + gm20b/regops_gm20b.o \ + gm20b/therm_gm20b.o \ + boardobj/boardobj.o \ + boardobj/boardobjgrp.o \ + boardobj/boardobjgrpmask.o \ + boardobj/boardobjgrp_e255.o \ + boardobj/boardobjgrp_e32.o + +nvgpu-$(CONFIG_GK20A_VIDMEM) += \ + common/mm/vidmem.o \ + common/linux/vidmem.o + +nvgpu-$(CONFIG_DEBUG_FS) += \ + common/linux/debug.o \ + common/linux/debug_gr.o \ + common/linux/debug_fifo.o \ + common/linux/debug_cde.o \ + common/linux/debug_ce.o \ + common/linux/debug_pmu.o \ + common/linux/debug_sched.o \ + common/linux/debug_mm.o \ + common/linux/debug_allocator.o \ + common/linux/debug_hal.o \ + common/linux/debug_clk.o \ + common/linux/debug_xve.o + +ifeq ($(CONFIG_NVGPU_TRACK_MEM_USAGE),y) +nvgpu-$(CONFIG_DEBUG_FS) += \ + common/linux/debug_kmem.o +endif + +nvgpu-$(CONFIG_TEGRA_GK20A) += common/linux/platform_gk20a_tegra.o +nvgpu-$(CONFIG_SYNC) += gk20a/sync_gk20a.o +nvgpu-$(CONFIG_GK20A_PCI) += common/linux/pci.o +nvgpu-$(CONFIG_TEGRA_GK20A_NVHOST) += common/linux/nvhost.o + +nvgpu-$(CONFIG_TEGRA_GR_VIRTUALIZATION) += \ + gk20a/platform_vgpu_tegra.o \ + vgpu/ltc_vgpu.o \ + vgpu/gr_vgpu.o \ + vgpu/fifo_vgpu.o \ + vgpu/ce2_vgpu.o \ + vgpu/mm_vgpu.o \ + vgpu/vgpu.o \ + vgpu/dbg_vgpu.o \ + vgpu/fecs_trace_vgpu.o \ + vgpu/tsg_vgpu.o \ + vgpu/clk_vgpu.o \ + vgpu/css_vgpu.o \ + vgpu/gm20b/vgpu_hal_gm20b.o \ + vgpu/gm20b/vgpu_gr_gm20b.o \ + vgpu/sysfs_vgpu.o + +nvgpu-$(CONFIG_COMMON_CLK) += \ + common/linux/clk.o + +nvgpu-$(CONFIG_GK20A_DEVFREQ) += \ + gk20a/gk20a_scale.o + +nvgpu-$(CONFIG_GK20A_CYCLE_STATS) += \ + gk20a/css_gr_gk20a.o + +ifeq ($(CONFIG_ARCH_TEGRA_18x_SOC),y) +nvgpu-y += \ + gp10b/gr_gp10b.o \ + gp10b/gr_ctx_gp10b.o \ + gp10b/ce_gp10b.o \ + gp10b/mc_gp10b.o \ + gp10b/fifo_gp10b.o \ + gp10b/ltc_gp10b.o \ + gp10b/mm_gp10b.o \ + gp10b/fb_gp10b.o \ + gp10b/pmu_gp10b.o \ + gp10b/hal_gp10b.o \ + gp10b/rpfb_gp10b.o \ + gp10b/gp10b_gating_reglist.o \ + gp10b/regops_gp10b.o \ + gp10b/therm_gp10b.o \ + gp10b/fecs_trace_gp10b.o \ + gp10b/priv_ring_gp10b.o \ + gp10b/gp10b.o \ + gp106/hal_gp106.o \ + gp106/mm_gp106.o \ + gp106/flcn_gp106.o \ + gp106/pmu_gp106.o \ + gp106/mclk_gp106.o \ + gp106/gr_gp106.o \ + gp106/gr_ctx_gp106.o \ + gp106/acr_gp106.o \ + gp106/sec2_gp106.o \ + gp106/fifo_gp106.o \ + gp106/fb_gp106.o \ + gp106/regops_gp106.o \ + gp106/bios_gp106.o \ + pstate/pstate.o \ + clk/clk_vin.o \ + clk/clk_fll.o \ + clk/clk_domain.o \ + clk/clk_prog.o \ + clk/clk_vf_point.o \ + common/linux/clk_arb.o \ + clk/clk_freq_controller.o \ + perf/vfe_var.o \ + perf/vfe_equ.o \ + perf/perf.o \ + clk/clk.o \ + gp106/clk_gp106.o \ + gp106/clk_arb_gp106.o \ + gp106/gp106_gating_reglist.o \ + gp106/xve_gp106.o \ + gp106/therm_gp106.o \ + gp106/xve_gp106.o \ + pmgr/pwrdev.o \ + pmgr/pmgr.o \ + pmgr/pmgrpmu.o \ + pmgr/pwrmonitor.o \ + pmgr/pwrpolicy.o \ + volt/volt_rail.o \ + volt/volt_dev.o \ + volt/volt_policy.o \ + volt/volt_pmu.o \ + therm/thrm.o \ + therm/thrmdev.o \ + therm/thrmchannel.o \ + therm/thrmpmu.o \ + lpwr/rppg.o \ + lpwr/lpwr.o + +nvgpu-$(CONFIG_TEGRA_GK20A) += common/linux/platform_gp10b_tegra.o + +nvgpu-$(CONFIG_TEGRA_GR_VIRTUALIZATION) += \ + vgpu/gp10b/vgpu_hal_gp10b.o \ + vgpu/gp10b/vgpu_gr_gp10b.o \ + vgpu/gp10b/vgpu_mm_gp10b.o +endif diff --git a/drivers/gpu/nvgpu/Makefile.nvgpu b/drivers/gpu/nvgpu/Makefile.nvgpu deleted file mode 100644 index 1217fead..00000000 --- a/drivers/gpu/nvgpu/Makefile.nvgpu +++ /dev/null @@ -1,267 +0,0 @@ -GCOV_PROFILE := y - -ccflags-y += -I$(srctree)/../nvgpu/drivers/gpu/nvgpu/include -ccflags-y += -I$(srctree)/../nvgpu/drivers/gpu/nvgpu -ccflags-y += -I$(srctree)/../nvgpu/include -ccflags-y += -I$(srctree)/../nvgpu/include/uapi - -ccflags-y += -I$(srctree)/drivers/devfreq - -ccflags-y += -Wno-multichar -ccflags-y += -Werror -ccflags-y += -Wno-error=cpp -ifeq ($(VERSION),4) -ccflags-y += -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -endif - -ifeq ($(CONFIG_TEGRA_19x_GPU),y) -ccflags-y += -I$(srctree)/../nvgpu-t19x/drivers/gpu/nvgpu -ccflags-y += -I$(srctree)/../nvgpu-t19x/drivers/gpu/nvgpu/include -ccflags-y += -I$(srctree)/../nvgpu-t19x/include -ccflags-y += -I$(srctree)/../nvgpu-t19x/include/uapi -ccflags-y += -I$(srctree)/../t19x/include -endif - -obj-$(CONFIG_GK20A) := nvgpu.o - -nvgpu-y := \ - common/linux/module.o \ - common/linux/kmem.o \ - common/linux/timers.o \ - common/linux/ioctl.o \ - common/linux/ioctl_ctrl.o \ - common/linux/ioctl_as.o \ - common/linux/ioctl_channel.o \ - common/linux/ioctl_tsg.o \ - common/linux/ioctl_dbg.o \ - common/linux/log.o \ - common/linux/cond.o \ - common/linux/nvgpu_mem.o \ - common/linux/dma.o \ - common/linux/soc.o \ - common/linux/fuse.o \ - common/linux/driver_common.o \ - common/linux/firmware.o \ - common/linux/thread.o \ - common/linux/vm.o \ - common/linux/intr.o \ - common/linux/sysfs.o \ - common/linux/cde.o \ - common/linux/io.o \ - common/linux/rwsem.o \ - common/linux/cde_gm20b.o \ - common/linux/cde_gp10b.o \ - common/linux/comptags.o \ - common/linux/dmabuf.o \ - common/linux/sched.o \ - common/mm/nvgpu_allocator.o \ - common/mm/bitmap_allocator.o \ - common/mm/buddy_allocator.o \ - common/mm/page_allocator.o \ - common/mm/lockless_allocator.o \ - common/mm/gmmu.o \ - common/mm/pd_cache.o \ - common/mm/vm.o \ - common/mm/vm_area.o \ - common/mm/nvgpu_mem.o \ - common/mm/comptags.o \ - common/mm/mm.o \ - common/bus.o \ - common/enabled.o \ - common/pramin.o \ - common/semaphore.o \ - common/as.o \ - common/rbtree.o \ - common/vbios/bios.o \ - common/falcon/falcon.o \ - common/pmu/pmu.o \ - common/pmu/pmu_ipc.o \ - common/pmu/pmu_fw.o \ - common/pmu/pmu_pg.o \ - common/pmu/pmu_perfmon.o \ - common/pmu/pmu_debug.o \ - common/ltc.o \ - gk20a/gk20a.o \ - gk20a/bus_gk20a.o \ - gk20a/pramin_gk20a.o \ - gk20a/ce2_gk20a.o \ - gk20a/fifo_gk20a.o \ - gk20a/channel_gk20a.o \ - gk20a/channel_sync_gk20a.o \ - gk20a/dbg_gpu_gk20a.o \ - gk20a/regops_gk20a.o \ - gk20a/gr_gk20a.o \ - gk20a/kind_gk20a.o \ - gk20a/mm_gk20a.o \ - gk20a/pmu_gk20a.o \ - gk20a/flcn_gk20a.o \ - gk20a/priv_ring_gk20a.o \ - gk20a/fence_gk20a.o \ - gk20a/therm_gk20a.o \ - gk20a/gr_ctx_gk20a_sim.o \ - gk20a/gr_ctx_gk20a.o \ - gk20a/gk20a_gating_reglist.o \ - gk20a/ltc_gk20a.o \ - gk20a/fb_gk20a.o \ - gk20a/hal.o \ - gk20a/tsg_gk20a.o \ - gk20a/ctxsw_trace_gk20a.o \ - gk20a/fecs_trace_gk20a.o \ - gk20a/mc_gk20a.o \ - gk20a/sim_gk20a.o \ - gm20b/hal_gm20b.o \ - gm20b/bus_gm20b.o \ - gm20b/ltc_gm20b.o \ - gm20b/gr_gm20b.o \ - gm20b/clk_gm20b.o \ - gm20b/fb_gm20b.o \ - gm20b/fifo_gm20b.o \ - gm20b/gr_ctx_gm20b.o \ - gm20b/gm20b_gating_reglist.o \ - gm20b/acr_gm20b.o \ - gm20b/pmu_gm20b.o \ - gm20b/mm_gm20b.o \ - gm20b/regops_gm20b.o \ - gm20b/therm_gm20b.o \ - boardobj/boardobj.o \ - boardobj/boardobjgrp.o \ - boardobj/boardobjgrpmask.o \ - boardobj/boardobjgrp_e255.o \ - boardobj/boardobjgrp_e32.o - -nvgpu-$(CONFIG_GK20A_VIDMEM) += \ - common/mm/vidmem.o \ - common/linux/vidmem.o - -nvgpu-$(CONFIG_DEBUG_FS) += \ - common/linux/debug.o \ - common/linux/debug_gr.o \ - common/linux/debug_fifo.o \ - common/linux/debug_cde.o \ - common/linux/debug_ce.o \ - common/linux/debug_pmu.o \ - common/linux/debug_sched.o \ - common/linux/debug_mm.o \ - common/linux/debug_allocator.o \ - common/linux/debug_hal.o \ - common/linux/debug_clk.o \ - common/linux/debug_xve.o - -ifeq ($(CONFIG_NVGPU_TRACK_MEM_USAGE),y) -nvgpu-$(CONFIG_DEBUG_FS) += \ - common/linux/debug_kmem.o -endif - -nvgpu-$(CONFIG_TEGRA_GK20A) += common/linux/platform_gk20a_tegra.o -nvgpu-$(CONFIG_SYNC) += gk20a/sync_gk20a.o -nvgpu-$(CONFIG_GK20A_PCI) += common/linux/pci.o -nvgpu-$(CONFIG_TEGRA_GK20A_NVHOST) += common/linux/nvhost.o - -nvgpu-$(CONFIG_TEGRA_GR_VIRTUALIZATION) += \ - gk20a/platform_vgpu_tegra.o \ - vgpu/ltc_vgpu.o \ - vgpu/gr_vgpu.o \ - vgpu/fifo_vgpu.o \ - vgpu/ce2_vgpu.o \ - vgpu/mm_vgpu.o \ - vgpu/vgpu.o \ - vgpu/dbg_vgpu.o \ - vgpu/fecs_trace_vgpu.o \ - vgpu/tsg_vgpu.o \ - vgpu/clk_vgpu.o \ - vgpu/css_vgpu.o \ - vgpu/gm20b/vgpu_hal_gm20b.o \ - vgpu/gm20b/vgpu_gr_gm20b.o \ - vgpu/sysfs_vgpu.o - -nvgpu-$(CONFIG_COMMON_CLK) += \ - common/linux/clk.o - -nvgpu-$(CONFIG_GK20A_DEVFREQ) += \ - gk20a/gk20a_scale.o - -nvgpu-$(CONFIG_GK20A_CYCLE_STATS) += \ - gk20a/css_gr_gk20a.o - -ifeq ($(CONFIG_ARCH_TEGRA_18x_SOC),y) -nvgpu-y += \ - gp10b/gr_gp10b.o \ - gp10b/gr_ctx_gp10b.o \ - gp10b/ce_gp10b.o \ - gp10b/mc_gp10b.o \ - gp10b/fifo_gp10b.o \ - gp10b/ltc_gp10b.o \ - gp10b/mm_gp10b.o \ - gp10b/fb_gp10b.o \ - gp10b/pmu_gp10b.o \ - gp10b/hal_gp10b.o \ - gp10b/rpfb_gp10b.o \ - gp10b/gp10b_gating_reglist.o \ - gp10b/regops_gp10b.o \ - gp10b/therm_gp10b.o \ - gp10b/fecs_trace_gp10b.o \ - gp10b/priv_ring_gp10b.o \ - gp10b/gp10b.o \ - gp106/hal_gp106.o \ - gp106/mm_gp106.o \ - gp106/flcn_gp106.o \ - gp106/pmu_gp106.o \ - gp106/mclk_gp106.o \ - gp106/gr_gp106.o \ - gp106/gr_ctx_gp106.o \ - gp106/acr_gp106.o \ - gp106/sec2_gp106.o \ - gp106/fifo_gp106.o \ - gp106/fb_gp106.o \ - gp106/regops_gp106.o \ - gp106/bios_gp106.o \ - pstate/pstate.o \ - clk/clk_vin.o \ - clk/clk_fll.o \ - clk/clk_domain.o \ - clk/clk_prog.o \ - clk/clk_vf_point.o \ - common/linux/clk_arb.o \ - clk/clk_freq_controller.o \ - perf/vfe_var.o \ - perf/vfe_equ.o \ - perf/perf.o \ - clk/clk.o \ - gp106/clk_gp106.o \ - gp106/clk_arb_gp106.o \ - gp106/gp106_gating_reglist.o \ - gp106/xve_gp106.o \ - gp106/therm_gp106.o \ - gp106/xve_gp106.o \ - pmgr/pwrdev.o \ - pmgr/pmgr.o \ - pmgr/pmgrpmu.o \ - pmgr/pwrmonitor.o \ - pmgr/pwrpolicy.o \ - volt/volt_rail.o \ - volt/volt_dev.o \ - volt/volt_policy.o \ - volt/volt_pmu.o \ - therm/thrm.o \ - therm/thrmdev.o \ - therm/thrmchannel.o \ - therm/thrmpmu.o \ - lpwr/rppg.o \ - lpwr/lpwr.o - -nvgpu-$(CONFIG_TEGRA_GK20A) += common/linux/platform_gp10b_tegra.o - -nvgpu-$(CONFIG_TEGRA_GR_VIRTUALIZATION) += \ - vgpu/gp10b/vgpu_hal_gp10b.o \ - vgpu/gp10b/vgpu_gr_gp10b.o \ - vgpu/gp10b/vgpu_mm_gp10b.o -endif - -ifeq ($(CONFIG_ARCH_TEGRA_19x_SOC),y) -ifneq ($(wildcard $(srctree)/../nvgpu-t19x/drivers/gpu/nvgpu/Makefile),) -include $(srctree)/../nvgpu-t19x/drivers/gpu/nvgpu/Makefile -endif -ifneq ($(wildcard $(srctree)/../nvgpu-t19x/drivers/gpu/nvgpu/Makefile.nvgpu-t19x),) -include $(srctree)/../nvgpu-t19x/drivers/gpu/nvgpu/Makefile.nvgpu-t19x -endif -endif -- cgit v1.2.2