summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h2
-rw-r--r--drivers/gpu/nvgpu/gk20a/pmu_gk20a.c1
-rw-r--r--drivers/gpu/nvgpu/gk20a/pmu_gk20a.h3
3 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index ff8ffc4f..5e2344cf 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -610,6 +610,8 @@ struct gpu_ops {
610 u32 (*pmu_pg_supported_engines_list)(struct gk20a *g); 610 u32 (*pmu_pg_supported_engines_list)(struct gk20a *g);
611 u32 (*pmu_pg_engines_feature_list)(struct gk20a *g, 611 u32 (*pmu_pg_engines_feature_list)(struct gk20a *g,
612 u32 pg_engine_id); 612 u32 pg_engine_id);
613 bool (*pmu_is_lpwr_feature_supported)(struct gk20a *g,
614 u32 feature_id);
613 int (*pmu_lpwr_enable_pg)(struct gk20a *g, bool pstate_lock); 615 int (*pmu_lpwr_enable_pg)(struct gk20a *g, bool pstate_lock);
614 int (*pmu_lpwr_disable_pg)(struct gk20a *g, bool pstate_lock); 616 int (*pmu_lpwr_disable_pg)(struct gk20a *g, bool pstate_lock);
615 u32 (*pmu_pg_param_post_init)(struct gk20a *g); 617 u32 (*pmu_pg_param_post_init)(struct gk20a *g);
diff --git a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c
index 1aa423a8..ef6a5943 100644
--- a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c
@@ -3302,6 +3302,7 @@ void gk20a_init_pmu_ops(struct gpu_ops *gops)
3302 gops->pmu.pmu_pg_init_param = NULL; 3302 gops->pmu.pmu_pg_init_param = NULL;
3303 gops->pmu.pmu_pg_supported_engines_list = gk20a_pmu_pg_engines_list; 3303 gops->pmu.pmu_pg_supported_engines_list = gk20a_pmu_pg_engines_list;
3304 gops->pmu.pmu_pg_engines_feature_list = gk20a_pmu_pg_feature_list; 3304 gops->pmu.pmu_pg_engines_feature_list = gk20a_pmu_pg_feature_list;
3305 gops->pmu.pmu_is_lpwr_feature_supported = NULL;
3305 gops->pmu.pmu_lpwr_enable_pg = NULL; 3306 gops->pmu.pmu_lpwr_enable_pg = NULL;
3306 gops->pmu.pmu_lpwr_disable_pg = NULL; 3307 gops->pmu.pmu_lpwr_disable_pg = NULL;
3307 gops->pmu.pmu_pg_param_post_init = NULL; 3308 gops->pmu.pmu_pg_param_post_init = NULL;
diff --git a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
index 0a1d2ba3..daa050af 100644
--- a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
@@ -647,6 +647,9 @@ struct pmu_pg_stats {
647#define PMU_PG_ELPG_ENGINE_ID_INVALID_ENGINE (0x00000005) 647#define PMU_PG_ELPG_ENGINE_ID_INVALID_ENGINE (0x00000005)
648#define PMU_PG_ELPG_ENGINE_MAX PMU_PG_ELPG_ENGINE_ID_INVALID_ENGINE 648#define PMU_PG_ELPG_ENGINE_MAX PMU_PG_ELPG_ENGINE_ID_INVALID_ENGINE
649 649
650#define PMU_PG_LPWR_FEATURE_RPPG 0x0
651#define PMU_PG_LPWR_FEATURE_MSCG 0x1
652
650/* state transition : 653/* state transition :
651 OFF => [OFF_ON_PENDING optional] => ON_PENDING => ON => OFF 654 OFF => [OFF_ON_PENDING optional] => ON_PENDING => ON => OFF
652 ON => OFF is always synchronized */ 655 ON => OFF is always synchronized */