summaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorKonsta Holtta <kholtta@nvidia.com>2016-06-17 08:28:27 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2016-09-15 15:24:17 -0400
commit2e2f8f15050058ec162786cfd84f8ce959c36183 (patch)
treec5047fa3d5d9e02c0b0c86f1f13bb847bc693bba /drivers/gpu
parent130dd3dd3e22d47379601aa37be2edf0874577ef (diff)
gpu: nvgpu: allocate channel inst blocks in vidmem
Use gk20a_gmmu_alloc() to allocate channel inst block which first tries to allocate in vidmem Jira DNVGPU-22 Change-Id: Ib4d92bf4d2bc0c3d53a82812d635fa8abca4340a Signed-off-by: Konsta Holtta <kholtta@nvidia.com> Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/1206274 (cherry picked from commit 0c81c8984c42df27d3520f800eb87728f67d4453) Reviewed-on: http://git-master/r/1219701 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/nvgpu/gk20a/channel_gk20a.c5
-rw-r--r--drivers/gpu/nvgpu/gk20a/fifo_gk20a.c2
2 files changed, 2 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
index 085caec5..9f0b3e92 100644
--- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
@@ -118,9 +118,6 @@ int channel_gk20a_commit_va(struct channel_gk20a *c)
118{ 118{
119 gk20a_dbg_fn(""); 119 gk20a_dbg_fn("");
120 120
121 if (!c->inst_block.cpu_va)
122 return -ENOMEM;
123
124 gk20a_init_inst_block(&c->inst_block, c->vm, 121 gk20a_init_inst_block(&c->inst_block, c->vm,
125 c->vm->gmmu_page_sizes[gmmu_page_size_big]); 122 c->vm->gmmu_page_sizes[gmmu_page_size_big]);
126 123
@@ -391,7 +388,7 @@ int channel_gk20a_alloc_inst(struct gk20a *g, struct channel_gk20a *ch)
391 388
392 gk20a_dbg_fn(""); 389 gk20a_dbg_fn("");
393 390
394 err = gk20a_alloc_inst_block(g, &ch->inst_block); 391 err = gk20a_gmmu_alloc(g, ram_in_alloc_size_v(), &ch->inst_block);
395 if (err) 392 if (err)
396 return err; 393 return err;
397 394
diff --git a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c
index 2e38c4b6..34b0560c 100644
--- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c
@@ -973,7 +973,7 @@ channel_from_inst_ptr(struct fifo_gk20a *f, u64 inst_ptr)
973 continue; 973 continue;
974 974
975 ch_inst_ptr = gk20a_mm_inst_block_addr(g, &ch->inst_block); 975 ch_inst_ptr = gk20a_mm_inst_block_addr(g, &ch->inst_block);
976 if (ch->inst_block.cpu_va && inst_ptr == ch_inst_ptr) 976 if (inst_ptr == ch_inst_ptr)
977 return ch; 977 return ch;
978 978
979 gk20a_channel_put(ch); 979 gk20a_channel_put(ch);