mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 09:12:24 +03:00
For POR like safety GPU, we may specify devfreq timer and governor to keep GPU running with high performance. This change supports module parameters for specifying devfreq governor and devfreq timer. safety nvgpu module parameter example: devfreq_timer="delayed" devfreq_gov="performance" Regarding devfreq timers, a delayed timer can ensure that the devfreq monitor polls on time. However, a deferrable timer might potentially cause a delay in polling time. Regarding devfreq governors, the default governor of nvgpu is nvhost_podgov, which scales the gpu frequency based on GPU load reported by PMU. Using the performance governor will keep the GPU operating at a higher GPU frequency, providing better performance. Bug 4084478 Change-Id: I9dfef11648203c6af281e980d3a5790b36742414 Signed-off-by: shaochunk <shaochunk@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2978810 Reviewed-by: Divya Singhatwaria <dsinghatwari@nvidia.com> Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com> GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
34 lines
1.0 KiB
C
34 lines
1.0 KiB
C
/*
|
|
* Copyright (c) 2016-2023, 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,
|
|
* version 2, as published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
* more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef NVGPU_LINUX_DRIVER_COMMON
|
|
#define NVGPU_LINUX_DRIVER_COMMON
|
|
|
|
extern int nvgpu_lpwr_enable;
|
|
extern char *nvgpu_devfreq_timer;
|
|
extern char *nvgpu_devfreq_gov;
|
|
|
|
struct gk20a;
|
|
|
|
int nvgpu_probe(struct gk20a *g,
|
|
const char *debugfs_symlink);
|
|
|
|
void nvgpu_init_gk20a(struct gk20a *g);
|
|
void nvgpu_read_support_gpu_tools(struct gk20a *g);
|
|
void nvgpu_devfreq_init(struct gk20a *g);
|
|
|
|
#endif
|