summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/include
diff options
context:
space:
mode:
authorseshendra Gadagottu <sgadagottu@nvidia.com>2017-10-05 20:36:51 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-10-23 13:46:11 -0400
commit9712b4e5acae10b599c68417bfde044895b2d33d (patch)
tree46243d4f6ef6488ae1274b83d6cb160afe316749 /drivers/gpu/nvgpu/include
parent1760dc8e805ca667366a0ddeca8a72dd9859d11d (diff)
gpu: nvgpu: enhance class error debug info
Updated gk20a_gr_handle_class_error with sub channel info, mme related info. Also printing the correct method info from isr_data->offset by left shifting it by 2. Generated following hw definitions for gk20a/gm20b/gp10b/gp106 to dump relevant data in gk20a_gr_handle_class_error: gr_trapped_addr_mme_generated_v gr_trapped_addr_datahigh_v gr_trapped_addr_priv_v gr_trapped_data_lo_r gr_trapped_data_mme_r gr_trapped_data_mme_pc_v Bug 2003671 Change-Id: I02e15ef16d7498b6a7dc2af547a14e84d570e8a7 Signed-off-by: seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1574061 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/include')
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/hw/gk20a/hw_gr_gk20a.h24
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/hw/gm20b/hw_gr_gm20b.h24
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_gr_gp106.h24
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/hw/gp10b/hw_gr_gp10b.h24
4 files changed, 96 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gk20a/hw_gr_gk20a.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gk20a/hw_gr_gk20a.h
index f675a619..ef259bcf 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/hw/gk20a/hw_gr_gk20a.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gk20a/hw_gr_gk20a.h
@@ -268,6 +268,22 @@ static inline u32 gr_trapped_addr_subch_v(u32 r)
268{ 268{
269 return (r >> 16U) & 0x7U; 269 return (r >> 16U) & 0x7U;
270} 270}
271static inline u32 gr_trapped_addr_mme_generated_v(u32 r)
272{
273 return (r >> 20U) & 0x1U;
274}
275static inline u32 gr_trapped_addr_datahigh_v(u32 r)
276{
277 return (r >> 24U) & 0x1U;
278}
279static inline u32 gr_trapped_addr_priv_v(u32 r)
280{
281 return (r >> 28U) & 0x1U;
282}
283static inline u32 gr_trapped_addr_status_v(u32 r)
284{
285 return (r >> 31U) & 0x1U;
286}
271static inline u32 gr_trapped_data_lo_r(void) 287static inline u32 gr_trapped_data_lo_r(void)
272{ 288{
273 return 0x00400708U; 289 return 0x00400708U;
@@ -276,6 +292,14 @@ static inline u32 gr_trapped_data_hi_r(void)
276{ 292{
277 return 0x0040070cU; 293 return 0x0040070cU;
278} 294}
295static inline u32 gr_trapped_data_mme_r(void)
296{
297 return 0x00400710U;
298}
299static inline u32 gr_trapped_data_mme_pc_v(u32 r)
300{
301 return (r >> 0U) & 0x7ffU;
302}
279static inline u32 gr_status_r(void) 303static inline u32 gr_status_r(void)
280{ 304{
281 return 0x00400700U; 305 return 0x00400700U;
diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gm20b/hw_gr_gm20b.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gm20b/hw_gr_gm20b.h
index e2877566..d9776b7c 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/hw/gm20b/hw_gr_gm20b.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gm20b/hw_gr_gm20b.h
@@ -256,6 +256,22 @@ static inline u32 gr_trapped_addr_subch_v(u32 r)
256{ 256{
257 return (r >> 16U) & 0x7U; 257 return (r >> 16U) & 0x7U;
258} 258}
259static inline u32 gr_trapped_addr_mme_generated_v(u32 r)
260{
261 return (r >> 20U) & 0x1U;
262}
263static inline u32 gr_trapped_addr_datahigh_v(u32 r)
264{
265 return (r >> 24U) & 0x1U;
266}
267static inline u32 gr_trapped_addr_priv_v(u32 r)
268{
269 return (r >> 28U) & 0x1U;
270}
271static inline u32 gr_trapped_addr_status_v(u32 r)
272{
273 return (r >> 31U) & 0x1U;
274}
259static inline u32 gr_trapped_data_lo_r(void) 275static inline u32 gr_trapped_data_lo_r(void)
260{ 276{
261 return 0x00400708U; 277 return 0x00400708U;
@@ -264,6 +280,14 @@ static inline u32 gr_trapped_data_hi_r(void)
264{ 280{
265 return 0x0040070cU; 281 return 0x0040070cU;
266} 282}
283static inline u32 gr_trapped_data_mme_r(void)
284{
285 return 0x00400710U;
286}
287static inline u32 gr_trapped_data_mme_pc_v(u32 r)
288{
289 return (r >> 0U) & 0x7ffU;
290}
267static inline u32 gr_status_r(void) 291static inline u32 gr_status_r(void)
268{ 292{
269 return 0x00400700U; 293 return 0x00400700U;
diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_gr_gp106.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_gr_gp106.h
index aa78c63c..2da3ec41 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_gr_gp106.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_gr_gp106.h
@@ -252,6 +252,22 @@ static inline u32 gr_trapped_addr_subch_v(u32 r)
252{ 252{
253 return (r >> 16U) & 0x7U; 253 return (r >> 16U) & 0x7U;
254} 254}
255static inline u32 gr_trapped_addr_mme_generated_v(u32 r)
256{
257 return (r >> 20U) & 0x1U;
258}
259static inline u32 gr_trapped_addr_datahigh_v(u32 r)
260{
261 return (r >> 24U) & 0x1U;
262}
263static inline u32 gr_trapped_addr_priv_v(u32 r)
264{
265 return (r >> 28U) & 0x1U;
266}
267static inline u32 gr_trapped_addr_status_v(u32 r)
268{
269 return (r >> 31U) & 0x1U;
270}
255static inline u32 gr_trapped_data_lo_r(void) 271static inline u32 gr_trapped_data_lo_r(void)
256{ 272{
257 return 0x00400708U; 273 return 0x00400708U;
@@ -260,6 +276,14 @@ static inline u32 gr_trapped_data_hi_r(void)
260{ 276{
261 return 0x0040070cU; 277 return 0x0040070cU;
262} 278}
279static inline u32 gr_trapped_data_mme_r(void)
280{
281 return 0x00400710U;
282}
283static inline u32 gr_trapped_data_mme_pc_v(u32 r)
284{
285 return (r >> 0U) & 0xfffU;
286}
263static inline u32 gr_status_r(void) 287static inline u32 gr_status_r(void)
264{ 288{
265 return 0x00400700U; 289 return 0x00400700U;
diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gp10b/hw_gr_gp10b.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gp10b/hw_gr_gp10b.h
index 27760a73..51809112 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/hw/gp10b/hw_gr_gp10b.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gp10b/hw_gr_gp10b.h
@@ -256,6 +256,22 @@ static inline u32 gr_trapped_addr_subch_v(u32 r)
256{ 256{
257 return (r >> 16U) & 0x7U; 257 return (r >> 16U) & 0x7U;
258} 258}
259static inline u32 gr_trapped_addr_mme_generated_v(u32 r)
260{
261 return (r >> 20U) & 0x1U;
262}
263static inline u32 gr_trapped_addr_datahigh_v(u32 r)
264{
265 return (r >> 24U) & 0x1U;
266}
267static inline u32 gr_trapped_addr_priv_v(u32 r)
268{
269 return (r >> 28U) & 0x1U;
270}
271static inline u32 gr_trapped_addr_status_v(u32 r)
272{
273 return (r >> 31U) & 0x1U;
274}
259static inline u32 gr_trapped_data_lo_r(void) 275static inline u32 gr_trapped_data_lo_r(void)
260{ 276{
261 return 0x00400708U; 277 return 0x00400708U;
@@ -264,6 +280,14 @@ static inline u32 gr_trapped_data_hi_r(void)
264{ 280{
265 return 0x0040070cU; 281 return 0x0040070cU;
266} 282}
283static inline u32 gr_trapped_data_mme_r(void)
284{
285 return 0x00400710U;
286}
287static inline u32 gr_trapped_data_mme_pc_v(u32 r)
288{
289 return (r >> 0U) & 0xfffU;
290}
267static inline u32 gr_status_r(void) 291static inline u32 gr_status_r(void)
268{ 292{
269 return 0x00400700U; 293 return 0x00400700U;