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/gk20a/gk20a.h | |
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/gk20a/gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 695d2d1a..73123fa9 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -349,6 +349,7 @@ struct gpu_ops { | |||
349 | } gr; | 349 | } gr; |
350 | const char *name; | 350 | const char *name; |
351 | struct { | 351 | struct { |
352 | void (*init_hw)(struct gk20a *g); | ||
352 | void (*init_fs_state)(struct gk20a *g); | 353 | void (*init_fs_state)(struct gk20a *g); |
353 | void (*reset)(struct gk20a *g); | 354 | void (*reset)(struct gk20a *g); |
354 | void (*init_uncompressed_kind_map)(struct gk20a *g); | 355 | void (*init_uncompressed_kind_map)(struct gk20a *g); |
@@ -358,6 +359,10 @@ struct gpu_ops { | |||
358 | unsigned int (*compression_page_size)(struct gk20a *g); | 359 | unsigned int (*compression_page_size)(struct gk20a *g); |
359 | unsigned int (*compressible_page_size)(struct gk20a *g); | 360 | unsigned int (*compressible_page_size)(struct gk20a *g); |
360 | void (*dump_vpr_wpr_info)(struct gk20a *g); | 361 | void (*dump_vpr_wpr_info)(struct gk20a *g); |
362 | int (*vpr_info_fetch)(struct gk20a *g); | ||
363 | bool (*is_debug_mode_enabled)(struct gk20a *g); | ||
364 | void (*set_debug_mode)(struct gk20a *g, bool enable); | ||
365 | void (*tlb_invalidate)(struct gk20a *g, struct mem_desc *pdb); | ||
361 | } fb; | 366 | } fb; |
362 | struct { | 367 | struct { |
363 | void (*slcg_bus_load_gating_prod)(struct gk20a *g, bool prod); | 368 | void (*slcg_bus_load_gating_prod)(struct gk20a *g, bool prod); |
@@ -573,8 +578,6 @@ struct gpu_ops { | |||
573 | } fecs_trace; | 578 | } fecs_trace; |
574 | struct { | 579 | struct { |
575 | bool (*support_sparse)(struct gk20a *g); | 580 | bool (*support_sparse)(struct gk20a *g); |
576 | bool (*is_debug_mode_enabled)(struct gk20a *g); | ||
577 | void (*set_debug_mode)(struct gk20a *g, bool enable); | ||
578 | u64 (*gmmu_map)(struct vm_gk20a *vm, | 581 | u64 (*gmmu_map)(struct vm_gk20a *vm, |
579 | u64 map_offset, | 582 | u64 map_offset, |
580 | struct sg_table *sgt, | 583 | struct sg_table *sgt, |
@@ -607,7 +610,6 @@ struct gpu_ops { | |||
607 | void (*l2_invalidate)(struct gk20a *g); | 610 | void (*l2_invalidate)(struct gk20a *g); |
608 | void (*l2_flush)(struct gk20a *g, bool invalidate); | 611 | void (*l2_flush)(struct gk20a *g, bool invalidate); |
609 | void (*cbc_clean)(struct gk20a *g); | 612 | void (*cbc_clean)(struct gk20a *g); |
610 | void (*tlb_invalidate)(struct vm_gk20a *vm); | ||
611 | void (*set_big_page_size)(struct gk20a *g, | 613 | void (*set_big_page_size)(struct gk20a *g, |
612 | struct mem_desc *mem, int size); | 614 | struct mem_desc *mem, int size); |
613 | u32 (*get_big_page_sizes)(void); | 615 | u32 (*get_big_page_sizes)(void); |