summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm20b/gr_gm20b.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/gm20b/gr_gm20b.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/gm20b/gr_gm20b.c')
-rw-r--r--drivers/gpu/nvgpu/gm20b/gr_gm20b.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/gr_gm20b.c b/drivers/gpu/nvgpu/gm20b/gr_gm20b.c
index d5131b7a..cc709c78 100644
--- a/drivers/gpu/nvgpu/gm20b/gr_gm20b.c
+++ b/drivers/gpu/nvgpu/gm20b/gr_gm20b.c
@@ -855,6 +855,9 @@ static int gr_gm20b_dump_gr_status_regs(struct gk20a *g,
855 struct gk20a_debug_output *o) 855 struct gk20a_debug_output *o)
856{ 856{
857 struct gr_gk20a *gr = &g->gr; 857 struct gr_gk20a *gr = &g->gr;
858 u32 gr_engine_id;
859
860 gr_engine_id = gk20a_fifo_get_gr_engine_id(g);
858 861
859 gk20a_debug_output(o, "NV_PGRAPH_STATUS: 0x%x\n", 862 gk20a_debug_output(o, "NV_PGRAPH_STATUS: 0x%x\n",
860 gk20a_readl(g, gr_status_r())); 863 gk20a_readl(g, gr_status_r()));
@@ -875,7 +878,7 @@ static int gr_gm20b_dump_gr_status_regs(struct gk20a *g,
875 gk20a_debug_output(o, "NV_PGRAPH_FECS_INTR : 0x%x\n", 878 gk20a_debug_output(o, "NV_PGRAPH_FECS_INTR : 0x%x\n",
876 gk20a_readl(g, gr_fecs_intr_r())); 879 gk20a_readl(g, gr_fecs_intr_r()));
877 gk20a_debug_output(o, "NV_PFIFO_ENGINE_STATUS(GR) : 0x%x\n", 880 gk20a_debug_output(o, "NV_PFIFO_ENGINE_STATUS(GR) : 0x%x\n",
878 gk20a_readl(g, fifo_engine_status_r(ENGINE_GR_GK20A))); 881 gk20a_readl(g, fifo_engine_status_r(gr_engine_id)));
879 gk20a_debug_output(o, "NV_PGRAPH_ACTIVITY0: 0x%x\n", 882 gk20a_debug_output(o, "NV_PGRAPH_ACTIVITY0: 0x%x\n",
880 gk20a_readl(g, gr_activity_0_r())); 883 gk20a_readl(g, gr_activity_0_r()));
881 gk20a_debug_output(o, "NV_PGRAPH_ACTIVITY1: 0x%x\n", 884 gk20a_debug_output(o, "NV_PGRAPH_ACTIVITY1: 0x%x\n",