mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 09:12:24 +03:00
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:
committed by
mobile promotions
parent
4c77431eaf
commit
4bb32e33e7
@@ -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 */
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user