summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gv11b/subctx_gv11b.c
diff options
context:
space:
mode:
authorseshendra Gadagottu <sgadagottu@nvidia.com>2017-09-27 14:18:13 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-10-03 16:33:00 -0400
commit0d63e22a9920eb1e3d8653665cda650eca2311cd (patch)
tree8342c14bb0fe168c698f3d4b0dc734fcf6217a8f /drivers/gpu/nvgpu/gv11b/subctx_gv11b.c
parent1f6755b287cd5382a6e16baf0342bf6a7ab97f6c (diff)
gpu: nvgpu: gv11b: check for memory aperture type
Check for memory aperture type before setting relevant sysmem non-coherent or vidmem flags in ram entry. Modified following functions to correct memory aperture type: gv11b_get_ch_runlist_entry gv11b_subctx_commit_pdb Added following hw constants for chan_inst_target: ram_rl_entry_chan_inst_target_sys_mem_coh_v ram_rl_entry_chan_inst_target_vid_mem_v Change-Id: I85698044b9fe4c8baed71121845e4fb69dc33922 Signed-off-by: seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1569521 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b/subctx_gv11b.c')
-rw-r--r--drivers/gpu/nvgpu/gv11b/subctx_gv11b.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/subctx_gv11b.c b/drivers/gpu/nvgpu/gv11b/subctx_gv11b.c
index 84d21a9a..4951d3a4 100644
--- a/drivers/gpu/nvgpu/gv11b/subctx_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/subctx_gv11b.c
@@ -158,12 +158,15 @@ void gv11b_subctx_commit_pdb(struct channel_gk20a *c,
158 u32 format_word; 158 u32 format_word;
159 u32 pdb_addr_lo, pdb_addr_hi; 159 u32 pdb_addr_lo, pdb_addr_hi;
160 u64 pdb_addr; 160 u64 pdb_addr;
161 u32 aperture = nvgpu_aperture_mask(g, vm->pdb.mem,
162 ram_in_sc_page_dir_base_target_sys_mem_ncoh_v(),
163 ram_in_sc_page_dir_base_target_vid_mem_v());
161 164
162 pdb_addr = nvgpu_mem_get_addr(g, vm->pdb.mem); 165 pdb_addr = nvgpu_mem_get_addr(g, vm->pdb.mem);
163 pdb_addr_lo = u64_lo32(pdb_addr >> ram_in_base_shift_v()); 166 pdb_addr_lo = u64_lo32(pdb_addr >> ram_in_base_shift_v());
164 pdb_addr_hi = u64_hi32(pdb_addr); 167 pdb_addr_hi = u64_hi32(pdb_addr);
165 format_word = ram_in_sc_page_dir_base_target_f( 168 format_word = ram_in_sc_page_dir_base_target_f(
166 ram_in_sc_page_dir_base_target_sys_mem_ncoh_v(), 0) | 169 aperture, 0) |
167 ram_in_sc_page_dir_base_vol_f( 170 ram_in_sc_page_dir_base_vol_f(
168 ram_in_sc_page_dir_base_vol_true_v(), 0) | 171 ram_in_sc_page_dir_base_vol_true_v(), 0) |
169 ram_in_sc_page_dir_base_fault_replay_tex_f(1, 0) | 172 ram_in_sc_page_dir_base_fault_replay_tex_f(1, 0) |