summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMahantesh Kumbar <mkumbar@nvidia.com>2016-08-21 02:24:06 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2016-09-19 02:33:56 -0400
commit3351916f567dc9aacb2b05cae911a8e5573de996 (patch)
treeea534851a1e5263bea0c6aab9b3f878d9d2eef85 /drivers
parent38e272202450c4e58c1c42b11de8ed06083c317d (diff)
gpu: nvgpu: update mclk support
- Update payload interface to support mclk - Call mclk after gr init complete JIRA DNVGPU-85 Change-Id: I14c5c6cb438f1a7d56d96daa0fafc09d6abef46b Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com> Reviewed-on: http://git-master/r/1205461 (cherry picked from commit f1bf1ec946aaacae40ecb405341eb2e169cf5754) Reviewed-on: http://git-master/r/1217989 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.c8
-rw-r--r--drivers/gpu/nvgpu/gk20a/pmu_gk20a.c2
-rw-r--r--drivers/gpu/nvgpu/gk20a/pmu_gk20a.h1
3 files changed, 9 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c
index 10fa86a1..47ce220f 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.c
@@ -968,6 +968,14 @@ int gk20a_pm_finalize_poweron(struct device *dev)
968 goto done; 968 goto done;
969 } 969 }
970 970
971 if (g->ops.pmu.mclk_init) {
972 err = g->ops.pmu.mclk_init(g);
973 if (err) {
974 gk20a_err(dev, "failed to set mclk");
975 /* Indicate error dont goto done */
976 }
977 }
978
971 err = gk20a_init_therm_support(g); 979 err = gk20a_init_therm_support(g);
972 if (err) { 980 if (err) {
973 gk20a_err(dev, "failed to init gk20a therm"); 981 gk20a_err(dev, "failed to init gk20a therm");
diff --git a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c
index b6c07793..a2609dbb 100644
--- a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c
@@ -3090,8 +3090,6 @@ void pmu_setup_hw(struct work_struct *work)
3090 gk20a_dbg_pmu("pmu starting"); 3090 gk20a_dbg_pmu("pmu starting");
3091 if (platform->can_elpg) 3091 if (platform->can_elpg)
3092 pmu_init_powergating(g); 3092 pmu_init_powergating(g);
3093 if (g->ops.pmu.mclk_init)
3094 g->ops.pmu.mclk_init(g);
3095 break; 3093 break;
3096 case PMU_STATE_ELPG_BOOTED: 3094 case PMU_STATE_ELPG_BOOTED:
3097 gk20a_dbg_pmu("elpg booted"); 3095 gk20a_dbg_pmu("elpg booted");
diff --git a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
index 93247411..f0e5d3cf 100644
--- a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
@@ -522,6 +522,7 @@ struct pmu_payload {
522 void *buf; 522 void *buf;
523 u32 offset; 523 u32 offset;
524 u32 size; 524 u32 size;
525 u32 fb_size;
525 } in, out; 526 } in, out;
526}; 527};
527 528