summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gv11b
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2018-07-06 15:37:10 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-07-09 20:45:30 -0400
commit876953fbb85f9440bbcc1d7d59435593886b53c4 (patch)
tree9690ee5598b83fcfa222592eeb2e3bb45389f3a6 /drivers/gpu/nvgpu/gv11b
parentda03aa782535e77e221a3c27b0676fe9c1c7980c (diff)
gpu: nvgpu: Move FB MMU query to FB HAL
Move queries of FB MMU configuration to FB HAL. Also use g->ltc_count instead of reading the number of LTCs from FB. These changes together remove last direct uses of FB registers from GR. JIRA NVGPU-714 Change-Id: I1b4b46fc2f636f5c1904e4174040a47a27948999 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1773076 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b')
-rw-r--r--drivers/gpu/nvgpu/gv11b/gr_gv11b.c9
-rw-r--r--drivers/gpu/nvgpu/gv11b/hal_gv11b.c4
2 files changed, 8 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
index ef482ba8..6ceaa47a 100644
--- a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
@@ -57,7 +57,6 @@
57#include <nvgpu/hw/gv11b/hw_ram_gv11b.h> 57#include <nvgpu/hw/gv11b/hw_ram_gv11b.h>
58#include <nvgpu/hw/gv11b/hw_pbdma_gv11b.h> 58#include <nvgpu/hw/gv11b/hw_pbdma_gv11b.h>
59#include <nvgpu/hw/gv11b/hw_therm_gv11b.h> 59#include <nvgpu/hw/gv11b/hw_therm_gv11b.h>
60#include <nvgpu/hw/gv11b/hw_fb_gv11b.h>
61#include <nvgpu/hw/gv11b/hw_perf_gv11b.h> 60#include <nvgpu/hw/gv11b/hw_perf_gv11b.h>
62 61
63#define GFXP_WFI_TIMEOUT_COUNT_IN_USEC_DEFAULT 100 62#define GFXP_WFI_TIMEOUT_COUNT_IN_USEC_DEFAULT 100
@@ -4248,7 +4247,7 @@ void gr_gv11b_init_gpc_mmu(struct gk20a *g)
4248 4247
4249 nvgpu_log_info(g, "initialize gpc mmu"); 4248 nvgpu_log_info(g, "initialize gpc mmu");
4250 4249
4251 temp = gk20a_readl(g, fb_mmu_ctrl_r()); 4250 temp = g->ops.fb.mmu_ctrl(g);
4252 temp &= gr_gpcs_pri_mmu_ctrl_vm_pg_size_m() | 4251 temp &= gr_gpcs_pri_mmu_ctrl_vm_pg_size_m() |
4253 gr_gpcs_pri_mmu_ctrl_use_pdb_big_page_size_m() | 4252 gr_gpcs_pri_mmu_ctrl_use_pdb_big_page_size_m() |
4254 gr_gpcs_pri_mmu_ctrl_vol_fault_m() | 4253 gr_gpcs_pri_mmu_ctrl_vol_fault_m() |
@@ -4269,11 +4268,11 @@ void gr_gv11b_init_gpc_mmu(struct gk20a *g)
4269 gk20a_writel(g, gr_gpcs_pri_mmu_pm_req_mask_r(), 0); 4268 gk20a_writel(g, gr_gpcs_pri_mmu_pm_req_mask_r(), 0);
4270 4269
4271 gk20a_writel(g, gr_gpcs_pri_mmu_debug_ctrl_r(), 4270 gk20a_writel(g, gr_gpcs_pri_mmu_debug_ctrl_r(),
4272 gk20a_readl(g, fb_mmu_debug_ctrl_r())); 4271 g->ops.fb.mmu_debug_ctrl(g));
4273 gk20a_writel(g, gr_gpcs_pri_mmu_debug_wr_r(), 4272 gk20a_writel(g, gr_gpcs_pri_mmu_debug_wr_r(),
4274 gk20a_readl(g, fb_mmu_debug_wr_r())); 4273 g->ops.fb.mmu_debug_wr(g));
4275 gk20a_writel(g, gr_gpcs_pri_mmu_debug_rd_r(), 4274 gk20a_writel(g, gr_gpcs_pri_mmu_debug_rd_r(),
4276 gk20a_readl(g, fb_mmu_debug_rd_r())); 4275 g->ops.fb.mmu_debug_rd(g));
4277} 4276}
4278 4277
4279int gr_gv11b_init_preemption_state(struct gk20a *g) 4278int gr_gv11b_init_preemption_state(struct gk20a *g)
diff --git a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
index 5bfa85da..6132a2dd 100644
--- a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
@@ -429,6 +429,10 @@ static const struct gpu_ops gv11b_ops = {
429 .set_mmu_page_size = gm20b_fb_set_mmu_page_size, 429 .set_mmu_page_size = gm20b_fb_set_mmu_page_size,
430 .set_use_full_comp_tag_line = 430 .set_use_full_comp_tag_line =
431 gm20b_fb_set_use_full_comp_tag_line, 431 gm20b_fb_set_use_full_comp_tag_line,
432 .mmu_ctrl = gm20b_fb_mmu_ctrl,
433 .mmu_debug_ctrl = gm20b_fb_mmu_debug_ctrl,
434 .mmu_debug_wr = gm20b_fb_mmu_debug_wr,
435 .mmu_debug_rd = gm20b_fb_mmu_debug_rd,
432 .compression_page_size = gp10b_fb_compression_page_size, 436 .compression_page_size = gp10b_fb_compression_page_size,
433 .compressible_page_size = gp10b_fb_compressible_page_size, 437 .compressible_page_size = gp10b_fb_compressible_page_size,
434 .compression_align_mask = gm20b_fb_compression_align_mask, 438 .compression_align_mask = gm20b_fb_compression_align_mask,