From 0f291f0d5854b35e802fc0cd102fe2d669103edd Mon Sep 17 00:00:00 2001 From: Alex Waterman Date: Thu, 18 Jan 2018 14:05:07 -0800 Subject: gpu: nvgpu: Remove fault_buf_status array Now that we have a consistent way to check if a mem allocation is valid this array is not necessary. The code can simply check the validity of the nvgpu_mem. Change-Id: I6aaf563ddc314cf86a2c2b98f7eb75fa7a9a1ad9 Signed-off-by: Alex Waterman Reviewed-on: https://git-master.nvidia.com/r/1641637 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/gv11b/mm_gv11b.c | 33 +++++++-------------------------- drivers/gpu/nvgpu/gv11b/mm_gv11b.h | 5 +---- drivers/gpu/nvgpu/include/nvgpu/mm.h | 1 - 3 files changed, 8 insertions(+), 31 deletions(-) (limited to 'drivers/gpu/nvgpu') diff --git a/drivers/gpu/nvgpu/gv11b/mm_gv11b.c b/drivers/gpu/nvgpu/gv11b/mm_gv11b.c index bb3e5694..439bf9ed 100644 --- a/drivers/gpu/nvgpu/gv11b/mm_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/mm_gv11b.c @@ -126,8 +126,6 @@ static void gv11b_mm_mmu_hw_fault_buf_init(struct gk20a *g, return; } - g->mm.hw_fault_buf_status[NONREPLAY_REG_INDEX] = - HW_FAULT_BUF_STATUS_ALLOC_TRUE; *hub_intr_types |= HUB_INTR_TYPE_NONREPLAY; err = nvgpu_dma_alloc_map_sys(vm, fb_size, @@ -138,8 +136,7 @@ static void gv11b_mm_mmu_hw_fault_buf_init(struct gk20a *g, /* Fault will be snapped in pri reg but not in buffer */ return; } - g->mm.hw_fault_buf_status[REPLAY_REG_INDEX] = - HW_FAULT_BUF_STATUS_ALLOC_TRUE; + *hub_intr_types |= HUB_INTR_TYPE_REPLAY; } @@ -165,21 +162,13 @@ static void gv11b_mm_mmu_hw_fault_buf_deinit(struct gk20a *g) FAULT_BUF_DISABLED); } - if (g->mm.hw_fault_buf_status[NONREPLAY_REG_INDEX] == - HW_FAULT_BUF_STATUS_ALLOC_TRUE) { + if (nvgpu_mem_is_valid( + &g->mm.hw_fault_buf[FAULT_TYPE_OTHER_AND_NONREPLAY])) nvgpu_dma_unmap_free(vm, &g->mm.hw_fault_buf[FAULT_TYPE_OTHER_AND_NONREPLAY]); - g->mm.hw_fault_buf_status[NONREPLAY_REG_INDEX] = - HW_FAULT_BUF_STATUS_ALLOC_FALSE; - } - - if (g->mm.hw_fault_buf_status[REPLAY_REG_INDEX] == - HW_FAULT_BUF_STATUS_ALLOC_TRUE) { + if (nvgpu_mem_is_valid(&g->mm.hw_fault_buf[FAULT_TYPE_REPLAY])) nvgpu_dma_unmap_free(vm, &g->mm.hw_fault_buf[FAULT_TYPE_REPLAY]); - g->mm.hw_fault_buf_status[REPLAY_REG_INDEX] = - HW_FAULT_BUF_STATUS_ALLOC_FALSE; - } } void gv11b_mm_remove_bar2_vm(struct gk20a *g) @@ -196,14 +185,11 @@ void gv11b_mm_remove_bar2_vm(struct gk20a *g) static void gv11b_mm_mmu_fault_setup_hw(struct gk20a *g) { - if (g->mm.hw_fault_buf_status[NONREPLAY_REG_INDEX] == - HW_FAULT_BUF_STATUS_ALLOC_TRUE) { + if (nvgpu_mem_is_valid( + &g->mm.hw_fault_buf[FAULT_TYPE_OTHER_AND_NONREPLAY])) gv11b_fb_fault_buf_configure_hw(g, NONREPLAY_REG_INDEX); - } - if (g->mm.hw_fault_buf_status[REPLAY_REG_INDEX] == - HW_FAULT_BUF_STATUS_ALLOC_TRUE) { + if (nvgpu_mem_is_valid(&g->mm.hw_fault_buf[FAULT_TYPE_REPLAY])) gv11b_fb_fault_buf_configure_hw(g, REPLAY_REG_INDEX); - } } static int gv11b_mm_mmu_fault_setup_sw(struct gk20a *g) @@ -214,11 +200,6 @@ static int gv11b_mm_mmu_fault_setup_sw(struct gk20a *g) nvgpu_mutex_init(&g->mm.hub_isr_mutex); - g->mm.hw_fault_buf_status[NONREPLAY_REG_INDEX] = - HW_FAULT_BUF_STATUS_ALLOC_FALSE; - g->mm.hw_fault_buf_status[REPLAY_REG_INDEX] = - HW_FAULT_BUF_STATUS_ALLOC_FALSE; - g->mm.hub_intr_types = HUB_INTR_TYPE_ECC_UNCORRECTED; err = gv11b_mm_mmu_fault_info_buf_init(g, &g->mm.hub_intr_types); diff --git a/drivers/gpu/nvgpu/gv11b/mm_gv11b.h b/drivers/gpu/nvgpu/gv11b/mm_gv11b.h index d830b7cc..2b3ebf4e 100644 --- a/drivers/gpu/nvgpu/gv11b/mm_gv11b.h +++ b/drivers/gpu/nvgpu/gv11b/mm_gv11b.h @@ -1,6 +1,6 @@ /* * GV11B MM - * Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2016-2018, NVIDIA CORPORATION. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -24,9 +24,6 @@ #ifndef MM_GV11B_H #define MM_GV11B_H -#define HW_FAULT_BUF_STATUS_ALLOC_TRUE 1 -#define HW_FAULT_BUF_STATUS_ALLOC_FALSE 0 - struct gk20a; struct nvgpu_mem; struct vm_gk20a; diff --git a/drivers/gpu/nvgpu/include/nvgpu/mm.h b/drivers/gpu/nvgpu/include/nvgpu/mm.h index e7b3e52c..90c6946a 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/mm.h +++ b/drivers/gpu/nvgpu/include/nvgpu/mm.h @@ -129,7 +129,6 @@ struct mm_gk20a { struct nvgpu_mem bar2_desc; 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; -- cgit v1.2.2