summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/vgpu/mm_vgpu.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2017-03-15 17:08:32 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-03-17 11:44:03 -0400
commitca762e42205febba72ce063417e1ac598610941d (patch)
treecaff32adafb4c09ed335756da3e8beb7b87fe47b /drivers/gpu/nvgpu/vgpu/mm_vgpu.c
parent0742f4e7032aabf44a31792330fcd4f55f4540f7 (diff)
gpu: nvgpu: Move all FB programming to FB HAL
Move all programming of FB to fb_*.c files, and remove the inclusion of FB hardware headers from other files. TLB invalidate function took previously a pointer to VM, but the new API takes only a PDB mem_desc, because FB does not need to know about higher level VM. GPC MMU is programmed from the same function as FB MMU, so added dependency to GR hardware header to FB. GP106 ACR was also triggering a VPR fetch, but that's not applicable to dGPU, so removed that call. Change-Id: I4eb69377ac3745da205907626cf60948b7c5392a Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/1321516 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/vgpu/mm_vgpu.c')
-rw-r--r--drivers/gpu/nvgpu/vgpu/mm_vgpu.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/vgpu/mm_vgpu.c b/drivers/gpu/nvgpu/vgpu/mm_vgpu.c
index 10bbbccb..1bcdc17b 100644
--- a/drivers/gpu/nvgpu/vgpu/mm_vgpu.c
+++ b/drivers/gpu/nvgpu/vgpu/mm_vgpu.c
@@ -498,11 +498,11 @@ static void vgpu_mm_l2_flush(struct gk20a *g, bool invalidate)
498 vgpu_cache_maint(vgpu_get_handle(g), op); 498 vgpu_cache_maint(vgpu_get_handle(g), op);
499} 499}
500 500
501static void vgpu_mm_tlb_invalidate(struct vm_gk20a *vm) 501static void vgpu_mm_tlb_invalidate(struct gk20a *g, struct mem_desc *pdb)
502{ 502{
503 gk20a_dbg_fn(""); 503 gk20a_dbg_fn("");
504 504
505 gk20a_err(dev_from_vm(vm), "%s: call to RM server not supported", 505 gk20a_err(g->dev, "%s: call to RM server not supported",
506 __func__); 506 __func__);
507} 507}
508 508
@@ -523,8 +523,8 @@ static void vgpu_mm_mmu_set_debug_mode(struct gk20a *g, bool enable)
523 523
524void vgpu_init_mm_ops(struct gpu_ops *gops) 524void vgpu_init_mm_ops(struct gpu_ops *gops)
525{ 525{
526 gops->mm.is_debug_mode_enabled = NULL; 526 gops->fb.is_debug_mode_enabled = NULL;
527 gops->mm.set_debug_mode = vgpu_mm_mmu_set_debug_mode; 527 gops->fb.set_debug_mode = vgpu_mm_mmu_set_debug_mode;
528 gops->mm.gmmu_map = vgpu_locked_gmmu_map; 528 gops->mm.gmmu_map = vgpu_locked_gmmu_map;
529 gops->mm.gmmu_unmap = vgpu_locked_gmmu_unmap; 529 gops->mm.gmmu_unmap = vgpu_locked_gmmu_unmap;
530 gops->mm.vm_remove = vgpu_vm_remove_support; 530 gops->mm.vm_remove = vgpu_vm_remove_support;
@@ -533,7 +533,7 @@ void vgpu_init_mm_ops(struct gpu_ops *gops)
533 gops->mm.fb_flush = vgpu_mm_fb_flush; 533 gops->mm.fb_flush = vgpu_mm_fb_flush;
534 gops->mm.l2_invalidate = vgpu_mm_l2_invalidate; 534 gops->mm.l2_invalidate = vgpu_mm_l2_invalidate;
535 gops->mm.l2_flush = vgpu_mm_l2_flush; 535 gops->mm.l2_flush = vgpu_mm_l2_flush;
536 gops->mm.tlb_invalidate = vgpu_mm_tlb_invalidate; 536 gops->fb.tlb_invalidate = vgpu_mm_tlb_invalidate;
537 gops->mm.get_physical_addr_bits = gk20a_mm_get_physical_addr_bits; 537 gops->mm.get_physical_addr_bits = gk20a_mm_get_physical_addr_bits;
538 gops->mm.get_iova_addr = gk20a_mm_iova_addr; 538 gops->mm.get_iova_addr = gk20a_mm_iova_addr;
539 gops->mm.init_mm_setup_hw = NULL; 539 gops->mm.init_mm_setup_hw = NULL;