diff options
author | Vijayakumar <vsubbu@nvidia.com> | 2014-10-17 03:00:03 -0400 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-03-18 15:11:45 -0400 |
commit | c0b619c3cd6da315f22e0506e89530ae7b594d6d (patch) | |
tree | 72d5e26cde60412825769c5c0e50c27524b88eea /drivers/gpu/nvgpu/gm20b | |
parent | c414d4128d9766b4934023028669a83389c406fc (diff) |
gpu: nvgpu: gm20b: write gpccs start only once
Writing start bit twice can confuse falcon and
results in random behavior.
Bug 200040021
Change-Id: I62eb8e4632ac4fc471d931155471084ee0f9d0a4
Signed-off-by: Vijayakumar <vsubbu@nvidia.com>
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b')
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/gr_gm20b.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/gr_gm20b.c b/drivers/gpu/nvgpu/gm20b/gr_gm20b.c index 6bf0ed27..1256d4a6 100644 --- a/drivers/gpu/nvgpu/gm20b/gr_gm20b.c +++ b/drivers/gpu/nvgpu/gm20b/gr_gm20b.c | |||
@@ -666,9 +666,11 @@ static int gr_gm20b_load_ctxsw_ucode_segments(struct gk20a *g, u64 addr_base, | |||
666 | gk20a_writel(g, reg_offset + gr_fecs_bootvec_r(), | 666 | gk20a_writel(g, reg_offset + gr_fecs_bootvec_r(), |
667 | gr_fecs_bootvec_vec_f(segments->boot_entry)); | 667 | gr_fecs_bootvec_vec_f(segments->boot_entry)); |
668 | 668 | ||
669 | /* Write to CPUCTL to start the falcon */ | 669 | /* start the falcon immediately if PRIV security is disabled*/ |
670 | gk20a_writel(g, reg_offset + gr_fecs_cpuctl_r(), | 670 | if (!g->ops.privsecurity) { |
671 | gr_fecs_cpuctl_startcpu_f(0x01)); | 671 | gk20a_writel(g, reg_offset + gr_fecs_cpuctl_r(), |
672 | gr_fecs_cpuctl_startcpu_f(0x01)); | ||
673 | } | ||
672 | 674 | ||
673 | return 0; | 675 | return 0; |
674 | } | 676 | } |