gpu: nvgpu: update pbdma_dump_intr_0 as an hal

To reduce the duplication of HALs to new chips, this makes pbdma
dump_intr_0 as an HAL.

JIRA NVGPU-9325
JIRA NVGPU-9064

Change-Id: I737146068cb144165bae8666c04f876aed20a89c
Signed-off-by: Rajesh Devaraj <rdevaraj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2847566
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: Seema Khowala <seemaj@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
Rajesh Devaraj
2023-01-23 10:47:10 +00:00
committed by mobile promotions
parent 4c77431eaf
commit 4bb32e33e7
5 changed files with 10 additions and 2 deletions

View File

@@ -75,4 +75,6 @@ u32 ga10b_pbdma_intr_1_en_set_tree_mask(void);
u32 ga10b_pbdma_intr_1_en_clear_tree_mask(void);
void ga10b_pbdma_report_error(struct gk20a *g, u32 pbdma_id,
u32 pbdma_intr_0);
void ga10b_pbdma_dump_intr_0(struct gk20a *g, u32 pbdma_id,
u32 pbdma_intr_0);
#endif /* NVGPU_PBDMA_GA10B_H */

View File

@@ -230,7 +230,7 @@ void ga10b_pbdma_disable_and_clear_all_intr(struct gk20a *g)
}
}
static void ga10b_pbdma_dump_intr_0(struct gk20a *g, u32 pbdma_id,
void ga10b_pbdma_dump_intr_0(struct gk20a *g, u32 pbdma_id,
u32 pbdma_intr_0)
{
u32 header = nvgpu_readl(g, pbdma_pb_header_r(pbdma_id));
@@ -430,7 +430,9 @@ static bool ga10b_pbdma_handle_intr_0_legacy(struct gk20a *g, u32 pbdma_id,
pbdma_intr_fault_type_desc[bit]);
}
ga10b_pbdma_dump_intr_0(g, pbdma_id, pbdma_intr_0);
if (g->ops.pbdma.dump_intr_0 != NULL) {
g->ops.pbdma.dump_intr_0(g, pbdma_id, pbdma_intr_0);
}
recover = true;
}

View File

@@ -1056,6 +1056,7 @@ static const struct gops_pbdma ga100_ops_pbdma = {
.handle_intr_0 = ga10b_pbdma_handle_intr_0,
.handle_intr_1 = ga10b_pbdma_handle_intr_1,
.handle_intr = ga10b_pbdma_handle_intr,
.dump_intr_0 = ga10b_pbdma_dump_intr_0,
.set_clear_intr_offsets = ga100_pbdma_set_clear_intr_offsets,
.read_data = ga100_pbdma_read_data,
.reset_header = ga10b_pbdma_reset_header,

View File

@@ -1074,6 +1074,7 @@ static const struct gops_pbdma ga10b_ops_pbdma = {
.handle_intr_0 = ga10b_pbdma_handle_intr_0,
.handle_intr_1 = ga10b_pbdma_handle_intr_1,
.handle_intr = ga10b_pbdma_handle_intr,
.dump_intr_0 = ga10b_pbdma_dump_intr_0,
.set_clear_intr_offsets = ga10b_pbdma_set_clear_intr_offsets,
.read_data = ga10b_pbdma_read_data,
.reset_header = ga10b_pbdma_reset_header,

View File

@@ -56,6 +56,8 @@ struct gops_pbdma {
u32 pbdma_id, u32 pbdma_intr_1,
u32 *error_notifier);
int (*handle_intr)(struct gk20a *g, u32 pbdma_id, bool recover);
void (*dump_intr_0)(struct gk20a *g, u32 pbdma_id,
u32 pbdma_intr_0);
u32 (*set_clear_intr_offsets) (struct gk20a *g,
u32 set_clear_size);
u32 (*get_signature)(struct gk20a *g);