summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
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/dbg_gpu_gk20a.c
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/dbg_gpu_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
index 6b9238e9..5e57502e 100644
--- a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
@@ -1102,11 +1102,10 @@ static int dbg_set_powergate(struct dbg_session_gk20a *dbg_s,
1102 false); 1102 false);
1103 g->ops.clock_gating.slcg_ltc_load_gating_prod(g, 1103 g->ops.clock_gating.slcg_ltc_load_gating_prod(g,
1104 false); 1104 false);
1105 gr_gk20a_init_blcg_mode(g, BLCG_RUN, ENGINE_GR_GK20A);
1106 1105
1106 gr_gk20a_init_cg_mode(g, BLCG_MODE, BLCG_RUN);
1107 g->elcg_enabled = false; 1107 g->elcg_enabled = false;
1108 gr_gk20a_init_elcg_mode(g, ELCG_RUN, ENGINE_GR_GK20A); 1108 gr_gk20a_init_cg_mode(g, ELCG_MODE, ELCG_RUN);
1109 gr_gk20a_init_elcg_mode(g, ELCG_RUN, ENGINE_CE2_GK20A);
1110 1109
1111 } 1110 }
1112 1111
@@ -1126,9 +1125,8 @@ static int dbg_set_powergate(struct dbg_session_gk20a *dbg_s,
1126 --g->dbg_powergating_disabled_refcount == 0) { 1125 --g->dbg_powergating_disabled_refcount == 0) {
1127 1126
1128 g->elcg_enabled = true; 1127 g->elcg_enabled = true;
1129 gr_gk20a_init_elcg_mode(g, ELCG_AUTO, ENGINE_CE2_GK20A); 1128 gr_gk20a_init_cg_mode(g, ELCG_MODE, ELCG_AUTO);
1130 gr_gk20a_init_elcg_mode(g, ELCG_AUTO, ENGINE_GR_GK20A); 1129 gr_gk20a_init_cg_mode(g, BLCG_MODE, BLCG_AUTO);
1131 gr_gk20a_init_blcg_mode(g, BLCG_AUTO, ENGINE_GR_GK20A);
1132 1130
1133 g->ops.clock_gating.slcg_ltc_load_gating_prod(g, 1131 g->ops.clock_gating.slcg_ltc_load_gating_prod(g,
1134 g->slcg_enabled); 1132 g->slcg_enabled);