gpu: nvgpu: export hub intr handling APIs

Export below APIs in fb_gv11b.h
gv11b_fb_handle_dropped_mmu_fault()
gv11b_fb_handle_other_fault_notify()
gv11b_fb_handle_mmu_nonreplay_replay_fault()
gv11b_fb_handle_nonreplay_fault_overflow()
gv11b_fb_handle_replay_fault_overflow()
gv11b_handle_l2tlb_ecc_isr()
gv11b_handle_hubtlb_ecc_isr()
gv11b_handle_fillunit_ecc_isr()

Jira NVGPUT-44

Change-Id: Ib50e3f3c2f698d486ffe718ebf4a651ccfe8cd93
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1725976
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Deepak Nibade
2018-05-08 05:21:50 -07:00
committed by mobile promotions
parent 0f81c5616b
commit 2a0f678257
2 changed files with 20 additions and 8 deletions

View File

@@ -501,7 +501,7 @@ void gv11b_fb_disable_hub_intr(struct gk20a *g,
gv11b_fb_intr_en_clr(g, index, mask);
}
static void gv11b_handle_l2tlb_ecc_isr(struct gk20a *g, u32 ecc_status)
void gv11b_handle_l2tlb_ecc_isr(struct gk20a *g, u32 ecc_status)
{
u32 ecc_addr, corrected_cnt, uncorrected_cnt;
u32 corrected_delta, uncorrected_delta;
@@ -559,7 +559,7 @@ static void gv11b_handle_l2tlb_ecc_isr(struct gk20a *g, u32 ecc_status)
g->ecc.fb.mmu_l2tlb_uncorrected_err_count.counters[0]);
}
static void gv11b_handle_hubtlb_ecc_isr(struct gk20a *g, u32 ecc_status)
void gv11b_handle_hubtlb_ecc_isr(struct gk20a *g, u32 ecc_status)
{
u32 ecc_addr, corrected_cnt, uncorrected_cnt;
u32 corrected_delta, uncorrected_delta;
@@ -617,7 +617,7 @@ static void gv11b_handle_hubtlb_ecc_isr(struct gk20a *g, u32 ecc_status)
g->ecc.fb.mmu_hubtlb_uncorrected_err_count.counters[0]);
}
static void gv11b_handle_fillunit_ecc_isr(struct gk20a *g, u32 ecc_status)
void gv11b_handle_fillunit_ecc_isr(struct gk20a *g, u32 ecc_status)
{
u32 ecc_addr, corrected_cnt, uncorrected_cnt;
u32 corrected_delta, uncorrected_delta;
@@ -992,7 +992,7 @@ static int gv11b_fb_replay_or_cancel_faults(struct gk20a *g,
return err;
}
static void gv11b_fb_handle_mmu_nonreplay_replay_fault(struct gk20a *g,
void gv11b_fb_handle_mmu_nonreplay_replay_fault(struct gk20a *g,
u32 fault_status, unsigned int index)
{
u32 get_indx, offset, rd32_val, entries;
@@ -1140,7 +1140,7 @@ static void gv11b_mm_copy_from_fault_snap_reg(struct gk20a *g,
}
static void gv11b_fb_handle_replay_fault_overflow(struct gk20a *g,
void gv11b_fb_handle_replay_fault_overflow(struct gk20a *g,
u32 fault_status)
{
u32 reg_val;
@@ -1175,7 +1175,7 @@ static void gv11b_fb_handle_replay_fault_overflow(struct gk20a *g,
gk20a_writel(g, fb_mmu_fault_buffer_get_r(index), reg_val);
}
static void gv11b_fb_handle_nonreplay_fault_overflow(struct gk20a *g,
void gv11b_fb_handle_nonreplay_fault_overflow(struct gk20a *g,
u32 fault_status)
{
u32 reg_val;
@@ -1239,7 +1239,7 @@ static void gv11b_fb_handle_bar2_fault(struct gk20a *g,
HUB_INTR_TYPE_NONREPLAY | HUB_INTR_TYPE_REPLAY);
}
static void gv11b_fb_handle_other_fault_notify(struct gk20a *g,
void gv11b_fb_handle_other_fault_notify(struct gk20a *g,
u32 fault_status)
{
struct mmu_fault_info *mmfault;
@@ -1269,7 +1269,7 @@ static void gv11b_fb_handle_other_fault_notify(struct gk20a *g,
}
}
static void gv11b_fb_handle_dropped_mmu_fault(struct gk20a *g, u32 fault_status)
void gv11b_fb_handle_dropped_mmu_fault(struct gk20a *g, u32 fault_status)
{
u32 dropped_faults = 0;

View File

@@ -68,5 +68,17 @@ void gv11b_fb_enable_hub_intr(struct gk20a *g,
void gv11b_fb_disable_hub_intr(struct gk20a *g,
unsigned int index, unsigned int intr_type);
bool gv11b_fb_mmu_fault_pending(struct gk20a *g);
void gv11b_fb_handle_dropped_mmu_fault(struct gk20a *g, u32 fault_status);
void gv11b_fb_handle_other_fault_notify(struct gk20a *g,
u32 fault_status);
void gv11b_fb_handle_mmu_nonreplay_replay_fault(struct gk20a *g,
u32 fault_status, unsigned int index);
void gv11b_fb_handle_nonreplay_fault_overflow(struct gk20a *g,
u32 fault_status);
void gv11b_fb_handle_replay_fault_overflow(struct gk20a *g,
u32 fault_status);
void gv11b_handle_l2tlb_ecc_isr(struct gk20a *g, u32 ecc_status);
void gv11b_handle_hubtlb_ecc_isr(struct gk20a *g, u32 ecc_status);
void gv11b_handle_fillunit_ecc_isr(struct gk20a *g, u32 ecc_status);
#endif