summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
diff options
context:
space:
mode:
authorAlex Waterman <alexw@nvidia.com>2018-02-28 12:19:19 -0500
committerSrikar Srimath Tirumala <srikars@nvidia.com>2018-02-28 16:49:22 -0500
commit5a35a95654d561fce09a3b9abf6b82bb7a29d74b (patch)
tree119a07134188d8e06c29a570dd8c6b143f39c9e1 /drivers/gpu/nvgpu/gk20a/mm_gk20a.c
parent3fdd8e38b280123fd13bcc4f3fd8928c15e94db6 (diff)
Revert "gpu: nvgpu: Get coherency on gv100 + NVLINK working"
Also revert other changes related to IO coherence. This may be the culprit in a recent dev-kernel lockdown. Bug 2070609 Change-Id: Ida178aef161fadbc6db9512521ea51c702c1564b Signed-off-by: Alex Waterman <alexw@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1665914 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Srikar Srimath Tirumala <srikars@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/mm_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/mm_gk20a.c24
1 files changed, 10 insertions, 14 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
index 4ff6125b..b27d1109 100644
--- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
@@ -122,9 +122,8 @@ static inline u32 big_valid_pde0_bits(struct gk20a *g,
122{ 122{
123 u32 pde0_bits = 123 u32 pde0_bits =
124 nvgpu_aperture_mask(g, pd->mem, 124 nvgpu_aperture_mask(g, pd->mem,
125 gmmu_pde_aperture_big_sys_mem_ncoh_f(), 125 gmmu_pde_aperture_big_sys_mem_ncoh_f(),
126 gmmu_pde_aperture_big_sys_mem_coh_f(), 126 gmmu_pde_aperture_big_video_memory_f()) |
127 gmmu_pde_aperture_big_video_memory_f()) |
128 gmmu_pde_address_big_sys_f( 127 gmmu_pde_address_big_sys_f(
129 (u32)(addr >> gmmu_pde_address_shift_v())); 128 (u32)(addr >> gmmu_pde_address_shift_v()));
130 129
@@ -136,9 +135,8 @@ static inline u32 small_valid_pde1_bits(struct gk20a *g,
136{ 135{
137 u32 pde1_bits = 136 u32 pde1_bits =
138 nvgpu_aperture_mask(g, pd->mem, 137 nvgpu_aperture_mask(g, pd->mem,
139 gmmu_pde_aperture_small_sys_mem_ncoh_f(), 138 gmmu_pde_aperture_small_sys_mem_ncoh_f(),
140 gmmu_pde_aperture_small_sys_mem_coh_f(), 139 gmmu_pde_aperture_small_video_memory_f()) |
141 gmmu_pde_aperture_small_video_memory_f()) |
142 gmmu_pde_vol_small_true_f() | /* tbd: why? */ 140 gmmu_pde_vol_small_true_f() | /* tbd: why? */
143 gmmu_pde_address_small_sys_f( 141 gmmu_pde_address_small_sys_f(
144 (u32)(addr >> gmmu_pde_address_shift_v())); 142 (u32)(addr >> gmmu_pde_address_shift_v()));
@@ -217,7 +215,6 @@ static void __update_pte(struct vm_gk20a *vm,
217 215
218 pte_w[1] = __nvgpu_aperture_mask(g, attrs->aperture, 216 pte_w[1] = __nvgpu_aperture_mask(g, attrs->aperture,
219 gmmu_pte_aperture_sys_mem_ncoh_f(), 217 gmmu_pte_aperture_sys_mem_ncoh_f(),
220 gmmu_pte_aperture_sys_mem_coh_f(),
221 gmmu_pte_aperture_video_memory_f()) | 218 gmmu_pte_aperture_video_memory_f()) |
222 gmmu_pte_kind_f(attrs->kind_v) | 219 gmmu_pte_kind_f(attrs->kind_v) |
223 gmmu_pte_comptagline_f((u32)(attrs->ctag >> ctag_shift)); 220 gmmu_pte_comptagline_f((u32)(attrs->ctag >> ctag_shift));
@@ -271,7 +268,7 @@ static void update_gmmu_pte_locked(struct vm_gk20a *vm,
271 page_size >> 10, 268 page_size >> 10,
272 nvgpu_gmmu_perm_str(attrs->rw_flag), 269 nvgpu_gmmu_perm_str(attrs->rw_flag),
273 attrs->kind_v, 270 attrs->kind_v,
274 nvgpu_aperture_str(g, attrs->aperture), 271 nvgpu_aperture_str(attrs->aperture),
275 attrs->cacheable ? 'C' : '-', 272 attrs->cacheable ? 'C' : '-',
276 attrs->sparse ? 'S' : '-', 273 attrs->sparse ? 'S' : '-',
277 attrs->priv ? 'P' : '-', 274 attrs->priv ? 'P' : '-',
@@ -366,12 +363,11 @@ void gk20a_mm_init_pdb(struct gk20a *g, struct nvgpu_mem *inst_block,
366 gk20a_dbg_info("pde pa=0x%llx", pdb_addr); 363 gk20a_dbg_info("pde pa=0x%llx", pdb_addr);
367 364
368 nvgpu_mem_wr32(g, inst_block, ram_in_page_dir_base_lo_w(), 365 nvgpu_mem_wr32(g, inst_block, ram_in_page_dir_base_lo_w(),
369 nvgpu_aperture_mask(g, vm->pdb.mem, 366 nvgpu_aperture_mask(g, vm->pdb.mem,
370 ram_in_page_dir_base_target_sys_mem_ncoh_f(), 367 ram_in_page_dir_base_target_sys_mem_ncoh_f(),
371 ram_in_page_dir_base_target_sys_mem_coh_f(), 368 ram_in_page_dir_base_target_vid_mem_f()) |
372 ram_in_page_dir_base_target_vid_mem_f()) | 369 ram_in_page_dir_base_vol_true_f() |
373 ram_in_page_dir_base_vol_true_f() | 370 ram_in_page_dir_base_lo_f(pdb_addr_lo));
374 ram_in_page_dir_base_lo_f(pdb_addr_lo));
375 371
376 nvgpu_mem_wr32(g, inst_block, ram_in_page_dir_base_hi_w(), 372 nvgpu_mem_wr32(g, inst_block, ram_in_page_dir_base_hi_w(),
377 ram_in_page_dir_base_hi_f(pdb_addr_hi)); 373 ram_in_page_dir_base_hi_f(pdb_addr_hi));