summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/linux/platform_gv11b_tegra.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/platform_gv11b_tegra.c')
-rw-r--r--drivers/gpu/nvgpu/common/linux/platform_gv11b_tegra.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/platform_gv11b_tegra.c b/drivers/gpu/nvgpu/common/linux/platform_gv11b_tegra.c
index 3c6eac77..a2a60aaa 100644
--- a/drivers/gpu/nvgpu/common/linux/platform_gv11b_tegra.c
+++ b/drivers/gpu/nvgpu/common/linux/platform_gv11b_tegra.c
@@ -243,6 +243,9 @@ static struct device_attribute *dev_attr_mmu_hubtlb_ecc_uncorrected_err_count_ar
243static struct device_attribute *dev_attr_mmu_fillunit_ecc_corrected_err_count_array; 243static struct device_attribute *dev_attr_mmu_fillunit_ecc_corrected_err_count_array;
244static struct device_attribute *dev_attr_mmu_fillunit_ecc_uncorrected_err_count_array; 244static struct device_attribute *dev_attr_mmu_fillunit_ecc_uncorrected_err_count_array;
245 245
246static struct device_attribute *dev_attr_pmu_ecc_corrected_err_count_array;
247static struct device_attribute *dev_attr_pmu_ecc_uncorrected_err_count_array;
248
246void gr_gv11b_create_sysfs(struct gk20a *g) 249void gr_gv11b_create_sysfs(struct gk20a *g)
247{ 250{
248 struct device *dev = dev_from_gk20a(g); 251 struct device *dev = dev_from_gk20a(g);
@@ -414,6 +417,21 @@ void gr_gv11b_create_sysfs(struct gk20a *g)
414 &g->ecc.eng.t19x.mmu_fillunit_corrected_err_count, 417 &g->ecc.eng.t19x.mmu_fillunit_corrected_err_count,
415 &dev_attr_mmu_fillunit_ecc_corrected_err_count_array); 418 &dev_attr_mmu_fillunit_ecc_corrected_err_count_array);
416 419
420 error |= gp10b_ecc_stat_create(dev,
421 1,
422 "eng",
423 "pmu_ecc_uncorrected_err_count",
424 &g->ecc.eng.t19x.pmu_uncorrected_err_count,
425 &dev_attr_pmu_ecc_uncorrected_err_count_array);
426
427 error |= gp10b_ecc_stat_create(dev,
428 1,
429 "eng",
430 "pmu_ecc_corrected_err_count",
431 &g->ecc.eng.t19x.pmu_corrected_err_count,
432 &dev_attr_pmu_ecc_corrected_err_count_array);
433
434
417 if (error) 435 if (error)
418 dev_err(dev, "Failed to create gv11b sysfs attributes!\n"); 436 dev_err(dev, "Failed to create gv11b sysfs attributes!\n");
419} 437}
@@ -541,4 +559,14 @@ static void gr_gv11b_remove_sysfs(struct device *dev)
541 1, 559 1,
542 &g->ecc.eng.t19x.mmu_fillunit_corrected_err_count, 560 &g->ecc.eng.t19x.mmu_fillunit_corrected_err_count,
543 dev_attr_mmu_fillunit_ecc_corrected_err_count_array); 561 dev_attr_mmu_fillunit_ecc_corrected_err_count_array);
562
563 gp10b_ecc_stat_remove(dev,
564 1,
565 &g->ecc.eng.t19x.pmu_uncorrected_err_count,
566 dev_attr_pmu_ecc_uncorrected_err_count_array);
567
568 gp10b_ecc_stat_remove(dev,
569 1,
570 &g->ecc.eng.t19x.pmu_corrected_err_count,
571 dev_attr_pmu_ecc_corrected_err_count_array);
544} 572}