summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c')
-rw-r--r--drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c25
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 8ca9dd30..d235b261 100644
--- a/drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c
+++ b/drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c
@@ -125,6 +125,8 @@ struct gk20a_platform t19x_gpu_tegra_platform = {
125 125
126static struct device_attribute *dev_attr_sm_l1_tag_ecc_corrected_err_count_array; 126static struct device_attribute *dev_attr_sm_l1_tag_ecc_corrected_err_count_array;
127static struct device_attribute *dev_attr_sm_l1_tag_ecc_uncorrected_err_count_array; 127static struct device_attribute *dev_attr_sm_l1_tag_ecc_uncorrected_err_count_array;
128static struct device_attribute *dev_attr_sm_cbu_ecc_corrected_err_count_array;
129static struct device_attribute *dev_attr_sm_cbu_ecc_uncorrected_err_count_array;
128 130
129void gr_gv11b_create_sysfs(struct device *dev) 131void gr_gv11b_create_sysfs(struct device *dev)
130{ 132{
@@ -151,6 +153,18 @@ void gr_gv11b_create_sysfs(struct device *dev)
151 &g->gr.t19x.ecc_stats.sm_l1_tag_uncorrected_err_count, 153 &g->gr.t19x.ecc_stats.sm_l1_tag_uncorrected_err_count,
152 dev_attr_sm_l1_tag_ecc_uncorrected_err_count_array); 154 dev_attr_sm_l1_tag_ecc_uncorrected_err_count_array);
153 155
156 error |= gr_gp10b_ecc_stat_create(dev,
157 0,
158 "sm_cbu_ecc_corrected_err_count",
159 &g->gr.t19x.ecc_stats.sm_cbu_corrected_err_count,
160 dev_attr_sm_cbu_ecc_corrected_err_count_array);
161
162 error |= gr_gp10b_ecc_stat_create(dev,
163 0,
164 "sm_cbu_ecc_uncorrected_err_count",
165 &g->gr.t19x.ecc_stats.sm_cbu_uncorrected_err_count,
166 dev_attr_sm_cbu_ecc_uncorrected_err_count_array);
167
154 if (error) 168 if (error)
155 dev_err(dev, "Failed to create gv11b sysfs attributes!\n"); 169 dev_err(dev, "Failed to create gv11b sysfs attributes!\n");
156} 170}
@@ -168,4 +182,15 @@ static void gr_gv11b_remove_sysfs(struct device *dev)
168 0, 182 0,
169 &g->gr.t19x.ecc_stats.sm_l1_tag_uncorrected_err_count, 183 &g->gr.t19x.ecc_stats.sm_l1_tag_uncorrected_err_count,
170 dev_attr_sm_l1_tag_ecc_uncorrected_err_count_array); 184 dev_attr_sm_l1_tag_ecc_uncorrected_err_count_array);
185
186 gr_gp10b_ecc_stat_remove(dev,
187 0,
188 &g->gr.t19x.ecc_stats.sm_cbu_corrected_err_count,
189 dev_attr_sm_cbu_ecc_corrected_err_count_array);
190
191 gr_gp10b_ecc_stat_remove(dev,
192 0,
193 &g->gr.t19x.ecc_stats.sm_cbu_uncorrected_err_count,
194 dev_attr_sm_cbu_ecc_uncorrected_err_count_array);
195
171} 196}