summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.c
diff options
context:
space:
mode:
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) {