summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm20b/pmu_gm20b.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b/pmu_gm20b.c')
-rw-r--r--drivers/gpu/nvgpu/gm20b/pmu_gm20b.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/pmu_gm20b.c b/drivers/gpu/nvgpu/gm20b/pmu_gm20b.c
index 813bb16c..9cf9cb26 100644
--- a/drivers/gpu/nvgpu/gm20b/pmu_gm20b.c
+++ b/drivers/gpu/nvgpu/gm20b/pmu_gm20b.c
@@ -19,6 +19,7 @@
19#include "acr_gm20b.h" 19#include "acr_gm20b.h"
20#include "pmu_gm20b.h" 20#include "pmu_gm20b.h"
21#include "hw_gr_gm20b.h" 21#include "hw_gr_gm20b.h"
22#include "hw_pwr_gm20b.h"
22 23
23/*! 24/*!
24 * Structure/object which single register write need to be done during PG init 25 * Structure/object which single register write need to be done during PG init
@@ -283,6 +284,11 @@ static int gm20b_load_falcon_ucode(struct gk20a *g, u32 falconidmask)
283 return err; 284 return err;
284} 285}
285 286
287static void gm20b_write_dmatrfbase(struct gk20a *g, u32 addr)
288{
289 gk20a_writel(g, pwr_falcon_dmatrfbase_r(), addr);
290}
291
286void gm20b_init_pmu_ops(struct gpu_ops *gops) 292void gm20b_init_pmu_ops(struct gpu_ops *gops)
287{ 293{
288 if (gops->privsecurity) { 294 if (gops->privsecurity) {
@@ -299,4 +305,5 @@ void gm20b_init_pmu_ops(struct gpu_ops *gops)
299 gops->pmu.pmu_setup_elpg = gm20b_pmu_setup_elpg; 305 gops->pmu.pmu_setup_elpg = gm20b_pmu_setup_elpg;
300 gops->pmu.lspmuwprinitdone = 0; 306 gops->pmu.lspmuwprinitdone = 0;
301 gops->pmu.fecsbootstrapdone = false; 307 gops->pmu.fecsbootstrapdone = false;
308 gops->pmu.write_dmatrfbase = gm20b_write_dmatrfbase;
302} 309}