summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp10b/pmu_gp10b.c
diff options
context:
space:
mode:
authorMahantesh Kumbar <mkumbar@nvidia.com>2015-09-14 13:03:05 -0400
committerDeepak Nibade <dnibade@nvidia.com>2016-12-27 04:52:07 -0500
commitcc1b124d5a6fdabdd541d3ddd0570a264b46be0c (patch)
tree20a90ab27b8df0f1b75b097ae220d0d3e7eece88 /drivers/gpu/nvgpu/gp10b/pmu_gp10b.c
parent83955e553c9111e544eaa9d269347a61cfe3fa71 (diff)
gpu: nvgpu: HAL to write DMATRFBASE
- Must write DMATRFBASE1 to 0 whenever DMATRFBASE is written. Bug 200137618 Change-Id: Id8526d1bafbd116ffc4d8018983791fe9e9fa604 Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com> Reviewed-on: http://git-master/r/798780 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/pmu_gp10b.c')
-rw-r--r--drivers/gpu/nvgpu/gp10b/pmu_gp10b.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/pmu_gp10b.c b/drivers/gpu/nvgpu/gp10b/pmu_gp10b.c
index f29bcbad..529491d0 100644
--- a/drivers/gpu/nvgpu/gp10b/pmu_gp10b.c
+++ b/drivers/gpu/nvgpu/gp10b/pmu_gp10b.c
@@ -20,6 +20,7 @@
20#include "gm20b/pmu_gm20b.h" 20#include "gm20b/pmu_gm20b.h"
21 21
22#include "pmu_gp10b.h" 22#include "pmu_gp10b.h"
23#include "hw_pwr_gp10b.h"
23 24
24#define gp10b_dbg_pmu(fmt, arg...) \ 25#define gp10b_dbg_pmu(fmt, arg...) \
25 gk20a_dbg(gpu_dbg_pmu, fmt, ##arg) 26 gk20a_dbg(gpu_dbg_pmu, fmt, ##arg)
@@ -223,6 +224,14 @@ static int gp10b_pmu_setup_elpg(struct gk20a *g)
223 return ret; 224 return ret;
224} 225}
225 226
227void gp10b_write_dmatrfbase(struct gk20a *g, u32 addr)
228{
229 gk20a_writel(g, pwr_falcon_dmatrfbase_r(),
230 addr);
231 gk20a_writel(g, pwr_falcon_dmatrfbase1_r(),
232 0x0);
233}
234
226void gp10b_init_pmu_ops(struct gpu_ops *gops) 235void gp10b_init_pmu_ops(struct gpu_ops *gops)
227{ 236{
228 if (gops->privsecurity) { 237 if (gops->privsecurity) {
@@ -239,4 +248,5 @@ void gp10b_init_pmu_ops(struct gpu_ops *gops)
239 gops->pmu.pmu_setup_elpg = gp10b_pmu_setup_elpg; 248 gops->pmu.pmu_setup_elpg = gp10b_pmu_setup_elpg;
240 gops->pmu.lspmuwprinitdone = false; 249 gops->pmu.lspmuwprinitdone = false;
241 gops->pmu.fecsbootstrapdone = false; 250 gops->pmu.fecsbootstrapdone = false;
251 gops->pmu.write_dmatrfbase = gp10b_write_dmatrfbase;
242} 252}