From 9c5bcbe6f2b71592c3a07d5884b68ad10fdffffd Mon Sep 17 00:00:00 2001 From: Deepak Nibade Date: Thu, 7 Jun 2018 21:01:58 -0700 Subject: 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 Reviewed-on: https://git-master.nvidia.com/r/1744063 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/gk20a/gk20a.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'drivers/gpu/nvgpu/gk20a') 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 { unsigned int intr_type); int (*init_fbpa)(struct gk20a *g); void (*fbpa_isr)(struct gk20a *g); + void (*write_mmu_fault_buffer_lo_hi)(struct gk20a *g, u32 index, + u32 addr_lo, u32 addr_hi); + void (*write_mmu_fault_buffer_get)(struct gk20a *g, u32 index, + u32 reg_val); + void (*write_mmu_fault_buffer_size)(struct gk20a *g, u32 index, + u32 reg_val); + void (*write_mmu_fault_status)(struct gk20a *g, u32 reg_val); + u32 (*read_mmu_fault_buffer_get)(struct gk20a *g, u32 index); + u32 (*read_mmu_fault_buffer_put)(struct gk20a *g, u32 index); + u32 (*read_mmu_fault_buffer_size)(struct gk20a *g, u32 index); + void (*read_mmu_fault_addr_lo_hi)(struct gk20a *g, + u32 *addr_lo, u32 *addr_hi); + void (*read_mmu_fault_inst_lo_hi)(struct gk20a *g, + u32 *inst_lo, u32 *inst_hi); + u32 (*read_mmu_fault_info)(struct gk20a *g); + u32 (*read_mmu_fault_status)(struct gk20a *g); } fb; struct { void (*slcg_bus_load_gating_prod)(struct gk20a *g, bool prod); -- cgit v1.2.2