diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2018-06-08 00:01:58 -0400 |
---|---|---|
committer | Tejal Kudav <tkudav@nvidia.com> | 2018-06-14 09:44:08 -0400 |
commit | 9c5bcbe6f2b71592c3a07d5884b68ad10fdffffd (patch) | |
tree | 2d42e8c7de8bca04ea852296e51c2b4b97293002 /drivers/gpu/nvgpu/gk20a/gk20a.h | |
parent | 4e66f214fc03f088b13e1f1cdc097df67dd2c062 (diff) |
gpu: nvgpu: Add HALs for mmu_fault setup and info
Add below HALs to setup mmu_fault configuration registers and to read
information registers and set them on Volta
gops.fb.write_mmu_fault_buffer_lo_hi()
gops.fb.write_mmu_fault_buffer_get()
gops.fb.write_mmu_fault_buffer_size()
gops.fb.write_mmu_fault_status()
gops.fb.read_mmu_fault_buffer_get()
gops.fb.read_mmu_fault_buffer_put()
gops.fb.read_mmu_fault_buffer_size()
gops.fb.read_mmu_fault_addr_lo_hi()
gops.fb.read_mmu_fault_inst_lo_hi()
gops.fb.read_mmu_fault_info()
gops.fb.read_mmu_fault_status()
Jira NVGPUT-13
Change-Id: Ia99568ff905ada3c035efb4565613576012f5bef
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1744063
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 | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index be8917c7..bc4bd682 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -528,6 +528,22 @@ struct gpu_ops { | |||
528 | unsigned int intr_type); | 528 | unsigned int intr_type); |
529 | int (*init_fbpa)(struct gk20a *g); | 529 | int (*init_fbpa)(struct gk20a *g); |
530 | void (*fbpa_isr)(struct gk20a *g); | 530 | void (*fbpa_isr)(struct gk20a *g); |
531 | void (*write_mmu_fault_buffer_lo_hi)(struct gk20a *g, u32 index, | ||
532 | u32 addr_lo, u32 addr_hi); | ||
533 | void (*write_mmu_fault_buffer_get)(struct gk20a *g, u32 index, | ||
534 | u32 reg_val); | ||
535 | void (*write_mmu_fault_buffer_size)(struct gk20a *g, u32 index, | ||
536 | u32 reg_val); | ||
537 | void (*write_mmu_fault_status)(struct gk20a *g, u32 reg_val); | ||
538 | u32 (*read_mmu_fault_buffer_get)(struct gk20a *g, u32 index); | ||
539 | u32 (*read_mmu_fault_buffer_put)(struct gk20a *g, u32 index); | ||
540 | u32 (*read_mmu_fault_buffer_size)(struct gk20a *g, u32 index); | ||
541 | void (*read_mmu_fault_addr_lo_hi)(struct gk20a *g, | ||
542 | u32 *addr_lo, u32 *addr_hi); | ||
543 | void (*read_mmu_fault_inst_lo_hi)(struct gk20a *g, | ||
544 | u32 *inst_lo, u32 *inst_hi); | ||
545 | u32 (*read_mmu_fault_info)(struct gk20a *g); | ||
546 | u32 (*read_mmu_fault_status)(struct gk20a *g); | ||
531 | } fb; | 547 | } fb; |
532 | struct { | 548 | struct { |
533 | void (*slcg_bus_load_gating_prod)(struct gk20a *g, bool prod); | 549 | void (*slcg_bus_load_gating_prod)(struct gk20a *g, bool prod); |