summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/fb
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2018-09-28 04:36:15 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-09-29 02:54:51 -0400
commit7a033af6602258b2f2c738a7836d17562b17d8b8 (patch)
treee8688f79b47ca2ae83742d4a0a99c4976c9ce1e5 /drivers/gpu/nvgpu/common/fb
parentf22ea339b032dff13f281d4a468c9f83d5913110 (diff)
gpu: nvgpu: remove VPR HALs from dGPUs
gops.fb.dump_vpr_wpr_info() accesses both VPR and WPR registers. Split this into two different HALs gops.fb.dump_vpr_info() and gops.fb.dump_wpr_info() Also unset HALs accessing VPR registers on dGPUs We don't support VPR on dGPUs Remove fb_mmu_vpr_info_r() register and all its accessors from dGPU headers Bug 2173122 Change-Id: I5b2712f8c5389e422a84c375a7e836add48bfd1c Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1850947 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/common/fb')
-rw-r--r--drivers/gpu/nvgpu/common/fb/fb_gm20b.c11
-rw-r--r--drivers/gpu/nvgpu/common/fb/fb_gm20b.h3
-rw-r--r--drivers/gpu/nvgpu/common/fb/fb_gv100.c3
3 files changed, 10 insertions, 7 deletions
diff --git a/drivers/gpu/nvgpu/common/fb/fb_gm20b.c b/drivers/gpu/nvgpu/common/fb/fb_gm20b.c
index bf509caf..f62bf9df 100644
--- a/drivers/gpu/nvgpu/common/fb/fb_gm20b.c
+++ b/drivers/gpu/nvgpu/common/fb/fb_gm20b.c
@@ -206,11 +206,11 @@ u32 gm20b_fb_compression_align_mask(struct gk20a *g)
206 return SZ_64K - 1; 206 return SZ_64K - 1;
207} 207}
208 208
209void gm20b_fb_dump_vpr_wpr_info(struct gk20a *g) 209void gm20b_fb_dump_vpr_info(struct gk20a *g)
210{ 210{
211 u32 val; 211 u32 val;
212 212
213 /* print vpr and wpr info */ 213 /* print vpr info */
214 val = gk20a_readl(g, fb_mmu_vpr_info_r()); 214 val = gk20a_readl(g, fb_mmu_vpr_info_r());
215 val &= ~0x3; 215 val &= ~0x3;
216 val |= fb_mmu_vpr_info_index_addr_lo_v(); 216 val |= fb_mmu_vpr_info_index_addr_lo_v();
@@ -220,7 +220,13 @@ void gm20b_fb_dump_vpr_wpr_info(struct gk20a *g)
220 gk20a_readl(g, fb_mmu_vpr_info_r()), 220 gk20a_readl(g, fb_mmu_vpr_info_r()),
221 gk20a_readl(g, fb_mmu_vpr_info_r()), 221 gk20a_readl(g, fb_mmu_vpr_info_r()),
222 gk20a_readl(g, fb_mmu_vpr_info_r())); 222 gk20a_readl(g, fb_mmu_vpr_info_r()));
223}
223 224
225void gm20b_fb_dump_wpr_info(struct gk20a *g)
226{
227 u32 val;
228
229 /* print wpr info */
224 val = gk20a_readl(g, fb_mmu_wpr_info_r()); 230 val = gk20a_readl(g, fb_mmu_wpr_info_r());
225 val &= ~0xf; 231 val &= ~0xf;
226 val |= (fb_mmu_wpr_info_index_allow_read_v()); 232 val |= (fb_mmu_wpr_info_index_allow_read_v());
@@ -232,7 +238,6 @@ void gm20b_fb_dump_vpr_wpr_info(struct gk20a *g)
232 gk20a_readl(g, fb_mmu_wpr_info_r()), 238 gk20a_readl(g, fb_mmu_wpr_info_r()),
233 gk20a_readl(g, fb_mmu_wpr_info_r()), 239 gk20a_readl(g, fb_mmu_wpr_info_r()),
234 gk20a_readl(g, fb_mmu_wpr_info_r())); 240 gk20a_readl(g, fb_mmu_wpr_info_r()));
235
236} 241}
237 242
238static int gm20b_fb_vpr_info_fetch_wait(struct gk20a *g, 243static int gm20b_fb_vpr_info_fetch_wait(struct gk20a *g,
diff --git a/drivers/gpu/nvgpu/common/fb/fb_gm20b.h b/drivers/gpu/nvgpu/common/fb/fb_gm20b.h
index cb5b5d9a..d69f8618 100644
--- a/drivers/gpu/nvgpu/common/fb/fb_gm20b.h
+++ b/drivers/gpu/nvgpu/common/fb/fb_gm20b.h
@@ -43,7 +43,8 @@ u32 gm20b_fb_mmu_debug_rd(struct gk20a *g);
43unsigned int gm20b_fb_compression_page_size(struct gk20a *g); 43unsigned int gm20b_fb_compression_page_size(struct gk20a *g);
44unsigned int gm20b_fb_compressible_page_size(struct gk20a *g); 44unsigned int gm20b_fb_compressible_page_size(struct gk20a *g);
45u32 gm20b_fb_compression_align_mask(struct gk20a *g); 45u32 gm20b_fb_compression_align_mask(struct gk20a *g);
46void gm20b_fb_dump_vpr_wpr_info(struct gk20a *g); 46void gm20b_fb_dump_vpr_info(struct gk20a *g);
47void gm20b_fb_dump_wpr_info(struct gk20a *g);
47void gm20b_fb_read_wpr_info(struct gk20a *g, struct wpr_carveout_info *inf); 48void gm20b_fb_read_wpr_info(struct gk20a *g, struct wpr_carveout_info *inf);
48int gm20b_fb_vpr_info_fetch(struct gk20a *g); 49int gm20b_fb_vpr_info_fetch(struct gk20a *g);
49bool gm20b_fb_debug_mode_enabled(struct gk20a *g); 50bool gm20b_fb_debug_mode_enabled(struct gk20a *g);
diff --git a/drivers/gpu/nvgpu/common/fb/fb_gv100.c b/drivers/gpu/nvgpu/common/fb/fb_gv100.c
index 1088ca90..193cf2f0 100644
--- a/drivers/gpu/nvgpu/common/fb/fb_gv100.c
+++ b/drivers/gpu/nvgpu/common/fb/fb_gv100.c
@@ -141,9 +141,6 @@ int gv100_fb_memory_unlock(struct gk20a *g)
141 141
142 nvgpu_log_fn(g, " "); 142 nvgpu_log_fn(g, " ");
143 143
144 nvgpu_log_info(g, "fb_mmu_vpr_info = 0x%08x",
145 gk20a_readl(g, fb_mmu_vpr_info_r()));
146
147 /* 144 /*
148 * mem_unlock.bin should be written to install 145 * mem_unlock.bin should be written to install
149 * traps even if VPR isn’t actually supported 146 * traps even if VPR isn’t actually supported