summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/include
diff options
context:
space:
mode:
authorMahantesh Kumbar <mkumbar@nvidia.com>2017-07-07 12:05:46 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-09-25 03:18:57 -0400
commit5a1165d984f3f0001621bbde152cbf9650010895 (patch)
treef9de71a2463c2c09c7e4f2a862869ff1ca0c9b0d /drivers/gpu/nvgpu/include
parent908486b806d584082fe85cc74aa708cc619e1d99 (diff)
gpu: nvgpu: falcon status dump support
- Added support to dump flacon controller status - Method to print recent PC history to know call trace - Method to dump IMBLK info - Updated falcon hw header files to include registers of PC trace & IMBLK JIRA NVGPU-105 Change-Id: Id4aaafd87113d47e552afb21b87f8b087d36004e Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1515371 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/include')
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/hw/gk20a/hw_falcon_gk20a.h24
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/hw/gm20b/hw_falcon_gm20b.h36
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_falcon_gp106.h36
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/hw/gp10b/hw_falcon_gp10b.h36
4 files changed, 132 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gk20a/hw_falcon_gk20a.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gk20a/hw_falcon_gk20a.h
index 8acc61ec..a948bf58 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/hw/gk20a/hw_falcon_gk20a.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gk20a/hw_falcon_gk20a.h
@@ -412,6 +412,30 @@ static inline u32 falcon_falcon_dmatrffboffs_r(void)
412{ 412{
413 return 0x0000011c; 413 return 0x0000011c;
414} 414}
415static inline u32 falcon_falcon_imstat_r(void)
416{
417 return 0x00000144;
418}
419static inline u32 falcon_falcon_traceidx_r(void)
420{
421 return 0x00000148;
422}
423static inline u32 falcon_falcon_traceidx_maxidx_v(u32 r)
424{
425 return (r >> 16) & 0xff;
426}
427static inline u32 falcon_falcon_traceidx_idx_v(u32 r)
428{
429 return (r >> 0) & 0xff;
430}
431static inline u32 falcon_falcon_tracepc_r(void)
432{
433 return 0x0000014c;
434}
435static inline u32 falcon_falcon_tracepc_pc_v(u32 r)
436{
437 return (r >> 0) & 0xffffff;
438}
415static inline u32 falcon_falcon_exterraddr_r(void) 439static inline u32 falcon_falcon_exterraddr_r(void)
416{ 440{
417 return 0x00000168; 441 return 0x00000168;
diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gm20b/hw_falcon_gm20b.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gm20b/hw_falcon_gm20b.h
index 6be11429..851fb62a 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/hw/gm20b/hw_falcon_gm20b.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gm20b/hw_falcon_gm20b.h
@@ -440,6 +440,42 @@ static inline u32 falcon_falcon_dmatrffboffs_r(void)
440{ 440{
441 return 0x0000011c; 441 return 0x0000011c;
442} 442}
443static inline u32 falcon_falcon_imctl_debug_r(void)
444{
445 return 0x0000015c;
446}
447static inline u32 falcon_falcon_imctl_debug_addr_blk_f(u32 v)
448{
449 return (v & 0xffffff) << 0;
450}
451static inline u32 falcon_falcon_imctl_debug_cmd_f(u32 v)
452{
453 return (v & 0x7) << 24;
454}
455static inline u32 falcon_falcon_imstat_r(void)
456{
457 return 0x00000144;
458}
459static inline u32 falcon_falcon_traceidx_r(void)
460{
461 return 0x00000148;
462}
463static inline u32 falcon_falcon_traceidx_maxidx_v(u32 r)
464{
465 return (r >> 16) & 0xff;
466}
467static inline u32 falcon_falcon_traceidx_idx_f(u32 v)
468{
469 return (v & 0xff) << 0;
470}
471static inline u32 falcon_falcon_tracepc_r(void)
472{
473 return 0x0000014c;
474}
475static inline u32 falcon_falcon_tracepc_pc_v(u32 r)
476{
477 return (r >> 0) & 0xffffff;
478}
443static inline u32 falcon_falcon_exterraddr_r(void) 479static inline u32 falcon_falcon_exterraddr_r(void)
444{ 480{
445 return 0x00000168; 481 return 0x00000168;
diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_falcon_gp106.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_falcon_gp106.h
index c744bcec..4f99f2cb 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_falcon_gp106.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_falcon_gp106.h
@@ -444,6 +444,42 @@ static inline u32 falcon_falcon_dmatrffboffs_r(void)
444{ 444{
445 return 0x0000011c; 445 return 0x0000011c;
446} 446}
447static inline u32 falcon_falcon_imctl_debug_r(void)
448{
449 return 0x0000015c;
450}
451static inline u32 falcon_falcon_imctl_debug_addr_blk_f(u32 v)
452{
453 return (v & 0xffffff) << 0;
454}
455static inline u32 falcon_falcon_imctl_debug_cmd_f(u32 v)
456{
457 return (v & 0x7) << 24;
458}
459static inline u32 falcon_falcon_imstat_r(void)
460{
461 return 0x00000144;
462}
463static inline u32 falcon_falcon_traceidx_r(void)
464{
465 return 0x00000148;
466}
467static inline u32 falcon_falcon_traceidx_maxidx_v(u32 r)
468{
469 return (r >> 16) & 0xff;
470}
471static inline u32 falcon_falcon_traceidx_idx_f(u32 v)
472{
473 return (v & 0xff) << 0;
474}
475static inline u32 falcon_falcon_tracepc_r(void)
476{
477 return 0x0000014c;
478}
479static inline u32 falcon_falcon_tracepc_pc_v(u32 r)
480{
481 return (r >> 0) & 0xffffff;
482}
447static inline u32 falcon_falcon_exterraddr_r(void) 483static inline u32 falcon_falcon_exterraddr_r(void)
448{ 484{
449 return 0x00000168; 485 return 0x00000168;
diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gp10b/hw_falcon_gp10b.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gp10b/hw_falcon_gp10b.h
index 7f9d0b5d..67b7ad75 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/hw/gp10b/hw_falcon_gp10b.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gp10b/hw_falcon_gp10b.h
@@ -420,6 +420,42 @@ static inline u32 falcon_falcon_dmatrfmoffs_r(void)
420{ 420{
421 return 0x00000114; 421 return 0x00000114;
422} 422}
423static inline u32 falcon_falcon_imctl_debug_r(void)
424{
425 return 0x0000015c;
426}
427static inline u32 falcon_falcon_imctl_debug_addr_blk_f(u32 v)
428{
429 return (v & 0xffffff) << 0;
430}
431static inline u32 falcon_falcon_imctl_debug_cmd_f(u32 v)
432{
433 return (v & 0x7) << 24;
434}
435static inline u32 falcon_falcon_imstat_r(void)
436{
437 return 0x00000144;
438}
439static inline u32 falcon_falcon_traceidx_r(void)
440{
441 return 0x00000148;
442}
443static inline u32 falcon_falcon_traceidx_maxidx_v(u32 r)
444{
445 return (r >> 16) & 0xff;
446}
447static inline u32 falcon_falcon_traceidx_idx_f(u32 v)
448{
449 return (v & 0xff) << 0;
450}
451static inline u32 falcon_falcon_tracepc_r(void)
452{
453 return 0x0000014c;
454}
455static inline u32 falcon_falcon_tracepc_pc_v(u32 r)
456{
457 return (r >> 0) & 0xffffff;
458}
423static inline u32 falcon_falcon_dmatrfcmd_r(void) 459static inline u32 falcon_falcon_dmatrfcmd_r(void)
424{ 460{
425 return 0x00000118; 461 return 0x00000118;