mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 10:34:43 +03:00
gpu: nvgpu: add ops and var for t19x mmu fault
Add new ops and fields required for t19x mmu fault JIRA GPUT19X-7 JIRA GPUT19X-12 Change-Id: I29694c15ff9a4150bb1737adac6b58ccba76bea4 Signed-off-by: Seema Khowala <seemaj@nvidia.com> Reviewed-on: https://git-master/r/1492640 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
cba424539d
commit
0e53ae618c
@@ -729,6 +729,7 @@ struct gpu_ops {
|
||||
int (*secure_alloc)(struct gk20a *g,
|
||||
struct gr_ctx_buffer_desc *desc,
|
||||
size_t size);
|
||||
void (*fault_info_mem_destroy)(struct gk20a *g);
|
||||
} mm;
|
||||
struct {
|
||||
u32 (*enter)(struct gk20a *g, struct nvgpu_mem *mem,
|
||||
|
||||
@@ -464,6 +464,9 @@ static void gk20a_remove_mm_support(struct mm_gk20a *mm)
|
||||
{
|
||||
struct gk20a *g = gk20a_from_mm(mm);
|
||||
|
||||
if (g->ops.mm.fault_info_mem_destroy)
|
||||
g->ops.mm.fault_info_mem_destroy(g);
|
||||
|
||||
if (g->ops.mm.remove_bar2_vm)
|
||||
g->ops.mm.remove_bar2_vm(g);
|
||||
|
||||
|
||||
@@ -147,6 +147,8 @@ void gk20a_mm_l2_flush(struct gk20a *g, bool invalidate);
|
||||
void gk20a_mm_cbc_clean(struct gk20a *g);
|
||||
void gk20a_mm_l2_invalidate(struct gk20a *g);
|
||||
|
||||
#define FAULT_TYPE_NUM 2 /* replay and nonreplay faults */
|
||||
|
||||
struct mmu_fault_info {
|
||||
u64 inst_ptr;
|
||||
u32 inst_aperture;
|
||||
@@ -224,8 +226,15 @@ struct mm_gk20a {
|
||||
struct nvgpu_mutex l2_op_lock;
|
||||
struct nvgpu_mutex tlb_lock;
|
||||
struct nvgpu_mutex priv_lock;
|
||||
#ifdef CONFIG_ARCH_TEGRA_18x_SOC
|
||||
|
||||
struct nvgpu_mem bar2_desc;
|
||||
|
||||
#ifdef CONFIG_TEGRA_19x_GPU
|
||||
struct nvgpu_mem hw_fault_buf[FAULT_TYPE_NUM];
|
||||
unsigned int hw_fault_buf_status[FAULT_TYPE_NUM];
|
||||
struct mmu_fault_info *fault_info[FAULT_TYPE_NUM];
|
||||
struct nvgpu_mutex hub_isr_mutex;
|
||||
u32 hub_intr_types;
|
||||
#endif
|
||||
/*
|
||||
* Separate function to cleanup the CE since it requires a channel to
|
||||
|
||||
Reference in New Issue
Block a user