From ae59b322f54cefa792d3975e45de5aa346e2b774 Mon Sep 17 00:00:00 2001 From: Vaikundanathan S Date: Wed, 25 Apr 2018 14:52:47 +0530 Subject: gpu:nvgpu: Add gops to load pstate functions Add gops to choose to/not to enable 1. clk_freq_controller 2. pmgr_domain 3. lpwr_pg Bug 200399373 Change-Id: Ie5131f9ea260f777fded8392f24815acef6cfbea Signed-off-by: Vaikundanathan S Reviewed-on: https://git-master.nvidia.com/r/1702216 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/pstate/pstate.c | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) (limited to 'drivers/gpu/nvgpu/pstate') diff --git a/drivers/gpu/nvgpu/pstate/pstate.c b/drivers/gpu/nvgpu/pstate/pstate.c index 3d6a436d..6c9d7736 100644 --- a/drivers/gpu/nvgpu/pstate/pstate.c +++ b/drivers/gpu/nvgpu/pstate/pstate.c @@ -96,15 +96,23 @@ int gk20a_init_pstate_support(struct gk20a *g) if (err) return err; - err = pmgr_domain_sw_setup(g); - if (err) - return err; + if(g->ops.clk.support_pmgr_domain) { + err = pmgr_domain_sw_setup(g); + if (err) + return err; + } - err = clk_freq_controller_sw_setup(g); - if (err) - return err; + if (g->ops.clk.support_clk_freq_controller) { + err = clk_freq_controller_sw_setup(g); + if (err) + return err; + } - err = nvgpu_lpwr_pg_setup(g); + if(g->ops.clk.support_lpwr_pg) { + err = nvgpu_lpwr_pg_setup(g); + if (err) + return err; + } return err; } @@ -176,10 +184,11 @@ int gk20a_init_pstate_pmu_support(struct gk20a *g) if (err) return err; - err = clk_freq_controller_pmu_setup(g); - if (err) - return err; - + if (g->ops.clk.support_clk_freq_controller) { + err = clk_freq_controller_pmu_setup(g); + if (err) + return err; + } err = clk_pmu_vin_load(g); if (err) return err; @@ -188,7 +197,9 @@ int gk20a_init_pstate_pmu_support(struct gk20a *g) if (err) return err; - err = pmgr_domain_pmu_setup(g); + if (g->ops.clk.support_pmgr_domain) + err = pmgr_domain_pmu_setup(g); + return err; } -- cgit v1.2.2