diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2017-03-15 17:08:32 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-03-17 11:44:03 -0400 |
commit | ca762e42205febba72ce063417e1ac598610941d (patch) | |
tree | caff32adafb4c09ed335756da3e8beb7b87fe47b /drivers/gpu/nvgpu/vgpu/mm_vgpu.c | |
parent | 0742f4e7032aabf44a31792330fcd4f55f4540f7 (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.c | 10 |
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 | ||
501 | static void vgpu_mm_tlb_invalidate(struct vm_gk20a *vm) | 501 | static 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 | ||
524 | void vgpu_init_mm_ops(struct gpu_ops *gops) | 524 | void 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; |