summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp10b/pmu_gp10b.c
diff options
context:
space:
mode:
authorSupriya <ssharatkumar@nvidia.com>2016-03-23 11:03:02 -0400
committerDeepak Nibade <dnibade@nvidia.com>2016-12-27 04:56:16 -0500
commit4e321eb1c84dca5f045b6ad1363cdc35ab763462 (patch)
tree92c29683f674387e7b10b86c4ebd379a4becd1e8 /drivers/gpu/nvgpu/gp10b/pmu_gp10b.c
parent85f579c6e57bdfcab18b01e6dba5854e5bc308ae (diff)
gpu: nvgpu: Add Fuse prints on PMU Halt
-Print fuse values in case of PMU halt error -and mailbox reads 0xDEADDEAD Bug 1737044 Change-Id: Icb9677ca278bd316232e07f1d92980f6deb17125 Signed-off-by: Supriya <ssharatkumar@nvidia.com> Reviewed-on: http://git-master/r/1120988 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/pmu_gp10b.c')
-rw-r--r--drivers/gpu/nvgpu/gp10b/pmu_gp10b.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/pmu_gp10b.c b/drivers/gpu/nvgpu/gp10b/pmu_gp10b.c
index 7832b2ed..f40c1b7b 100644
--- a/drivers/gpu/nvgpu/gp10b/pmu_gp10b.c
+++ b/drivers/gpu/nvgpu/gp10b/pmu_gp10b.c
@@ -22,6 +22,7 @@
22 22
23#include "pmu_gp10b.h" 23#include "pmu_gp10b.h"
24#include "hw_pwr_gp10b.h" 24#include "hw_pwr_gp10b.h"
25#include "hw_fuse_gp10b.h"
25#include "gp10b_sysfs.h" 26#include "gp10b_sysfs.h"
26 27
27#define gp10b_dbg_pmu(fmt, arg...) \ 28#define gp10b_dbg_pmu(fmt, arg...) \
@@ -432,6 +433,17 @@ static bool gp10b_is_priv_load(u32 falcon_id)
432 return enable_status; 433 return enable_status;
433} 434}
434 435
436/*Dump Security related fuses*/
437static void pmu_dump_security_fuses_gp10b(struct gk20a *g)
438{
439 gk20a_err(dev_from_gk20a(g), "FUSE_OPT_SEC_DEBUG_EN_0 : 0x%x",
440 gk20a_readl(g, fuse_opt_sec_debug_en_r()));
441 gk20a_err(dev_from_gk20a(g), "FUSE_OPT_PRIV_SEC_EN_0 : 0x%x",
442 gk20a_readl(g, fuse_opt_priv_sec_en_r()));
443 gk20a_err(dev_from_gk20a(g), "FUSE_GCPLEX_CONFIG_FUSE_0 : 0x%x",
444 tegra_fuse_readl(FUSE_GCPLEX_CONFIG_FUSE_0));
445}
446
435void gp10b_init_pmu_ops(struct gpu_ops *gops) 447void gp10b_init_pmu_ops(struct gpu_ops *gops)
436{ 448{
437 if (gops->privsecurity) { 449 if (gops->privsecurity) {
@@ -455,4 +467,5 @@ void gp10b_init_pmu_ops(struct gpu_ops *gops)
455 gops->pmu.send_lrf_tex_ltc_dram_overide_en_dis_cmd = 467 gops->pmu.send_lrf_tex_ltc_dram_overide_en_dis_cmd =
456 send_ecc_overide_en_dis_cmd; 468 send_ecc_overide_en_dis_cmd;
457 gops->pmu.reset = gk20a_pmu_reset; 469 gops->pmu.reset = gk20a_pmu_reset;
470 gops->pmu.dump_secure_fuses = pmu_dump_security_fuses_gp10b;
458} 471}