summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2014-09-19 02:34:01 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:11:23 -0400
commitd65f23cb9ad9d270560ec00c775e60ab559e8e93 (patch)
tree8a10da4e6a60665a38fef302565b80c5b6af93de /drivers/gpu/nvgpu/gk20a/fifo_gk20a.c
parentb05d85a29da43c62a0ca1113ba6a9ab14ceb1a1c (diff)
gpu: nvgpu: Support 512 channels in gm20b
Retrieve channel count from gm20b specific header instead of the gk20a header. This increases channel count from 128 to 512. Change-Id: I96d4887432852795f7f526e33f0d3d2458f3af0e Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/500623
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/fifo_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/fifo_gk20a.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c
index 3224e29c..0c8bc6f4 100644
--- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c
@@ -513,7 +513,7 @@ static int gk20a_init_fifo_setup_sw(struct gk20a *g)
513 mutex_init(&f->intr.isr.mutex); 513 mutex_init(&f->intr.isr.mutex);
514 gk20a_init_fifo_pbdma_intr_descs(f); /* just filling in data/tables */ 514 gk20a_init_fifo_pbdma_intr_descs(f); /* just filling in data/tables */
515 515
516 f->num_channels = ccsr_channel__size_1_v(); 516 f->num_channels = g->ops.fifo.get_num_fifos(g);
517 f->num_pbdma = proj_host_num_pbdma_v(); 517 f->num_pbdma = proj_host_num_pbdma_v();
518 f->max_engines = ENGINE_INVAL_GK20A; 518 f->max_engines = ENGINE_INVAL_GK20A;
519 519
@@ -2132,6 +2132,11 @@ static void gk20a_fifo_apply_pb_timeout(struct gk20a *g)
2132 } 2132 }
2133} 2133}
2134 2134
2135static u32 gk20a_fifo_get_num_fifos(struct gk20a *g)
2136{
2137 return ccsr_channel__size_1_v();
2138}
2139
2135void gk20a_init_fifo(struct gpu_ops *gops) 2140void gk20a_init_fifo(struct gpu_ops *gops)
2136{ 2141{
2137 gk20a_init_channel(gops); 2142 gk20a_init_channel(gops);
@@ -2140,4 +2145,5 @@ void gk20a_init_fifo(struct gpu_ops *gops)
2140 gops->fifo.trigger_mmu_fault = gk20a_fifo_trigger_mmu_fault; 2145 gops->fifo.trigger_mmu_fault = gk20a_fifo_trigger_mmu_fault;
2141 gops->fifo.apply_pb_timeout = gk20a_fifo_apply_pb_timeout; 2146 gops->fifo.apply_pb_timeout = gk20a_fifo_apply_pb_timeout;
2142 gops->fifo.wait_engine_idle = gk20a_fifo_wait_engine_idle; 2147 gops->fifo.wait_engine_idle = gk20a_fifo_wait_engine_idle;
2148 gops->fifo.get_num_fifos = gk20a_fifo_get_num_fifos;
2143} 2149}