diff options
author | seshendra Gadagottu <sgadagottu@nvidia.com> | 2018-01-23 16:12:04 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-01-31 17:21:56 -0500 |
commit | 9afb084055e77622d1e3faa6099c340d00f94968 (patch) | |
tree | dc16c443755c00e6fead2c63a891452ab3d1fc04 /drivers/gpu/nvgpu/common/linux/platform_gk20a_tegra.c | |
parent | 791ce6bd5480a8393c12be55e8afa459cb4dd1ff (diff) |
gpu: nvgpu: enable devfreq after finalize poweron
Enabling gpu scaling driver after finalize poweron,
will make gpu booting happen at initially set
frequency(1GHz).
Also doing platform specific init scale after enabling
scaling driver.
Bug 2049965
Bug 2039013
Bug 200377508
Change-Id: I633f8f5a25d9de18cbb3a022913b8b725ccd87e5
Signed-off-by: seshendra Gadagottu <sgadagottu@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1644703
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/platform_gk20a_tegra.c')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/platform_gk20a_tegra.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/platform_gk20a_tegra.c b/drivers/gpu/nvgpu/common/linux/platform_gk20a_tegra.c index c40eafe4..db30fff2 100644 --- a/drivers/gpu/nvgpu/common/linux/platform_gk20a_tegra.c +++ b/drivers/gpu/nvgpu/common/linux/platform_gk20a_tegra.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * GK20A Tegra Platform Interface | 2 | * GK20A Tegra Platform Interface |
3 | * | 3 | * |
4 | * Copyright (c) 2014-2017, NVIDIA CORPORATION. All rights reserved. | 4 | * Copyright (c) 2014-2018, NVIDIA CORPORATION. All rights reserved. |
5 | * | 5 | * |
6 | * This program is free software; you can redistribute it and/or modify it | 6 | * This program is free software; you can redistribute it and/or modify it |
7 | * under the terms and conditions of the GNU General Public License, | 7 | * under the terms and conditions of the GNU General Public License, |
@@ -592,6 +592,9 @@ static void gk20a_tegra_scale_init(struct device *dev) | |||
592 | if (!profile) | 592 | if (!profile) |
593 | return; | 593 | return; |
594 | 594 | ||
595 | if (profile->private_data) | ||
596 | return; | ||
597 | |||
595 | emc_params = nvgpu_kzalloc(platform->g, sizeof(*emc_params)); | 598 | emc_params = nvgpu_kzalloc(platform->g, sizeof(*emc_params)); |
596 | if (!emc_params) | 599 | if (!emc_params) |
597 | return; | 600 | return; |
@@ -850,9 +853,6 @@ static int gk20a_tegra_late_probe(struct device *dev) | |||
850 | /* Cause early VPR resize */ | 853 | /* Cause early VPR resize */ |
851 | gk20a_tegra_secure_page_alloc(dev); | 854 | gk20a_tegra_secure_page_alloc(dev); |
852 | 855 | ||
853 | /* Initialise tegra specific scaling quirks */ | ||
854 | gk20a_tegra_scale_init(dev); | ||
855 | |||
856 | return 0; | 856 | return 0; |
857 | } | 857 | } |
858 | 858 | ||
@@ -958,6 +958,7 @@ struct gk20a_platform gm20b_tegra_platform = { | |||
958 | #endif | 958 | #endif |
959 | 959 | ||
960 | /* frequency scaling configuration */ | 960 | /* frequency scaling configuration */ |
961 | .initscale = gk20a_tegra_scale_init, | ||
961 | .prescale = gk20a_tegra_prescale, | 962 | .prescale = gk20a_tegra_prescale, |
962 | #ifdef CONFIG_TEGRA_BWMGR | 963 | #ifdef CONFIG_TEGRA_BWMGR |
963 | .postscale = gm20b_tegra_postscale, | 964 | .postscale = gm20b_tegra_postscale, |