diff options
author | Mahantesh Kumbar <mkumbar@nvidia.com> | 2015-09-14 13:03:05 -0400 |
---|---|---|
committer | Deepak Nibade <dnibade@nvidia.com> | 2016-12-27 04:52:07 -0500 |
commit | cc1b124d5a6fdabdd541d3ddd0570a264b46be0c (patch) | |
tree | 20a90ab27b8df0f1b75b097ae220d0d3e7eece88 /drivers/gpu/nvgpu/gp10b/pmu_gp10b.c | |
parent | 83955e553c9111e544eaa9d269347a61cfe3fa71 (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.c | 10 |
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 | ||
227 | void 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 | |||
226 | void gp10b_init_pmu_ops(struct gpu_ops *gops) | 235 | void 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 | } |