diff options
author | Lakshmanan M <lm@nvidia.com> | 2016-06-02 00:04:46 -0400 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-06-07 15:31:34 -0400 |
commit | 6299b00beb9dabdd53c211b02658d022827b3232 (patch) | |
tree | 941d8dd8aae8f7f8c73329e182984c36a5a9bf88 /drivers/gpu/nvgpu/gk20a/gr_gk20a.h | |
parent | 3d7263d3cafdcfc57a6d6b9f829562845d116294 (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.h | 8 |
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 | ||
84 | enum { | 84 | enum { |
85 | ELCG_MODE = (1 << 0), | ||
86 | BLCG_MODE = (1 << 1), | ||
87 | INVALID_MODE = (1 << 2) | ||
88 | }; | ||
89 | |||
90 | enum { | ||
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); | |||
476 | void gr_gk20a_init_elcg_mode(struct gk20a *g, u32 mode, u32 engine); | 482 | void gr_gk20a_init_elcg_mode(struct gk20a *g, u32 mode, u32 engine); |
477 | void gr_gk20a_init_blcg_mode(struct gk20a *g, u32 mode, u32 engine); | 483 | void gr_gk20a_init_blcg_mode(struct gk20a *g, u32 mode, u32 engine); |
478 | 484 | ||
485 | void gr_gk20a_init_cg_mode(struct gk20a *g, u32 cgmode, u32 mode_config); | ||
486 | |||
479 | /* sm */ | 487 | /* sm */ |
480 | bool gk20a_gr_sm_debugger_attached(struct gk20a *g); | 488 | bool gk20a_gr_sm_debugger_attached(struct gk20a *g); |
481 | void gk20a_gr_clear_sm_hww(struct gk20a *g, | 489 | void gk20a_gr_clear_sm_hww(struct gk20a *g, |