summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/linux/platform_gk20a_tegra.c
diff options
context:
space:
mode:
authorseshendra Gadagottu <sgadagottu@nvidia.com>2018-01-23 16:12:04 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2018-01-31 17:21:56 -0500
commit9afb084055e77622d1e3faa6099c340d00f94968 (patch)
treedc16c443755c00e6fead2c63a891452ab3d1fc04 /drivers/gpu/nvgpu/common/linux/platform_gk20a_tegra.c
parent791ce6bd5480a8393c12be55e8afa459cb4dd1ff (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.c9
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,