diff options
author | David Nieto <dmartineznie@nvidia.com> | 2017-05-26 11:31:46 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-06-04 23:34:57 -0400 |
commit | 345eaef6a76771da9c3e8a5e375fc9d659fb1b2b (patch) | |
tree | 21d2d25eae69ced2a39d62a56a4ee6f42e5c0655 /drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c | |
parent | 6bc36bded05ee497a474e5a718c49dc33eb235f1 (diff) |
gpu: nvgpu: GPC MMU ECC support
Adding support for GPC MMU ECC error handling
JIRA: GPUT19X-112
Change-Id: I62083bf2f144ff628ecd8c0aefc8d227a233ff36
Signed-off-by: David Nieto <dmartineznie@nvidia.com>
Reviewed-on: http://git-master/r/1490772
Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c')
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c b/drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c index 432af7c1..c69e1478 100644 --- a/drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c +++ b/drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c | |||
@@ -171,6 +171,8 @@ static struct device_attribute *dev_attr_sm_icache_ecc_corrected_err_count_array | |||
171 | static struct device_attribute *dev_attr_sm_icache_ecc_uncorrected_err_count_array; | 171 | static struct device_attribute *dev_attr_sm_icache_ecc_uncorrected_err_count_array; |
172 | static struct device_attribute *dev_attr_gcc_l15_ecc_corrected_err_count_array; | 172 | static struct device_attribute *dev_attr_gcc_l15_ecc_corrected_err_count_array; |
173 | static struct device_attribute *dev_attr_gcc_l15_ecc_uncorrected_err_count_array; | 173 | static struct device_attribute *dev_attr_gcc_l15_ecc_uncorrected_err_count_array; |
174 | static struct device_attribute *dev_attr_mmu_l1tlb_ecc_corrected_err_count_array; | ||
175 | static struct device_attribute *dev_attr_mmu_l1tlb_ecc_uncorrected_err_count_array; | ||
174 | 176 | ||
175 | static struct device_attribute *dev_attr_fecs_ecc_corrected_err_count_array; | 177 | static struct device_attribute *dev_attr_fecs_ecc_corrected_err_count_array; |
176 | static struct device_attribute *dev_attr_fecs_ecc_uncorrected_err_count_array; | 178 | static struct device_attribute *dev_attr_fecs_ecc_uncorrected_err_count_array; |
@@ -295,6 +297,19 @@ void gr_gv11b_create_sysfs(struct device *dev) | |||
295 | &g->ecc.gr.t19x.gpccs_corrected_err_count, | 297 | &g->ecc.gr.t19x.gpccs_corrected_err_count, |
296 | dev_attr_gpccs_ecc_corrected_err_count_array); | 298 | dev_attr_gpccs_ecc_corrected_err_count_array); |
297 | 299 | ||
300 | error |= gp10b_ecc_stat_create(dev, | ||
301 | g->gr.gpc_count, | ||
302 | "gpc", | ||
303 | "mmu_l1tlb_ecc_uncorrected_err_count", | ||
304 | &g->ecc.gr.t19x.mmu_l1tlb_uncorrected_err_count, | ||
305 | dev_attr_mmu_l1tlb_ecc_uncorrected_err_count_array); | ||
306 | |||
307 | error |= gp10b_ecc_stat_create(dev, | ||
308 | g->gr.gpc_count, | ||
309 | "gpc", | ||
310 | "mmu_l1tlb_ecc_corrected_err_count", | ||
311 | &g->ecc.gr.t19x.mmu_l1tlb_corrected_err_count, | ||
312 | dev_attr_mmu_l1tlb_ecc_corrected_err_count_array); | ||
298 | if (error) | 313 | if (error) |
299 | dev_err(dev, "Failed to create gv11b sysfs attributes!\n"); | 314 | dev_err(dev, "Failed to create gv11b sysfs attributes!\n"); |
300 | } | 315 | } |
@@ -382,4 +397,14 @@ static void gr_gv11b_remove_sysfs(struct device *dev) | |||
382 | g->gr.gpc_count, | 397 | g->gr.gpc_count, |
383 | &g->ecc.gr.t19x.gpccs_corrected_err_count, | 398 | &g->ecc.gr.t19x.gpccs_corrected_err_count, |
384 | dev_attr_gpccs_ecc_corrected_err_count_array); | 399 | dev_attr_gpccs_ecc_corrected_err_count_array); |
400 | |||
401 | gp10b_ecc_stat_remove(dev, | ||
402 | g->gr.gpc_count, | ||
403 | &g->ecc.gr.t19x.mmu_l1tlb_uncorrected_err_count, | ||
404 | dev_attr_mmu_l1tlb_ecc_uncorrected_err_count_array); | ||
405 | |||
406 | gp10b_ecc_stat_remove(dev, | ||
407 | g->gr.gpc_count, | ||
408 | &g->ecc.gr.t19x.mmu_l1tlb_corrected_err_count, | ||
409 | dev_attr_mmu_l1tlb_ecc_corrected_err_count_array); | ||
385 | } | 410 | } |