diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 17 |
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 | ||
886 | extern void gk20a_debug_dump_device(struct platform_device *pdev); | 896 | extern void gk20a_debug_dump_device(struct platform_device *pdev); |
887 | 897 | ||
898 | static 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 */ |