summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a')
-rw-r--r--drivers/gpu/nvgpu/gk20a/ecc_gk20a.h5
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.c8
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h2
3 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/ecc_gk20a.h b/drivers/gpu/nvgpu/gk20a/ecc_gk20a.h
index fba8ba7d..af10f828 100644
--- a/drivers/gpu/nvgpu/gk20a/ecc_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/ecc_gk20a.h
@@ -91,6 +91,11 @@ struct ecc_gk20a {
91 struct gk20a_ecc_stat pmu_uncorrected_err_count; 91 struct gk20a_ecc_stat pmu_uncorrected_err_count;
92 } pmu; 92 } pmu;
93 93
94 struct {
95 struct gk20a_ecc_stat fbpa_sec_err_count;
96 struct gk20a_ecc_stat fbpa_ded_err_count;
97 } fbpa;
98
94}; 99};
95 100
96#endif /*__ECC_GK20A_H__*/ 101#endif /*__ECC_GK20A_H__*/
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c
index b502ef02..9c030f71 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.c
@@ -198,6 +198,14 @@ int gk20a_finalize_poweron(struct gk20a *g)
198 } 198 }
199 } 199 }
200 200
201 if (g->ops.fb.init_fbpa) {
202 err = g->ops.fb.init_fbpa(g);
203 if (err) {
204 nvgpu_err(g, "failed to init fbpa");
205 goto done;
206 }
207 }
208
201 if (g->ops.fb.mem_unlock) { 209 if (g->ops.fb.mem_unlock) {
202 err = g->ops.fb.mem_unlock(g); 210 err = g->ops.fb.mem_unlock(g);
203 if (err) { 211 if (err) {
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index 5440238f..74bb64b3 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -520,6 +520,8 @@ struct gpu_ops {
520 unsigned int intr_type); 520 unsigned int intr_type);
521 void (*disable_hub_intr)(struct gk20a *g, unsigned int index, 521 void (*disable_hub_intr)(struct gk20a *g, unsigned int index,
522 unsigned int intr_type); 522 unsigned int intr_type);
523 int (*init_fbpa)(struct gk20a *g);
524 void (*fbpa_isr)(struct gk20a *g);
523 } fb; 525 } fb;
524 struct { 526 struct {
525 void (*slcg_bus_load_gating_prod)(struct gk20a *g, bool prod); 527 void (*slcg_bus_load_gating_prod)(struct gk20a *g, bool prod);