summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
diff options
context:
space:
mode:
authorMahantesh Kumbar <mkumbar@nvidia.com>2016-11-03 05:51:43 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2016-12-20 18:15:46 -0500
commit75e52218cec5ccfbb8ec61cb8ba5e41f5e5ec7e5 (patch)
treef931c856ba99844cb2121df36961c4a45326c775 /drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
parentd301c02246b95214b13ee7ac8eeceb34acd0899a (diff)
gpu: nvgpu: PG engines init/allow/disallow update
- pmu_init_powergating loops & init multiple PG engines based on PG engines supported - generalize pg init param HAL to support multiple PG-engine init based on PG engine parameter - HAL's to return supported PG engines on chip & its sub features of engine. - Send Allow/Disallow for PG engines which are enabled & supported. - Added defines for pg engines JIRA DNVGPU-71 Change-Id: I236601e092e519a269fcb17c7d1c523a4b51405f Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com> Reviewed-on: http://git-master/r/1247409 (cherry-picked from commit 1c138cc475bac7d3c3fbbd5fb18cfcb2e7fdf67a) Reviewed-on: http://git-master/r/1269319 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/pmu_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/pmu_gk20a.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
index bfb6f117..78652bcb 100644
--- a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
@@ -615,6 +615,10 @@ struct pmu_pg_stats {
615#define PMU_PG_IDLE_THRESHOLD 15000 615#define PMU_PG_IDLE_THRESHOLD 15000
616#define PMU_PG_POST_POWERUP_IDLE_THRESHOLD 1000000 616#define PMU_PG_POST_POWERUP_IDLE_THRESHOLD 1000000
617 617
618#define PMU_PG_ELPG_ENGINE_ID_GRAPHICS (0x00000000)
619#define PMU_PG_ELPG_ENGINE_ID_MS (0x00000004)
620#define PMU_PG_ELPG_ENGINE_ID_INVALID_ENGINE (0x00000005)
621
618/* state transition : 622/* state transition :
619 OFF => [OFF_ON_PENDING optional] => ON_PENDING => ON => OFF 623 OFF => [OFF_ON_PENDING optional] => ON_PENDING => ON => OFF
620 ON => OFF is always synchronized */ 624 ON => OFF is always synchronized */
@@ -771,6 +775,9 @@ int gk20a_pmu_cmd_post(struct gk20a *g, struct pmu_cmd *cmd, struct pmu_msg *msg
771int gk20a_pmu_enable_elpg(struct gk20a *g); 775int gk20a_pmu_enable_elpg(struct gk20a *g);
772int gk20a_pmu_disable_elpg(struct gk20a *g); 776int gk20a_pmu_disable_elpg(struct gk20a *g);
773 777
778u32 gk20a_pmu_pg_engines_list(struct gk20a *g);
779u32 gk20a_pmu_pg_feature_list(struct gk20a *g, u32 pg_engine_id);
780
774void gk20a_pmu_save_zbc(struct gk20a *g, u32 entries); 781void gk20a_pmu_save_zbc(struct gk20a *g, u32 entries);
775 782
776int gk20a_pmu_perfmon_enable(struct gk20a *g, bool enable); 783int gk20a_pmu_perfmon_enable(struct gk20a *g, bool enable);