summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp10b/pmu_gp10b.c
diff options
context:
space:
mode:
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}