gpu: nvgpu: enable CONFIG_NVGPU_VPR for all kernels

VPR functionality is split up as static VPR and VPR resize. Static VPR
is supported on all kernels. VPR resize is enabled only on 4.9 kernel.

Enable CONFIG_NVGPU_VPR unconditionally in Linux Makefile. Compile
VPR resize related functionality in nvgpu under the check for
Linux kernel version using new define NVGPU_VPR_RESIZE_SUPPORTED.

JIRA LS-458
Bug 200754700

Change-Id: I8370fb3bc7fb776598108942ecd4ae47c8c98741
Signed-off-by: Sagar Kamble <skamble@nvidia.com>
Signed-off-by: Ketan Patil <ketanp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2647619
(cherry picked from commit a2f4fdf190)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2652879
Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
This commit is contained in:
Sagar Kamble
2021-12-29 14:57:02 +00:00
committed by Amulya Yarlagadda
parent 58fce99f74
commit c695a0c459
5 changed files with 36 additions and 11 deletions

View File

@@ -1,7 +1,7 @@
/*
* GK20A Graphics
*
* Copyright (c) 2011-2021, NVIDIA CORPORATION. All rights reserved.
* Copyright (c) 2011-2022, NVIDIA CORPORATION. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,
@@ -26,7 +26,10 @@
#include <linux/reset.h>
#include <linux/reboot.h>
#include <linux/notifier.h>
#ifdef CONFIG_NVGPU_VPR
#include <nvgpu/vpr.h>
#if NVGPU_VPR_RESIZE_SUPPORTED
#include <linux/platform/tegra/common.h>
#endif
#include <linux/pci.h>
@@ -1004,7 +1007,7 @@ void gk20a_remove_support(struct gk20a *g)
struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g);
struct sim_nvgpu_linux *sim_linux;
#ifdef CONFIG_NVGPU_VPR
#if NVGPU_VPR_RESIZE_SUPPORTED
if (nvgpu_is_enabled(g, NVGPU_SUPPORT_VPR)) {
tegra_unregister_idle_unidle(gk20a_do_idle);
}
@@ -1079,7 +1082,7 @@ static int gk20a_init_support(struct platform_device *pdev)
void __iomem *addr;
int err = -ENOMEM;
#ifdef CONFIG_NVGPU_VPR
#if NVGPU_VPR_RESIZE_SUPPORTED
tegra_register_idle_unidle(gk20a_do_idle, gk20a_do_unidle, g);
#endif