summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index a5e130cb..bec2d2a0 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -215,6 +215,7 @@ struct gpu_ops {
215 void (*blcg_ltc_load_gating_prod)(struct gk20a *g, bool prod); 215 void (*blcg_ltc_load_gating_prod)(struct gk20a *g, bool prod);
216 void (*blcg_pwr_csb_load_gating_prod)(struct gk20a *g, bool prod); 216 void (*blcg_pwr_csb_load_gating_prod)(struct gk20a *g, bool prod);
217 void (*blcg_pmu_load_gating_prod)(struct gk20a *g, bool prod); 217 void (*blcg_pmu_load_gating_prod)(struct gk20a *g, bool prod);
218 void (*blcg_xbar_load_gating_prod)(struct gk20a *g, bool prod);
218 void (*pg_gr_load_gating_prod)(struct gk20a *g, bool prod); 219 void (*pg_gr_load_gating_prod)(struct gk20a *g, bool prod);
219 } clock_gating; 220 } clock_gating;
220 struct { 221 struct {
@@ -490,6 +491,11 @@ struct gk20a {
490 u32 ch_wdt_enabled; 491 u32 ch_wdt_enabled;
491 struct mutex ch_wdt_lock; 492 struct mutex ch_wdt_lock;
492 493
494 /* Channel priorities */
495 u32 timeslice_low_priority_us;
496 u32 timeslice_medium_priority_us;
497 u32 timeslice_high_priority_us;
498
493 bool slcg_enabled; 499 bool slcg_enabled;
494 bool blcg_enabled; 500 bool blcg_enabled;
495 bool elcg_enabled; 501 bool elcg_enabled;
@@ -509,6 +515,10 @@ struct gk20a {
509 struct dentry *debugfs_bypass_smmu; 515 struct dentry *debugfs_bypass_smmu;
510 struct dentry *debugfs_disable_bigpage; 516 struct dentry *debugfs_disable_bigpage;
511 struct dentry *debugfs_gr_default_attrib_cb_size; 517 struct dentry *debugfs_gr_default_attrib_cb_size;
518
519 struct dentry * debugfs_timeslice_low_priority_us;
520 struct dentry * debugfs_timeslice_medium_priority_us;
521 struct dentry * debugfs_timeslice_high_priority_us;
512#endif 522#endif
513 struct gk20a_ctxsw_ucode_info ctxsw_ucode_info; 523 struct gk20a_ctxsw_ucode_info ctxsw_ucode_info;
514 524
@@ -885,4 +895,11 @@ void gk20a_user_deinit(struct platform_device *dev);
885 895
886extern void gk20a_debug_dump_device(struct platform_device *pdev); 896extern void gk20a_debug_dump_device(struct platform_device *pdev);
887 897
898static inline u32 scale_ptimer(u32 timeout , u32 scale10x)
899{
900 if (((timeout*10) % scale10x) >= (scale10x/2))
901 return ((timeout * 10) / scale10x) + 1;
902 else
903 return (timeout * 10) / scale10x;
904}
888#endif /* GK20A_H */ 905#endif /* GK20A_H */