summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp10b/fifo_gp10b.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2016-04-08 15:03:32 -0400
committerDeepak Nibade <dnibade@nvidia.com>2016-12-27 04:52:12 -0500
commitae893b37c014b13f68aa7547640bda3589363f4d (patch)
tree5ac4fdb02df2513f0efc2f370d85521422888d4e /drivers/gpu/nvgpu/gp10b/fifo_gp10b.c
parent342d45e060ba9c6a7815633c351ec8d95422dcbb (diff)
gpu: nvgpu: gp10b: Use sysmem aperture for SoC memory
In Tegra GPU, SoC memory has to be accessed as vidmem. In discrete GPU, it has to be accessed as sysmem. Change-Id: Id26588df17b4921533804f72bc8c0ac3892ae154 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/1122591 GVS: Gerrit_Virtual_Submit Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com> Tested-by: Seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-by: Konsta Holtta <kholtta@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/fifo_gp10b.c')
-rw-r--r--drivers/gpu/nvgpu/gp10b/fifo_gp10b.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/fifo_gp10b.c b/drivers/gpu/nvgpu/gp10b/fifo_gp10b.c
index ade6ff0a..9cb26d3f 100644
--- a/drivers/gpu/nvgpu/gp10b/fifo_gp10b.c
+++ b/drivers/gpu/nvgpu/gp10b/fifo_gp10b.c
@@ -53,6 +53,7 @@ static int channel_gp10b_commit_userd(struct channel_gk20a *c)
53 u32 addr_lo; 53 u32 addr_lo;
54 u32 addr_hi; 54 u32 addr_hi;
55 void *inst_ptr; 55 void *inst_ptr;
56 struct gk20a *g = c->g;
56 57
57 gk20a_dbg_fn(""); 58 gk20a_dbg_fn("");
58 59
@@ -67,12 +68,13 @@ static int channel_gp10b_commit_userd(struct channel_gk20a *c)
67 c->hw_chid, (u64)c->userd_iova); 68 c->hw_chid, (u64)c->userd_iova);
68 69
69 gk20a_mem_wr32(inst_ptr, ram_in_ramfc_w() + ram_fc_userd_w(), 70 gk20a_mem_wr32(inst_ptr, ram_in_ramfc_w() + ram_fc_userd_w(),
70 pbdma_userd_target_vid_mem_f() | 71 (g->mm.vidmem_is_vidmem ?
71 pbdma_userd_addr_f(addr_lo)); 72 pbdma_userd_target_sys_mem_ncoh_f() :
73 pbdma_userd_target_vid_mem_f()) |
74 pbdma_userd_addr_f(addr_lo));
72 75
73 gk20a_mem_wr32(inst_ptr, ram_in_ramfc_w() + ram_fc_userd_hi_w(), 76 gk20a_mem_wr32(inst_ptr, ram_in_ramfc_w() + ram_fc_userd_hi_w(),
74 pbdma_userd_target_vid_mem_f() | 77 pbdma_userd_hi_addr_f(addr_hi));
75 pbdma_userd_hi_addr_f(addr_hi));
76 78
77 return 0; 79 return 0;
78} 80}