summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c
diff options
context:
space:
mode:
authorLakshmanan M <lm@nvidia.com>2017-05-19 06:10:41 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-05-19 12:44:25 -0400
commit45ca7cb8c5774cfc15015973b1883faa1d93b9e6 (patch)
tree0be9fbe523935b1f07be019f28b72f991fbf216e /drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c
parent5a08eafbe076fba98de62883636ee6b0751cf7e9 (diff)
gpu: nvgpu: gv11b: Add GCC L1.5 parity support
Add handling of GCC L1.5 parity exception. JIRA GPUT19X-86 Change-Id: Ie83fc306d3dff79b0ddaf2616dcf0ff71fccd4ca Signed-off-by: Lakshmanan M <lm@nvidia.com> Reviewed-on: http://git-master/r/1485834 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-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.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c b/drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c
index 009e5716..39ae68eb 100644
--- a/drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c
+++ b/drivers/gpu/nvgpu/gv11b/platform_gv11b_tegra.c
@@ -131,6 +131,8 @@ static struct device_attribute *dev_attr_sm_l1_data_ecc_corrected_err_count_arra
131static struct device_attribute *dev_attr_sm_l1_data_ecc_uncorrected_err_count_array; 131static struct device_attribute *dev_attr_sm_l1_data_ecc_uncorrected_err_count_array;
132static struct device_attribute *dev_attr_sm_icache_ecc_corrected_err_count_array; 132static struct device_attribute *dev_attr_sm_icache_ecc_corrected_err_count_array;
133static struct device_attribute *dev_attr_sm_icache_ecc_uncorrected_err_count_array; 133static struct device_attribute *dev_attr_sm_icache_ecc_uncorrected_err_count_array;
134static struct device_attribute *dev_attr_gcc_l15_ecc_corrected_err_count_array;
135static struct device_attribute *dev_attr_gcc_l15_ecc_uncorrected_err_count_array;
134 136
135void gr_gv11b_create_sysfs(struct device *dev) 137void gr_gv11b_create_sysfs(struct device *dev)
136{ 138{
@@ -193,6 +195,18 @@ void gr_gv11b_create_sysfs(struct device *dev)
193 &g->gr.t19x.ecc_stats.sm_icache_uncorrected_err_count, 195 &g->gr.t19x.ecc_stats.sm_icache_uncorrected_err_count,
194 dev_attr_sm_icache_ecc_uncorrected_err_count_array); 196 dev_attr_sm_icache_ecc_uncorrected_err_count_array);
195 197
198 error |= gr_gp10b_ecc_stat_create(dev,
199 0,
200 "gcc_l15_ecc_corrected_err_count",
201 &g->gr.t19x.ecc_stats.gcc_l15_corrected_err_count,
202 dev_attr_gcc_l15_ecc_corrected_err_count_array);
203
204 error |= gr_gp10b_ecc_stat_create(dev,
205 0,
206 "gcc_l15_ecc_uncorrected_err_count",
207 &g->gr.t19x.ecc_stats.gcc_l15_uncorrected_err_count,
208 dev_attr_gcc_l15_ecc_uncorrected_err_count_array);
209
196 if (error) 210 if (error)
197 dev_err(dev, "Failed to create gv11b sysfs attributes!\n"); 211 dev_err(dev, "Failed to create gv11b sysfs attributes!\n");
198} 212}
@@ -241,4 +255,14 @@ static void gr_gv11b_remove_sysfs(struct device *dev)
241 &g->gr.t19x.ecc_stats.sm_icache_uncorrected_err_count, 255 &g->gr.t19x.ecc_stats.sm_icache_uncorrected_err_count,
242 dev_attr_sm_icache_ecc_uncorrected_err_count_array); 256 dev_attr_sm_icache_ecc_uncorrected_err_count_array);
243 257
258 gr_gp10b_ecc_stat_remove(dev,
259 0,
260 &g->gr.t19x.ecc_stats.gcc_l15_corrected_err_count,
261 dev_attr_gcc_l15_ecc_corrected_err_count_array);
262
263 gr_gp10b_ecc_stat_remove(dev,
264 0,
265 &g->gr.t19x.ecc_stats.gcc_l15_uncorrected_err_count,
266 dev_attr_gcc_l15_ecc_uncorrected_err_count_array);
267
244} 268}