mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 09:12:24 +03:00
gpu: nvgpu: Disable low power features on AV+L
NVGPU does not support low power features on hypervisor based embedded environments.Disable low power features like ELPG, AELPG and railgating on AV+L using the nvgpu_is_hypervisor_mode(). JIRA NVGPU-7283 Change-Id: I930e06ae711ee1485109b7f519a2dacc95b7d74b Signed-off-by: Tejal Kudav <tkudav@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2610056 Reviewed-by: svcacv <svcacv@nvidia.com> Reviewed-by: Alex Waterman <alexw@nvidia.com> Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
5d42343cbf
commit
6648cfea09
@@ -204,8 +204,13 @@ static void nvgpu_init_pm_vars(struct gk20a *g)
|
||||
#endif
|
||||
g->ptimer_src_freq = platform->ptimer_src_freq;
|
||||
|
||||
nvgpu_set_enabled(g, NVGPU_CAN_RAILGATE,
|
||||
nvgpu_platform_is_simulation(g)? true : platform->can_railgate_init);
|
||||
if (nvgpu_is_hypervisor_mode(g)) {
|
||||
nvgpu_set_enabled(g, NVGPU_CAN_RAILGATE, false);
|
||||
platform->can_railgate_init = false;
|
||||
} else {
|
||||
nvgpu_set_enabled(g, NVGPU_CAN_RAILGATE,
|
||||
nvgpu_platform_is_simulation(g) ? true : platform->can_railgate_init);
|
||||
}
|
||||
#ifdef CONFIG_NVGPU_STATIC_POWERGATE
|
||||
g->can_tpc_pg = platform->can_tpc_pg;
|
||||
g->can_gpc_pg = platform->can_gpc_pg;
|
||||
@@ -227,14 +232,20 @@ static void nvgpu_init_pm_vars(struct gk20a *g)
|
||||
g->support_ls_pmu = support_gk20a_pmu(dev_from_gk20a(g));
|
||||
|
||||
if (g->support_ls_pmu) {
|
||||
g->elpg_enabled =
|
||||
nvgpu_platform_is_silicon(g) ? platform->enable_elpg : false;
|
||||
g->aelpg_enabled =
|
||||
nvgpu_platform_is_silicon(g) ? platform->enable_aelpg : false;
|
||||
if (nvgpu_is_hypervisor_mode(g)) {
|
||||
g->elpg_enabled = false;
|
||||
g->aelpg_enabled = false;
|
||||
g->can_elpg = false;
|
||||
} else {
|
||||
g->elpg_enabled =
|
||||
nvgpu_platform_is_silicon(g) ? platform->enable_elpg : false;
|
||||
g->aelpg_enabled =
|
||||
nvgpu_platform_is_silicon(g) ? platform->enable_aelpg : false;
|
||||
g->can_elpg =
|
||||
nvgpu_platform_is_silicon(g) ? platform->can_elpg_init : false;
|
||||
}
|
||||
g->mscg_enabled =
|
||||
nvgpu_platform_is_silicon(g) ? platform->enable_mscg : false;
|
||||
g->can_elpg =
|
||||
nvgpu_platform_is_silicon(g) ? platform->can_elpg_init : false;
|
||||
if (nvgpu_is_enabled(g, NVGPU_SUPPORT_MIG)) {
|
||||
g->can_elpg = false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user