summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gr_gk20a.h
diff options
context:
space:
mode:
authorLakshmanan M <lm@nvidia.com>2016-06-02 00:04:46 -0400
committerTerje Bergstrom <tbergstrom@nvidia.com>2016-06-07 15:31:34 -0400
commit6299b00beb9dabdd53c211b02658d022827b3232 (patch)
tree941d8dd8aae8f7f8c73329e182984c36a5a9bf88 /drivers/gpu/nvgpu/gk20a/gr_gk20a.h
parent3d7263d3cafdcfc57a6d6b9f829562845d116294 (diff)
gpu: nvgpu: Add multiple engine and runlist support
This CL covers the following modification, 1) Added multiple engine_info support 2) Added multiple runlist_info support 3) Initial changes for ASYNC CE support 4) Added ASYNC CE interrupt handling support for gm206 GPU family 5) Added generic mechanism to identify the CE engine pri_base address for gm206 (CE0, CE1 and CE2) 6) Removed hard coded engine_id logic and made generic way 7) Code cleanup for readability JIRA DNVGPU-26 Change-Id: I2c3846c40bcc8d10c2dfb225caa4105fc9123b65 Signed-off-by: Lakshmanan M <lm@nvidia.com> Reviewed-on: http://git-master/r/1155963 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h
index b5d97727..189994ef 100644
--- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h
@@ -82,6 +82,12 @@ enum {
82}; 82};
83 83
84enum { 84enum {
85 ELCG_MODE = (1 << 0),
86 BLCG_MODE = (1 << 1),
87 INVALID_MODE = (1 << 2)
88};
89
90enum {
85 ELCG_RUN, /* clk always run, i.e. disable elcg */ 91 ELCG_RUN, /* clk always run, i.e. disable elcg */
86 ELCG_STOP, /* clk is stopped */ 92 ELCG_STOP, /* clk is stopped */
87 ELCG_AUTO /* clk will run when non-idle, standard elcg mode */ 93 ELCG_AUTO /* clk will run when non-idle, standard elcg mode */
@@ -476,6 +482,8 @@ int gr_gk20a_fecs_set_reglist_virtual_addr(struct gk20a *g, u64 pmu_va);
476void gr_gk20a_init_elcg_mode(struct gk20a *g, u32 mode, u32 engine); 482void gr_gk20a_init_elcg_mode(struct gk20a *g, u32 mode, u32 engine);
477void gr_gk20a_init_blcg_mode(struct gk20a *g, u32 mode, u32 engine); 483void gr_gk20a_init_blcg_mode(struct gk20a *g, u32 mode, u32 engine);
478 484
485void gr_gk20a_init_cg_mode(struct gk20a *g, u32 cgmode, u32 mode_config);
486
479/* sm */ 487/* sm */
480bool gk20a_gr_sm_debugger_attached(struct gk20a *g); 488bool gk20a_gr_sm_debugger_attached(struct gk20a *g);
481void gk20a_gr_clear_sm_hww(struct gk20a *g, 489void gk20a_gr_clear_sm_hww(struct gk20a *g,