summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/pmu_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/pmu_gk20a.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
index cefb6577..cfcf3947 100644
--- a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
@@ -307,8 +307,13 @@ struct pmu_pg_stats_data {
307#define PMU_STATE_LOADING_PG_BUF 5 /* Loading PG buf */ 307#define PMU_STATE_LOADING_PG_BUF 5 /* Loading PG buf */
308#define PMU_STATE_LOADING_ZBC 6 /* Loading ZBC buf */ 308#define PMU_STATE_LOADING_ZBC 6 /* Loading ZBC buf */
309#define PMU_STATE_STARTED 7 /* Fully unitialized */ 309#define PMU_STATE_STARTED 7 /* Fully unitialized */
310#define PMU_STATE_EXIT 8 /* Exit PMU state machine */
310 311
311 312struct nvgpu_pg_init {
313 bool state_change;
314 struct nvgpu_cond wq;
315 struct nvgpu_thread state_task;
316};
312 317
313struct pmu_gk20a { 318struct pmu_gk20a {
314 319
@@ -356,7 +361,7 @@ struct pmu_gk20a {
356 int pmu_state; 361 int pmu_state;
357 362
358#define PMU_ELPG_ENABLE_ALLOW_DELAY_MSEC 1 /* msec */ 363#define PMU_ELPG_ENABLE_ALLOW_DELAY_MSEC 1 /* msec */
359 struct work_struct pg_init; 364 struct nvgpu_pg_init pg_init;
360 struct nvgpu_mutex pg_mutex; /* protect pg-RPPG/MSCG enable/disable */ 365 struct nvgpu_mutex pg_mutex; /* protect pg-RPPG/MSCG enable/disable */
361 struct nvgpu_mutex elpg_mutex; /* protect elpg enable/disable */ 366 struct nvgpu_mutex elpg_mutex; /* protect elpg enable/disable */
362 int elpg_refcnt; /* disable -1, enable +1, <=0 elpg disabled, > 0 elpg enabled */ 367 int elpg_refcnt; /* disable -1, enable +1, <=0 elpg disabled, > 0 elpg enabled */
@@ -440,7 +445,6 @@ int pmu_bootstrap(struct pmu_gk20a *pmu);
440int gk20a_init_pmu(struct pmu_gk20a *pmu); 445int gk20a_init_pmu(struct pmu_gk20a *pmu);
441void pmu_dump_falcon_stats(struct pmu_gk20a *pmu); 446void pmu_dump_falcon_stats(struct pmu_gk20a *pmu);
442void gk20a_remove_pmu_support(struct pmu_gk20a *pmu); 447void gk20a_remove_pmu_support(struct pmu_gk20a *pmu);
443void pmu_setup_hw(struct work_struct *work);
444void pmu_seq_init(struct pmu_gk20a *pmu); 448void pmu_seq_init(struct pmu_gk20a *pmu);
445 449
446int gk20a_init_pmu(struct pmu_gk20a *pmu); 450int gk20a_init_pmu(struct pmu_gk20a *pmu);