summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.c
diff options
context:
space:
mode:
authorVijayakumar Subbu <vsubbu@nvidia.com>2016-07-28 01:29:15 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2016-09-29 16:17:46 -0400
commitb17d9708c9e9930778de43de1edf1385acb13ebd (patch)
treefc485e96cc19575d463c61c8b80a09dd89745f3f /drivers/gpu/nvgpu/gk20a/gk20a.c
parent27b47b1969d7d9cdd3de9fd6f0131ad357f4b0fa (diff)
gpu: nvgpu: Add dGPU clocks support
JIRA DNVGPU-45 Change-Id: I237ce81e31b036c05c82d46eea8694ffe1c2e3df Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com> Signed-off-by: Vijayakumar Subbu <vsubbu@nvidia.com> Reviewed-on: http://git-master/r/1205849 (cherry picked from commit 9a4006f76b75a8ad525e7aa5ad1f609aaae49126) Reviewed-on: http://git-master/r/1227256 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c
index ebe2dca4..c9f84041 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.c
@@ -63,6 +63,9 @@
63#include "hal.h" 63#include "hal.h"
64#include "vgpu/vgpu.h" 64#include "vgpu/vgpu.h"
65#include "pci.h" 65#include "pci.h"
66#ifdef CONFIG_ARCH_TEGRA_18x_SOC
67#include "pstate/pstate.h"
68#endif
66 69
67#define CREATE_TRACE_POINTS 70#define CREATE_TRACE_POINTS
68#include <trace/events/gk20a.h> 71#include <trace/events/gk20a.h>
@@ -956,6 +959,16 @@ int gk20a_pm_finalize_poweron(struct device *dev)
956 goto done; 959 goto done;
957 } 960 }
958 961
962#ifdef CONFIG_ARCH_TEGRA_18x_SOC
963 if (g->ops.pmupstate) {
964 err = gk20a_init_pstate_support(g);
965 if (err) {
966 gk20a_err(dev, "failed to init pstates");
967 goto done;
968 }
969 }
970#endif
971
959 err = gk20a_init_pmu_support(g); 972 err = gk20a_init_pmu_support(g);
960 if (err) { 973 if (err) {
961 gk20a_err(dev, "failed to init gk20a pmu"); 974 gk20a_err(dev, "failed to init gk20a pmu");
@@ -968,6 +981,16 @@ int gk20a_pm_finalize_poweron(struct device *dev)
968 goto done; 981 goto done;
969 } 982 }
970 983
984#ifdef CONFIG_ARCH_TEGRA_18x_SOC
985 if (g->ops.pmupstate) {
986 err = gk20a_init_pstate_pmu_support(g);
987 if (err) {
988 gk20a_err(dev, "failed to init pstates");
989 goto done;
990 }
991 }
992#endif
993
971 if (g->ops.pmu.mclk_init) { 994 if (g->ops.pmu.mclk_init) {
972 err = g->ops.pmu.mclk_init(g); 995 err = g->ops.pmu.mclk_init(g);
973 if (err) { 996 if (err) {