devfreq: nvhost_podgov: implementation cleanup

Previous implementation lacks of documentation and it's hard to
understand the effect of changing specific tunable parameter.

Revise the implementation so that the scaling behavior is somehow
aligned with the tegra_wmark governor supported by the actmon. The
only different is that nvhost_podgov governor is polling-based DFS
algorithm and it maintaines the moving average load in the governor
instead of hardware itself.

Bug 4892068

Change-Id: I033cb1359a484d4c9433fa4f2e7a99c42cb636b3
Signed-off-by: Johnny Liu <johnliu@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3315446
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Rajesh Devaraj <rdevaraj@nvidia.com>
This commit is contained in:
Johnny Liu
2024-10-03 12:36:17 +00:00
committed by Jon Hunter
parent c451280883
commit 601567ef37
3 changed files with 229 additions and 1034 deletions

View File

@@ -0,0 +1,10 @@
/* SPDX-License-Identifier: GPL-2.0-only
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
*/
#ifndef DEVFREQ_NVHOST_PODGOV_H
#define DEVFREQ_NVHOST_PODGOV_H
#define DEVFREQ_GOV_NVHOST_PODGOV "nvhost_podgov"
#endif /* DEVFREQ_NVHOST_PODGOV_H */